Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix typos in requirements text and update requirements marks. No changes to code. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
8534a46c06601ad35b97caee442371f2 |
User & Date: | drh 2015-12-03 22:33:55.362 |
Context
2015-12-04
| ||
03:27 | Prevent a segfault on Solaris in the test_fs.c due to differences in the definition of the dirent object. (check-in: 042738ad3b user: drh tags: trunk) | |
2015-12-03
| ||
22:33 | Fix typos in requirements text and update requirements marks. No changes to code. (check-in: 8534a46c06 user: drh tags: trunk) | |
21:47 | Improved OOM recovery in the SELECT code generator logic. (check-in: e6521a436d user: drh tags: trunk) | |
Changes
Changes to src/main.c.
︙ | ︙ | |||
441 442 443 444 445 446 447 | ** allocation (sz), and the maximum number of scratch allocations (N). */ sqlite3GlobalConfig.pScratch = va_arg(ap, void*); sqlite3GlobalConfig.szScratch = va_arg(ap, int); sqlite3GlobalConfig.nScratch = va_arg(ap, int); break; } case SQLITE_CONFIG_PAGECACHE: { | | | | > | 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 | ** allocation (sz), and the maximum number of scratch allocations (N). */ sqlite3GlobalConfig.pScratch = va_arg(ap, void*); sqlite3GlobalConfig.szScratch = va_arg(ap, int); sqlite3GlobalConfig.nScratch = va_arg(ap, int); break; } case SQLITE_CONFIG_PAGECACHE: { /* EVIDENCE-OF: R-18761-36601 There are three arguments to ** SQLITE_CONFIG_PAGECACHE: A pointer to 8-byte aligned memory (pMem), ** the size of each page cache line (sz), and the number of cache lines ** (N). */ sqlite3GlobalConfig.pPage = va_arg(ap, void*); sqlite3GlobalConfig.szPage = va_arg(ap, int); sqlite3GlobalConfig.nPage = va_arg(ap, int); break; } case SQLITE_CONFIG_PCACHE_HDRSZ: { /* EVIDENCE-OF: R-39100-27317 The SQLITE_CONFIG_PCACHE_HDRSZ option takes |
︙ | ︙ |
Changes to src/resolve.c.
︙ | ︙ | |||
324 325 326 327 328 329 330 | iCol = -1; } break; } } if( iCol>=pTab->nCol && sqlite3IsRowid(zCol) && VisibleRowid(pTab) ){ /* IMP: R-51414-32910 */ | < | 324 325 326 327 328 329 330 331 332 333 334 335 336 337 | iCol = -1; } break; } } if( iCol>=pTab->nCol && sqlite3IsRowid(zCol) && VisibleRowid(pTab) ){ /* IMP: R-51414-32910 */ iCol = -1; } if( iCol<pTab->nCol ){ cnt++; if( iCol<0 ){ pExpr->affinity = SQLITE_AFF_INTEGER; }else if( pExpr->iTable==0 ){ |
︙ | ︙ | |||
359 360 361 362 363 364 365 | && cntTab==1 && pMatch && (pNC->ncFlags & NC_IdxExpr)==0 && sqlite3IsRowid(zCol) && VisibleRowid(pMatch->pTab) ){ cnt = 1; | | | 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 | && cntTab==1 && pMatch && (pNC->ncFlags & NC_IdxExpr)==0 && sqlite3IsRowid(zCol) && VisibleRowid(pMatch->pTab) ){ cnt = 1; pExpr->iColumn = -1; pExpr->affinity = SQLITE_AFF_INTEGER; } /* ** If the input is of the form Z (not Y.Z or X.Y.Z) then the name Z ** might refer to an result-set alias. This happens, for example, when ** we are resolving names in the WHERE clause of the following command: |
︙ | ︙ |
Changes to src/sqlite.h.in.
︙ | ︙ | |||
883 884 885 886 887 888 889 | ** is intended for diagnostic use only. ** ** <li>[[SQLITE_FCNTL_VFS_POINTER]] ** ^The [SQLITE_FCNTL_VFS_POINTER] opcode finds a pointer to the top-level ** [VFSes] currently in use. ^(The argument X in ** sqlite3_file_control(db,SQLITE_FCNTL_VFS_POINTER,X) must be ** of type "[sqlite3_vfs] **". This opcodes will set *X | | | 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 | ** is intended for diagnostic use only. ** ** <li>[[SQLITE_FCNTL_VFS_POINTER]] ** ^The [SQLITE_FCNTL_VFS_POINTER] opcode finds a pointer to the top-level ** [VFSes] currently in use. ^(The argument X in ** sqlite3_file_control(db,SQLITE_FCNTL_VFS_POINTER,X) must be ** of type "[sqlite3_vfs] **". This opcodes will set *X ** to a pointer to the top-level VFS.)^ ** ^When there are multiple VFS shims in the stack, this opcode finds the ** upper-most shim only. ** ** <li>[[SQLITE_FCNTL_PRAGMA]] ** ^Whenever a [PRAGMA] statement is parsed, an [SQLITE_FCNTL_PRAGMA] ** file control is sent to the open [sqlite3_file] object corresponding ** to the database file to which the pragma statement refers. ^The argument |
︙ | ︙ |
Changes to test/pragma2.test.
︙ | ︙ | |||
121 122 123 124 125 126 127 | PRAGMA aux.freelist_count; } } {9 9} } # Default setting of PRAGMA cache_spill is always ON # | | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | PRAGMA aux.freelist_count; } } {9 9} } # Default setting of PRAGMA cache_spill is always ON # # EVIDENCE-OF: R-63549-59887 PRAGMA cache_spill; PRAGMA # cache_spill=boolean; PRAGMA schema.cache_spill=N; # # EVIDENCE-OF: R-23955-02765 Cache_spill is enabled by default # db close delete_file test.db test.db-journal delete_file test2.db test2.db-journal sqlite3 db test.db |
︙ | ︙ | |||
186 187 188 189 190 191 192 193 194 195 196 197 198 199 | PRAGMA cache_spill=OFF; PRAGMA Cache_Spill; BEGIN; UPDATE t1 SET c=c+1; PRAGMA lock_status; } } {0 main reserved temp unknown} ;# No cache spill, so no exclusive lock do_test pragma2-4.5.2 { db eval { ROLLBACK; PRAGMA cache_spill=100000; PRAGMA cache_spill; BEGIN; UPDATE t1 SET c=c+1; | > > > > > | 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | PRAGMA cache_spill=OFF; PRAGMA Cache_Spill; BEGIN; UPDATE t1 SET c=c+1; PRAGMA lock_status; } } {0 main reserved temp unknown} ;# No cache spill, so no exclusive lock # EVIDENCE-OF: R-34657-61226 The "PRAGMA cache_spill=N" form of this # pragma sets a minimum cache size threshold required for spilling to # occur. do_test pragma2-4.5.2 { db eval { ROLLBACK; PRAGMA cache_spill=100000; PRAGMA cache_spill; BEGIN; UPDATE t1 SET c=c+1; |
︙ | ︙ |