Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | The sqlite_stat4.idx field is case insensitive. It should work even if some entries use a different case than others. Fix for forum post 6c118daad0f1f5ef. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
f097ca70b5b967d1aadebd74ac502081 |
User & Date: | drh 2023-04-22 22:32:19 |
Context
2023-04-23
| ||
00:12 | CLI to have "undocumented" dot-commands, not usually shown by .help (check-in: 17f5dd2d user: larrybr tags: trunk) | |
2023-04-22
| ||
23:43 | Import fixes from trunk into the branch-3.41. (check-in: 58a1d94c user: drh tags: branch-3.41) | |
22:32 | The sqlite_stat4.idx field is case insensitive. It should work even if some entries use a different case than others. Fix for forum post 6c118daad0f1f5ef. (check-in: f097ca70 user: drh tags: trunk) | |
20:47 | Avoid a crash in fts5 when combining an empty expression with another. (check-in: 33681ff3 user: dan tags: trunk) | |
Changes
Changes to src/analyze.c.
︙ | ︙ | |||
1870 1871 1872 1873 1874 1875 1876 | const Table *pStat4; assert( db->lookaside.bDisable ); if( (pStat4 = sqlite3FindTable(db, "sqlite_stat4", zDb))!=0 && IsOrdinaryTable(pStat4) ){ rc = loadStatTbl(db, | | | 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 | const Table *pStat4; assert( db->lookaside.bDisable ); if( (pStat4 = sqlite3FindTable(db, "sqlite_stat4", zDb))!=0 && IsOrdinaryTable(pStat4) ){ rc = loadStatTbl(db, "SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase", "SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4", zDb ); } return rc; } #endif /* SQLITE_ENABLE_STAT4 */ |
︙ | ︙ |
Changes to test/analyze3.test.
︙ | ︙ | |||
731 732 733 734 735 736 737 738 739 | CREATE INDEX t1a ON t1(a); ANALYZE; SELECT * FROM sqlite_stat1; INSERT INTO sqlite_stat1(tbl,idx,stat) VALUES('t1','t1a','12000'); INSERT INTO sqlite_stat1(tbl,idx,stat) VALUES('t1','t1a','12000'); ANALYZE sqlite_master; } finish_test | > > > > > > > > > > > > > | 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 | CREATE INDEX t1a ON t1(a); ANALYZE; SELECT * FROM sqlite_stat1; INSERT INTO sqlite_stat1(tbl,idx,stat) VALUES('t1','t1a','12000'); INSERT INTO sqlite_stat1(tbl,idx,stat) VALUES('t1','t1a','12000'); ANALYZE sqlite_master; } # 2023-04-22 https://sqlite.org/forum/info/6c118daad0f1f5ef # Case differences in the sqlite_stat4.idx field should not matter. # reset_db do_execsql_test 8.0 { CREATE TABLE t1(a PRIMARY KEY, v) WITHOUT ROWID; ANALYZE sqlite_schema; INSERT INTO sqlite_stat1 VALUES('t1','t1','1 1'); INSERT INTO sqlite_stat4 VALUES('t1','t1','1','0','0',X'021b76657273696f6e'); INSERT INTO sqlite_stat4 VALUES('T1','T1','1','0','0',X'021b76657273696f6e'); ANALYZE sqlite_schema; } {} finish_test |