SQLite

All files named ”src/prepare.c”
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for src/prepare.c

2025-03-24
15:09
[22a75d1f42] part of check-in [455186cad2] Replace the general-purpose sqlite3_exec() interface with an optimized version during schema parsing, with the hopes of improving performance. And performance does increase, but by so very little (0.2% or less) that it does not seem worth the extra complication. Changed saved for historical reference. (check-in: [455186cad2] user: drh branch: schema-parsing-experiment, size: 38483)
2025-01-09
17:12
[ebc8526011] part of check-in [c2610bb4be] Fix minor issues on this branch. Remove unused code. (check-in: [c2610bb4be] user: dan branch: schema-copy, size: 40119)
2025-01-08
17:16
[2668b61c3f] part of check-in [05d90f8b28] Fix problem in test code on this branch. (check-in: [05d90f8b28] user: dan branch: schema-copy, size: 39444)
2025-01-07
21:04
[4a8b689075] part of check-in [ac9ca88590] Fix many problems in the sqlite3_schema_copy() function. (check-in: [ac9ca88590] user: dan branch: schema-copy, size: 39445)
2024-12-06
17:52
[3476a2d335] part of check-in [65b753735b] Update logging (now v=16) to more closely analyze all attempts to load the main db schema. (check-in: [65b753735b] user: dan branch: cf8f1552-commit-instr, size: 39001)
2024-11-18
15:51
[64fb8aaf3c] part of check-in [00d021eda4] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [00d021eda4] user: drh branch: reuse-schema, size: 41631)
2024-11-04
19:08
[1832be043f] part of check-in [af7173a10e] Ensure that the database encoding is detected before the code generator gets too far down into byte-code generation and execution, but not so early that it interferes with initialization. Forum thread bc75a4d20b756044. (check-in: [af7173a10e] user: drh branch: trunk, size: 37695)
2024-10-22
16:26
[140ce8271b] part of check-in [d02ec06e5b] Add still more logging to determine why schema loads are so slow in some circumstances. (check-in: [d02ec06e5b] user: dan branch: cf8f1552-commit-instr, size: 38896)
2024-10-08
15:08
[c2b3221d02] part of check-in [cd6f585cad] Add logging to help analyze slow "PRAGMA cache_size = ?" statements. (check-in: [cd6f585cad] user: dan branch: cf8f1552-commit-instr, size: 38053)
2024-09-30
15:17
[2b6fdbfb4b] part of check-in [1ba833743d] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [1ba833743d] user: drh branch: reuse-schema, size: 41816)
2024-09-19
13:39
[3ba0ad907b] part of check-in [7b3a517b3e] Improved rebustness to malformed UTF-16 inputs to sqlite3_prepare16_v2(). (check-in: [7b3a517b3e] user: drh branch: trunk, size: 37880)
2024-05-21
15:20
[44dd5fd6f4] part of check-in [97e0af8882] Merge the lates trunk enhancements into the reuse-schema branch. (check-in: [97e0af8882] user: drh branch: reuse-schema, size: 41339)
2024-05-10
18:10
[d99931f454] part of check-in [c623d9a51e] The sqlite3FaultSim(300) error from [1e8863909ac369e5] must be treated as an OOM, since it simulates an OOM. Also fix deferred deletion of Expr objects from [a53bdd311c4154fd] so that it does not corrupt the AST if an OOM occurs. (check-in: [c623d9a51e] user: drh branch: cleanup-testing, size: 37403)
16:28
[32a8ff0497] part of check-in [1e8863909a] Add an sqlite3FaultSim(300) call to the sqlite3ParserAddCleanup() routine for more precise simulation of OOM errors in that routine. (check-in: [1e8863909a] user: drh branch: cleanup-testing, size: 37370)
2023-12-06
22:22
[9fe59f2cf0] part of check-in [5c36819c42] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [5c36819c42] user: drh branch: reuse-schema, size: 41231)
2023-11-17
17:25
[371f6115cb] part of check-in [feadd40242] Add an assert() to prove the sqlite3_prepare() always either returns SQLITE_OK or else leaves *ppStmt set to NULL. See forum post 70bb8576c6c084c2. (check-in: [feadd40242] user: drh branch: trunk, size: 37295)
2023-10-23
19:27
[b3443c4941] part of check-in [52262ac920] Merge the latest trunk enhancments into the reuse-schema branch. (check-in: [52262ac920] user: drh branch: reuse-schema, size: 41188)
2023-09-25
17:21
[bde74add20] part of check-in [2c805dc681] Another very minor tweak to code on this branch to save cycles. (check-in: [2c805dc681] user: dan branch: partial-index-terms, size: 37252)
2023-07-28
19:00
[72ac47a9b9] part of check-in [b8731493bf] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [b8731493bf] user: drh branch: reuse-schema, size: 41238)
2023-07-15
16:48
[80548297dc] part of check-in [5683743ddf] Add the experimental sqlite3_stmt_explain(S,E) interface. (check-in: [5683743ddf] user: drh branch: sqlite3_stmt_explain, size: 37302)
2023-06-22
14:50
[abfb40535d] part of check-in [905c6c9ddb] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [905c6c9ddb] user: drh branch: reuse-schema, size: 41095)
2023-06-07
08:40
[d6c4354f8e] part of check-in [26c1bb4bd9] Add a C-source spell-checking facility. make misspell (on Nix) (check-in: [26c1bb4bd9] user: larrybr branch: spell-check, size: 37159)
2023-05-02
21:26
[44a2b0a4d7] part of check-in [d08fa7d4d2] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [d08fa7d4d2] user: drh branch: reuse-schema, size: 41095)
2023-04-22
11:29
[6350675966] part of check-in [f35ce7c122] Early out from sqlite3Prepare() following an OOM to avoid possible problems further along in the parse. Fix for the NULL pointer dereference reported by forum post 2e5131839365682a. (check-in: [f35ce7c122] user: drh branch: trunk, size: 37159)
2023-04-18
15:21
[06ecbb25db] part of check-in [8b0fe63f87] Ensure that the VACUUM command is not confused by alternative encodings when it is the first command run on new database connection. Forum post 09503b4d33. Problem introduced by check-in [a02da71f3a80dd8e]. (check-in: [8b0fe63f87] user: drh branch: trunk, size: 37091)
2023-02-07
21:03
[42a8566557] part of check-in [c73babca38] Update an if(...) expression in sqlite3InitCallback() to match the same expression on trunk. (check-in: [c73babca38] user: dan branch: reuse-schema, size: 40977)
15:29
[c1b75db209] part of check-in [4d21640c58] Merge latest trunk changes into this branch. (check-in: [4d21640c58] user: dan branch: reuse-schema, size: 40994)
2023-01-20
17:50
[ce87a08cfd] part of check-in [a02da71f3a] Ensure that the database encoding cannot be changed while there are statements running. And that the connection is left in a valid state after an obscure OOM within sqlite3_deserialize(). (check-in: [a02da71f3a] user: dan branch: trunk, size: 37041)
2022-12-21
21:01
[c35e21962f] part of check-in [1bfae9b3c6] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [1bfae9b3c6] user: drh branch: reuse-schema, size: 40859)
2022-12-06
00:54
[eb701220a7] part of check-in [e7d323c16e] Highly experimental (and non-working) changes aimed at increasing the number of occasions where a subquery can be implemented using a co-routine rather than being materialized. This is just saving work in progress. (check-in: [e7d323c16e] user: drh branch: coroutines-exp1, size: 37234)
2022-11-10
19:19
[9ebd3a1b12] part of check-in [d31c019fd6] Avoid returning SQLITE_SCHEMA if the first query run on a connection is "SELECT nosuchcolumn" or similar. Forum post c1798f77ef (check-in: [d31c019fd6] user: dan branch: schema-error-fix, size: 36906)
2022-11-05
15:31
[740e262cc0] part of check-in [224eaf2622] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [224eaf2622] user: drh branch: reuse-schema, size: 40813)
2022-10-19
11:22
[695a199483] part of check-in [3da1032878] If a query uses an index where one or more of the columns of the index is an expression and if the corresponding expression is used elsewhere in the query, then strive to read the value of the expression out of the index, rather than recomputing it. This is the "Indexed Expression Optimizations". (check-in: [3da1032878] user: drh branch: branch-3.28, size: 31891)
2022-10-01
20:27
[1b02be0441] part of check-in [cd494240cc] Performance optimization in sqlite3_prepare() (discovered while working on the stmt-cache branch). (check-in: [cd494240cc] user: drh branch: trunk, size: 36860)
13:28
[fbcfdd127e] part of check-in [c8d77f3980] Merge the Parse.prepFlags change from trunk. (check-in: [c8d77f3980] user: drh branch: stmt-cache, size: 37215)
13:17
[0e61df99f0] part of check-in [b7da0bcdf7] Replace the Parse.disableVtab field with Parse.prepFlags for increased generality, a small size reduction, and a small performance increase. (check-in: [b7da0bcdf7] user: drh branch: trunk, size: 36798)
2022-09-28
17:10
[1730581972] part of check-in [cf0999d4f8] Prototype implementation of "PRAGMA reset_database". This pragma differs from SQLITE_DBCONFIG_RESET_DATABASE in that the pragma only works if the database is reasonably well-formed, whereas the dbconfig works regardless. (check-in: [cf0999d4f8] user: drh branch: reset-database, size: 36737)
2022-08-25
15:09
[854d8be4d1] part of check-in [da9aa5476c] Improved documentation of new features. Minor speed enhancements. (check-in: [da9aa5476c] user: drh branch: stmt-cache, size: 37414)
2022-08-24
23:50
[b0fb76a2c8] part of check-in [c9dc536db9] Change sqlite3_prepare_v3() to require SQLITE_PREPARE_CACHE in order for a statement to be a cache candidate. But any statement can pull from the cache. Also add statement cache control to the CLI. (check-in: [c9dc536db9] user: drh branch: stmt-cache, size: 37352)
17:55
[54839876dd] part of check-in [c217b763b1] First attempt at adding a built-in prepared statement cache. This is mostly working, but still has a few obscure faults. (check-in: [c217b763b1] user: drh branch: stmt-cache, size: 37332)
2022-08-22
16:30
[61bb87e193] part of check-in [9c05a48ee0] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [9c05a48ee0] user: drh branch: reuse-schema, size: 40776)
02:00
[971d5819a4] part of check-in [e5eaa80e81] Add the new internal interface sqlite3DbNNFreeNN(db,ptr) where both the db and ptr parameters are guaranteed to be non-NULL. Use this where appropriate to save more than 2 million CPU cycles on the standard performance test. (check-in: [e5eaa80e81] user: drh branch: trunk, size: 36823)
2022-05-06
17:06
[d91f59db08] part of check-in [bfccca2ba3] Merge the 3.38.5 fix into the 3.38 subbranch of reuse-schema. (check-in: [bfccca2ba3] user: drh branch: reuse-schema-3.38, size: 40720)
00:43
[c62820c15d] part of check-in [217b33234d] Prevent an infinite loop on SQLITE_ERROR_RETRY when trying to modify a corrupt schema while PRAGMA writeable_schema=ON is active. dbsqlfuzz ded83609f475cc989c7339d45efb5151c1495501 (check-in: [217b33234d] user: drh branch: trunk, size: 36767)
2022-03-26
14:14
[c34dc2076e] part of check-in [07fc5c6eff] Merge the version 3.38.2 patches into the reuse-schema-3.38 sub-branch. (check-in: [07fc5c6eff] user: drh branch: reuse-schema-3.38, size: 40489)
2022-03-24
14:01
[fd940149c6] part of check-in [a7abb725c7] The "PRAGMA writable_schema=ON" flag should not allow OOM errors to pass while parsing the schema. dbsqlfuzz 9cc49e1a53e1cef8e3a1496a88c683aa20483163. (check-in: [a7abb725c7] user: drh branch: trunk, size: 36536)
2022-02-04
18:12
[d4db4954fb] part of check-in [5744e1020b] Merge trunk enhancements into the reuse-schema branch. (check-in: [5744e1020b] user: drh branch: reuse-schema, size: 40467)
2022-01-28
21:39
[a187dade74] part of check-in [ae088cbc96] When nesting Parse objects, make sure the new one has nErr set if there has been an OOM error. (check-in: [ae088cbc96] user: drh branch: trunk, size: 36514)
2022-01-25
16:28
[2616780f00] part of check-in [6e4154d414] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [6e4154d414] user: drh branch: reuse-schema, size: 40404)
2022-01-24
19:38
[1e23522c93] part of check-in [4aa27b4fcd] Add ALWAYS() macros. Change some existing ALWAYS() into assert(). Other code simplifications. (check-in: [4aa27b4fcd] user: drh branch: trunk, size: 36451)
16:47
[da7d26f51a] part of check-in [1f7fa46126] Remove many redundant checks for sqlite3.mallocFailed now that any OOM should cause Parse.nErr to be non-zero. (check-in: [1f7fa46126] user: drh branch: trunk, size: 36428)
15:34
[4ab9c3c716] part of check-in [6a45d8fe8b] Make it so that any Parse object is always linked into the database conenction while it is active. Hence, an OOM will cause Parse.nErr to be set. (check-in: [6a45d8fe8b] user: drh branch: trunk, size: 36436)
2022-01-17
20:01
[fef7f03101] part of check-in [769ff85765] Merge the latest trunk changes into the reuse-schema branch. (check-in: [769ff85765] user: drh branch: reuse-schema, size: 39582)
2022-01-06
14:16
[01e70c7154] part of check-in [d7ec5a2b4a] Merge the 3.37.2 patches into the reuse-schema branch. (check-in: [d7ec5a2b4a] user: drh branch: reuse-schema-3.37, size: 39510)
2022-01-02
17:37
[dab0c2995a] part of check-in [25beca31cf] Do not raise an SQLITE_SCHEMA error if in sqlite3Init(). Fix for PoC #2 in forum post b03d86f951. See TH3 for test cases. (check-in: [25beca31cf] user: drh branch: branch-3.37, size: 35557)
2022-01-01
22:55
[45fe7408eb] part of check-in [e199a851e3] Do not raise an SQLITE_SCHEMA error if in sqlite3Init(). Fix for PoC #2 in forum post d7338bf4901f1151. See TH3 for test cases. (check-in: [e199a851e3] user: drh branch: trunk, size: 35629)
2021-12-31
19:20
[4c1c546160] part of check-in [6fb2a1bb02] Simplify the sqlite3RunParser() routine by omitting the third parameter. Results in a binary that is about 100 bytes smaller and 1.4M cycles faster. (check-in: [6fb2a1bb02] user: drh branch: trunk, size: 35609)
17:54
[5954136ca8] part of check-in [41ee2bac57] Performance optimization and size reduction in sqlite3RunParser(). (check-in: [41ee2bac57] user: drh branch: trunk, size: 35649)
2021-12-30
16:14
[1feb9a8d87] part of check-in [e9e95c8fc6] Merge the 3.37.1 patches into the reuse-schema branch. (check-in: [e9e95c8fc6] user: drh branch: reuse-schema-3.37, size: 39490)
2021-12-09
14:09
[40961a1170] part of check-in [94fdbeffaf] Do not attempt to reprepare a prepared statement that returns SQLITE_SCHEMA if there was an OOM. This enhancement supercedes check-in [fee469925231d074]. (check-in: [94fdbeffaf] user: drh branch: trunk, size: 35537)
2021-11-05
23:32
[a5f14873af] part of check-in [ca09148e13] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [ca09148e13] user: drh branch: reuse-schema, size: 39439)
2021-11-03
15:59
[7520a371f1] part of check-in [b007a39dd3] Improved the error message that results when a schema parse fails after ALTER TABLE ADD COLUMN. (check-in: [b007a39dd3] user: drh branch: trunk, size: 35486)
2021-10-04
11:49
[5251d1bab0] part of check-in [64234c5c9a] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [64234c5c9a] user: drh branch: reuse-schema, size: 39368)
2021-09-24
02:14
[8f07616db0] part of check-in [c7560c1329] Ensure that the db->init.azInit array is initialized at all times. dbsqlfuzz 0ad6d441f9bf3dfc32626a9900bc1700495b16f9 (check-in: [c7560c1329] user: drh branch: trunk, size: 35415)
2021-06-14
14:35
[3668279bfd] part of check-in [f21a53fb41] Update this branch with latest changes from trunk. (check-in: [f21a53fb41] user: dan branch: reuse-schema, size: 39277)
2021-06-13
17:55
[0d53d20532] part of check-in [b6c57e0e2a] Improved defense against OOM errors in sqliteInitOne(). dbsqlfuzz 429db39cd5777c46479641e8637c48c62890042d (check-in: [b6c57e0e2a] user: drh branch: trunk, size: 35324)
2021-05-07
14:16
[e5605f4dac] part of check-in [c5e2de1d24] This was suppose to be a merge from trunk. But something went wrong. (check-in: [c5e2de1d24] user: dan branch: bad-merge, size: 39216)
2021-04-13
13:20
[d778af9986] part of check-in [9cc484ad1a] The SQLITE_NoSchemaError flag should not apply to OOM errors while parsing the schema. (check-in: [9cc484ad1a] user: drh branch: trunk, size: 35263)
13:01
[b7e9bb0946] part of check-in [fb305fe077] Earlier detection empty_result_callbacks in sqlite3InitCallbac() to avoid problems with corrupt schemas an writable_schema=ON. dbsqlfuzz ca4ca43bdb22eab9859de4979aec615af851e111. (check-in: [fb305fe077] user: drh branch: trunk, size: 35236)
2021-04-05
11:39
[7a0fc68667] part of check-in [5045c8a748] As a continuation of [1f66a85b7757754f], ensure that an OOM that occurs while checking the validity of the schema is reported out as SQLITE_NOMEM and not as SQLITE_SCHEMA. (check-in: [5045c8a748] user: drh branch: trunk, size: 35236)
2021-04-03
20:35
[dd46de6417] part of check-in [1f66a85b77] Take care not to change an SQLITE_NOMEM error into SQLITE_SCHEMA. (check-in: [1f66a85b77] user: drh branch: trunk, size: 35201)
2021-03-11
10:55
[c8797eefce] part of check-in [ef8c6e06cb] Merge latest trunk changes into this branch. (check-in: [ef8c6e06cb] user: dan branch: reuse-schema, size: 39126)
2021-03-09
19:32
[e21b54489b] part of check-in [c3c8691121] Extra comments and testcase() macros associated with the new sqlite3ParserAddCleanup() mechanism. No changes to release builds. (check-in: [c3c8691121] user: drh branch: trunk, size: 35173)
2021-03-03
19:54
[2f8380bfd7] part of check-in [73bf458e1d] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [73bf458e1d] user: drh branch: reuse-schema, size: 38717)
2021-02-20
12:47
[f634a9e799] part of check-in [7a90571e0a] Merge changes from trunk. (Later:) Abandon this line of development. See the as-materialize-redux branch. (check-in: [7a90571e0a] user: drh branch: as-materialize, size: 34764)
2021-02-18
22:47
[7a534d100c] part of check-in [9ea640073f] Merge changes from trunk into the alter-table-drop-column branch. (check-in: [9ea640073f] user: drh branch: alter-table-drop-column, size: 34734)
2021-02-17
21:13
[a25c7df3a7] part of check-in [7a1399671f] Use the sqlite3ParserAddCleanup() mechanism to ensure that the AggInfo structure associated with an aggregate query is deallocated, for a performance increase and size reduction. (check-in: [7a1399671f] user: drh branch: trunk, size: 34566)
20:08
[77c7410c0c] part of check-in [10538ec6fc] Fix various issues with the changes on this branch. Add test cases for the same. (check-in: [10538ec6fc] user: dan branch: alter-table-drop-column, size: 35055)
2021-02-16
16:32
[e8e056d7e3] part of check-in [bf0fd9b23a] Trying to get the new AS MATERIALIZE syntax of CTEs to work. There are still performance and memory management issues. This is a WIP check-in. (check-in: [bf0fd9b23a] user: drh branch: as-materialize, size: 34917)
2021-02-10
20:20
[b94c07cdca] part of check-in [d29c41bd26] Merge latest trunk changes into this branch. (check-in: [d29c41bd26] user: dan branch: reuse-schema, size: 38840)
2021-01-13
21:05
[f288cbc35f] part of check-in [83ec01e38c] Fix a harmless compiler warning. (check-in: [83ec01e38c] user: drh branch: minmax-opt-exp, size: 34887)
2021-01-12
15:30
[cfe5a0ec9f] part of check-in [38ef8ab983] Fix a potential use-after-free following an OOM in sqlite3ParserAddCleanup() and add a mechanism to detect situations where this might occur in the future. (check-in: [38ef8ab983] user: drh branch: parse-cleanup, size: 34872)
2021-01-11
20:37
[1f8bb4f20d] part of check-in [affa2b7b31] Add a linked list of ParseCleanup objects to the end of a Parse object and use that list as a place to put other sub-objects that need to be deallocated. Have a single such list for infrequently used sub-objects is more efficient than doing an a separate check for each kind of sub-object. Edit: Now possible to have use-after-free following an OOM. (check-in: [affa2b7b31] user: drh branch: parse-cleanup, size: 34125)
2021-01-01
21:02
[a6bac9100b] part of check-in [76de2bb04b] Faster and smaller test to ensure that the sqlite_schema.sql field is always a CREATE statement of some kind. (check-in: [76de2bb04b] user: drh branch: trunk, size: 33039)
18:23
[7acf95d1f8] part of check-in [41f45c8e89] Size reduction and performance increase in sqlite3Prepare(). (check-in: [41f45c8e89] user: drh branch: trunk, size: 32689)
2020-09-16
16:55
[71bdb999ff] part of check-in [2e269dcdef] Merge bugfixes made since version 3.33.0 into this branch. (check-in: [2e269dcdef] user: dan branch: reuse-schema-3.33, size: 36540)
16:44
[885fd7a986] part of check-in [553e20c3d7] Fix another (harmless in practice) tsan error in shared-cache mode. (check-in: [553e20c3d7] user: dan branch: branch-3.33, size: 32587)
2020-09-04
17:40
[e33874b74b] part of check-in [ca8deb44c7] Update this branch with latest changes from trunk. (check-in: [ca8deb44c7] user: dan branch: reuse-schema, size: 36562)
17:30
[270170a239] part of check-in [5dd0594061] Ensure that the busy-handler count is reset at the end of each sqlite3_file_control() and sqlite3_prepare() (and _v2() and _v3()). (check-in: [5dd0594061] user: dan branch: trunk, size: 32609)
2020-08-25
19:09
[38ae9c2e35] part of check-in [ad195e3dd8] Add support for the sqlite3_txn_state() interface. (check-in: [ad195e3dd8] user: drh branch: trunk, size: 32580)
2020-08-11
14:55
[dfc6eba4bd] part of check-in [b1a77b7ead] Merge all changes since the 3.32.0 release into the reuse-schema branch. (check-in: [b1a77b7ead] user: drh branch: reuse-schema, size: 36511)
2020-07-30
17:14
[3d5a761d02] part of check-in [905752da98] Fix unreachable branches. (check-in: [905752da98] user: drh branch: larger-databases, size: 32558)
2020-07-23
15:23
[e1c684b945] part of check-in [849b03d8de] Fix a typo in an error message. (check-in: [849b03d8de] user: drh branch: larger-databases, size: 32580)
2020-07-22
21:05
[28193f0b7f] part of check-in [d7dd4fc464] Disable rootpage bounds checking when the SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS setting is off, to facilitate reaching obscure error states during testing. (check-in: [d7dd4fc464] user: drh branch: rootpage-bounds-check, size: 32579)
20:12
[8e7300f912] part of check-in [75599a9731] Improvements to rootpage bounds checking during schema parse. (check-in: [75599a9731] user: drh branch: rootpage-bounds-check, size: 32467)
18:03
[752643468b] part of check-in [6c3a2727dc] When parsing the schema, detect out-of-bounds rootpage values and throw an error. (check-in: [6c3a2727dc] user: drh branch: rootpage-bounds-check, size: 32429)
13:56
[26be4805d6] part of check-in [92e2ab3893] Most test cases now passing. (check-in: [92e2ab3893] user: drh branch: larger-databases, size: 32156)
13:38
[bf7c91ade3] part of check-in [9ce1710aad] Continuing work toward supporting unsigned 32-bit page numbers. (check-in: [9ce1710aad] user: drh branch: larger-databases, size: 32151)
2020-06-19
15:24
[c471c2f799] part of check-in [7a876209a6] Extend the refactoring into extensions. Clean up stray newlines. (check-in: [7a876209a6] user: drh branch: trunk, size: 32150)
13:33
[ea06beff2f] part of check-in [9536fa0ae0] Further refactoring of the schema table name. (check-in: [9536fa0ae0] user: drh branch: trunk, size: 32141)
2020-06-18
14:30
[d0e6902382] part of check-in [c2d3676339] Merge the 3.32.3 release into the reuse-schema branch. (check-in: [c2d3676339] user: drh branch: reuse-schema-3.32, size: 36042)
2020-06-08
12:49
[0a263a8840] part of check-in [44a58d6cb1] When an Expr object is changed and that Expr is referenced by an AggInfo, then also update the AggInfo. Also, persist all AggInfo objects until the Parse object is destroyed. This is a new fix for ticket [c8d3b9f0a750a529]. (check-in: [44a58d6cb1] user: drh branch: branch-3.32, size: 32089)
2020-06-07
20:18
[bb996921a8] part of check-in [3c840b4df3] AggInfo objects might be referenced even after the sqlite3Select() function that created them has exited. So AggInfo cannot be a stack variable. And it must not be freed until the Parse object is destroyed. (check-in: [3c840b4df3] user: drh branch: persist-agginfo, size: 32141)
2020-05-26
10:54
[aeb3ba661e] part of check-in [4ec8a5a203] Innocuous changes to help Coverity avoid false-positives. (check-in: [4ec8a5a203] user: drh branch: trunk, size: 31818)
2020-04-09
18:51
[b3d5547774] part of check-in [d6fda470fe] Merge recent trunk changes into the apple-osx branch. (check-in: [d6fda470fe] user: drh branch: apple-osx, size: 32056)
2020-03-05
19:00
[45824c5f6d] part of check-in [507f972e91] Merge trunk change [895bd20b29] into this branch. (Actually check-in date was 2020-05-18) (check-in: [507f972e91] user: dan branch: reuse-schema, size: 35719)
18:04
[8d4d6c8aa6] part of check-in [895bd20b29] Report an error if the main, or any other, database encoding is modified by an external process (perhaps using the backup API) after the db has been opened. (check-in: [895bd20b29] user: dan branch: trunk, size: 31766)
16:30
[6d25dd99f4] part of check-in [9d068e1ef0] Merge trunk enhancements into the reuse-schema branch. (Actual check-in date is 2020-05-18) (check-in: [9d068e1ef0] user: drh branch: reuse-schema, size: 35691)
16:13
[d9b7b36b7a] part of check-in [4a5851893c] Change the sqlite3.pDfltColl (the default collating sequence for the database connection) so that it is the collating sequence appropriate for the database encoding, not the UTF8 collating sequence. This helps to ensure that the database encoding collation is always used, even for expressions that do not have an defined collating sequence. Ticket [1b8d7264567eb6fc]. (check-in: [4a5851893c] user: drh branch: trunk, size: 31738)
2020-01-18
18:59
[9e8f3d6096] part of check-in [7a4ec57985] Have this branch call sqlite3LockAndPrepare() instead of sqlite3Prepare() when parsing SQL for new schema objects in order to ensure that schemas are released as soon as possible. (check-in: [7a4ec57985] user: dan branch: reuse-schema, size: 35672)
2020-01-17
15:24
[f739feb4cf] part of check-in [3d13fbf248] Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. (check-in: [3d13fbf248] user: drh branch: branch-3.28, size: 31716)
2020-01-15
14:26
[3078898f68] part of check-in [f783917800] Merge all recent enhancements and fixes from trunk. (check-in: [f783917800] user: drh branch: reuse-schema, size: 35077)
12:49
[852827aab6] part of check-in [dadedf41c7] Merge all recent enhancements and fixes from trunk into the apple-osx branch. (check-in: [dadedf41c7] user: drh branch: apple-osx, size: 32009)
2019-10-09
17:38
[4d267e595a] part of check-in [553258c2ed] Merge recent fixes and enhancements from trunk. (check-in: [553258c2ed] user: drh branch: 2-size-lookaside, size: 31726)
17:06
[5cd97fadcf] part of check-in [5ba8cee8f7] An alternative, experimental lookaside memory allocator that uses two different slot sizes. (check-in: [5ba8cee8f7] user: sperry branch: 2-size-lookaside, size: 32589)
01:19
[6049beb713] part of check-in [1ca5ef8450] Save CPU cycles in sqlite3Prepare() by, among other things, shifting the EXPLAIN column label logic over to sqlite3VdbeMakeReady(). (check-in: [1ca5ef8450] user: drh branch: trunk, size: 31719)
2019-10-05
19:53
[fc245d2049] part of check-in [0b73a09270] Omit the check for conflicting shared-cache locks in sqlite3Prepare() if the database connection uses no shared cache. We might be able to go back and remove this code completely, due to the newer Schema.iGeneration logic, but that will take more analysis. This check-in gives the speed benefit but not the reduction in code size. (check-in: [0b73a09270] user: drh branch: trunk, size: 32582)
18:33
[53af23e89f] part of check-in [cc49380ea7] Call sqlite3Prepare() directly, rather than going through sqlite3_prepare(), when processing the sqlite_master.sql column for a schema. (check-in: [cc49380ea7] user: drh branch: trunk, size: 32524)
14:39
[c89734335c] part of check-in [17ce1c49cb] Performance optimization to the lookaside-memory disabling mechanism. (check-in: [17ce1c49cb] user: drh branch: trunk, size: 32014)
2019-09-16
12:35
[43e4601125] part of check-in [27eb223690] Merge all recent trunk enhancements into the reuse-schema branch. (check-in: [27eb223690] user: drh branch: reuse-schema, size: 35306)
12:02
[83b2038e47] part of check-in [a95191deab] Merge the latest changes from trunk into the apple-osx branch. (check-in: [a95191deab] user: drh branch: apple-osx, size: 32238)
2019-08-15
13:46
[132484635a] part of check-in [b2e79f8ff0] Avoid downgrading SQLITE_CORRUPT errors detected by the schema parser into SQLITE_NOMEM or SQLITE_ERROR errors. (check-in: [b2e79f8ff0] user: drh branch: trunk, size: 31948)
2019-08-13
15:22
[ca7d06cec9] part of check-in [5b4689d89c] Merge latest trunk changes with this branch. (check-in: [5b4689d89c] user: dan branch: reuse-schema, size: 35285)
2019-08-12
00:08
[1dcd92a57f] part of check-in [724f4df9cc] Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. (check-in: [724f4df9cc] user: drh branch: trunk, size: 31927)
2019-08-08
11:44
[786c5ea903] part of check-in [111e2c73cf] Fix a bug causing "no such table" and other similar sqlite3_prepare*() errors to return SQLITE_SCHEMA instead of SQLITE_ERROR in shared-schema mode when there is an attached database for which the schema has never been loaded. (check-in: [111e2c73cf] user: dan branch: reuse-schema, size: 35103)
2019-07-26
20:54
[3a891e5160] part of check-in [7f1e4e4b99] Merge latest changes from trunk into this branch. (check-in: [7f1e4e4b99] user: dan branch: reuse-schema, size: 34985)
2019-07-14
00:15
[1fdf68a8ad] part of check-in [0fff105a3e] Mark an unreachable branch using ALWAYS(). (check-in: [0fff105a3e] user: drh branch: trunk, size: 31745)
2019-07-05
19:10
[d633c3610c] part of check-in [7a1e30a17f] Another very small performance improvement. (check-in: [7a1e30a17f] user: dan branch: filter-clause, size: 31535)
2019-03-21
17:13
[ed5110154b] part of check-in [b8e536089b] Disable the feature on this branch in non-SQLITE_ENABLE_SHARED_SCHEMA builds. (check-in: [b8e536089b] user: dan branch: reuse-schema, size: 34774)
2019-03-20
20:02
[d5e6339a34] part of check-in [c1be211c02] Use the IsReuseSchema() macro more consistently. Also, rename it to IsSharedSchema(). (check-in: [c1be211c02] user: dan branch: reuse-schema, size: 34046)
2019-02-20
18:44
[48cea94dca] part of check-in [ba0ab042f4] Further test cases and fixes for SQLITE_OPEN_SHARED_SCHEMA. (check-in: [ba0ab042f4] user: dan branch: reuse-schema, size: 34091)
2019-02-19
18:00
[3e1c9aefe1] part of check-in [8ac75b8a88] Improve error messages caused by corrupt database schemas in OPEN_SHARED_SCHEMA mode. (check-in: [8ac75b8a88] user: dan branch: reuse-schema, size: 34024)
2019-02-15
19:00
[8335bb97de] part of check-in [ecf6251ec0] Fix a problem with eponymous virtual tables and SHARED_SCHEMA databases. Also, after preparing statements that require all database schemas (REINDEX, ANALYZE, CREATE, DROP and some PRAGMA statements), do not allow the database connection to return more than one schema to each schema-pool. (check-in: [ecf6251ec0] user: dan branch: reuse-schema, size: 33827)
2019-02-14
18:38
[b7ef5c87a9] part of check-in [7257fcc8c9] Change the name of the SQLITE_OPEN_REUSE_SCHEMA flag to SQLITE_OPEN_SHARED_SCHEMA. (check-in: [7257fcc8c9] user: dan branch: reuse-schema, size: 33752)
2019-02-12
19:20
[c8bd9570e9] part of check-in [ea611d7cba] Share schemas between databases attached to the same database handle. (check-in: [ea611d7cba] user: dan branch: reuse-schema, size: 33750)
2019-02-11
19:34
[c73b6ab029] part of check-in [2ebeb74783] Add eponymous virtual table "schemapool". For inspecting the current contents of the schema-pool. (check-in: [2ebeb74783] user: dan branch: reuse-schema, size: 33699)
2019-02-08
19:30
[e9fcf4a4f6] part of check-in [2b2e9f81cd] Add test cases and fix problems on this branch. (check-in: [2b2e9f81cd] user: dan branch: reuse-schema, size: 33677)
2019-02-07
18:49
[58a6ad1d4a] part of check-in [628291641f] Merge the offical 3.27.0 release. (check-in: [628291641f] user: drh branch: apple-osx, size: 31824)
2019-02-05
19:51
[ca6afe2f9a] part of check-in [c089cc4fbe] Merge latest trunk into this branch. (check-in: [c089cc4fbe] user: dan branch: reuse-schema, size: 33369)
19:15
[24812a79d1] part of check-in [e9c5e1891f] Fix memory leaks on this branch. (check-in: [e9c5e1891f] user: dan branch: reuse-schema, size: 42117)
2019-02-02
21:02
[a1f7b15ec6] part of check-in [9e8e5f52cf] Try new approach ensuring that each Schema object is only used by one connection/database at any one time. (check-in: [9e8e5f52cf] user: dan branch: reuse-schema, size: 42201)
2019-01-30
18:33
[78027c6231] part of check-in [f21c6f1343] Detect if two indexes of the same table share a common rootpage while parsing the schema, and throw an error immediately. (check-in: [f21c6f1343] user: drh branch: trunk, size: 31534)
2019-01-17
15:47
[3948e35673] part of check-in [475a179a27] Sync up with the latest enhancements on trunk. (check-in: [475a179a27] user: drh branch: apple-osx, size: 31397)
2019-01-10
14:33
[63b8395d72] part of check-in [10f9e39d6e] More aggressive early detection of orphaned and malformed autoindexes when parsing the schema. (check-in: [10f9e39d6e] user: drh branch: trunk, size: 31107)
2019-01-05
21:09
[18f1d2801f] part of check-in [598d7358e7] If the OP_ParseSchema opcode with a non-NULL P4 operand does not parse any rows out of the sqlite_master table, that indicates that the sqlite_master table is corrupt, so raise an SQLITE_CORRUPT error. (check-in: [598d7358e7] user: drh branch: trunk, size: 31372)
2018-12-26
15:04
[4fd8502d4e] part of check-in [50e5f390fb] Here is the beginnings of an effort to factor out the implementation of scalar subqueries to be implemented as subroutines at the end of the main body of bytecode, after the jump back to the OP_Init opcode. This is an incremental check-in that contains only preliminary changes. (check-in: [50e5f390fb] user: drh branch: factor-out-scalar-subselect, size: 31324)
2018-12-21
19:29
[d0918fb8d0] part of check-in [25666e3d03] Add new sqlite3_prepare_v3() flag SQLITE_PREPARE_NO_VTAB, for preparing statements that are not allowed to use any virtual tables. Use this to prevent circular references in triggers on virtual table shadow tables from causing resource leaks. (check-in: [25666e3d03] user: dan branch: prepare-no-vtab, size: 31326)
2018-12-10
16:00
[0e8fc0deaf] part of check-in [a4c890b0af] Refactor the sqlite3_normalized_sql() implementation. This is a work-in-progress. There are still issues. (check-in: [a4c890b0af] user: drh branch: normalize-refactor, size: 31262)
02:00
[0e9d4ae9d2] part of check-in [b1bbc718c7] Merge enhancements from trunk. (check-in: [b1bbc718c7] user: drh branch: apple-osx, size: 37413)
2018-12-07
16:32
[be449edb10] part of check-in [0d8e150434] Fix the sqlite3_normalized_sql() interface so that it renders double-quoted string literals as "?". (check-in: [0d8e150434] user: drh branch: trunk, size: 37123)
2018-12-06
20:18
[91cc20f27c] part of check-in [73a6b8c1b9] Experimental changes to (optionally) allow double-quoted strings to be checked against known identifiers. (check-in: [73a6b8c1b9] user: mistachkin branch: normalize_v4, size: 40198)
17:06
[5fe8eb586d] part of check-in [53d3b169d8] When masking bits off of sqlite3.flags, make sure the mask is 64 bits in size so as not to accidentally mask of high-order bits. (check-in: [53d3b169d8] user: drh branch: trunk, size: 37047)
2018-12-05
23:56
[66b5f9791a] part of check-in [272dc74fd0] Get rid of the hash table used to track IN operators in the sqlite3_normalized_sql() implementation. Use simple integer variables instead. (check-in: [272dc74fd0] user: drh branch: trunk, size: 37042)
23:45
[9009972129] part of check-in [e8540377ec] The sqlite3_normalized_sql() interface should not be transforming quoted identifier names into wildcards. Fix this, and at the same time simplify the code substantially. (check-in: [e8540377ec] user: drh branch: trunk, size: 37298)
23:25
[d6d8fb09a1] part of check-in [9b6e9a6e45] Bungled checkin. Ignore. (check-in: [9b6e9a6e45] user: drh branch: mistake, size: 40267)
21:55
[733d34a557] part of check-in [f69624373e] Fix an imbalanced lock problem in sqlite3Normalize() introduced by the simplification in [94ea6379178e3ff6a]. (check-in: [f69624373e] user: drh branch: trunk, size: 40236)
18:28
[2a17c1ffa1] part of check-in [edfc2acfcd] Merge enhancements and the ALTER TABLE bug fix from trunk. (check-in: [edfc2acfcd] user: drh branch: apple-osx, size: 40514)
17:48
[f77ebf812f] part of check-in [94ea637917] Simplifications to the sqlite3_normalized_sql() implementation. (check-in: [94ea637917] user: drh branch: trunk, size: 40224)
13:39
[277c8af171] part of check-in [7da617e97e] Enhance the sqlite3_normalize_sql() interface so that it works even if the prepared statement was not initially compiled using SQLITE_PREPARE_NORMALIZED. Enhance the ".trace" command in the CLI so that it is able to access the full scope of functionality provided by sqlite3_trace_v2() and in particular so that it is able to show normalized SQL output using the newly enhanced sqlite3_normalize_sql() interface. (check-in: [7da617e97e] user: drh branch: trunk, size: 39857)
2018-11-20
16:02
[fc8c448c4d] part of check-in [dfab7170ed] Consolidate the two sqlite3SchemaToIndex() routines. (check-in: [dfab7170ed] user: dan branch: reuse-schema1, size: 41861)
2018-11-15
21:20
[b64a19ee9b] part of check-in [31b6aee755] Fix some problems with the feature on this branch. Many problems remain. (check-in: [31b6aee755] user: dan branch: reuse-schema1, size: 41902)
2018-11-09
18:44
[d728e40314] part of check-in [ae88f8e1ff] Merge latest trunk changes with this branch. (check-in: [ae88f8e1ff] user: dan branch: reuse-schema, size: 41624)
2018-11-06
13:37
[108bbf7010] part of check-in [f79b47c985] Add enforcement of read-only on shadow tables. This does not currently work since some virtual tables are attempting to update shadow tables using sqlite3_exec(). (check-in: [f79b47c985] user: drh branch: read-only-shadow, size: 40357)
2018-11-05
13:53
[f0cc0876b3] part of check-in [62acf7a09e] Merge recent trunk enhancements. (check-in: [62acf7a09e] user: drh branch: apple-osx, size: 40572)
2018-10-31
19:01
[f81f8d707e] part of check-in [790ea39a65] Add support for the SQLITE_PREPARE_NORMALIZED flag and the sqlite3_normalized_sql() when compiling with SQLITE_ENABLE_NORMALIZE. Also remove unnecessary whitespace from Makefiles. (check-in: [790ea39a65] user: drh branch: trunk, size: 40282)
01:26
[f1eb2d8faf] part of check-in [4b370c74ae] Merge fixes from trunk, especially rebustness against corrupt database files. (check-in: [4b370c74ae] user: drh branch: apple-osx, size: 31546)
2018-10-30
16:25
[498b3bf76a] part of check-in [4f9878107a] Split the SQLITE_WriteSchema flag in two flags, WriteSchema and SQLITE_NoSchemaError. Set only WriteSchema on a VACUUM to avoid problems when trying to vacuum a corrupt database. With this change, the size of the flags field on sqlite3 must grow from 32 to 64 bytes. (check-in: [4f9878107a] user: drh branch: trunk, size: 31256)
2018-10-29
17:53
[bf148a889e] part of check-in [592b66e805] Add the sqlite3_normalized_sql() API. (check-in: [592b66e805] user: mistachkin branch: normalized_sql, size: 40278)
2018-10-09
22:50
[03944762a1] part of check-in [ddf6a54ef3] Merge changes for the 3.25.0 release. (check-in: [ddf6a54ef3] user: drh branch: apple-osx, size: 31542)
2018-10-08
18:58
[051a2342f2] part of check-in [2ac72114a1] Merge latest trunk changes into this branch. (check-in: [2ac72114a1] user: dan branch: reuse-schema, size: 32594)
2018-08-29
21:00
[f8e260d940] part of check-in [01308bae3a] Extend RENAME TABLE to edit triggers and views. Still buggy. (check-in: [01308bae3a] user: dan branch: alter-table-rename-table, size: 31252)
2018-08-14
19:27
[117e27c682] part of check-in [37d11b8e82] Improved error messages when an ALTER TABLE RENAME COLUMN fails due to a duplicate column name. (check-in: [37d11b8e82] user: drh branch: alter-table-rename-column, size: 31246)
2018-08-11
13:40
[540a24af1b] part of check-in [f4497b0136] Reload the entire schema after renaming a column in order to ensure that the schema for any tables for which parent key definitions were changed are reloaded. (check-in: [f4497b0136] user: dan branch: alter-table-rename-column, size: 30938)
2018-06-06
16:28
[e966ecc97c] part of check-in [a10662aa91] Change sqlite3BtreeBeginTrans() to return the BTREE_SCHEMA_COOKIE, for a small speed improvement when starting new transactions. (check-in: [a10662aa91] user: drh branch: trunk, size: 30945)
2018-05-04
19:33
[04a30fc538] part of check-in [e17bca2cdb] Merge recent enhancements from trunk. (check-in: [e17bca2cdb] user: drh branch: apple-osx, size: 31229)
2018-05-02
14:24
[95a9dba7a5] part of check-in [82ca44b82f] Fix a dangling-else problem that was causing recursive CTEs to malfunction. Begin fixing test cases to work with the new EQP output. (check-in: [82ca44b82f] user: drh branch: rework-EQP, size: 30939)
2018-04-28
01:27
[1492a2bed7] part of check-in [02e1a13c1f] Add the "PRAGMA reset_database=ON|OFF" command. When on, it causes the database to appear to be empty, causing the next transaction to reset it to an empty database. (check-in: [02e1a13c1f] user: drh branch: reset-database, size: 30941)
2018-04-25
12:01
[d16cb8a553] part of check-in [58cf812fd8] Avoid many unnecessary calls to sqlite3ReadSchema() and sqlite3Init() when the schema is known to be valid already. (check-in: [58cf812fd8] user: drh branch: trunk, size: 30855)
10:30
[2243890992] part of check-in [d8b46290bb] Add an assert() to ensure that schema mutexes are held prior to accessing the DB_SchemaLoaded flag inside of sqlite3Init(). (check-in: [d8b46290bb] user: drh branch: trunk, size: 30714)
2018-04-10
18:05
[e0a310f9fe] part of check-in [e20fcb5159] Merge all version 3.23.1 changes and enhancements from trunk. (check-in: [e20fcb5159] user: drh branch: apple-osx, size: 30942)
2018-03-16
20:15
[b086fea6a1] part of check-in [e13993cf83] Better error message text when the schema is corrupted by a CREATE TABLE AS entry. (check-in: [e13993cf83] user: drh branch: corrupt-schema, size: 30652)
2018-01-23
01:56
[7ffd800d6b] part of check-in [c25da6de1d] Enhance the PRAGMA noop_update statement so that the behavior persists across reprepare operations. (check-in: [c25da6de1d] user: drh branch: noop-update-reprepare, size: 30641)
2018-01-15
21:59
[67a2c477a7] part of check-in [c9d2ec51c8] Merge the enhancements associated with the first 3.22.0 beta. (check-in: [c9d2ec51c8] user: drh branch: apple-osx, size: 30929)
2017-12-08
19:37
[259f4e7960] part of check-in [02013fc120] The query planner tries to avoids using indexes that use unknown collating functions. (check-in: [02013fc120] user: drh branch: trunk, size: 30639)
2017-11-14
20:00
[a67a7d5ff5] part of check-in [1754faefcc] Merge all changes from trunk prior to the read-only WAL enhancement. (check-in: [1754faefcc] user: drh branch: apple-osx, size: 30768)
2017-10-31
03:40
[7cf451f903] part of check-in [1c80c75d4b] Remove unnecessary NEVER() and ALWAYS() conditionals. (check-in: [1c80c75d4b] user: drh branch: trunk, size: 30478)
2017-09-09
06:10
[9e68d85200] part of check-in [6a0b9d9d4e] Merge trunk enhancements (check-in: [6a0b9d9d4e] user: drh branch: apple-osx, size: 30757)
2017-08-25
15:43
[9a141a1b02] part of check-in [776d91284a] Size and performance optimization for sqlite3Init(). (check-in: [776d91284a] user: drh branch: trunk, size: 30467)
2017-08-17
14:47
[9e880c0efb] part of check-in [fb6ca99b88] Remove an unnecessary branch from the [be436a7f4587ce517ddc] fix. (check-in: [fb6ca99b88] user: drh branch: trunk, size: 30691)
02:26
[5da8a0563e] part of check-in [a7bc7752ba] Defer schema resets when the query planner is running. Proposed fix for ticket [be436a7f4587ce517]. (check-in: [a7bc7752ba] user: drh branch: trunk, size: 30713)
2017-08-09
20:35
[955b618566] part of check-in [a625698048] Add experimental sqlite3_open_v2() flag SQLITE_OPEN_REUSE_SCHEMA. For sharing identical in-memory schema objects between connections. (check-in: [a625698048] user: dan branch: reuse-schema, size: 31998)
2017-08-01
20:59
[3cbb99757d] part of check-in [436a89b919] Slightly smaller and faster by allocating Parser objects on the stack. (check-in: [436a89b919] user: drh branch: trunk, size: 30656)
2017-07-26
19:59
[1eaeccc1f9] part of check-in [3808a00f06] Add the new sqlite3.mDbFlags field. Factor out bits of sqlite3.flags that do not interact with PRAGMA statements into sqlite3.mDbFlags. (check-in: [3808a00f06] user: drh branch: trunk, size: 30692)
2017-07-17
20:21
[8940752514] part of check-in [e181225dc7] Merge all the latest fixes and enhancements from trunk. (check-in: [e181225dc7] user: drh branch: apple-osx, size: 30977)
2017-07-14
19:22
[dd250f9047] part of check-in [2642386713] Add requirements marks for some of the new features in the 3.20 release. (check-in: [2642386713] user: drh branch: trunk, size: 30687)
2017-07-07
22:58
[59b758ceea] part of check-in [7f48f6ab2a] Merge in all the latest trunk enhancements. (check-in: [7f48f6ab2a] user: drh branch: apple-osx, size: 30462)
2017-06-28
17:29
[0f9e3c6a13] part of check-in [942c3ef8cd] Instead of the new sqlite3_prepare_v3() interface, provide the SQLITE_DBCONFIG_PREPARE_FLAGS interface which sets the flags on the single next call to sqlite3_prepare_v2() or its cousins. (check-in: [942c3ef8cd] user: drh branch: dbconfig-prepare-flags, size: 28924)
15:56
[4b84ae7458] part of check-in [62b8269ba2] Incorporate recent trunk changes. (check-in: [62b8269ba2] user: drh branch: prepare_v3, size: 30172)
2017-06-26
13:57
[a80a740b30] part of check-in [7076e8283e] Add the SQLITE_DBCONFIG_ENABLE_QPSG option to activate the query planner stability guarantee. This involves refactoring the sqlite3.flags bitvector to carve out a free bit to use. (check-in: [7076e8283e] user: drh branch: enable-QPSG, size: 28590)
2017-06-01
00:54
[ee84efe6dd] part of check-in [4a25c58833] Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as one bit in that argument. (check-in: [4a25c58833] user: drh branch: prepare_v3, size: 30178)
2017-04-17
17:03
[7c46b5c7be] part of check-in [159e8022a9] Add support for analyzing trigger programs to the sqlite3_expert code. (check-in: [159e8022a9] user: dan branch: schemalint, size: 28584)
2016-11-04
19:09
[601681ecad] part of check-in [0e5ffd9123] Merge recent trunk changes, including all the fixes that appeared in version 3.15.1. (check-in: [0e5ffd9123] user: drh branch: apple-osx, size: 28886)
2016-10-03
01:21
[b1140c3d0c] part of check-in [ea8affa9e4] Allocate Parse objects off of the stack where appropriate for a substantial performance increase and a size reduction. (check-in: [ea8affa9e4] user: drh branch: trunk, size: 28596)
2016-09-30
22:24
[3c8b1bc879] part of check-in [63cf7eafae] Avoid initializing the column-cache section of the Parse object, since entries in the cache will be initialized as they are used, and avoiding the initial memset() saves many CPU cycles. (check-in: [63cf7eafae] user: drh branch: trunk, size: 28878)
2016-09-07
18:20
[9d96dd74aa] part of check-in [00759af053] Merge recent enhancements from trunk. (check-in: [00759af053] user: drh branch: apple-osx, size: 29086)
2016-08-19
14:20
[0fcf16eaac] part of check-in [29d63059b4] Add the capability to VACUUM an attached database by specifying the schema name as an argument to the VACUUM command. Since version 2.0, VACUUM has accepted an argument which was silently ignored. Now it has meaning. (check-in: [29d63059b4] user: drh branch: vacuum-attached-db, size: 28796)
2016-08-18
14:33
[a668988f32] part of check-in [92a22f0134] Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. (check-in: [92a22f0134] user: drh branch: zDbSName, size: 28693)
2016-02-18
01:36
[9c56ea2543] part of check-in [b7fa0fb339] Merge recent performance enhancements and the enhanced API_ARMOR from trunk. (check-in: [b7fa0fb339] user: drh branch: apple-osx, size: 28974)
2016-02-13
23:43
[22df6171ae] part of check-in [6a9c4a3ebf] Enhance ability to debug out-of-memory errors. (check-in: [6a9c4a3ebf] user: mistachkin branch: noMemBkpt, size: 28684)
2016-02-05
14:29
[3fef660018] part of check-in [201fcbeef3] Merge OOM handling optimizations and PRAGMA synchronous=EXTRA as well as other enhancements from trunk. (check-in: [201fcbeef3] user: drh branch: apple-osx, size: 28954)
02:50
[c12b786713] part of check-in [a8846aeed9] Minor simplification of schema error reporting. (check-in: [a8846aeed9] user: drh branch: oom-handling, size: 28664)
01:55
[db4ce553dd] part of check-in [c3ef03478a] Improvements to the way that OOM errors are processed. (check-in: [c3ef03478a] user: drh branch: oom-handling, size: 28699)
2016-02-02
02:30
[cdde978827] part of check-in [e6a4a16312] Merge recent enhancements from trunk. (check-in: [e6a4a16312] user: drh branch: apple-osx, size: 28875)
2016-01-29
08:38
[db85f0451b] part of check-in [2910ef6409] Avoid two more instances of pointer arithmetic on freed pointers. (check-in: [2910ef6409] user: dan branch: trunk, size: 28585)
2016-01-23
14:05
[8ca7237428] part of check-in [f0a551edf8] Remove an assert() that can be false if compiled with SQLITE_USE_ALLOCA. (check-in: [f0a551edf8] user: drh branch: trunk, size: 28585)
2016-01-20
11:40
[83985e45b1] part of check-in [3ed49691a1] Merge all recent enhancements from trunk. (check-in: [3ed49691a1] user: drh branch: apple-osx, size: 28834)
2016-01-15
15:06
[74855ddbdf] part of check-in [c52ca2c066] Work toward making the schema parsing logic simplier and more compact. (check-in: [c52ca2c066] user: drh branch: trunk, size: 28544)
2015-08-28
02:12
[176b060bcf] part of check-in [da8646582a] Merge trunk enhancements into the apple-osx branch. Most tests works, but there are yet a few issues to be resolved. (check-in: [da8646582a] user: drh branch: apple-osx, size: 29515)
2015-05-21
02:07
[5db3bd3563] part of check-in [09784f376b] When parsing the schema, ignore any SQL that does not begin with "CREATE". Cherrypick of [d3c00d61581c] with additional changes. (check-in: [09784f376b] user: drh branch: branch-3.7.11, size: 28574)
2015-05-20
20:21
[a811a0fb09] part of check-in [2c649cdf7e] Fix a bug caused by cherrypicking from a branch that assumes sqlite3_stricmp() can handle NULL arguments. (check-in: [2c649cdf7e] user: dan branch: branch-3.8.6, size: 29043)
19:57
[6c427840bc] part of check-in [0da229b81a] When parsing the schema, ignore any SQL that does not begin with "CREATE". Cherrypick of [d3c00d61581c]. (check-in: [0da229b81a] user: dan branch: branch-3.8.6, size: 29032)
2015-05-15
04:13
[82e5db1013] part of check-in [56ef98a047] Simplifications to error message processing. Fix a possible problem in error message formatting when vacuuming a database with a corrupt schema. (check-in: [56ef98a047] user: drh branch: trunk, size: 29225)
2015-04-20
01:25
[5be49833da] part of check-in [74b7bf1744] Merge all recent trunk enhancements and fixes into the apple-osx branch. (check-in: [74b7bf1744] user: drh branch: apple-osx, size: 29522)
2015-04-16
00:26
[1fffbdcd6f] part of check-in [d3c00d6158] When parsing the schema, ignore any SQL that does not begin with "CREATE". (check-in: [d3c00d6158] user: drh branch: trunk, size: 29232)
2014-12-16
00:29
[01740b0d6b] part of check-in [2c1d8ddab2] Merge latest fixes and enhancements from trunk into apple-osx. (check-in: [2c1d8ddab2] user: drh branch: apple-osx, size: 29464)
2014-12-12
23:17
[173a5a4991] part of check-in [d7bb7ea4ab] Add extra tests to threadtest4.c. Fix a benign data race accessing the text encoding using ENC(db). (check-in: [d7bb7ea4ab] user: drh branch: trunk, size: 29174)
2014-10-27
18:42
[307a3ddc2f] part of check-in [10aaf3b148] Merge latest enhancements, including the SQLITE_ENABLE_API_ARMOR patch, from trunk. (check-in: [10aaf3b148] user: drh branch: apple-osx, size: 29384)
2014-10-24
00:35
[b7b7bf020b] part of check-in [c297a84bc6] Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in progress and is not yet completely functional. (check-in: [c297a84bc6] user: drh branch: api-armor, size: 29094)
2014-09-21
23:08
[d0ab75c13f] part of check-in [3967ebe83e] Merge in all recent changes from trunk. (check-in: [3967ebe83e] user: drh branch: apple-osx, size: 29242)
2014-09-15
15:34
[905c3c601c] part of check-in [55b8011d5b] Merge latest trunk changes with this branch. (check-in: [55b8011d5b] user: dan branch: ota-update, size: 28951)
2014-09-11
14:01
[6ef0cf2f92] part of check-in [70121e7cf8] Move user authentication blocking from sqlite3_prepare() over to the table lock generator, thus allowing SQL statements (like "PRAGMA locking_mode") that do not touch database content to run prior to authentication. (check-in: [70121e7cf8] user: drh branch: user-auth, size: 28952)
13:44
[f82c009a76] part of check-in [596e728b0e] Add support for the extra parameter on the sqlite3_set_authorizer() callback and support for failing an ATTACH with an authentication-required database using bad credentials. The extension is now feature complete, but much testing and bug-fixing remains. (check-in: [596e728b0e] user: drh branch: user-auth, size: 29399)
2014-09-10
22:46
[10dd9833d7] part of check-in [4eaaa7fa87] Complete the implementation of the various APIs. Fix several problems. This is another incremental check-in that does not completely work. (check-in: [4eaaa7fa87] user: drh branch: user-auth, size: 29451)
19:01
[8c2f992a3b] part of check-in [a0455f9deb] Add the ".user" shell command and implement the sqlite3_user_add() routine. Incremental check-in. The code compiles but does not work. (check-in: [a0455f9deb] user: drh branch: user-auth, size: 29421)
17:34
[51ca716a2f] part of check-in [c8171ecd0d] Further ideas on user authentication. Not yet working code. (check-in: [c8171ecd0d] user: drh branch: user-auth, size: 29417)
2014-09-09
14:47
[9548c8efb8] part of check-in [8440f093ba] Non-working preliminary implementation attempts on user authentication. (check-in: [8440f093ba] user: drh branch: user-auth, size: 29663)
2014-09-02
19:59
[314961aa66] part of check-in [2954ab5010] Add an experimental extension for applying bulk updates to databases. (check-in: [2954ab5010] user: dan branch: ota-update, size: 28991)
2014-08-26
02:02
[8b6e247b5f] part of check-in [5c27311105] Merge recent performance enhancements and the CAST operator enhancements into the apple-osx branch. (check-in: [5c27311105] user: drh branch: apple-osx, size: 29282)
2014-08-22
18:00
[3842c1dfc0] part of check-in [cf561d1f0b] Split the sqlite3Error() routine into sqlite3Error() and sqlite3ErrorWithMsg(), for a slight size reduction and performance increase. (check-in: [cf561d1f0b] user: drh branch: trunk, size: 28992)
2014-05-08
23:01
[954f80160f] part of check-in [9411d7dc6f] Initial attempt to merge in all trunk changes over the previous 1.5 years. This check-in compiles but there are compiler warnings and "make test" segfaults after only running a few test modules. (check-in: [9411d7dc6f] user: drh branch: apple-osx, size: 29264)
2013-12-23
19:09
[677521ab71] part of check-in [c289a253c0] Move elements of the Vdbe object that are only used during statement preparation out into the Parse object. (check-in: [c289a253c0] user: drh branch: trunk, size: 28974)
2013-11-15
01:10
[359d1a1e9c] part of check-in [8dc5c76c76] Rework the logic that factors constant expressions out of inner loops, making it both simpler and faster. (check-in: [8dc5c76c76] user: drh branch: expr-codegen-enhancement, size: 28904)
2013-11-01
01:45
[ea231a8450] part of check-in [cdf00248cf] A couple of bug fixes. (check-in: [cdf00248cf] user: drh branch: omit-rowid, size: 28795)
2013-10-23
01:57
[f47ba2bba7] part of check-in [3f8016dee2] Some simple inserts and queries working on WITHOUT ROWID tables. (check-in: [3f8016dee2] user: drh branch: omit-rowid, size: 28795)
00:32
[b1a3393b6c] part of check-in [35a3606071] Build internal data structures appropriately for WITHOUT ROWID tables. (check-in: [35a3606071] user: drh branch: omit-rowid, size: 28716)
2013-07-16
23:26
[fa6988589f] part of check-in [20dba3a7fb] Make sure the sqlite3_prepare16 and sqlite3_prepare16_v2 interfaces do not read past a zero-terminator if the nBytes parameter is too large. (check-in: [20dba3a7fb] user: drh branch: trunk, size: 28703)
2013-06-19
03:27
[2306be166b] part of check-in [10021941d0] Fix compiler warnings. Fix a harmless off-by-one error in the solver. (check-in: [10021941d0] user: drh branch: nextgen-query-plan-exp, size: 28548)
2013-06-11
13:30
[213de4aae5] part of check-in [f1cac24f06] Fix the Parse.nQueryLoop state variable to work with NGQP. (check-in: [f1cac24f06] user: drh branch: nextgen-query-plan-exp, size: 28508)
2013-04-06
18:06
[743e484233] part of check-in [c1d7304c80] Increase the default SQLITE_MAX_SCHEMA_RETRY to 50. Make sure that macro covers every case where a prepared statement might need to be reprepared due to a schema change. The sqlite3_exec() interface now uses sqlite3_prepare_v2(). (check-in: [c1d7304c80] user: drh branch: trunk, size: 28521)
2013-03-21
21:20
[310eaff1ee] part of check-in [6f6e2d5094] Many spelling fixes in comments. No changes to code. (check-in: [6f6e2d5094] user: mistachkin branch: trunk, size: 28569)
2013-03-08
07:10
[78cd7ae8cd] part of check-in [69746ef787] If SQLITE_OMIT_UTF16 is defined, avoid setting the 'enc' field of Schema objects to any value except SQLITE_UTF8. Otherwise, assert() statements may fail or spurious SQLITE_NOMEM errors may be returned at the vdbe level later on. (check-in: [69746ef787] user: dan branch: experimental, size: 28569)
2012-09-28
10:57
[417a6a758b] part of check-in [6a5c59dd7e] Merge the latest trunk changes (PRAGMA busy_timeout and the ORDER BY query planner enhancements) into the apple-osx branch. (check-in: [6a5c59dd7e] user: drh branch: apple-osx, size: 28791)
2012-09-18
23:21
[931ad0d852] part of check-in [c5cee96932] Silence harmless compiler warning seen with SQLITE_OMIT_DEPRECATED. (check-in: [c5cee96932] user: mistachkin branch: trunk, size: 28501)
2012-06-08
01:13
[5e2babd80c] part of check-in [9d1b851562] Merge trunk changes into the apple-osx branch. (check-in: [9d1b851562] user: drh branch: apple-osx, size: 28753)
2012-06-06
10:56
[33291b83cc] part of check-in [c469850b2e] Make sure the Index.azColl pointers do not point to connection-specific memory. Also, remove an unnecessary reinitialization to sqlite3.pDfltColl. (check-in: [c469850b2e] user: drh branch: shared-schema, size: 28463)
2012-05-22
13:11
[2e49f73ffb] part of check-in [972e75bb5d] Version 3.7.12.1 (check-in: [972e75bb5d] user: drh branch: apple-osx, size: 28836)
2012-05-15
18:28
[ef197444da] part of check-in [aa0c3493d3] The former sqlite3ResetInternalSchema() routine was really two different routines, selected by parameter, each with a confused mission. So split this routine up into three separate smaller routines, calling each separately as needed. Hopefully this will make further refactoring and schema reset collateral damage containment easier. (check-in: [aa0c3493d3] user: drh branch: shared-schema, size: 28535)
2012-05-14
12:20
[9a00a9612e] part of check-in [0bb1cfc63f] Add an assert() that verifies that the statement pointer from the sqlite3_prepare() family of functions is always NULL if the routines return other than SQLITE_OK. (check-in: [0bb1cfc63f] user: drh branch: trunk, size: 28546)
2012-02-13
13:44
[8d772a6e68] part of check-in [922bcbb423] Generalize the interrupt mechanism so that individual statements can be interrupted and so that codes other than just SQLITE_INTERRUPT can be returned as a consequence of an interrupt. (check-in: [922bcbb423] user: drh branch: generalize-interrupt, size: 28544)
2011-12-08
21:08
[4450a714a7] part of check-in [59e0d4f3d9] Merge the latest trunk changes into the apple-osx branch. (check-in: [59e0d4f3d9] user: drh branch: apple-osx, size: 28795)
2011-11-09
16:12
[ec4989f7f4] part of check-in [bc10a75357] Minor changes needed to restore full branch test coverage. (check-in: [bc10a75357] user: drh branch: experimental-pcache, size: 28505)
2011-04-09
18:13
[9d7403fe75] part of check-in [4eaef4ad4c] Pull all the latest trunk changes into the apple-osx branch. (check-in: [4eaef4ad4c] user: drh branch: apple-osx, size: 28693)
02:09
[e64261559a] part of check-in [0ca8a2332b] Do not do a backup if the number of reserved bytes in the source and destination do not match. Try to make the match, but if unable fail. (check-in: [0ca8a2332b] user: drh branch: trunk, size: 28403)
2011-04-05
13:38
[f68146dd11] part of check-in [8e885ddea0] Pull the latest changes from trunk (and hence from schema-parse-refactor) into the apple-osx branch. (check-in: [8e885ddea0] user: drh branch: apple-osx, size: 28688)
2011-04-04
21:25
[206e1f0647] part of check-in [39c0090783] Additional schema mutex checks for sqlite3RootPageMoved(). Reduce the scope of sqlite3ResetInternalSchema() in a few places. (check-in: [39c0090783] user: drh branch: schema-parse-refactor, size: 28398)
18:22
[a4d8ac347b] part of check-in [ae8374af05] Add a description of access rules for the Schema object and lots of asserts to verify that the access rules are followed. (check-in: [ae8374af05] user: drh branch: schema-parse-refactor, size: 28434)
13:11
[cdd214500f] part of check-in [6d78a25ddc] Merge in the latest changes from trunk. (check-in: [6d78a25ddc] user: drh branch: apple-osx, size: 28672)
2011-04-02
16:28
[cec63cb151] part of check-in [6a8ad6e31e] Begin a series of changes designed to reduce the scope and frequency of invalidating schemas. Design goals are that the internal schema should never be deleted out from under a prepared statement that is running and that all prepared statements should be expired if the schema is invalidated. At the same time, minimize the number of schema invalidations. This change merely revises the sqlite3ResetInternalSchema() function to use -1 as the wildcard for "all" rather than 0, so that we can reset the main schema independently of all the others. (check-in: [6a8ad6e31e] user: drh branch: schema-parse-refactor, size: 28384)
2011-03-08
02:38
[eb4944d9f7] part of check-in [2d5800bd8c] Fix additional cases of possible signed integer overflow, especially with regard to negation. (check-in: [2d5800bd8c] user: drh branch: trunk, size: 28382)
2011-03-06
21:28
[319b47280b] part of check-in [01a79d5a7a] Remove dead code identified by the clang static analyzer. (check-in: [01a79d5a7a] user: drh branch: trunk, size: 28396)
2011-01-27
18:48
[ce4af84510] part of check-in [09d6c91dcf] Pull in all the changes from trunk up through the version 3.7.5 release candidate 1. (check-in: [09d6c91dcf] user: drh branch: apple-osx, size: 28706)
2011-01-25
13:43
[395b3fab1b] part of check-in [9167fdb356] Fix a couple of typos in comments. No changes to actual code. (check-in: [9167fdb356] user: dan branch: trunk, size: 28416)
2010-12-07
15:49
[7f225d1bf1] part of check-in [d2ccf7fc06] Merge in all changes to the trunk through version 3.7.4rc3. (check-in: [d2ccf7fc06] user: drh branch: apple-osx, size: 28703)
2010-11-23
18:59
[c8b877b807] part of check-in [2031974b60] Fix the max_page_count pragma so that it will not set to a value smaller than the current database size, as the documentation requires. Also, remove all occurances of atoi() from the core. (check-in: [2031974b60] user: drh branch: trunk, size: 28413)
2010-11-19
23:50
[75d214bf34] part of check-in [c8bc057c7d] Merge all the latest changes from the trunk into the apple-osx branch. (check-in: [c8bc057c7d] user: drh branch: apple-osx, size: 28696)
2010-11-09
00:47
[70d261ec8e] part of check-in [77b343cfc3] Experimental changes to test defaulting to fullfsync for WAL mode (check-in: [77b343cfc3] user: adam branch: apple-osx-exp, size: 28831)
2010-11-08
19:01
[c2b318037d] part of check-in [f4747eb83d] Experimental changes to EXPLAIN QUERY PLAN. (check-in: [f4747eb83d] user: dan branch: experimental, size: 28406)
2010-08-18
00:24
[23b5da0608] part of check-in [866e9286ae] Merge the 3.7.1 pre-release snapshot changes as of 2010-08-18 into the apple-osx branch. (check-in: [866e9286ae] user: drh branch: apple-osx, size: 28684)
2010-08-07
11:46
[e81fd00d88] part of check-in [f88c6367d2] Merge in all changes up to the 3.7.0.1 release. (check-in: [f88c6367d2] user: drh branch: apple-osx, size: 28735)
2010-07-26
12:05
[ce4c35a2b1] part of check-in [00e55102a8] Change the way SubProgram objects are deleted so that the code is the same for deletion and measurement. (check-in: [00e55102a8] user: dan branch: experimental, size: 28394)
2010-07-06
09:29
[f045aeff86] part of check-in [d1fe8ab4a1] Reorder variable declarations in the previous check-in to avoid putting code before declarations when not testing. (check-in: [d1fe8ab4a1] user: drh branch: trunk, size: 28445)
07:36
[48105b1a60] part of check-in [c272196115] Ensure the correct error code is returned if an attempt to parse a database schema made by an ATTACH statement fails. (check-in: [c272196115] user: dan branch: trunk, size: 28445)
2010-06-16
19:48
[1b3d55ed0f] part of check-in [21ca87f691] Merge in changes up to and including the 3.6.23.1 release. (check-in: [21ca87f691] user: drh branch: apple-osx, size: 28521)
2010-04-09
09:14
[fd1398cb1d] part of check-in [ae04d2d15d] Avoid unnecessary calls to sqlite3_step() with null prepared statements while parsing the schema. (check-in: [ae04d2d15d] user: drh branch: trunk, size: 28292)
2010-04-06
15:57
[e8164a9252] part of check-in [1b2a04125f] Automatically generate transient indices for tables in joins that would otherwise have to use a full table scan. (check-in: [1b2a04125f] user: drh branch: experimental, size: 28305)
2010-03-05
16:32
[18292e5f36] part of check-in [8858042fa1] Modify the vdbe so that the comparison operator opcodes do not modify the data type of operands. Fix for [aa92c76cd4]. (check-in: [8858042fa1] user: dan branch: trunk, size: 28231)
2010-02-25
02:32
[dede8f2d7f] part of check-in [46f406b202] Merge in all of the logging enhancements. This is a cherrypick merge of the following check-ins: [103321e37a], [a8076aede3], [6d910245ad], [7c4cca6d1a], [edea3bb740], [1a6d4bb130], [a8c984c1d6], [69a493182f], and [1168763d2c]. (check-in: [46f406b202] user: drh branch: branch-3.6.22, size: 28196)
2010-02-24
17:15
[c80630169d] part of check-in [1a6d4bb130] Enhancements to the way errors are reported up when an automatic statement reprepare fails. (check-in: [1a6d4bb130] user: drh branch: trunk, size: 28211)
2010-02-23
20:11
[341413e470] part of check-in [edea3bb740] Continuing improvements to error reporting and the sqlite3_log() routine. (check-in: [edea3bb740] user: drh branch: trunk, size: 28260)
17:36
[bd9e778f46] part of check-in [7c4cca6d1a] Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging output for CORRUPT, and CANTOPEN errors. (check-in: [7c4cca6d1a] user: drh branch: trunk, size: 28250)
2010-01-20
01:26
[ca47539f6a] part of check-in [96499b1dd6] Update the Apple OS-X branch to include all of the latest changes in trunk. (check-in: [96499b1dd6] user: drh branch: apple-osx, size: 28871)
2010-01-12
23:54
[d4cd38ccfb] part of check-in [0209f17180] Make sure internal queries are well ordered, even when the reverse_unordered_selects pragma is in effect. Ticket [eb942c64a157]. (check-in: [0209f17180] user: drh branch: trunk, size: 28581)
2010-01-06
13:12
[464288500e] part of check-in [541e2b488e] Update the OS-X branch to include all trunk changes through version 3.6.22. (check-in: [541e2b488e] user: drh branch: apple-osx, size: 28856)
2009-12-17
21:05
[170bd95305] part of check-in [333c3ffe6d] Fix typo in comment of prepare.c. (check-in: [333c3ffe6d] user: shaneh branch: trunk, size: 28566)
2009-12-07
23:53
[23edf67b05] part of check-in [ad08794d72] Merge all changes associated with the version 3.6.21 release into the OS-X branch. (check-in: [ad08794d72] user: drh branch: apple-osx, size: 28863)
2009-11-10
01:30
[ad90970bba] part of check-in [f6c045f649] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f649] user: drh branch: trunk, size: 28573)
2009-11-03
22:34
[6ea9df8369] part of check-in [941a01eb86] Customizations for OSX contributed by Apple. (check-in: [941a01eb86] user: adam branch: apple-osx, size: 28922)
2009-10-15
18:35
[665d523031] part of check-in [9bd6f3d886] Add the experimental sqlite3_reoptimize() API. (check-in: [9bd6f3d886] user: dan branch: experimental, size: 28632)
2009-09-01
12:16
[9803fc01f0] part of check-in [38a9327bad] More fixes and comment updates. (check-in: [38a9327bad] user: dan branch: trunk, size: 28467)
2009-08-31
15:27
[1be1832c0d] part of check-in [85d9f23be1] More fixes for test cases. (check-in: [85d9f23be1] user: dan branch: trunk, size: 28386)
2009-08-28
18:53
[49739b385c] part of check-in [9b9c192115] Changes to support recursive triggers. (check-in: [9b9c192115] user: dan branch: trunk, size: 28394)
2009-08-06
17:43
[0b966d2097] part of check-in [ba1afc0401] Alternative fix for ticket #3810. This is a replacement for check-in (6956). (CVS 6960) (check-in: [ba1afc0401] user: drh branch: trunk, size: 28192)
2009-08-01
16:27
[153f3eb168] part of check-in [102785b9fb] Return a better error message when problems are encountered parsing a TEMP trigger or TEMP view that references objects in other databases that have been modified or dropped. Ticket #3810. (CVS 6956) (check-in: [102785b9fb] user: drh branch: trunk, size: 28222)
2009-07-24
17:58
[312ba96867] part of check-in [5d9e767a05] Allow virtual tables to be used in shared-cache mode. (CVS 6928) (check-in: [5d9e767a05] user: danielk1977 branch: trunk, size: 28088)
2009-07-03
19:19
[12e556fc9f] part of check-in [90deb65835] Remove unused code (that was commented out) from prepare.c. Remove an incorrect NEVER() macro. Fix the comment on schemaIsValid() to correctly describe its return behavior. (CVS 6845) (check-in: [90deb65835] user: drh branch: trunk, size: 28051)
2009-07-02
17:21
[1f658bc796] part of check-in [611e704fdf] When a b-tree transaction is committed when there are open cursors, downgrade shared-cache write-locks to read-locks instead of relinquishing all locks. Fix for #3942. (CVS 6837) (check-in: [611e704fdf] user: danielk1977 branch: trunk, size: 28901)
07:47
[e8d8996900] part of check-in [e3c055f167] Cause opening a transaction on a sharable b-tree module automatically obtain a read-lock on page 1. This means there is no way for sqlite3BtreeGetMeta() to fail. (CVS 6836) (check-in: [e3c055f167] user: danielk1977 branch: trunk, size: 28933)
2009-06-25
11:50
[3db796d75a] part of check-in [6e9140a729] Get the notify2.test running again by removing an ALWAYS() that was mistakenly inserted and by taking care not to report corruption following an SQLITE_LOCKED failure during schema parsing. (CVS 6815) (check-in: [6e9140a729] user: drh branch: trunk, size: 27553)
2009-06-22
12:05
[0cdca4d036] part of check-in [bda38f5e86] Make sure sqlite3BtreeCreateTable() returns an error code if the largest rootpage field is invalid in auto_vacuum mode. Update file-format comments to describe all of the "meta" values. (CVS 6797) (check-in: [bda38f5e86] user: drh branch: trunk, size: 27532)
2009-06-17
00:35
[aba6954623] part of check-in [08cca219f1] Changes to prepare.c and callback.c to promote better test coverage. (CVS 6770) (check-in: [08cca219f1] user: drh branch: trunk, size: 27396)
2009-06-16
17:49
[cc0cc08be0] part of check-in [256ec3c6af] Changes sqlite3_prepare_v2() (and related routines) so that if it fails due to a missing table and the schema is out of date, it retries once before returning SQLITE_SCHEMA. Other changes to prepare.c to facilitate coverage testing. (CVS 6769) (check-in: [256ec3c6af] user: drh branch: trunk, size: 27301)
2009-06-04
00:11
[889208e356] part of check-in [4e92c7f20a] Fix two instances where a malformed header in a database file (in other words a corrupt database file) can lead to an assertion fault. (CVS 6712) (check-in: [4e92c7f20a] user: drh branch: trunk, size: 27239)
2009-06-03
11:25
[c98c1d306e] part of check-in [6dbf4eca00] Define a set of constants to use as the "index" argument to sqlite3BtreeGetMeta and UpdateMeta. This makes some parts of the code easier to follow. (CVS 6709) (check-in: [6dbf4eca00] user: danielk1977 branch: trunk, size: 27149)
2009-06-01
18:18
[706efe9fb0] part of check-in [c7c0c58e47] Malloc for space to hold the Parse object in sqlite3_prepare() and friends. Or, if compiled with SQLITE_USE_ALLOCA, obtain space for the object from alloca(). (CVS 6702) (check-in: [c7c0c58e47] user: drh branch: trunk, size: 27239)
2009-05-11
20:53
[f46d1a0297] part of check-in [33cf83591e] Rework the logic that generates a schema for tables created using "CREATE TABLE ... AS SELECT ...". Instead of trying to copy the raw datatype string from the right-hand side, just make the type one of TEXT, INT, REAL, NUM, or nothing. This is much simpler than trying to parse and quote datatype strings. Other minor implifications to build.c are bundled with this change. (CVS 6626) (check-in: [33cf83591e] user: drh branch: trunk, size: 27402)
2009-04-20
17:43
[72d74e6d3b] part of check-in [419e320ae5] Change the journal_mode pragma so that it always returns the current journal mode, even on a failed attempt to change the journal mode. Allow the journal mode to be changed as long as there is not a pending transaction. Ticket #3811. (CVS 6526) (check-in: [419e320ae5] user: drh branch: trunk, size: 27405)
2009-04-02
18:32
[0ad1ba3290] part of check-in [23bf9f2665] Fix the sqlite3_prepare() family of interfaces so that they zero the *ppStmt value even on an SQLITE_MISUSE return. Make it clear in the documentation that the ppStmt parameter cannot be zero. (CVS 6441) (check-in: [23bf9f2665] user: drh branch: trunk, size: 27471)
2009-04-01
16:33
[aa3e7dc01a] part of check-in [94e2f815eb] Remove dead code from the UTF conversion routines. Fix a bug in sqlite3_prepare16_v2() in which an out-of-memory error fails to set the statement return pointer to NULL. (CVS 6423) (check-in: [94e2f815eb] user: drh branch: trunk, size: 27423)
2009-03-24
15:08
[157a7528ba] part of check-in [ea74d8dc62] Changes to insure that lookaside memory allocations are never used to hold schema content. Ticket #3743. (CVS 6377) (check-in: [ea74d8dc62] user: drh branch: trunk, size: 27408)
04:46
[662b7d3057] part of check-in [8ca6a66565] Add a comment to prepare.c explaining why the lookaside buffer is disabled before sqlite3_exec() is called to parse a schema statement. No code changes. (CVS 6376) (check-in: [8ca6a66565] user: danielk1977 branch: trunk, size: 28504)
2009-03-23
17:11
[db64c97583] part of check-in [92ec597512] Fix an obscure race condition that can occur when multiple threads, shared cache and DDL statements are combined. Enhance notify2.test to test this scenario. (CVS 6373) (check-in: [92ec597512] user: danielk1977 branch: trunk, size: 27567)
2009-03-19
18:51
[14e61702b0] part of check-in [cc0d925669] Fix a couple of fairly obscure cases where an assert() could fail following a malloc failure. (CVS 6360) (check-in: [cc0d925669] user: danielk1977 branch: trunk, size: 27539)
07:58
[8c6ef35c30] part of check-in [e8be1af922] Change sqlite3_step() to return SQLITE_LOCKED if a statement cannot be re-compiled due to locks on the shared-cache schema. Also add a blocking wrapper of sqlite3_prepare_v2() to the test code. (CVS 6359) (check-in: [e8be1af922] user: danielk1977 branch: trunk, size: 27533)
2009-03-16
13:19
[ebd40f8c6a] part of check-in [b649a6cc5b] Add the sqlite3_unlock_notify() API. (CVS 6348) (check-in: [b649a6cc5b] user: danielk1977 branch: trunk, size: 27325)
2009-03-05
04:20
[1a2d40c0c5] part of check-in [6404afa0c5] Corrected typos and misspellings. Ticket #3702. (CVS 6336) (check-in: [6404afa0c5] user: shane branch: trunk, size: 27341)
2009-02-24
16:18
[1ede93a00f] part of check-in [4a12f5b818] Enhanced comments on table locking logic as it relates to preparing new statements. Added assert() and testcase() but no other changes to code. (CVS 6319) (check-in: [4a12f5b818] user: drh branch: trunk, size: 27337)
2009-02-19
14:39
[d0bbb4b1a8] part of check-in [d9f6ffbc5e] Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305) (check-in: [d9f6ffbc5e] user: danielk1977 branch: trunk, size: 26168)
2009-01-20
16:53
[9ec504ddd4] part of check-in [1041abd678] When not compiling for an EBCDIC system, use built-in alternatives to the tolowe r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196) (check-in: [1041abd678] user: danielk1977 branch: trunk, size: 26079)
2009-01-09
02:49
[2a11736383] part of check-in [6e171c0a64] More coverage improvements. (CVS 6148) (check-in: [6e171c0a64] user: drh branch: trunk, size: 26090)
2008-12-10
19:26
[51d11eb1ee] part of check-in [c872d55493] Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) (check-in: [c872d55493] user: drh branch: trunk, size: 26103)
17:20
[26808c3d6a] part of check-in [e7e9fa4fa1] Remove or rename local variables that shadow other variables or parameters. (CVS 6005) (check-in: [e7e9fa4fa1] user: drh branch: trunk, size: 26085)
2008-11-19
16:52
[fcadb25d2a] part of check-in [d1abe8a1c9] Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927) (check-in: [d1abe8a1c9] user: danielk1977 branch: trunk, size: 26107)
09:05
[72c8dc897f] part of check-in [88134322c3] Changes to avoid "unused parameter" compiler warnings. (CVS 5921) (check-in: [88134322c3] user: danielk1977 branch: trunk, size: 26100)
2008-11-17
19:18
[445452ce02] part of check-in [8009220c36] Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) (check-in: [8009220c36] user: danielk1977 branch: trunk, size: 26072)
2008-10-31
10:53
[ae49b8298e] part of check-in [bfce91429b] Change the way sqlite3VdbeSetColName() is called so as to remove a few lines of code. This also fixes #3470. (CVS 5853) (check-in: [bfce91429b] user: danielk1977 branch: trunk, size: 26085)
2008-09-08
09:06
[c7e00ed1b0] part of check-in [a7b7b126e9] If the 'rootpage' column of the sqlite_master table contains a NULL value, return SQLITE_CORRUPT to the caller. (CVS 5681) (check-in: [a7b7b126e9] user: danielk1977 branch: trunk, size: 26040)
2008-09-04
12:03
[b708c5a8af] part of check-in [56d6189575] Missing implementation for sqlite3TransferBindings(). (CVS 5675) (check-in: [56d6189575] user: shane branch: trunk, size: 26046)
05:53
[ca08138fd2] part of check-in [690ff3853b] Temporarily revert to using sqlite3_transfer_bindings() internally. (CVS 5673) (check-in: [690ff3853b] user: danielk1977 branch: trunk, size: 26054)
04:32
[bb0c76b7d1] part of check-in [821c387d15] Modified core to not call deprecated functions sqlite3_memory_alarm() and sqlite3_transfer_bindings() by adding sqlite3MemoryAlarm() and sqlite3TransferBindings(). sqlite3_memory_alarm() and sqlite3_transfer_bindings() are now simple wrappers for the new functions. In prep for adding SQLITE_OMIT_DEPRECATED. (CVS 5672) (check-in: [821c387d15] user: shane branch: trunk, size: 26046)
2008-08-20
16:35
[c197041e0c] part of check-in [daf730d1de] Refactor the name resolution procedures in the code generator. (CVS 5569) (check-in: [daf730d1de] user: drh branch: trunk, size: 26046)
2008-08-11
18:44
[fceb567b35] part of check-in [0e1d8d14a1] Do not allow indexing of any table whose name begins with "sqlite_". Ticket #3284. Improve handling of databases with malformed schemas - just in case somebody has actually indexed a system table. (CVS 5553) (check-in: [0e1d8d14a1] user: drh branch: trunk, size: 26035)
2008-08-02
03:50
[d9f420808f] part of check-in [f1e44eb323] Additional coverage testing. Fix a segfault following OOM in sqltie3_load_extension(). (CVS 5523) (check-in: [f1e44eb323] user: drh branch: trunk, size: 25988)
2008-07-28
19:34
[d2d53aec81] part of check-in [e48f9697e9] Implement the "lookaside" memory allocation cache. Use of this cache makes the speed1.test script run about 15% faster. Added new interfaces to control the cache. (CVS 5488) (check-in: [e48f9697e9] user: drh branch: trunk, size: 25987)
2008-07-08
19:34
[c9bb0aacb7] part of check-in [8ed04b1e26] Completely rework the sqlite3SetString() primitive so that it honors the SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374) (check-in: [8ed04b1e26] user: drh branch: trunk, size: 25792)
2008-06-23
16:53
[aba51dad52] part of check-in [6dbe67da5c] Fix a bug causing the pager-cache size to be reset to its default value whenever the database schema was reloaded. (CVS 5283) (check-in: [6dbe67da5c] user: danielk1977 branch: trunk, size: 25773)
2008-06-15
02:51
[3c19149e75] part of check-in [65fe7b62cf] Continuing work on the new memory allocation subsystem. Added routines for temporary memory allocation. Right the btree balance mechanism to only do one temporary allocation at a time. (CVS 5220) (check-in: [65fe7b62cf] user: drh branch: trunk, size: 25714)
2008-05-23
14:49
[cbc9301aba] part of check-in [846a69acb5] Add a test case of preparing a statement with an nBytes parameter of 0 and where the previous byte of the string is zero. Ticket #3134. (CVS 5156) (check-in: [846a69acb5] user: drh branch: trunk, size: 25715)
14:32
[4082e0d016] part of check-in [2d2c53e505] Do not references zSql(-1) if nBytes==0 in sqlite3_prepare(). Ticket #3134. (CVS 5155) (check-in: [2d2c53e505] user: drh branch: trunk, size: 25715)
2008-05-22
13:56
[dbc9b59299] part of check-in [0d47653a3c] Ensure that the db.mallocFailed flag is cleared before sqlite3_errmsg16() returns. (CVS 5154) (check-in: [0d47653a3c] user: danielk1977 branch: trunk, size: 25708)
2008-04-03
14:36
[adc7e1fc08] part of check-in [c287a7b294] Avoid an out-of-bounds read in sqlite3_prepare() and fix a case where the output variable *pzTail was being set incorrectly. Fix for #3027. (CVS 4957) (check-in: [c287a7b294] user: danielk1977 branch: trunk, size: 25668)
2008-03-25
09:47
[185fb47f1f] part of check-in [0471536481] Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912) (check-in: [0471536481] user: danielk1977 branch: trunk, size: 25602)
00:22
[f7fc2eb741] part of check-in [0e1d84f2f4] Removed the direct btree tests - part of the ongoing effort to test by calling only public interfaces. Modify the sqlite3VdbeRecordCompare interface to used a pre-parsed second key - resulting in a 13% performance improvement on speed1p.test. (CVS 4911) (check-in: [0e1d84f2f4] user: drh branch: trunk, size: 25187)
2008-03-20
14:03
[1b71b5d43b] part of check-in [60c77882b2] Initial implementation of per-connection limits and the sqlite3_limit() API. The sqllimits1.test script crashes. SQLITE_LIMIT_PAGE_COUNT and SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897) (check-in: [60c77882b2] user: drh branch: trunk, size: 25193)
2008-03-19
13:03
[88e32e9859] part of check-in [57805b588f] When a parse of the sqlite_master table fails, include the name of the object being parsed as part of the error message. (CVS 4881) (check-in: [57805b588f] user: drh branch: trunk, size: 25183)
2008-03-08
12:23
[62e46b1951] part of check-in [788b2c6b53] Fix asserts in prepare.c to handle the misuse case of ppStmt==0. (CVS 4843) (check-in: [788b2c6b53] user: drh branch: trunk, size: 24973)
2008-03-04
17:45
[ead778d792] part of check-in [9c6694bb61] Various renames & cleanups to limit exported symbols on amalgamation build (CVS 4819) (check-in: [9c6694bb61] user: mlcreech branch: trunk, size: 24926)
2008-03-03
18:47
[98c763fb12] part of check-in [39769f00c5] Additional documentation and tests making it clear that whenever sqlite3_prepare() fails it sets *ppStmt to NULL. (CVS 4818) (check-in: [39769f00c5] user: drh branch: trunk, size: 24914)
2008-01-23
03:03
[1b0601ca3f] part of check-in [5375ad6b4b] Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when compiling without -DSQLITE_DEBUG=1. (CVS 4744) (check-in: [5375ad6b4b] user: drh branch: trunk, size: 24578)
2008-01-22
19:34
[05433874e7] part of check-in [c8394ac24b] Fix a bug introduced by checkin (4739). (CVS 4741) (check-in: [c8394ac24b] user: drh branch: trunk, size: 24561)
16:35
[f0e9e0f25a] part of check-in [6ed2d9f82e] Detect and report a particular type of database corruption that would formerly cause a segfault. (CVS 4739) (check-in: [6ed2d9f82e] user: drh branch: trunk, size: 24561)
01:48
[505afbfebc] part of check-in [2a0bc1e186] Changes to lemon to generate additional comments in the output file and to remove unreachable code. Additional test cases for improved test coverage. (CVS 4736) (check-in: [2a0bc1e186] user: drh branch: trunk, size: 24506)
2008-01-09
02:15
[c31a879d67] part of check-in [92deff07bb] Continued work toward converting to a register-based VM. (CVS 4698) (check-in: [92deff07bb] user: drh branch: trunk, size: 24463)
2008-01-03
07:09
[f1bb8eb642] part of check-in [b166c33a7b] Fix EXPLAIN and EXPLAIN query plan to work with new opcode format. (CVS 4662) (check-in: [b166c33a7b] user: danielk1977 branch: trunk, size: 24442)
00:01
[31ce090304] part of check-in [027875e4d4] Refactoring the VM. The P3 parameter is changed to P4. A P5 parameter is added (though not currently used.) Add routines sqlite3VdbeAddOpX() where X is one of 0, 1, 2, 3, or 4. (CVS 4660) (check-in: [027875e4d4] user: drh branch: trunk, size: 24199)
2007-12-27
15:12
[7aeba78517] part of check-in [b37babef91] Fix a race condition that can occur when reloading the database schema in shared-cache mode. (CVS 4643) (check-in: [b37babef91] user: danielk1977 branch: trunk, size: 24207)
2007-12-18
17:50
[ff6c3e4cc8] part of check-in [cdd866f597] Fix a problem with SQLITE_MAX_SQL_LENGTH introduced by check-in (4636). Ticket #2851 (CVS 4639) (check-in: [cdd866f597] user: drh branch: trunk, size: 24135)
2007-12-13
21:54
[75418527ca] part of check-in [4e91a267fe] Change all instances of "it's" in comments to either "its" or "it is", as appropriate, in case the comments are ever again read by a pedantic grammarian. Ticket #2840. (CVS 4629) (check-in: [4e91a267fe] user: drh branch: trunk, size: 24055)
2007-11-28
13:43
[f811fdb6fd] part of check-in [f731fa6bb3] Preset the legacy_file_format pragma to the value of the primary database so that a VACUUM will not unknowingly alter the setting. Ticket #2804. (CVS 4574) (check-in: [f731fa6bb3] user: drh branch: trunk, size: 24056)
2007-11-14
06:48
[5dd06102c4] part of check-in [d31f1e0d74] Add an experimental API for retrieving the SQL source from a compiled statement: sqlite3_sql(). Ticket #2769. (CVS 4543) (check-in: [d31f1e0d74] user: danielk1977 branch: trunk, size: 23733)
2007-11-13
10:30
[ab2374102d] part of check-in [7bb00c7df6] Modify the Tcl interface to use sqlite3_prepare_v2(). (CVS 4542) (check-in: [7bb00c7df6] user: danielk1977 branch: trunk, size: 23723)
2007-10-12
20:42
[663284f62a] part of check-in [e756bc9b74] Do not invoke the authorizer when reparsing the schema after a schema change or when trying to figure out the result set of a view. (CVS 4488) (check-in: [e756bc9b74] user: drh branch: trunk, size: 23653)
2007-10-03
08:46
[920d09a5fc] part of check-in [12eca32a6a] Add automatic recovery from the pager "error-state". Also add a new error code - SQLITE_IOERR_NOMEM. (CVS 4454) (check-in: [12eca32a6a] user: danielk1977 branch: trunk, size: 23415)
2007-08-29
12:31
[1506fd2798] part of check-in [e38ef81b85] Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) (check-in: [e38ef81b85] user: danielk1977 branch: trunk, size: 23363)
00:33
[67df42078f] part of check-in [844d40b837] More locking fixes. Now makes it all the way through quick.test. There are errors but no assertion faults. Progress. (CVS 4319) (check-in: [844d40b837] user: drh branch: trunk, size: 23197)
2007-08-22
02:56
[29ea14cf6b] part of check-in [783e07d561] A complete run of quick.test with mutex debugging enabled. (CVS 4266) (check-in: [783e07d561] user: drh branch: trunk, size: 22557)
00:39
[7c11bab711] part of check-in [1914044b88] Reenable the memory management logic. The quick.test script now runs with SQLITE_MEMDEBUG and SQLITE_ENABLE_MEMORY_MANAGEMENT. 7 minor errors. (CVS 4265) (check-in: [1914044b88] user: drh branch: trunk, size: 22495)
2007-08-21
19:33
[d30764fabc] part of check-in [9287276191] The sqlite3_value object now carries an sqlite3* pointer to use for recording malloc failures. This eliminates the need to pass sqlite3* pointers into many internal interfaces. Also added more mutexing. (CVS 4263) (check-in: [9287276191] user: drh branch: trunk, size: 22540)
10:44
[5bc8c7a943] part of check-in [fbbd5bda54] Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) (check-in: [fbbd5bda54] user: drh branch: trunk, size: 21777)
2007-08-16
10:09
[03292beeff] part of check-in [77b1671351] More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) (check-in: [77b1671351] user: danielk1977 branch: trunk, size: 21801)
04:30
[237ed8ce05] part of check-in [deb7ecd65f] Half-way through a major refactoring of the memory allocation. I have not even attempted to compile so I am certain there are countless errors. (CVS 4231) (check-in: [deb7ecd65f] user: drh branch: trunk, size: 21779)
2007-08-13
14:41
[3257b63db9] part of check-in [540a7b28bc] When loading a database schema, do not clear the SQLITE_InternChanges flag. This fixes the problem illustrated by (4211). (CVS 4213) (check-in: [540a7b28bc] user: danielk1977 branch: trunk, size: 21802)
2007-06-24
10:14
[609bb27860] part of check-in [c666fad151] Make setting "PRAGMA auto_vacuum = incremental" persistent if it is executed before the database file is created. (CVS 4113) (check-in: [c666fad151] user: danielk1977 branch: trunk, size: 21816)
2007-05-08
20:37
[87c2364498] part of check-in [e9f56ead05] Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958) (check-in: [e9f56ead05] user: drh branch: trunk, size: 21784)
13:58
[c932f4398c] part of check-in [c59d436095] Add more code to enforce the limits specified in limits.h. (CVS 3946) (check-in: [c59d436095] user: drh branch: trunk, size: 21784)
01:08
[b35a6f2360] part of check-in [93b623b232] Begin implementing a new system of upper bounds on the capabilities of SQLite. By clearly defining the upper bounds, we make those upper bounds explicitly testable. This check-in is just infrastructure. The upper bounds are not yet enforced. (CVS 3941) (check-in: [93b623b232] user: drh branch: trunk, size: 21696)
2007-04-30
21:39
[03277063bc] part of check-in [27bf3fc3cf] Fix a potential segfault following a malloc() failure during a call to sqlite3_prepare() where the nBytes parameter is positive but less than the length of the input SQL string. (CVS 3888) (check-in: [27bf3fc3cf] user: drh branch: trunk, size: 21680)
2007-04-19
11:09
[4cb9c9eb92] part of check-in [8795d11c3c] Fix a bug whereby sqlite3_prepare_v2() could return both an out-of-memory error and a valid statement handle. (CVS 3858) (check-in: [8795d11c3c] user: danielk1977 branch: trunk, size: 21661)
2007-03-26
22:05
[37207b2b2c] part of check-in [0b832e218e] Modify sources to that they can be combined into a single sqlite3.c source file. Eliminate all type-pruned pointer warnings. (CVS 3722) (check-in: [0b832e218e] user: drh branch: trunk, size: 21628)
2007-03-14
15:37
[4e075fe285] part of check-in [a8d6d935fb] Modify the behaviour of writable_schema to ignore schema parsing errors. (CVS 3686) (check-in: [a8d6d935fb] user: danielk1977 branch: trunk, size: 21638)
2007-01-09
14:01
[484389c681] part of check-in [43fe7fc1c3] When an automatic re-prepare occurs, take care not to reset the internal schema symbol table. Ticket #2156. This change also includes some debugging enhancements. (CVS 3578) (check-in: [43fe7fc1c3] user: drh branch: trunk, size: 21127)
2007-01-08
21:07
[25edfaebfa] part of check-in [3401388dba] Fix a critical bug in sqlite3_prepare_v2 that can lead to segfaults when the schema changes and the statement is recompiled automatically. Ticket #2154. (CVS 3576) (check-in: [3401388dba] user: drh branch: trunk, size: 21103)
2006-11-09
00:24
[f4f45b4560] part of check-in [f1efae9224] First cut at adding the sqlite3_prepare_v2() API. Test cases added, but more testing would be useful. Still need to update the documentation. (CVS 3506) (check-in: [f1efae9224] user: drh branch: trunk, size: 21038)
2006-09-23
20:36
[3d9a1bb064] part of check-in [dc797bf4fa] Be sure to ignore PRAGMA encoding pragmas if the encoding has already been set for a database. Ticket #1987. This patch also includes some cleanup of the schema parser and initialization logic. (CVS 3436) (check-in: [dc797bf4fa] user: drh branch: trunk, size: 17830)
2006-09-15
07:28
[bc003436a4] part of check-in [ba579ddc43] Add support for extended result codes - additional result information carried in the higher bits of the integer return codes. This must be enabled using the sqlite3_extended_result_code() API. Only a few extra result codes are currently defined. (CVS 3422) (check-in: [ba579ddc43] user: drh branch: trunk, size: 18002)
2006-08-12
13:28
[84e2c85560] part of check-in [8d98a205cb] Fix a bug in out-of-memory processing introduced by check-in (3336). (CVS 3346) (check-in: [8d98a205cb] user: drh branch: trunk, size: 17968)
2006-07-26
13:43
[06fdfea092] part of check-in [e431131d47] More work toward getting sqlite3_interrupt() to work from separate threads. Ticket #1897. (CVS 3336) (check-in: [e431131d47] user: drh branch: trunk, size: 17939)
2006-06-26
12:50
[e477df4411] part of check-in [6a63f76c8d] Fix a file descriptor leak following malloc failure on DROP TABLE IF EXISTS. (CVS 3296) (check-in: [6a63f76c8d] user: drh branch: trunk, size: 17793)
2006-06-12
06:09
[6dc945dab3] part of check-in [8ffbab79d5] Incremental work on parsing/storing and invoking the xCreate callback for virtual tables. (CVS 3212) (check-in: [8ffbab79d5] user: danielk1977 branch: trunk, size: 17736)
2006-05-23
23:22
[bbf12d3147] part of check-in [6e5a497621] Fix type coercion rules for the IN operator. Ticket #1821. (CVS 3188) (check-in: [6e5a497621] user: drh branch: trunk, size: 17732)
2006-03-13
15:06
[6afd730cc8] part of check-in [5ddc09a5e4] Get parserless builds working again. (CVS 3133) (check-in: [5ddc09a5e4] user: drh branch: trunk, size: 17734)
2006-03-06
20:55
[fe3f5b7524] part of check-in [e510e6dd9d] Code changes resulting from Coverity analysis. http://scan.coverity.com/ Found 1 potential segfault in sqlite3_mprintf(). Also 2 failures to fclose() following a malloc() failure. And lots of cases where unnecessary conditionals could be removed from the code. (CVS 3126) (check-in: [e510e6dd9d] user: drh branch: trunk, size: 19354)
2006-02-10
02:27
[cf0fc8ebaf] part of check-in [82f502cdc1] Add the column_origin_name() etc. APIs. (CVS 3069) (check-in: [82f502cdc1] user: danielk1977 branch: trunk, size: 19322)
2006-01-30
22:35
[40ae23c8ae] part of check-in [9d53cc880f] Make sure the 3rd parameter to sqlite3_prepare() is honored. Ticket #1650. (CVS 3040) (check-in: [9d53cc880f] user: drh branch: trunk, size: 19202)
2006-01-25
22:50
[9753e8e587] part of check-in [9e55dcd1a5] Minor comment changes and code optimizations. (CVS 3029) (check-in: [9e55dcd1a5] user: drh branch: trunk, size: 18984)
2006-01-23
00:04
[6349208568] part of check-in [a65e85f0e0] Remove vestiges of the older TSD code for handling OOM exceptions. Prepare for the release of 3.3.2. (CVS 2991) (check-in: [a65e85f0e0] user: drh branch: trunk, size: 18667)
2006-01-18
18:22
[5d6f5b7194] part of check-in [c7b9d50d0a] Include the ThreadData structure in internal malloc() testing. Also fixes for revealed bugs. (CVS 2974) (check-in: [c7b9d50d0a] user: danielk1977 branch: trunk, size: 18846)
16:51
[5aa661a35a] part of check-in [ac090f2ab3] Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972) (check-in: [ac090f2ab3] user: danielk1977 branch: trunk, size: 18758)
15:25
[1294009215] part of check-in [e0b022e5b2] Change sqlite3MallocClearFailed() calls to sqlite3ApiExit(), a better API. (CVS 2970) (check-in: [e0b022e5b2] user: danielk1977 branch: trunk, size: 18856)
2006-01-17
13:21
[84c3cbca33] part of check-in [0505405fb9] Various fixes that allow the malloc() failure tests to pass again. (CVS 2963) (check-in: [0505405fb9] user: danielk1977 branch: trunk, size: 19153)
2006-01-16
11:29
[368f5c0475] part of check-in [7b48836214] Clarify error handling in pager code. No functional changes. (CVS 2956) (check-in: [7b48836214] user: danielk1977 branch: trunk, size: 19121)
2006-01-13
06:33
[1058dcb102] part of check-in [dd70595542] Minor modification to restoreOrClearCursorPosition() to improve efficiency. Do not allocate the extra 8-bytes if memory-management is not enabled. (CVS 2936) (check-in: [dd70595542] user: danielk1977 branch: trunk, size: 19077)
2006-01-12
12:43
[0f672b97f4] part of check-in [0caa199477] About a 2.5% speed improvement by reducing the number of sqlite3ThreadData calls in the parser. (CVS 2924) (check-in: [0caa199477] user: drh branch: trunk, size: 18988)
2006-01-11
21:41
[60c1f5e3d2] part of check-in [5d9c6aa964] Automatically deallocate thread-specific data when it is no longer being used. Ticket #1601. Also implemented the suggestion of ticket #1603. Memory management is now off by default at compile-time. The sqlite3_enable_memory_management() API has been removed. (CVS 2919) (check-in: [5d9c6aa964] user: drh branch: trunk, size: 18907)
14:09
[65b166b806] part of check-in [3970eb875d] Fix bugs caused by assuming that shared-schemas are initialized. (CVS 2917) (check-in: [3970eb875d] user: danielk1977 branch: trunk, size: 18867)
2006-01-10
17:58
[3283bb65b4] part of check-in [0f0213be4d] Store collation sequence names instead of pointers in sharable schema data structures. (CVS 2904) (check-in: [0f0213be4d] user: danielk1977 branch: trunk, size: 19564)
2006-01-09
16:12
[41d9a8563e] part of check-in [3e75d3d5ef] Fix some errors to do with attached databases and text encodings in shared-cache mode. (CVS 2895) (check-in: [3e75d3d5ef] user: danielk1977 branch: trunk, size: 19560)
06:29
[e0812d49ef] part of check-in [82b81f69c7] Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) (check-in: [82b81f69c7] user: danielk1977 branch: trunk, size: 19439)
2006-01-06
21:52
[fef89dc927] part of check-in [9d71b7deaf] Changes so that SQLITE_OMIT_PARSER and SQLITE_OMIT_DISKIO work. (CVS 2878) (check-in: [9d71b7deaf] user: drh branch: trunk, size: 19406)
13:00
[48baea2111] part of check-in [d054bed15a] Add some simple tests and fixes for shared-schema locking. (CVS 2869) (check-in: [d054bed15a] user: danielk1977 branch: trunk, size: 17068)
2006-01-05
11:34
[67ff283f7c] part of check-in [deeda0dc06] Add the shared schema/pager modifications. Very few tests so far. (CVS 2859) (check-in: [deeda0dc06] user: danielk1977 branch: trunk, size: 16618)
2006-01-04
15:54
[7639314c50] part of check-in [551cdd6c30] Add support for CREATE INDEX IF NOT EXISTS and DROP INDEX IF EXISTS. (CVS 2855) (check-in: [551cdd6c30] user: drh branch: trunk, size: 15960)
2005-12-29
19:23
[1f2bf83038] part of check-in [ae301db8a6] Add serial-types 8 and 9 for integer constants of 0 and 1 that use zero bytes of storage. Make the default file format 4. Add the SQLITE_DEFAULT_FILE_FORMAT compile-time option to lower the default file format number so that newly created databases can be read and written by older versions of SQLite. (CVS 2845) (check-in: [ae301db8a6] user: drh branch: trunk, size: 15984)
2005-12-16
01:06
[1417a396ef] part of check-in [cd110aa225] Initial infrastructure for recognizing DESC indices and being able to read and write older databases that specify DESC indices but do not really use them. Nothing is close to working yet. (CVS 2822) (check-in: [cd110aa225] user: drh branch: trunk, size: 15943)
2005-12-15
03:04
[ca4d58a46e] part of check-in [ad292e2733] Fix memory allocation problems on the utf-16 versions of collating function control routines. (CVS 2817) (check-in: [ad292e2733] user: drh branch: trunk, size: 16343)
2005-12-12
06:53
[9717bd4236] part of check-in [1637f37960] Fix minor malloc() related problems and add sqlite3_soft_heap_limit() stubs. (CVS 2814) (check-in: [1637f37960] user: danielk1977 branch: trunk, size: 16484)
2005-12-09
20:02
[8d75f7dbe7] part of check-in [83a5915155] Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) (check-in: [83a5915155] user: drh branch: trunk, size: 16615)
14:25
[7e21ab5e23] part of check-in [601c335463] Many small changes to ensure memory is not leaked after malloc() fails. (CVS 2808) (check-in: [601c335463] user: danielk1977 branch: trunk, size: 16636)
2005-12-06
12:52
[e939670113] part of check-in [e1606658f1] Some elements of the new malloc() failure handling. Not all cases work properly yet. Also, library is not threadsafe if malloc() fails right now. (CVS 2800) (check-in: [e1606658f1] user: danielk1977 branch: trunk, size: 16636)
2005-09-10
16:46
[fc098db25d] part of check-in [986efb7b12] Add the experimental EXPLAIN QUERY PLAN diagnostic capability. (CVS 2685) (check-in: [986efb7b12] user: drh branch: trunk, size: 16251)
2005-08-19
00:14
[86f0d8e744] part of check-in [2fe0ac4fa4] Bring testing coverage of the analyze.c file up to 100%. Bugs found and fixed in the process. (CVS 2599) (check-in: [2fe0ac4fa4] user: drh branch: trunk, size: 15949)
2005-07-23
03:18
[fa0f6068d9] part of check-in [1996bacfb9] The results of ANALYZE are now loaded into internal data structures where they can be used. But they are not actually used yet. (CVS 2562) (check-in: [1996bacfb9] user: drh branch: trunk, size: 15947)
2005-05-25
04:11
Added: [d53602d2f8] part of check-in [d50915fafb] Split main.c into two files to make building without the parser easier. (CVS 2481) (check-in: [d50915fafb] user: danielk1977 branch: trunk, size: 15854)