SQLite

All files named ”src/vdbeInt.h”
Login

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

History for src/vdbeInt.h

2025-05-30
15:43
[0bc581a976] part of check-in [22441955e0] Use a more robust backup definition for offsetof(). (check-in: [22441955e0] user: drh branch: trunk, size: 32021)
2025-03-15
18:26
[5446f60e89] part of check-in [8a91aeca60] Fix alignment problems on Linux with -m32 and on Mac PPC. (check-in: [8a91aeca60] user: drh branch: flex-array, size: 32021)
2025-03-14
19:07
[366843cb88] part of check-in [37b687dc2d] KeyInfo is now an indeterminate size, so we cannot declare a variable of that type, only a pointer to an instance of that type. (check-in: [37b687dc2d] user: drh branch: flex-array, size: 32007)
18:10
[11041d5599] part of check-in [6fd6b32d06] Make use of the flexible-array feature of C99, when available, to try to pacify -fsanitize=strict-bounds. This check-in fixes the core. There is more yet to do in FTS3, RTREE, and in FTS5. (check-in: [6fd6b32d06] user: drh branch: flex-array, size: 31896)
2025-02-12
20:54
[4836978baf] part of check-in [85c108eb0f] An attempt to allow the DEFAULT keyword in the VALUES clause of an INSERT. This check-in does not work right. (check-in: [85c108eb0f] user: drh branch: default-in-values, size: 31602)
2025-02-08
13:34
[078b1c15b2] part of check-in [91102c0437] Fix GCC-isms and compiler warnings introduced by recent check-ins [c56092507c967230] and [6e57848fe1e0e2b5]. (check-in: [91102c0437] user: drh branch: trunk, size: 31526)
2025-02-07
19:09
[7abc3ce973] part of check-in [c56092507c] Fix comments on the Parse.nMaxArgs field so that they are correct. Add assert()s to ensure they are correct. Other Parse changes to reduce the amount of memset() needed to initialize it. (check-in: [c56092507c] user: drh branch: trunk, size: 31679)
2025-01-21
16:30
[895b1ab753] part of check-in [7fb1ae25d1] Performance improvements to the (debug-use only) Mem.pScopyFrom logic, resulting in about 8x faster performance under -DSQLITE_DEBUG for the query in from forum post 0025389d0860af82. This change only affects builds that use -DSQLITE_DEBUG. (check-in: [7fb1ae25d1] user: drh branch: trunk, size: 31625)
2024-12-12
20:39
[75373833a8] part of check-in [3c25c69c93] Increase the maximum number of arguments on an SQL function to 1000 with the capability to increase it further up to 32767 using a compile-time option. (check-in: [3c25c69c93] user: drh branch: cf8f1552-commit-instr, size: 31412)
15:11
[bf294a0c8f] part of check-in [e8d7d68ba0] Increase the maximum number of arguments on an SQL function to 1000 with the capability to increase it further up to 32767 using a compile-time option. (check-in: [e8d7d68ba0] user: drh branch: trunk, size: 31545)
2024-11-04
17:33
[dc5a717607] part of check-in [f9a90a0d2c] Avoid loading the entire record into memory for an sqlite3_preupdate_old() call that retrieves an IPK value. (check-in: [f9a90a0d2c] user: dan branch: branch-3.46, size: 31468)
16:59
[2da01c73e8] part of check-in [7f4de43733] Avoid loading the entire record into memory for an sqlite3_preupdate_old() call that retrieves an IPK value. (check-in: [7f4de43733] user: dan branch: trunk, size: 31545)
2024-10-23
17:16
[92b7eabbaa] part of check-in [9cafae1fff] Extra logging to debug slow commit statements. (check-in: [9cafae1fff] user: dan branch: cf8f1552-commit-instr, size: 31412)
2024-10-07
16:11
[494b7b3430] part of check-in [c5391f2cc9] Add logging to help analyze commit performance. (check-in: [c5391f2cc9] user: dan branch: cf8f1552-commit-instr, size: 31428)
2024-10-03
21:00
[6ee567f7d9] part of check-in [72404dfc0d] Add logging to help analyze COMMIT performance. (check-in: [72404dfc0d] user: dan branch: bedrock-commit-instr, size: 31505)
2024-09-18
15:02
[af7d7e8291] part of check-in [00a398cf90] Fix the preupdate hook so that it works when the "old.*" row has a column with a non-NULL default value that was added by ALTER TABLE ADD COLUMN after the current record was created. (check-in: [00a398cf90] user: dan branch: preupdate-hook-fix, size: 31469)
2023-07-31
20:02
[949669dfd8] part of check-in [ec95e970fb] The original column-cache implementation from check-in [ab1edcc7fedcf279] (merged to trunk at [771fe35074b50b8d]) is unsound. This check-in fixes the issue. Had to give back a little performance, the optimization is still a overall win. (check-in: [ec95e970fb] user: drh branch: trunk, size: 31392)
2023-07-28
18:37
[cd829ff67f] part of check-in [0443c0ef85] Add the sqlite3_stmt_explain() API. (check-in: [0443c0ef85] user: drh branch: trunk, size: 31291)
2023-07-27
19:39
[c30ef73677] part of check-in [ab1edcc7fe] The OP_Column opcode caches large column values coming from overflow pages. (check-in: [ab1edcc7fe] user: drh branch: json-opt, size: 31147)
2023-07-21
18:09
[401813862f] part of check-in [1e5df0aa3d] Further improvements to large string handling in relation to JSON. (check-in: [1e5df0aa3d] user: drh branch: big-function-text, size: 30410)
2023-07-18
17:29
[7a2329efe4] part of check-in [050f773add] Enhance the sqlite3_stmt_explain() interface so that avoids unnecessary reprepare operations. (check-in: [050f773add] user: drh branch: sqlite3_stmt_explain, size: 30508)
15:06
[ac7afe3ae8] part of check-in [c2fba6a632] Experimental (untested, non-working) changes that try reduce the number of reprepares generated by sqlite3_stmt_explain(). I think I see an easier way to do this now, so I'm parking this experiment on a branch to pursue the new idea. (check-in: [c2fba6a632] user: drh branch: sqlite3-stmt-explain-opt1, size: 30580)
2023-06-07
08:40
[7bd49eef8f] 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: 30364)
2023-01-25
16:56
[a4147a4ddf] part of check-in [144326dc17] Enhance the sqlite3_vtab_in_first() and sqlite3_vtab_in_next() interfaces so that they reliably return SQLITE_ERROR (and not SQLITE_MISUSE) if they are invoked on a parameter that did not have multi-value IN processing enabled via a prior call to sqlite3_vtab_in(). See forum thread a823d4a3d5f73def. (check-in: [144326dc17] user: drh branch: trunk, size: 30419)
2023-01-16
20:33
[202638f8ee] part of check-in [906caf8911] Another version of the debug-only logging on this branch. (check-in: [906caf8911] user: dan branch: schema-version-instr, size: 30414)
2023-01-06
19:03
[9475436717] part of check-in [ca3854cb6f] Fix the threshold for logging "PRAGMA schema_version" slowness. (check-in: [ca3854cb6f] user: dan branch: schema-version-instr, size: 30792)
2023-01-05
19:48
[0435c992e0] part of check-in [0d9081068e] One more iteration of "PRAGMA schema_version" instrumentation. (check-in: [0d9081068e] user: dan branch: schema-version-instr, size: 30786)
2022-12-23
15:05
[18653d2b54] part of check-in [d5a8d6cf05] Another iteration of "PRAGMA schema_version" instrumentation. (check-in: [d5a8d6cf05] user: dan branch: schema-version-instr, size: 30978)
2022-12-22
18:44
[fc15815b7b] part of check-in [1fd6211ef7] Rename the Vdbe.pResultSet field to pResultRow in order to better distinguish it from other variables with similar names. (check-in: [1fd6211ef7] user: drh branch: trunk, size: 30380)
15:04
[8e53106b32] part of check-in [1e8220c1b4] Fix an error in the previous commit causing timings to be logged for every "PRAGMA schema_version" command, not just those that are slower than 2 seconds. (check-in: [1e8220c1b4] user: dan branch: schema-version-instr, size: 30920)
14:29
[a86401bdb7] part of check-in [b9efbc538b] Different version of "PRAGMA schema_version" instrumentation. (check-in: [b9efbc538b] user: dan branch: schema-version-instr, size: 30914)
2022-12-21
20:17
[bfcd69627a] part of check-in [397fb07bb4] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [397fb07bb4] user: drh branch: begin-concurrent-report, size: 30510)
2022-12-19
18:42
[18ed4bf4bc] part of check-in [44dd01e315] Hack for special gettimeofday() instrumentation of "PRAGMA schema_version". (check-in: [44dd01e315] user: dan branch: schema-version-instr, size: 30746)
2022-12-07
20:09
[8651e4c4e0] part of check-in [212927e97e] Reduce the overhead of SQLITE_ENABLE_STMT_SCANSTATUS some. (check-in: [212927e97e] user: dan branch: trunk, size: 30392)
2022-12-03
18:16
[e83be1eea4] part of check-in [365011ae8b] Add CYCLES scanstat measurement to "USE TEMP B-TREE FOR ORDER BY" lines. (check-in: [365011ae8b] user: dan branch: scanstatus_v2, size: 30747)
2022-12-02
20:32
[9628718a28] part of check-in [5580083364] Enhance the sqlite3_stmt_scanstatus() API and add sqlite3_stmt_scanstatus_v2(). For creation of easier to read query performance reports. (check-in: [5580083364] user: dan branch: scanstatus_v2, size: 30356)
2022-09-30
13:42
[8d2f014eb0] part of check-in [4d6141f32d] Merge the latest trunk changes into the begin-concurrent-report branch (check-in: [4d6141f32d] user: drh branch: begin-concurrent-report, size: 30177)
2022-08-25
17:12
[1c58993f8b] part of check-in [8f6a1f77b8] Do not attempt to cache DDL statement. (check-in: [8f6a1f77b8] user: drh branch: stmt-cache, size: 30336)
2022-08-24
17:55
[e332f7d165] 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: 30314)
2022-08-23
20:11
[17b7461ffc] part of check-in [34b8ea3187] Change the names of the Vdbe.pVNext and Vdbe.ppVPrev fields to make them unique. Change to ppVPrev to save a few bytes and a few CPU cycles. (check-in: [34b8ea3187] user: drh branch: trunk, size: 30059)
2022-06-28
21:52
[7d55f0ad6c] part of check-in [77fe737610] Merge latest fixes from begin-concurrent-pnu-wal2 branch. (check-in: [77fe737610] user: dan branch: begin-concurrent-report-wal2, size: 30124)
2022-06-16
13:44
[b613abeebb] part of check-in [8b446d0b85] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [8b446d0b85] user: drh branch: begin-concurrent-report, size: 30177)
2022-06-14
22:21
[2cad0aeeb1] part of check-in [0e925654c2] Fix the OP_NullRow opcode so that it works even if it applied to an ephemeral cursor that has not yet been created. (check-in: [0e925654c2] user: drh branch: trunk, size: 30059)
2022-05-10
12:24
[93dc906005] part of check-in [e6b5224d71] Merge the latest trunk enhancements into the begin-concurrent-report branch. Had to restore the sqlite3VdbeSerialPut() routine that was removed in check-in [6f4d6f212a3558c2] when it was inlined because that routine is used again in a different place by this branch. (check-in: [e6b5224d71] user: drh branch: begin-concurrent-report, size: 30184)
2022-04-14
12:59
[ef43f7fdc5] part of check-in [f5bce5f152] Fix assert() statements associated with artifical null-value cursors created by RIGHT JOIN. (check-in: [f5bce5f152] user: drh branch: right-join-fix, size: 30066)
2022-04-03
19:13
[5f3d0abcf3] part of check-in [6e20e1c46d] Omit the Vdbe.runOnlyOnce flag (simplifying the prepared statement implementation) and accomplish the same result by adding an "OP_Expire 1 1" opcode to prepared statements that would normally have runOnlyOnce set. (check-in: [6e20e1c46d] user: drh branch: trunk, size: 29922)
2022-04-02
20:08
[88c11169ac] part of check-in [8a3a348635] Fix harmless compiler warnings. (check-in: [8a3a348635] user: drh branch: trunk, size: 29984)
14:30
[106930790a] part of check-in [6f4d6f212a] In-line the sqlite3VdbeSerialPut() routine into the OP_MakeRecord opcode. This allows some duplicate comparisons to be omitted, resulting in a size reduction and performance increase. (check-in: [6f4d6f212a] user: drh branch: trunk, size: 29855)
2022-04-01
19:04
[22babf1e58] part of check-in [e93297a9d7] Omit the Vdbe.doingRerun field for a slight size reduction and performance gain. (check-in: [e93297a9d7] user: drh branch: trunk, size: 29695)
18:19
[81172c6b82] part of check-in [cb5e6f8e26] Provide and use a version of sqlite3VdbeFreeCursor() that guarantees the cursor pointer is not NULL. This saves a few bytes of code space and a few CPU cycles. (check-in: [cb5e6f8e26] user: drh branch: trunk, size: 29769)
17:01
[a2f535ae60] part of check-in [5a50a42fde] Refactor the Vdbe.iVdbeMagic field into Vdbe.eVdbeState. Split the RUNNING state into separate RUNNING and READY. This gives a size reduction and performance increase. (check-in: [5a50a42fde] user: drh branch: trunk, size: 29720)
15:31
[75421e3c0f] part of check-in [d4e19314f5] Have the sqlite3_context object carry the encoding for the prepared statement that it represents, so that sqlite3_result() and similar can set the encoding according to the prepared statement, even if the database encoding has changed. dbsqlfuzz c409b10d0a6bccf78ab00f47e1d29d42ee5b3565 (check-in: [d4e19314f5] user: drh branch: trunk, size: 29834)
2022-03-31
20:04
[fe6987d900] part of check-in [ff91191d23] Rename Vdbe.iVdbeMagic to eVdbeState. Remove unnecessary states. This is a preliminary step toward splitting RUN_STATE out into several other states. (check-in: [ff91191d23] user: drh branch: vdbe-state-refactor, size: 29660)
2022-03-12
14:54
[91874ca069] part of check-in [c4a61135d5] Merge trunk enhancements, including 3.38.1 patches, into the begin-concurrent-report branch. (check-in: [c4a61135d5] user: drh branch: begin-concurrent-report-3.28, size: 29839)
2022-03-02
17:50
[8dd9142715] part of check-in [86c5fa2f30] Faster version of sqlite3VdbeMemRelease(). (check-in: [86c5fa2f30] user: drh branch: trunk, size: 29774)
2022-02-28
14:26
[958066f044] part of check-in [fe454291d9] Reorganize the bits in Mem.flags. Free up one bit for reuse. (check-in: [fe454291d9] user: drh branch: trunk, size: 29733)
13:38
[d235731563] part of check-in [f2f0426035] Expand the comment on the definition of the Mem object to better explain the meanings of the various flag bits. (check-in: [f2f0426035] user: drh branch: trunk, size: 29817)
12:08
[2ff02995d1] part of check-in [d74aa97953] The performance increase in the previous check-in of this branch was due to the revised loop in initMemArray() and reordering fields of Mem - not the call the memcpy(). Changing the code to avoid memcpy() results in an even better gain, and code that is far less dodgy. (check-in: [d74aa97953] user: drh branch: optimize-init-mem, size: 28209)
03:25
[1336e8e23c] part of check-in [7fefd86761] An optimization to initMemArray() saves almost 500K cycles. But it seems a little dodgy. I want to think about this more before merging to trunk. Perhaps there is a cleaner way to accomplish the same. (check-in: [7fefd86761] user: drh branch: optimize-init-mem, size: 28387)
2022-02-25
20:11
[de2348c164] part of check-in [3b7259ebd5] Revise the initialization processing for OP_Column to make it about 1.8 million cycles faster. (check-in: [3b7259ebd5] user: drh branch: trunk, size: 28214)
15:44
[6875656624] part of check-in [7953716c12] This branch proposes to consolidate various state fields of VdbeCursor (specifically, nullRow, deferredMoveto, and cacheStatus) into a single eCurState field. This first check-in adds the new eCurState field while retaining and continuing to use the legacy state fields. (check-in: [7953716c12] user: drh branch: simplify-cursor-state, size: 29550)
2022-02-04
17:51
[acff9df89c] part of check-in [1c88bcfff5] Merge all recent trunk enhancements into the begin-concurrent-report branch. (check-in: [1c88bcfff5] user: drh branch: begin-concurrent-report, size: 28263)
2022-02-02
14:36
[b45599a2b5] part of check-in [8965929be2] Refactor sqlite3_vtab_in() to make use of the existing sqlite3_value_pointer() mechanism for passing the list of IN operator RHS values into xFilter, for improved memory safety. (check-in: [8965929be2] user: drh branch: batch-in-operator, size: 28198)
2022-02-01
14:58
[24d58f12f6] part of check-in [eb84b80e1f] Add new interfaces to enable virtual table to process IN operator constraints all at once, rather than one element at a time. (check-in: [eb84b80e1f] user: drh branch: batch-in-operator, size: 27613)
2022-01-17
19:24
[a27ec79d89] part of check-in [ef6fc89507] Bring the begin-concurrent-report branch up to date with all the latest trunk enhancements. (check-in: [ef6fc89507] user: drh branch: begin-concurrent-report, size: 27441)
2022-01-03
01:43
[d89d5d2150] part of check-in [23f042669a] Small performance and size optimization to allocateCursor(). (check-in: [23f042669a] user: drh branch: trunk, size: 27376)
2021-12-14
00:36
[a7f01b0cd0] part of check-in [788e79f881] Omit the return value from sqlite3VdbeSerialGet() for a size reduction and performance improvement. (check-in: [788e79f881] user: drh branch: trunk, size: 27298)
2021-12-06
21:45
[910985ac27] part of check-in [24ba535d20] Add SQLITE_STMTSTATUS_FILTER_HIT and _MISS for tracking the effectiveness of Bloom filters. (check-in: [24ba535d20] user: drh branch: bloom-filter, size: 27297)
2021-12-01
16:31
[fd1103c7ec] part of check-in [50ac4de1d7] Add a Bloom filter to the automatic-index mechanism. (check-in: [50ac4de1d7] user: drh branch: bloom-filter, size: 27297)
2021-11-09
15:36
[2f0878748f] part of check-in [122f4a762a] Merge all recent trunk changes into the begin-concurrent-report branch. (check-in: [122f4a762a] user: drh branch: begin-concurrent-report, size: 27356)
2021-11-08
19:35
[31fbabdc1e] part of check-in [bc401a75dd] Fix the zeroblob() function and related APIs so that they work with SQLITE_OMIT_INCRBLOB builds. (check-in: [bc401a75dd] user: dan branch: trunk, size: 27291)
2021-08-03
17:05
[0086b9b034] part of check-in [385e3b4e9d] Merge recent trunk enhancements into the begin-concurrent-report branch. (check-in: [385e3b4e9d] user: drh branch: begin-concurrent-report, size: 27273)
2021-07-19
20:52
[38206c8dd6] part of check-in [f9c6426de3] More precision in comparing integers and floating point values while processing the integer primary key for OP_SeekGE and similar. Forum post 2bdb86a068. (check-in: [f9c6426de3] user: drh branch: trunk, size: 27208)
2021-06-22
18:32
[1fc1e3581a] part of check-in [48fdec22c9] Add the sqlite3_changes64() and sqlite3_total_changes64() API functions. (check-in: [48fdec22c9] user: dan branch: trunk, size: 27168)
2021-06-14
14:01
[2678f1f426] part of check-in [a485d1a1b8] Update this branch with latest changes from begin-concurrent-pnu. (check-in: [a485d1a1b8] user: dan branch: begin-concurrent-report, size: 27233)
2021-06-09
14:45
[465fcb494d] part of check-in [56ff58c0b8] Set the database connection error code for an oversize argument to sqlite3_bind_blob64() or sqlite3_bind_text64(). Forum post a636276f0d451667 and 33821c8db543c. (check-in: [56ff58c0b8] user: drh branch: trunk, size: 27168)
2021-05-21
16:32
[ffdda10e25] part of check-in [1dc6cf5113] Merge the latest trunk changes into begin-concurrent-report branch via the begin-concurrent-pnu branch. (check-in: [1dc6cf5113] user: drh branch: begin-concurrent-report, size: 27233)
2021-04-21
20:52
[58980223a3] part of check-in [b5564a6fd5] Add the experimental sqlite3session_changeset_size() API. (check-in: [b5564a6fd5] user: dan branch: session-changeset-size, size: 27168)
2021-03-26
13:47
[5762107e90] part of check-in [4ba9fc34c5] Merge patch 3.35.3 into the begin-concurrent-report branch. (check-in: [4ba9fc34c5] user: drh branch: begin-concurrent-report, size: 27144)
2021-03-18
15:42
[000d9ab1ea] part of check-in [0ec71cf169] Further sanity checking of the OpenDup cursors. (check-in: [0ec71cf169] user: drh branch: opendup-fix, size: 27079)
2021-03-11
19:26
[dc35ea9eb9] part of check-in [6994a2d8af] Merge latest changes from begin-concurrent-pnu into this branch. (check-in: [6994a2d8af] user: dan branch: begin-concurrent-report, size: 27065)
2021-02-04
11:14
[b257dd6c63] part of check-in [e1eb621319] Work toward handling interleaved RETURNING statements. Trunk does not handle that case correctly. This branch is a partial implementation of ideas that might, however. (check-in: [e1eb621319] user: drh branch: interleaved-returning, size: 27071)
2021-02-03
18:32
[3df118924e] part of check-in [6b29e549bb] Change the name of Vdbe.magic to Vdbe.iVdbeMagic to disambiguate with sqlite3.magic. (check-in: [6b29e549bb] user: drh branch: trunk, size: 27000)
2020-11-26
17:54
[3ba661b01a] part of check-in [d2de81a24f] Merge latest changes from begin-concurrent-pnu into this branch. (check-in: [d2de81a24f] user: dan branch: begin-concurrent-report, size: 27049)
2020-09-01
02:02
[1a92879319] part of check-in [49b7631e86] Improvements to the IN-early-out optimization so that it works more efficiently when there are two or more indexed IN clauses on a single table. (check-in: [49b7631e86] user: drh branch: branch-3.28, size: 26507)
01:52
[3ca5e9fd6e] part of check-in [35505c68c1] Improvements to the IN-early-out optimization so that it works more efficiently when there are two or more indexed IN clauses on a single table. (check-in: [35505c68c1] user: drh branch: trunk, size: 26984)
2020-08-31
19:19
[541b6b9ce3] part of check-in [8301da31d0] An attempt to improve the performance of the IN-early-out optimization (see check-in [09fffbdf9f2f6ce3]) by avoiding unnecessary calls to the b-tree search algorithm in OP_IfNoHope when the index key is at hand and the same answer can be obtained by doing a quick key comparison. Update: Experiment did not work out. (check-in: [8301da31d0] user: drh branch: branch-3.28-in-early-out-fail, size: 26507)
16:31
[43341faf09] part of check-in [e9d983c683] An attempt to improve the performance of the IN-early-out optimization (see check-in [09fffbdf9f2f6ce3]) by avoiding unnecessary calls to the b-tree search algorithm in OP_IfNoHope when the index key is at hand and the same answer can be obtained by doing a quick key comparison. Update 2020-08-31: This experiment did not work out. A better approach is now on trunk. (check-in: [e9d983c683] user: drh branch: in-early-out-fail, size: 26984)
2020-08-17
21:03
[f8dbb92cab] part of check-in [0ecda43371] When doing an UPDATE or DELETE using a multi-column index where only a few of the earlier columns of the index are useful for the index lookup, postpone doing the main table seek until after all WHERE clause constraints have been evaluated, in case those constraints can be covered by unused later terms of the index, thus avoiding unnecessary main table seeks. (check-in: [0ecda43371] user: dan branch: branch-3.28, size: 26507)
2020-07-30
19:56
[808c424389] part of check-in [fd01e78827] Merge begin-concurrent-pnu changes into this branch. (check-in: [fd01e78827] user: dan branch: begin-concurrent-report, size: 27049)
2020-07-22
13:38
[762abffb77] part of check-in [9ce1710aad] Continuing work toward supporting unsigned 32-bit page numbers. (check-in: [9ce1710aad] user: drh branch: larger-databases, size: 26984)
2020-07-17
11:07
[33b6a8e563] part of check-in [12a909fb3d] Bring this branch up to date with begin-concurrent-pnu. (check-in: [12a909fb3d] user: dan branch: begin-concurrent-report, size: 27049)
2020-04-02
13:08
[571413068b] part of check-in [949eec2530] Fix another harmless compiler warning. (check-in: [949eec2530] user: drh branch: bytecode-function, size: 26984)
12:53
[01250089f9] part of check-in [cc54de3543] Add a missing #ifdef to avoid a harmless compiler warning. (check-in: [cc54de3543] user: drh branch: bytecode-function, size: 26983)
2020-03-23
20:58
[5f36e22617] part of check-in [6819b86eb2] The bytecode() function now runs and sometimes works, but it untested and there are known problems. (check-in: [6819b86eb2] user: drh branch: bytecode-function, size: 26933)
17:24
[198e552a1a] part of check-in [2c4dd79fbd] Begin breaking appear the sqlite3VdbeList() routine into subroutines that can be reused by the bytecode() table. (check-in: [2c4dd79fbd] user: drh branch: bytecode-function, size: 26646)
2020-03-21
15:07
[0b728ee662] part of check-in [0d4d3c6424] Change a bitfield in sqlite3_stmt into an unsigned character, for slightly smaller code and better performance. (check-in: [0d4d3c6424] user: drh branch: trunk, size: 26588)
03:40
[37a1cb667c] part of check-in [62aece6677] Back out the sqlite3_stmt_mode() and EXPLAIN TABLES enhancements, but keep the other miscellaneous improvements to EXPLAIN that were implemented while adding the above: Turn magic numbers into symbolic constants. Add the sqlite3MemPrint() interface accessible to the debugger. Improve the performance and reduce the code size. (check-in: [62aece6677] user: drh branch: explain-improvements, size: 26863)
2020-03-20
16:13
[1a8807b7df] part of check-in [e9e17e2125] Revamp the EXPLAIN infrastructure to facilitate sqlite3_stmt_mode(). The currently code mostly works, but there are test failures. This is an incremental check-in. (check-in: [e9e17e2125] user: drh branch: sqlite3_stmt_mode, size: 26780)
2020-03-19
21:17
[a341e6994f] part of check-in [3cf7537b5e] Initial code for a proposed new sqlite3_stmt_mode() API. This is an incomplete snapshot of a work-in-progress. (check-in: [3cf7537b5e] user: drh branch: sqlite3_stmt_mode, size: 26728)
2020-03-06
20:51
[2e37b8fa03] part of check-in [1c1f180eb6] Enhancement to log logical writes as well as reads. (check-in: [1c1f180eb6] user: dan branch: begin-concurrent-report, size: 26594)
2020-02-05
18:28
[a17146053a] part of check-in [ae6dd8d3e9] Small size reduction and performance improvement in the sqlite3VdbeMemFromBtree() interface used to pull content out of the b-tree and into an sqlite3_value object. (check-in: [ae6dd8d3e9] user: drh branch: trunk, size: 26588)
2020-01-06
19:23
[30d3e8b991] part of check-in [69f6a7e42f] Rewrite the (debugging use only) sqlite3VdbeMemPrettyPrint() function to use the safer StrAccum interface rather than writing directly into a static string buffer. Perhaps this will address ticket [bbd55a97e66ff50d], which we are unable to reproduce. (check-in: [69f6a7e42f] user: drh branch: trunk, size: 26529)
2019-12-29
00:52
[e02ccac033] part of check-in [21ef6e9933] Add the OP_FinishSeek opcode which completes an OP_DeferredSeek if the seek has not already completed. Also add the sqlite3WhereUsesDeferredSeek() interface to the query planner. The UPDATE implementation adds an OP_FinishSeek before running the final OP_Insert if one is needed. Ticket [ec8abb025e78f40c] and also an assertion fault reported by Yongheng. (check-in: [21ef6e9933] user: drh branch: trunk, size: 26525)
2019-12-23
03:37
[1ccaf47028] part of check-in [f347744e0d] Fix the OP_Cast operator so that when casting to TEXT, it always leaves the result in the encoding of the database. Ticket [0911b5d161b039c6]. Test cases in TH3. (check-in: [f347744e0d] user: drh branch: trunk, size: 26467)
2019-10-07
13:26
[bd589b8b72] part of check-in [69a26eade2] Fix a faulty assert() statement in the sqlite3VdbeMemExpandBlob() routine. (check-in: [69a26eade2] user: drh branch: trunk, size: 26468)
2019-08-08
15:24
[e95de51291] part of check-in [1e17ea2fd1] Remove support for STAT3. The sqlite_stat3 tables are ignored, if they exist. STAT4 continues to work as it always has, and as it is a superset of STAT3 is the recommended replacement. (check-in: [1e17ea2fd1] user: drh branch: omit-stat3, size: 26447)
2019-07-11
19:22
[889c52272a] part of check-in [d837ab0da5] Move the sqlite3VdbeSerialType() routine in-line in the OP_MakeRecord opcode. Optimizing compilers were doing this already. By doing it manually, we can omit some redundant tests and make the whole thing run a million cycles faster and use about 80 bytes less code space. (check-in: [d837ab0da5] user: drh branch: trunk, size: 26534)
2019-05-02
17:45
[3ba1455350] part of check-in [48889530a9] Ensure that the typeof() function always returns SQLITE_FLOAT for floating point values even when the value is stored as an integer to save space. (check-in: [48889530a9] user: drh branch: trunk, size: 26491)
2019-05-01
18:59
[0e2c44958f] part of check-in [5997d07566] When values have real affinity and are converted into strings for CHECK constraints or index expressions, do the conversions into a real-number format even if the values are stored as integers for efficiency. This appears to fix ticket [ae0f637bddc5290b446]. (check-in: [5997d07566] user: drh branch: trunk, size: 26491)
2019-04-26
17:20
[a9089cdf0d] part of check-in [1b25fa108a] An experimental interface for retrieving the estimated cost and estimated number of output rows for a query. (check-in: [1b25fa108a] user: drh branch: cost-est, size: 26590)
2019-04-07
18:04
[2c12704db9] part of check-in [df58774e99] Fix a faulty assert() in the sqlite3VdbeMemExpandBlob() routine. (check-in: [df58774e99] user: drh branch: trunk, size: 26449)
2019-04-02
00:56
[d0c78ec6ba] part of check-in [f7ba2daf91] Make sure the MEM_FromBind bit inthe Mem.flags field is not included in the MEM_TypeMask. This critical changes was omitted from the previous two check-ins by mistake, and so those check-ins are not fully functional. (check-in: [f7ba2daf91] user: drh branch: trunk, size: 26307)
2019-03-29
11:13
[5ea6f6548a] part of check-in [98da62dfda] Initial implementation of the sqlite3_value_frombind() interface. (check-in: [98da62dfda] user: drh branch: value_frombind, size: 26307)
2018-12-28
20:48
[a76d5eed62] part of check-in [891f1f7218] Faster allocation of new sqlite3_stmt objects. (check-in: [891f1f7218] user: drh branch: trunk, size: 26267)
20:14
[24975074bd] part of check-in [8f10efc29d] Move the nOpAlloc field from Parse into Vdbe to avoid an extra pointer deference on the fast path in sqlite3VdbeAddOp3(). (check-in: [8f10efc29d] user: drh branch: trunk, size: 26267)
2018-12-19
17:05
[e5080801a9] part of check-in [553a923c82] Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. Cherrypick from commit [8201f4e1] on branch-3.18. (check-in: [553a923c82] user: dan branch: branch-3.19, size: 24443)
16:03
[b4c31fcd35] part of check-in [4cb67252d3] Add interfaces sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer() used to safely move pointer values through SQL without exposing underlying memory address information. Cherrypick from commit [8201f4e1] on branch-3.18. (check-in: [4cb67252d3] user: dan branch: branch-3.9, size: 22713)
2018-12-14
21:58
[fad23d9a89] part of check-in [33a1924ebb] Experimental support for new sqlite3_bind_blob() and sqlite3_bind_text() interfaces that take an extra void* argument that is passed into the destructor in front of the object that is to be destroyed. (check-in: [33a1924ebb] user: drh branch: custom-destructors, size: 26272)
20:20
[538f6a6915] part of check-in [b29e02f877] Add the OP_ColumnsUsed opcode (when compiled with SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which columns of a btree cursor will be used. (Backport from 3.8.11) (check-in: [b29e02f877] user: drh branch: branch-3.8.9, size: 22370)
2018-12-07
16:32
[73f5051923] 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: 26209)
2018-11-17
18:45
[edfb25fc65] part of check-in [9fdd186897] Merge latest trunk changes into this branch. (check-in: [9fdd186897] user: dan branch: reuse-schema1, size: 25515)
14:26
[437e6c6af6] part of check-in [5fff00b0d5] Fix harmless compiler warnings that appear with SQLITE_OMIT_EXPLAIN. (check-in: [5fff00b0d5] user: drh branch: trunk, size: 25457)
2018-11-15
21:20
[f7ffb42483] 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: 25445)
2018-10-29
17:53
[8a52b8db3d] part of check-in [592b66e805] Add the sqlite3_normalized_sql() API. (check-in: [592b66e805] user: mistachkin branch: normalized_sql, size: 25387)
2018-08-29
20:24
[f1f35f7046] part of check-in [f48e9feb3f] Also free up the MEM_RowSet bit in the Mem.flags field and have RowSet objects be destroyed using Mem.xDel. This change results in faster code. (check-in: [f48e9feb3f] user: drh branch: trunk, size: 25271)
18:47
[a660268d9e] part of check-in [62db5fd476] Free up the MEM_Frame bit in Mem.flags object. Store VdbeFrame objects as MEM_Blob with a special Mem.xDel pointer instead. (check-in: [62db5fd476] user: drh branch: trunk, size: 25307)
2018-08-04
16:54
[8ea493d994] part of check-in [80236e81ce] Remove more column-cache residue: The OP_SetColTab and OP_VerifyColTab opcodes and the associated SQLITE_DEBUG_COLUMNCACHE logic. (check-in: [80236e81ce] user: drh branch: omit-column-cache, size: 24962)
2018-07-24
22:02
[2a45270d7f] part of check-in [2bd593332d] Do not abort running queries due to a CREATE INDEX statement. Allow them to run to completion before being reprepared. Fix for ticket [c694113e50321afdf9]. (check-in: [2bd593332d] user: drh branch: trunk, size: 25152)
2018-06-22
20:51
[6b5cbd338d] part of check-in [5f04b01646] Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. (check-in: [5f04b01646] user: dan branch: exp-window-functions, size: 25142)
2018-06-14
14:30
[d99f1c3da1] part of check-in [5cf5f1808a] Merge latest trunk changes into this branch. (check-in: [5cf5f1808a] user: dan branch: exp-window-functions, size: 25104)
2018-06-13
16:52
[5d6f9294e9] part of check-in [f76dc33bde] Pad out the sqlite3_value structure to be a multiple of 8 bytes. (check-in: [f76dc33bde] user: drh branch: trunk, size: 25054)
2018-06-12
13:52
[4531c172f8] part of check-in [b2973f2357] Improvements to SCopy correctness tracking when SQLITE_DEBUG is enabled. (check-in: [b2973f2357] user: drh branch: trunk, size: 24981)
2018-06-11
17:35
[8ebc37ead2] part of check-in [b37614a367] Add the OP_SetTabCol and OP_VerifyTabCol opcodes, only when compiling with SQLITE_DEBUG, to do run-time verification of the column cache. (check-in: [b37614a367] user: drh branch: trunk, size: 24973)
2018-06-07
20:35
[83fefe125f] part of check-in [2510220342] Merge latest trunk changes with this branch. (check-in: [2510220342] user: dan branch: exp-window-functions, size: 25006)
2018-06-05
20:45
[d299d7a198] part of check-in [6bf251af43] Add the OP_IfNoHope and OP_SeekHit opcodes used to reduce the number of unnecessary sqlite3BtreeMovetoUnpacked() calls when checking for an early exit on IN-operator loops. Futher optimizations are likely possible here. (check-in: [6bf251af43] user: drh branch: multikey-opt-idea, size: 24956)
2018-06-04
08:28
[1688454271] part of check-in [83d6416a86] Merge latest trunk changes into this branch. (check-in: [83d6416a86] user: dan branch: exp-window-functions, size: 24931)
2018-05-28
17:31
[42d3e65ea0] part of check-in [5a4542dbcf] When compiling with SQLITE_DEBUG, add run-time checks to ensure that no statement aborts unless either there have been no writes or else there is a statement journal. (check-in: [5a4542dbcf] user: drh branch: stmt-journal-testing, size: 24881)
2018-05-16
20:58
[3878856fab] part of check-in [3781e52085] Start of experimental implementation of SQL window functions. Does not yet work. (check-in: [3781e52085] user: dan branch: exp-window-functions, size: 24640)
2018-02-26
15:27
[95f7adfdc5] part of check-in [a983fa8570] Always interpret non-zero floating-point values as true even if their integer part is zero. Fix for ticket [36fae083b450e3af857a459e20]. (check-in: [a983fa8570] user: drh branch: trunk, size: 24590)
2018-01-23
03:44
[8d7d07f13c] part of check-in [edd4e6876c] Slightly faster function dispatch in the virtual machine by avoiding unnecessary reinitialization of variables that are already correctly initialized. (check-in: [edd4e6876c] user: drh branch: trunk, size: 24543)
2018-01-16
21:05
[c8cfbbc28e] part of check-in [948a26b5a6] Remove an unused field from the internal definition of the sqlite3_context object. (check-in: [948a26b5a6] user: drh branch: trunk, size: 24729)
2018-01-12
21:00
[5442fc816b] part of check-in [8b7be15ece] Add the experimental sqlite3_value_nochange() interface usable by xUpdate methods of virtual tables to see if a column has actually changed values. (check-in: [8b7be15ece] user: drh branch: sqlite3_value_nochange, size: 24808)
2018-01-11
17:04
[a0969c1495] part of check-in [d444b1ff39] Add the sqlite3_vtab_nochange() method which virtual table implementations can use to optimize UPDATEs. (check-in: [d444b1ff39] user: drh branch: sqlite3_vtab_nochange, size: 24693)
2017-09-13
18:38
[207b6ac784] part of check-in [ebada0723a] Experimental sqlite3_stmt_retryable() interface. (check-in: [ebada0723a] user: drh branch: sqlite3_stmt_retryable, size: 24692)
2017-08-16
19:20
[1fe0077014] part of check-in [f078deb251] Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce the size and improve the performance of OP_Column. (check-in: [f078deb251] user: drh branch: trunk, size: 24614)
2017-07-27
15:53
[ff2b7db096] part of check-in [601ad67959] Improved implementation of the destructor on pointer-passing interfaces. (check-in: [601ad67959] user: drh branch: pointer-with-destructor, size: 24589)
03:48
[4f70340528] part of check-in [3d9e841f60] Add a destructor argument to sqlite3_bind_pointer() and sqlite3_result_pointer(). (check-in: [3d9e841f60] user: drh branch: pointer-with-destructor, size: 24708)
2017-07-21
07:56
[b8770095a5] part of check-in [8201f4e1c5] Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This changes is a cherry-pick of [f0f49224] via [69906880cee] and is ultimately inspired by check-in [72de49f2]. (check-in: [8201f4e1c5] user: drh branch: branch-3.18, size: 24433)
07:45
[7209dc7293] part of check-in [69906880ce] Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This changes is a cherry-pick of [f0f49224] with version-specific edits. That check-in was inspired by check-in [72de49f2]. (check-in: [69906880ce] user: drh branch: branch-3.9.2, size: 22713)
04:08
[7738dd1d85] part of check-in [5a3022e081] Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This is a cherry-pick of [f0f49224] which was in turn inspired by [72de49f2]. (check-in: [5a3022e081] user: drh branch: branch-3.8.10, size: 22252)
03:23
[0d54df3825] part of check-in [a66a5b397b] Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This is a cherry-pick of [f0f492245e95], which is in turn inspired by check-in [72de49f2]. (check-in: [a66a5b397b] user: drh branch: branch-3.8.6, size: 21325)
03:09
[0fb63a812b] part of check-in [f0f492245e] Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This changes is inspired by check-in [72de49f2] but is new implementation, not a cherry-pick. (check-in: [f0f492245e] user: drh branch: branch-3.7.11, size: 21320)
2017-07-20
16:55
[e202dc9f7b] part of check-in [10556ee454] Experimental API sqlite3_stmt_refresh() to force a prepared statement to recompile if it needs to due to a schema change or other factor. (check-in: [10556ee454] user: drh branch: sqlite3_stmt_refresh, size: 24519)
2017-07-17
00:40
[19bd04a421] part of check-in [211cce04e9] Add an experimental "pointer type" parameter to sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer(). The pointer type is a string that must compare equal using strcmp() or else the pointer comes through as a NULL. (check-in: [211cce04e9] user: drh branch: pointer-types, size: 24444)
2017-07-15
10:44
[8912bdbc6f] part of check-in [d6a44b352d] Add new interfaces sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer() used to safely move pointer values through SQL without exposing underlying memory address information. (check-in: [d6a44b352d] user: drh branch: branch-3.17, size: 24347)
2017-07-13
17:34
[36b162cce2] part of check-in [a54be6e041] Merge the latest changes from trunk. (check-in: [a54be6e041] user: drh branch: bind-pointer, size: 24431)
2017-07-12
12:19
[c8b3d97001] part of check-in [783100b801] Compile cleanly with SQLITE_OMIT_UTF16. (check-in: [783100b801] user: drh branch: trunk, size: 24312)
2017-07-05
16:20
[d96370101d] part of check-in [fcbd6abdb1] Make use of covering indexes in the OR optimization. (check-in: [fcbd6abdb1] user: drh branch: branch-3.8.9, size: 22371)
2017-06-30
23:09
[7420cd23d2] part of check-in [d9f4a831ba] Add APIs for binding pointers that can be used by app-defined functions. (check-in: [d9f4a831ba] user: drh branch: bind-pointer, size: 24394)
2017-06-29
15:24
[8dd7548d86] part of check-in [03977248e6] 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. Use the new option in FTS3, FTS5, and RTREE. (check-in: [03977248e6] user: drh branch: trunk, size: 24275)
12:49
[a2d03f8b4d] part of check-in [b0b0c8f8d5] Add the SQLITE_STMTSTATUS_REPREPARE and SQLITE_STMTSTATUS_RUN options to sqlite3_stmt_status(). Use this for two new columns in the stmts virtual table. (check-in: [b0b0c8f8d5] user: drh branch: stmts-vtab, size: 24287)
2017-06-01
00:54
[ba7a943619] 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: 24275)
2017-05-30
18:34
[cdcdabad4f] part of check-in [e972a38608] Change sqlite3BtreeNext() and sqlite3BtreePrevious() so that they return SQLITE_DONE if they have already reached the end (or beginning) of the table. This gives a performance increase and size reduction. (check-in: [e972a38608] user: drh branch: trunk, size: 24287)
2017-05-10
19:42
[1ecdacc132] part of check-in [2be9850cef] Rename fields of the internal AuxData object to make them unique and easier to search for. (check-in: [2be9850cef] user: drh branch: trunk, size: 24294)
2017-04-09
19:23
[c070bc5c8b] part of check-in [19dd753f9e] Do not expose the name of the internal Mem object in the public interface defined by sqlite3.h. (check-in: [19dd753f9e] user: drh branch: trunk, size: 24294)
2017-03-24
17:59
[5db089ce18] part of check-in [2556014514] Fix the OP_Once opcode so that it works correctly for recursive triggers. Ticket [06796225f59c057cd120f1]. (check-in: [2556014514] user: drh branch: trunk, size: 24284)
2017-02-18
20:05
[6186ba2bd4] part of check-in [c1adf95958] Add an optimization to OP_Column to speed up sequential OP_Column instructions that read earlier fields from the same cursor. Attempt to reorder OP_Column opcodes so as to take advantage of this. (check-in: [c1adf95958] user: dan branch: sort-column-opcodes, size: 24294)
2017-01-30
19:44
[4e4b15b2e1] part of check-in [856f8604c5] Experimental change to invoke the preupdate hook when WITHOUT ROWID tables are written. (check-in: [856f8604c5] user: dan branch: preupdate-without-rowid, size: 24228)
2017-01-21
15:58
[4cad10b68e] part of check-in [ffda1d1e1c] Add extra (somewhat inefficient) trace callbacks for triggers if SQLITE_TRACE_TRIGGER is defined. (check-in: [ffda1d1e1c] user: dan branch: trigger-trace, size: 24319)
2016-12-23
03:59
[281cb70332] part of check-in [68ecafa142] Use the VList object to replace Parse.azVar for tracking the mapping between SQL parameter names and parameter numbers. There is a performance improvement, though there are still a few hiccups in the current code. (check-in: [68ecafa142] user: drh branch: VList, size: 24154)
2016-12-10
12:58
[42e498dbe9] part of check-in [8165f88bb1] Reorder the fields in the VdbeCursor object so that those that need to be bulk zeroed on allocation are grouped at the beginning, and the memset() only runs over those fields that really need it. (check-in: [8165f88bb1] user: drh branch: trunk, size: 24215)
2016-11-25
19:18
[9b498d3cb5] part of check-in [49ebc219fa] Refactor the sqlite3BtreeKey() and sqlite3BtreeData() internal interfaces into sqlite3BtreePayload() and sqlite3BtreePayloadChecked(), respectively. This is a continuation of the optimization started by check-in [2d831074cf]. The result is a slightly smaller and faster binary. (check-in: [49ebc219fa] user: drh branch: trunk, size: 24131)
2016-11-09
20:14
[29b25318a0] part of check-in [345b46be75] Comment changes that attempt to better explain the behavior of the "seekResult" field on VdbeCursor objects and the seekResult parameter to sqlite3BtreeInsert() and the OPFLAG_USESEEKRESULT flag on insert opcodes. No changes to code. (check-in: [345b46be75] user: drh branch: unpacked-IdxInsert, size: 24135)
2016-10-21
21:21
[d8a56a491b] part of check-in [b861328ab9] In the sessions module, avoid recording a change if an UPDATE statement overwrites a column with REAL affinity containing an integer value with the same value. (check-in: [b861328ab9] user: dan branch: sessions-fix, size: 23905)
2016-10-01
00:37
[0a18713d0a] part of check-in [1e21bbe836] Avoid unnecessary zeroing of fields in the Vdbe object when it is allocated. (check-in: [1e21bbe836] user: drh branch: trunk, size: 23904)
2016-09-29
15:53
[581b737c2f] part of check-in [e2cd79aa31] Clarification and typo-fixes in comments. No changes to code. (check-in: [e2cd79aa31] user: drh branch: trunk, size: 23715)
2016-09-18
16:08
[d21f14721d] part of check-in [6bf5ba10d2] Revise the implementation of OP_Once so that it is smaller, faster, and uses less memory. This also fixes an obscure bug introduced 3 days ago by check-in [5990a1bdb4a073]. (check-in: [6bf5ba10d2] user: drh branch: trunk, size: 24189)
2016-07-09
16:14
[c59381049a] part of check-in [5471aca015] Fix various internal #defines to conform to new C-language naming restrictions, specifically that private-use macros names must not begin with "_". (check-in: [5471aca015] user: drh branch: trunk, size: 24432)
2016-03-30
12:56
[ddb1579744] part of check-in [5ab46d760d] Avoid compiler warnings and excess opcodes when SQLITE_ENABLE_PREUPDATE_HOOK is not used. Fix the EXPLAIN output for P4_TABLE opcodes. (check-in: [5ab46d760d] user: drh branch: sessions, size: 24417)
2016-03-16
01:16
[9b704336a6] part of check-in [6a7ee04b0d] Merge all recent enhancements from trunk. (check-in: [6a7ee04b0d] user: drh branch: sessions, size: 24388)
00:36
[f88d3115e9] part of check-in [e0b116edd6] Rearrange some internal fields in the sqlite3_stmt object to avoid a harmless TSAN warning. (check-in: [e0b116edd6] user: drh branch: trunk, size: 23438)
2016-03-04
16:42
[a205ce1ece] part of check-in [456df3365e] Merge recent enhancements from trunk. Default page size is 4096. Writes to statement journals are avoided. (check-in: [456df3365e] user: drh branch: sessions, size: 24388)
2016-02-26
04:13
[49a74fe5ec] part of check-in [3ef6a31532] Ephemeral tables used to hold manifested views may not be unordered since they might be subject to an ordered comparison if they are part of a join. (check-in: [3ef6a31532] user: drh branch: trunk, size: 23438)
2016-02-25
18:54
[177eca5abb] part of check-in [b86590043e] Merge all the latest changes from trunk. (check-in: [b86590043e] user: drh branch: sessions, size: 24395)
2016-02-22
16:04
[84827a8092] part of check-in [64386fa339] Always use the sqlite3VdbeDeleteAuxdata() routine for clearing auxdata on function parameter, rather than having a separate deleteAuxdataFromFrame() for doing the job for trigger frames. (check-in: [64386fa339] user: drh branch: trunk, size: 23445)
2016-02-19
18:54
[581e5bff9a] part of check-in [c429572501] Use a separate list of aux-data structures for each trigger program at the VDBE level. Fix for [dc9b1c91]. (check-in: [c429572501] user: dan branch: trunk, size: 23431)
2016-02-02
02:22
[2a8796b099] part of check-in [f3f9200115] Merge all recent enhancements from trunk. (check-in: [f3f9200115] user: drh branch: sessions, size: 24314)
2016-01-30
15:46
[4b69d5451b] part of check-in [2e9fb1295c] A different way to clear the subtype on VDBE registers when the value of the register is overwritten with new content. To fix [[f45ac567eaa9f93]. (check-in: [2e9fb1295c] user: dan branch: clear-subtype-flag, size: 23364)
14:53
[6c34fac609] part of check-in [ec653cbcae] Take care to clear the subtype on VDBE registers when the value of the register is overwritten with new content. (check-in: [ec653cbcae] user: drh branch: clear-subtype-fail, size: 23592)
13:32
[716df83ac4] part of check-in [85c467041c] Add the BTREE_FORDELETE and BTREE_AUXDELETE flags to the b-tree layer interface and use them. Add assert() statement to verify that they are correct. (check-in: [85c467041c] user: drh branch: trunk, size: 23178)
2016-01-29
20:58
[171fdc5f6a] part of check-in [6e3dcb6d7d] Different comment on the alternative cursor fields of VdbeCursor. (check-in: [6e3dcb6d7d] user: drh branch: covering-or, size: 23104)
19:29
[91f22c4d54] part of check-in [a323ac3a9d] Experimental attempt to make better use of covering indexes within OR queries. (check-in: [a323ac3a9d] user: dan branch: covering-or, size: 23048)
2016-01-27
15:49
[40c728712a] part of check-in [dde1db0dd2] Add assert() statements on the nExtraDelete variable in vdbe.c to try to verify that the FORDELETE and IDXDELETE flags are being generated correctly. Those flags are not currently generated correctly, and so the assert()s trip on this check-in. (check-in: [dde1db0dd2] user: drh branch: fordelete-assert, size: 23021)
2016-01-11
13:10
[1bff4effc7] part of check-in [c4a858b228] Merge recent enhancements, and especially the WAL overwrite change, from trunk. (check-in: [c4a858b228] user: drh branch: sessions, size: 23897)
2016-01-07
16:06
[42eefa4f9e] part of check-in [d0214602d4] Have the vdbe layer call sqlite3BtreeEnter() on all b-trees in use from within sqlite3VdbeExec() even in SQLITE_THREADSAFE=0 builds. This ensures that BtShared.db is set correctly. (check-in: [d0214602d4] user: dan branch: shared-cache-fix, size: 22947)
2015-12-17
19:17
[06caadd917] part of check-in [896a06cc18] Make the VdbeCursor object even smaller. But the resulting library is bigger and slower than trunk. This branch is a failed experiment. (check-in: [896a06cc18] user: drh branch: optimize-vdbecursor, size: 22918)
17:30
[6c879b499d] part of check-in [98b710c363] Reduce the size of the VdbeCursor object by a pointer (the pBt pointer used for ephemeral tables). (check-in: [98b710c363] user: drh branch: optimize-vdbecursor, size: 22825)
2015-12-02
20:40
[4f3b46806b] part of check-in [d1a1278d7f] Merge recent enhancements from trunk. (check-in: [d1a1278d7f] user: drh branch: sessions, size: 23843)
2015-11-20
19:22
[75c2e82ee3] part of check-in [9b1d174d86] Refactor the VdbeCursor object. It is now slightly smaller and faster and is easier to understand. (check-in: [9b1d174d86] user: drh branch: trunk, size: 22893)
2015-10-30
16:50
[d6ae6e64ad] part of check-in [395a153ff7] Merge all the latest enhancements from trunk. (check-in: [395a153ff7] user: drh branch: sessions, size: 23855)
2015-10-16
20:53
[33403622c6] part of check-in [26fa091d68] Merge recent enhancements from trunk. Version now 3.9.1. (check-in: [26fa091d68] user: drh branch: cursor-hints, size: 22905)
14:54
[777dd76d51] part of check-in [2ad72be124] Have the sqlite3VdbeSerialType() function go ahead and compute the serial length as well, since it is always needed. This avoids unnecessary calls to sqlite3VdbeSerialTypeLen(). (check-in: [2ad72be124] user: drh branch: trunk, size: 22610)
14:23
[5f813a198e] part of check-in [3395724814] Use a lookup table to compute the content length for serial types less than 128, for a 1.2% performance improvement. (check-in: [3395724814] user: drh branch: trunk, size: 22604)
2015-09-15
17:31
[c1508eb4ee] part of check-in [66fe068326] Merge enhancements from trunk. (check-in: [66fe068326] user: drh branch: cursor-hints, size: 22859)
2015-09-14
10:47
[42fa345029] part of check-in [22ce9218fb] Merge the latest trunk enhancements. (check-in: [22ce9218fb] user: drh branch: sessions, size: 23514)
2015-09-10
20:34
[8b867eac23] part of check-in [7b5be299c6] Experimental implementation of sqlite3_result_subtype() and sqlite3_value_subtype() interfaces. (check-in: [7b5be299c6] user: drh branch: subtypes, size: 22564)
2015-08-13
21:43
[9ad955ca89] part of check-in [12640cb222] Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. (check-in: [12640cb222] user: drh branch: cursor-hints-displayP4, size: 21906)
21:32
[7258d75fc2] part of check-in [2068847187] Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. (check-in: [2068847187] user: drh branch: cursor-hints, size: 22808)
2015-06-30
16:29
[963c87c4bf] part of check-in [39936b33b0] Merge all the latest enhancements from trunk. This merge include FTS5 and a number of notable performance enhancements. (check-in: [39936b33b0] user: drh branch: sessions, size: 23463)
2015-06-26
18:16
[8b54e01ad0] part of check-in [2abc44eb3b] Cache the sqlite3_context structure in the P4 operand of VDBE programs for faster SQL function dispatch. (check-in: [2abc44eb3b] user: drh branch: trunk, size: 22513)
2015-06-17
18:18
[571977048a] part of check-in [199bfb67fd] Merge all recent enhancements and fixes from trunk. (check-in: [199bfb67fd] user: drh branch: sessions, size: 23350)
2015-06-05
15:59
[20295e4821] part of check-in [f167bba446] Add a new opcode to the VDBE that gives the b-tree a hint about the set of columns in a table or index that are actually used by the query. (check-in: [f167bba446] user: drh branch: column-usage-hint, size: 22400)
2015-05-21
17:24
[20e5edac63] part of check-in [b3bb660af9] Prevent a virtual table from being destroyed while it is in use. Also: replace Vdbe.inVtabMethod with sqlite3.nVDestroy. Simplify the EXPLAIN output for P4.pVtab to only show the sqlite3_vtab pointer. Cherrypick of [cbeb9a1aed8c]. (check-in: [b3bb660af9] user: dan branch: branch-3.8.6, size: 21176)
2015-05-20
22:01
[50e298245b] part of check-in [2007391cec] Add the sqlite3_value_dup() and sqlite3_value_free() interfaces and use those to add the sqlite3_rtree_query_info.apSqlParam field to the query callback in R-Tree. (check-in: [2007391cec] user: drh branch: sessions-value-dup, size: 23239)
21:28
[f0ccddac48] part of check-in [a7ee40c4fc] Add the sqlite3_value_dup() and sqlite3_value_free() interfaces. Use these interfaces to enhance R-Tree to add the sqlite3_rtree_query_info.apSqlParam field. (check-in: [a7ee40c4fc] user: drh branch: value-dup, size: 22289)
2015-05-19
22:42
[0c025e7088] part of check-in [0a0de8b72c] Merge recent trunk changes, include the R-Tree enhancement that allows 8-byte BLOB arguments to geometry functions, and the fix for the TEXT affinity problem that could cause corrupt indexes. (check-in: [0a0de8b72c] user: drh branch: sessions, size: 23102)
2015-05-15
04:13
[de3291a668] 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: 22152)
2015-03-24
19:02
[96e4303a96] part of check-in [54aaa6f29a] Merge all recent trunk enhancements into the sessions branch. (check-in: [54aaa6f29a] user: drh branch: sessions, size: 23053)
12:51
[9cbaa84f53] part of check-in [9faefb9627] Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter. (check-in: [9faefb9627] user: drh branch: nVDestroy, size: 22103)
2015-02-21
15:13
[50fc184e25] part of check-in [f36bb5fa5c] Merge all recent trunk changes into the sessions branch. (check-in: [f36bb5fa5c] user: drh branch: sessions, size: 23561)
2015-02-13
12:05
[bb56fd199d] part of check-in [3c6ca41487] Make sure the prepared statement auto-resets on extended error codes of SQLITE_BUSY and SQLITE_LOCKED even when compiled using SQLITE_OMIT_AUTORESET. (check-in: [3c6ca41487] user: drh branch: trunk, size: 22611)
2014-11-18
21:20
[dc69f0351b] part of check-in [f09055f3c4] Merge recent trunk enhancements, including the read-after-ROLLBACK change and the addition of sqlite3_stmt_scanstatus() support, as well as various minor bug fixes. (check-in: [f09055f3c4] user: drh branch: sessions, size: 23459)
2014-11-06
04:42
[9bb69ff244] part of check-in [64ad5761a8] Add the SQLITE_SCANSTAT_SELECTID metric. Use it to improve the ".stmtscan on" output in the shell. (check-in: [64ad5761a8] user: drh branch: scanstatus, size: 22509)
03:55
[c32c1de25e] part of check-in [f968400066] Change the SQLITE_SCANSTAT_EST parameter so that it returns a double for the estimated number of output rows per loop, rather than a 64-bit integer. Revise the output format for the ".scanstats on" in the shell to make use of this new capability. (check-in: [f968400066] user: drh branch: scanstatus, size: 22439)
2014-11-03
11:25
[539ba28479] part of check-in [f5313e0c68] Remove unused variable from struct WhereInfo. Add some explanatory comments to new code. (check-in: [f5313e0c68] user: dan branch: scanstatus, size: 22432)
2014-11-01
21:00
[21570e5ec8] part of check-in [f13d6ba8a7] Minor performance enhancements to SQLITE_ENABLE_STMT_SCANSTATUS code. (check-in: [f13d6ba8a7] user: dan branch: scanstatus, size: 22435)
20:38
[ee8d44cba5] part of check-in [9ea37422a8] If SQLITE_ENABLE_STMT_SCANSTATUS is defined, record the number of times each VDBE opcode is executed. Derive the values returned by sqlite3_stmt_scanstatus() from these records on demand. (check-in: [9ea37422a8] user: dan branch: scanstatus, size: 22370)
2014-10-31
20:11
[284b2294c1] part of check-in [6a9bab34ae] Add the experimental sqlite3_stmt_scanstatus() API. (check-in: [6a9bab34ae] user: dan branch: scanstatus, size: 21951)
14:53
[18756149ef] part of check-in [28b044a512] Merge recent trunk enhancements, and in particular the improvements to the b-tree balancing logic, into the sessions branch. (check-in: [28b044a512] user: drh branch: sessions, size: 22679)
2014-10-28
18:24
[acc36ac461] part of check-in [41cdd0c422] Modify the documentation for sqlite3_changes() to make it more testable. Add tests and minor fixes for the same. (check-in: [41cdd0c422] user: dan branch: trunk, size: 21729)
2014-10-23
17:26
[0fdc28cfa5] part of check-in [c6a5b67ae1] Add debugging code to count the number of iterations of each loop made as part of statement execution. (check-in: [c6a5b67ae1] user: dan branch: debug-loopcounters, size: 22220)
2014-10-14
13:41
[7254c20b45] part of check-in [83d4114f2a] Merge recent trunk micro-optimizations and the DESC index GROUP BY ORDER BY bug fix into the sessions branch. (check-in: [83d4114f2a] user: drh branch: sessions, size: 22627)
2014-10-13
20:12
[e2a060a55e] part of check-in [4b3b65ee5e] Use the padding word in the Mem object as temporary storage for serial_type value in OP_Record, and thus avoid a redundant computation of the serial_type for each column. (check-in: [4b3b65ee5e] user: drh branch: trunk, size: 21677)
16:02
[90c0ae5338] part of check-in [c2799aece1] Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out some of its functions and by avoiding unnecessary calls. (check-in: [c2799aece1] user: drh branch: trunk, size: 21655)
2014-10-12
22:37
[e1173bd72b] part of check-in [91384a7d72] Remove the VdbeCursor.lastRowid cache of the current rowid, since maintaining the correct cache value uses more CPU cycles than just recomputing the rowid on the occasions when it is actually needed. Replace it with the VdbeCursor.aOffset field which used to be computed from VdbeCursor.aType when needed. Saves 100 bytes of code space and runs 0.2% faster. (check-in: [91384a7d72] user: drh branch: trunk, size: 21612)
2014-10-01
01:52
[6d4bf3fd28] part of check-in [2695772c98] Merge the latest enhancements from trunk. (check-in: [2695772c98] user: drh branch: sessions, size: 22627)
2014-09-30
12:33
[0b97a3190f] part of check-in [4ff51325d6] Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). (check-in: [4ff51325d6] user: drh branch: trunk, size: 21677)
2014-09-27
19:51
[7d15127815] part of check-in [497367cb57] Merge recent trunk changes (performance enhancements) into the sessions branch. (check-in: [497367cb57] user: drh branch: sessions, size: 22777)
2014-09-25
13:17
[bb7f7ecfde] part of check-in [3467049a17] Simplifications to the SQL function and aggregate calling procedures. (check-in: [3467049a17] user: drh branch: trunk, size: 21827)
2014-09-21
22:49
[0e6e8d1819] part of check-in [6406b77f2c] Merge all recent trunk changes into the sessions branch. (check-in: [6406b77f2c] user: drh branch: sessions, size: 22826)
2014-09-19
00:43
[f177bed1ec] part of check-in [5b9b898779] Add the sqlite3VdbeMemClearAndResize() interface to be used in place of sqlite3VdbeMemGrow(). A C++ style comment was left in this check-in by mistake, and so it has been moved into a branch to avoid problems in any future bisects on windows. (check-in: [5b9b898779] user: drh branch: Cplusplus-comment, size: 21876)
2014-09-18
21:25
[1ac536d1fa] part of check-in [9c09ac353d] Add the Mem.szMalloc element to the Mem object and use it to keep track of the size of the Mem.zMalloc allocation. (check-in: [9c09ac353d] user: drh branch: trunk, size: 21824)
18:55
[1c31448d9d] part of check-in [5587993211] Correct typos in comments. No changes to code. (check-in: [5587993211] user: mistachkin branch: trunk, size: 21705)
17:52
[45a0b4c5e4] part of check-in [4c8c89d7e6] Merge the Mem.r value into the MemValue union as Mem.u.r. Hence, a Mem can now store an integer or a real but not both at the same time. Strings are still stored in a separate element Mem.z, for now. (check-in: [4c8c89d7e6] user: drh branch: trunk, size: 21725)
2014-09-17
16:41
[f90b0de615] part of check-in [fdddb477c8] In the Mem object, stop requiring that Mem.xDel be NULL when the MEM_Dyn bit is clear. Also reduce the amount of initialization of Mem objects. All for a small size reduction and performance increase. (check-in: [fdddb477c8] user: drh branch: micro-optimizations, size: 21680)
14:52
[9d398055c8] part of check-in [4e43784432] Improved interface to the Mem object handling. Small size reduction and performance increase. (check-in: [4e43784432] user: drh branch: micro-optimizations, size: 21622)
2014-09-16
14:55
[dc1743de33] part of check-in [a10a6bba49] Remove an unused parameter from sqlite3VdbeIdxRowid(). This is cosmetic only as the C-compiler optimizers were already omitting this parameter on amalgamation builds. (check-in: [a10a6bba49] user: drh branch: micro-optimizations, size: 21761)
14:16
[0de8705e38] part of check-in [0be3019ed7] Reorder the elements of the Mem object for a small size reduction and performance improvement. Moved into a branch because MSVC is unable to handle named structure initializer on nullMem. (check-in: [0be3019ed7] user: drh branch: micro-optimizations, size: 21771)
2014-09-08
15:04
[0dec00acd7] part of check-in [c2885c6bb2] Merge support for large files on Android from trunk. (check-in: [c2885c6bb2] user: drh branch: sessions, size: 22663)
2014-09-06
16:39
[b4843c35c3] part of check-in [e62aab5e92] Fix typos in comments. No code changes. (check-in: [e62aab5e92] user: peter.d.reid branch: trunk, size: 21713)
2014-09-02
15:49
[872d39f632] part of check-in [d4cce2c71e] Merge the latest trunk changes, including the multi-threaded sorter, into the sessions branch. (check-in: [d4cce2c71e] user: drh branch: sessions, size: 22663)
2014-08-29
14:40
[cdc8e421f8] part of check-in [35c44a3c73] Merge recent performance enhancements from trunk onto the threads branch. (check-in: [35c44a3c73] user: drh branch: threads, size: 21713)
2014-08-27
14:14
[4653bb420a] part of check-in [6c1ee3e388] In the sqlite3_context object, keep a pointer to the result value rather than storing the result value in the sqlite3_context object and using memcpy() to move the value back into its register after the function returns. This runs faster and saves over 500 bytes of code space. (check-in: [6c1ee3e388] user: drh branch: trunk, size: 21730)
2014-08-26
02:15
[6a50eb240a] part of check-in [08ae974ac8] Merge recent performance enhancements and the CAST operator enhancements into the sessions branch. (check-in: [08ae974ac8] user: drh branch: sessions, size: 22680)
2014-08-25
22:43
[a1fcc0a044] part of check-in [6c8f86e4e0] Merge the CAST operator enhancements from trunk. (check-in: [6c8f86e4e0] user: drh branch: threads, size: 21713)
20:11
[df58400454] part of check-in [91d8a8d0b7] Allow CAST expressions and unary "+" operators to be used in the DEFAULT argument of an ALTER TABLE ADD COLUMN and to be understand on the RHS of range constraints interpreted by STAT3/4. This involves a rewrite of the implementation of the CAST operator. (check-in: [91d8a8d0b7] user: drh branch: trunk, size: 21730)
13:27
[94f5cb2480] part of check-in [dfdc900f5d] Merge the recent performance enhancements implemented on trunk into the threads branch. (check-in: [dfdc900f5d] user: drh branch: threads, size: 21676)
11:20
[20056cd59f] part of check-in [3ca5846da7] Change the name of the VdbeMemRelease() macro to VdbeMemReleaseExtern() to more accurately reflect what it does. Performance enhancement to the sqlite3VdbeMemRelease() function. (check-in: [3ca5846da7] user: drh branch: trunk, size: 21693)
2014-08-23
17:21
[764a055bc9] part of check-in [25f2246be4] Performance optimization in the applyAffinity() logic inside the VDBE. (check-in: [25f2246be4] user: drh branch: trunk, size: 21687)
2014-07-29
12:40
[5eee1752ef] part of check-in [8f1beeade0] Merge recent trunk changes, and especially the fix for the R-Tree problem described in ticket [d2889096e7bdeac6]. (check-in: [8f1beeade0] user: drh branch: sessions, size: 22634)
2014-07-28
15:01
[8870adf012] part of check-in [163c247bd8] Merge recent trunk changes into the threads branch. (check-in: [163c247bd8] user: drh branch: threads, size: 21667)
2014-07-25
18:01
[f5513f2b5a] part of check-in [2230c74f1e] Add constraints (enforced only when SQLITE_DEBUG is enabled) on the use of OP_Next and OP_Prev. (check-in: [2230c74f1e] user: drh branch: trunk, size: 21684)
2014-07-24
16:54
[5e925f50d1] part of check-in [770685892c] Merge all recent trunk changes into the threads branch. (check-in: [770685892c] user: drh branch: threads, size: 21568)
16:23
[31b5cb53bd] part of check-in [a9db017eab] Merge recent trunk changes into the sessions branch. (check-in: [a9db017eab] user: drh branch: sessions, size: 22535)
2014-07-22
20:02
[f41a7cf5a4] part of check-in [77f412caf0] Add the OP_ReopenIdx opcode that works like OP_OpenRead except that it becomes a no-op if the cursor is already open on the same index. Update the OR-optimization logic to make use of OP_ReopenIdx in order to avoid unnecessary cursor open requests sent to the B-Tree layer. (check-in: [77f412caf0] user: drh branch: trunk, size: 21585)
2014-06-30
20:25
[027a5757ab] part of check-in [ae23a65eb1] Merge the latest trunk changes into the threads branch. (check-in: [ae23a65eb1] user: drh branch: threads, size: 21503)
20:02
[3c295f4466] part of check-in [a5d94eaba6] Merge the latest trunk enhancements into the sessions branch. (check-in: [a5d94eaba6] user: drh branch: sessions, size: 22470)
2014-06-28
14:28
[5df5e9afe9] part of check-in [d186d1ac3c] Change the VDBE to export the sqlite3MemCompare() routine and thus free where.c from the dependency on vdbeInt.h. (check-in: [d186d1ac3c] user: drh branch: stat4-skipscan, size: 21520)
2014-04-18
13:40
[c78ace64dc] part of check-in [f8f72ecb90] Fix harmless compiler warnings. (check-in: [f8f72ecb90] user: drh branch: threads, size: 21566)
2014-04-03
16:35
[c05d457221] part of check-in [9515c8344a] Merge all recent changes from trunk, including the fix for the OP_SCopy-vs-OP_Copy problem. (check-in: [9515c8344a] user: drh branch: sessions, size: 22533)
2014-04-01
18:41
[ba1069627d] part of check-in [821d1ac450] When sorting data for a CREATE INDEX statement in single-threaded mode, assume that keys are delivered to the sorter in primary key order. Also fix various comments that had fallen out of date. (check-in: [821d1ac450] user: dan branch: threads, size: 21588)
2014-03-28
03:12
[e6d83e5bfd] part of check-in [7fa85eaaaf] Enhance the sqlite3VdbeRecordCompare() routines so that if they encounter database corruption, they will set the UnpackedRecord.isCorrupt field and return 0. The sqlite3BtreeMovetoUnpacked() routine detects this and returns SQLITE_CORRUPT, causing the corruption to be reported back to the top-level. (check-in: [7fa85eaaaf] user: drh branch: trunk, size: 21583)
2014-03-26
19:43
[faadf45c5a] part of check-in [fc8ca1a87e] Merge in fixes (including the corrupt-database crash fix) and performance enhancements from trunk. (check-in: [fc8ca1a87e] user: drh branch: sessions, size: 22539)
2014-03-19
17:41
[2b9a684916] part of check-in [7ce2daafd3] Make it possible for block-sort to use the OP_SorterOpen sorter in addition to a generic OP_OpenEphemeral. (check-in: [7ce2daafd3] user: drh branch: orderby-planning, size: 21589)
14:10
[aa7ea20696] part of check-in [59742dd4c5] First attempt at getting block-sort to work. This is an incremental check-in. There are many problems still to be worked out. (check-in: [59742dd4c5] user: drh branch: orderby-planning, size: 21535)
2014-03-05
14:49
[aa52feb8bf] part of check-in [0828975d58] Merge in various obscure bug fixes and the removal of Mem.memType from trunk. (check-in: [0828975d58] user: drh branch: sessions, size: 22427)
01:29
[e54fc4f289] part of check-in [bac2820e13] Experimental simplification of memory flags/type handling. (check-in: [bac2820e13] user: mistachkin branch: noMemType, size: 21477)
2014-03-04
14:34
[3fecec2457] part of check-in [7f51ad97f0] Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. (check-in: [7f51ad97f0] user: drh branch: sessions, size: 22538)
2014-03-03
18:25
[9ccca0bc76] part of check-in [ba8993727e] Fix compiler warnings. (check-in: [ba8993727e] user: drh branch: experimental, size: 21588)
2014-03-01
18:13
[d55cab859a] part of check-in [44e1c33767] Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be used to free the string or blob. Add tighter invariant checks on Mem. (check-in: [44e1c33767] user: drh branch: enhanced-mem-check, size: 21582)
16:24
[a82d5ab4fd] part of check-in [354699d50e] Factor the Mem invariant checker into a separate procedure (rather than a macro) so that it can be more easily extended. (check-in: [354699d50e] user: drh branch: enhanced-mem-check, size: 21584)
14:45
[fa0cadb906] part of check-in [4aeb3ae435] Add extra assert() statements trying to catch a Mem object in an inconsistent state. (check-in: [4aeb3ae435] user: drh branch: enhanced-mem-check, size: 22215)
2014-02-11
04:30
[9ad4950c4a] part of check-in [b006792695] Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix. (check-in: [b006792695] user: drh branch: sessions, size: 22493)
2014-02-10
03:21
[5286af9067] part of check-in [5708bc24b8] Faster and smaller implementation of sqlite3_value_type(). (check-in: [5708bc24b8] user: drh branch: trunk, size: 21543)
2014-02-08
23:20
[6714e9eb5c] part of check-in [1e64dd782a] Do away with the "multi-register pseudo-table" abstration. Instead, just use an OP_SCopy to load results directory from the result registers of the co-routine. (check-in: [1e64dd782a] user: drh branch: trunk, size: 21495)
2014-02-07
19:18
[b5d62957a4] part of check-in [a522f364a6] Change the OP_InitCoroutine instruction to jump over the co-routine implementation. (check-in: [a522f364a6] user: drh branch: coroutine-refactor, size: 21554)
13:20
[bd6d5e70fe] part of check-in [6fb7448550] Add the OP_Undef and OP_IsUndef opcodes. With these, use the first register in the result register range as the flag to indicate EOF on an INSERT from a SELECT, rather than allocating a separate boolean register for that task. (check-in: [6fb7448550] user: drh branch: coroutine-refactor, size: 21502)
2013-12-24
12:09
[08d79db155] part of check-in [cfd110bf5d] Merge the latest trunk changes into the sessions branch. (check-in: [cfd110bf5d] user: drh branch: sessions, size: 22450)
2013-12-23
19:09
[42db251e9f] 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: 21500)
2013-12-18
15:11
[8a4d2d6995] part of check-in [4c6a659c43] Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set. (check-in: [4c6a659c43] user: drh branch: column-cache-debug, size: 21706)
2013-12-14
18:24
[062d6e8655] part of check-in [32477642d7] Merge in all recent preformance enhancements from trunk. (check-in: [32477642d7] user: drh branch: sessions, size: 22556)
2013-12-11
11:00
[a7bc268f84] part of check-in [a7e5fcd666] Fix harmless compiler warnings. (check-in: [a7e5fcd666] user: drh branch: trunk, size: 21606)
2013-12-10
21:38
[e103e92237] part of check-in [079c04a501] Avoid unnecessary calls to sqlite3VdbeSerialType() from within sqlite3VdbeSerialPut(). (check-in: [079c04a501] user: drh branch: trunk, size: 21611)
2013-12-09
23:17
[7e38eef8f4] part of check-in [7277a76969] Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut() helper function. (check-in: [7277a76969] user: drh branch: trunk, size: 21606)
2013-11-26
18:00
[1a5c604f33] part of check-in [fc9ae83956] Merge in performance enhancements from trunk. (check-in: [fc9ae83956] user: drh branch: sessions, size: 22561)
2013-11-21
21:59
[05fbda0e06] part of check-in [4e8c5d0795] Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. (check-in: [4e8c5d0795] user: drh branch: trunk, size: 21611)
01:04
[0ac03c790b] part of check-in [933939932c] Reduce the size of VdbeCursor again, this time without a performance hit. (check-in: [933939932c] user: drh branch: OP_Column-refactor, size: 21611)
00:10
[7cb3c641d4] part of check-in [f8d5efcd7b] Unpack some fields, adding some space back to the VdbeCursor object, in order to help the code to run a little faster. (check-in: [f8d5efcd7b] user: drh branch: OP_Column-refactor, size: 21336)
2013-11-20
21:51
[fc6a1ca59e] part of check-in [5f9d506885] Reduce the size of the VdbeCursor object from 144 to 120 bytes. (check-in: [5f9d506885] user: drh branch: OP_Column-refactor, size: 21336)
17:25
[fbae1c4490] part of check-in [7c914e3997] Refactoring the OP_Column opcode for improved performance and maintainability. (check-in: [7c914e3997] user: drh branch: OP_Column-refactor, size: 21633)
02:53
[4044cd2e9d] part of check-in [5562cd343d] Simplifications to the VdbeCursor object. (check-in: [5562cd343d] user: drh branch: trunk, size: 21378)
2013-11-14
19:18
[40461ecbac] part of check-in [7596d1bf80] Merge the skip-scan optimization into the sessions branch. (check-in: [7596d1bf80] user: drh branch: sessions, size: 22470)
2013-11-13
17:58
[62eb680327] part of check-in [8ce33f4c81] Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify some of the other debugging logic. (check-in: [8ce33f4c81] user: drh branch: trunk, size: 21520)
2013-11-11
22:55
[fe226d7290] part of check-in [5addd1234d] Merge in the WITHOUT ROWID changes. A few tests are failing now. They will be fixed in a follow-on check-in. (check-in: [5addd1234d] user: drh branch: sessions, size: 22572)
2013-11-01
22:02
[f2fa3ceccc] part of check-in [302a81390f] Size KeyInfo objects so that IdxInserts always compare the correct number of fields. (check-in: [302a81390f] user: drh branch: omit-rowid, size: 21622)
2013-10-26
15:40
[42dcff74db] part of check-in [086ec2a177] Work on the UPDATE and INSERT logic. This is an incremental check-in so that can switch over to trunk to work on an unrelated issue there. (check-in: [086ec2a177] user: drh branch: omit-rowid, size: 21617)
2013-10-10
20:13
[2eaf8a38ec] part of check-in [136445ba02] Synchronize with the trunk. (check-in: [136445ba02] user: drh branch: sessions, size: 22611)
2013-09-16
12:57
[ff57f67aee] part of check-in [daf6ba413c] The date and time functions use the exact same notion of "now" for every invocation within the same call to sqlite3_step(). (check-in: [daf6ba413c] user: drh branch: trunk, size: 21661)
2013-08-20
13:02
[9bf236dc47] part of check-in [3e4033285d] Merge performance enhancements and compiler warning fixes from trunk. (check-in: [3e4033285d] user: drh branch: sessions, size: 22534)
00:42
[cbe71b8b36] part of check-in [d78c5d89de] Performance optimizations in the VDBE and especially to the OP_Next and related opcodes. (check-in: [d78c5d89de] user: drh branch: toTypeFuncs, size: 21584)
2013-08-19
23:18
[6931139cef] part of check-in [d2efea1682] Performance improvement to SQL function calls in the VDBE. (check-in: [d2efea1682] user: drh branch: toTypeFuncs, size: 21584)
2013-08-02
20:44
[cc1974b94e] part of check-in [7e1acb3907] Merge in the latest trunk changes, including partial indexes, the MAX_PATH fix in os_win.c, and the sqlite3_cancel_auto_extension() API. (check-in: [7e1acb3907] user: drh branch: sessions, size: 22465)
2013-07-18
17:12
[e9b7c6b165] part of check-in [71effa59c9] Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. Partial fix for [406d3b2ef9]. DRH adds: Stray text accidentally inserted into vdbe.c just prior to the commit breaks the build. (check-in: [71effa59c9] user: dan branch: typo, size: 21515)
2013-07-11
15:03
[5e666c971c] part of check-in [527121ac3c] Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS value for sqlite3_db_status(). This is a cherry-pick of a sequence of five checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70]. (check-in: [527121ac3c] user: drh branch: trunk, size: 21532)
2013-07-09
13:05
[11feb11eb4] part of check-in [af3ca4c6e5] Pull in all the latest changes from trunk. (check-in: [af3ca4c6e5] user: drh branch: sessions, size: 22482)
2013-07-03
19:53
[1ca0f9ae9e] part of check-in [1d44e5d3c2] Experimental change to the handling of foreign key constraint violations when applying a changeset: all foreign keys, immediate and deferred, are deferred until the end of the transaction (or sub-transaction) opened by the sqlite3changeset_apply(). A single call to the conflict-handler (if any) is made if any FK constraint violations are still present in the database at this point. The conflict-handler may choose to rollback the changeset or to apply it, constraint violations and all. (check-in: [1d44e5d3c2] user: dan branch: sessions, size: 22412)
2013-06-28
01:24
[aa185c6df4] part of check-in [59f98c5c24] Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. (check-in: [59f98c5c24] user: drh branch: trunk, size: 21451)
2013-06-27
17:40
[9735fdf28b] part of check-in [1937fd8eec] Make sure that sqlite3_stmt_readonly reports false for PRAGMA journal_mode and PRAGMA wal_checkpoint. Ticket [a589ec069e3]. Also keep track of whether a prepared statement does no reading or writing. (check-in: [1937fd8eec] user: drh branch: trunk, size: 21458)
2013-06-26
13:31
[cbecb80137] part of check-in [086a127236] Bring the sessions branch up-to-date with all the latest trunk changes. (check-in: [086a127236] user: drh branch: sessions, size: 22331)
2013-06-25
22:01
[b8a76f7b73] part of check-in [f1366bab73] Add a new (experimental) sqlite3_stmt_status() verb that returns the number of VM steps. (check-in: [f1366bab73] user: drh branch: status-vm-step, size: 21381)
2013-04-22
23:59
[a6b7a1fbb2] part of check-in [6994826c07] Merge the latest trunk changes into the sessions branch. (check-in: [6994826c07] user: drh branch: sessions, size: 22331)
2013-04-06
18:06
[c1e830268b] 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: 21381)
2013-03-28
01:19
[bd76014fa5] part of check-in [ee35a89712] Merge the changes for the 3.7.16.1 release candidate into the sessions branch. (check-in: [ee35a89712] user: drh branch: sessions, size: 22125)
2013-03-24
22:56
[3bb8531d67] part of check-in [8b44d6fb15] Remove the SQLITE_OMIT_MERGE_SORT compile-time option and its related code. The merge sorter is now a required component. (check-in: [8b44d6fb15] user: drh branch: trunk, size: 21175)
2013-02-13
13:42
[0112cab1c8] part of check-in [7e14dc734d] Enhancements to the query planner to make use of indices for ORDER BY even when IN constraints are in the WHERE clause. Add extended error codes for all SQLITE_CONSTRAINT errors. (check-in: [7e14dc734d] user: drh branch: sessions, size: 22511)
2013-02-07
09:33
[396bb03eec] part of check-in [4a7b4ee011] Fix harmless compiler warnings. (check-in: [4a7b4ee011] user: drh branch: trunk, size: 21561)
2013-01-28
19:00
[c5b337e571] part of check-in [c2462a95ed] Issue an error message and quit (rather than overflowing a reference counter) if the number of references to a table exceeds the maximum due to nested UNION views. Fix for ticket [d58ccbb3f1]. (check-in: [c2462a95ed] user: drh branch: trunk, size: 21561)
2012-10-30
21:03
[2de43968dc] part of check-in [fce667f2d9] Pull all the latest trunk enhancements into the sessions branch. (check-in: [fce667f2d9] user: drh branch: sessions, size: 22511)
00:29
[79abf9b31b] part of check-in [7af3acbbd4] Add an optimization that attempts to run a subquery as a coroutine rather than manifesting it into a temporary table. (check-in: [7af3acbbd4] user: drh branch: subquery-as-coroutine, size: 21561)
2012-09-28
13:05
[39acf85fa8] part of check-in [6ca8eae1f8] Merge the latest trunk changes (especially "PRAGMA busy_timeout" and the ORDER BY query planner optimizations) into the sessions branch. (check-in: [6ca8eae1f8] user: drh branch: sessions, size: 22452)
2012-09-19
21:15
[573a43ab56] part of check-in [94b48064db] Tighter VDBE code for the WHERE_DISTINCT_ORDERED case of DISTINCT keyword handling. (check-in: [94b48064db] user: drh branch: trunk, size: 21502)
2012-09-04
21:34
[a668b30364] part of check-in [39f763bfc0] Avoid repeating calls to the sqlite3_trace() callback when the same statement is evaluted multiple times by sqlite3_step() due to an SQLITE_SCHEMA reprepare. (check-in: [39f763bfc0] user: drh branch: trunk, size: 21429)
2012-08-22
15:16
[3c238336fc] part of check-in [acdc7d1270] Do not let the multi-core sorter use lookaside memory, which is not thread-safe. (check-in: [acdc7d1270] user: drh branch: threads-sort-ex1, size: 21155)
2012-08-15
16:21
[3f5d994703] part of check-in [fc07a4795e] Merge all the latest trunk changes into the sessions branch. (check-in: [fc07a4795e] user: drh branch: sessions, size: 22151)
15:57
[4554c3a3c7] part of check-in [2bb8c49261] Experimental change to speed up ORDER BY clauses that sort based on a single expression. (check-in: [2bb8c49261] user: dan branch: sorter-exp, size: 21186)
2012-07-24
19:46
[986b6b11a1] part of check-in [d8da26f1f4] Mark parameters to sorter interfaces as const where appropriate. (check-in: [d8da26f1f4] user: drh branch: trunk, size: 21201)
2012-02-13
13:44
[634aa57351] 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: 21247)
2012-02-10
17:54
[f1956902b0] part of check-in [361fb66a79] Pull all the latest trunk changes into the sessions branch. (check-in: [361fb66a79] user: drh branch: sessions, size: 22121)
2012-02-02
21:02
[6ff4180a05] part of check-in [f14e7f29ff] More structure packing for smaller objects and less memory usage. (check-in: [f14e7f29ff] user: drh branch: trunk, size: 21171)
17:35
[0f986e86a4] part of check-in [adb29232b6] For queries of the form "SELECT p, max(q) FROM t1", the value of column p returned is the one on the same row that holds the maximum value of q. (check-in: [adb29232b6] user: drh branch: output-minmax-row, size: 21171)
2012-02-01
19:03
[2e79ce66ff] part of check-in [a38d57a4e5] Very small performance enhancement and reduction in size of the sqlite3_stmt object. (check-in: [a38d57a4e5] user: drh branch: trunk, size: 21103)
2012-01-14
13:50
[1aa78a0c2d] part of check-in [01c84fd391] Update sessions branch with latest changes from trunk. (check-in: [01c84fd391] user: dan branch: sessions, size: 22123)
2012-01-08
22:18
[ef9b8584b2] part of check-in [fc9179e154] Fix typos in commands. Combine the ExpandBlob and expandBlob macros into one. (check-in: [fc9179e154] user: drh branch: trunk, size: 21173)
2012-01-05
13:02
[57ca039ec5] part of check-in [a9bcb432f5] Merge all of the latest trunk changes into the sessions branch. (check-in: [a9bcb432f5] user: drh branch: sessions, size: 22011)
2012-01-04
12:57
[88e4d5d717] part of check-in [e9d05cbb76] Fix typos and comments and make minor changes to a few function names, as suggested by readership. (check-in: [e9d05cbb76] user: drh branch: trunk, size: 21061)
2011-12-10
15:55
[48c158b2fc] part of check-in [bcbc7152d4] Import the experimental parse-tree explainer, with fixes, from the tree-explain branch. Disabled by default. Use SQLITE_ENABLE_TREE_EXPLAIN to turn it on. (check-in: [bcbc7152d4] user: drh branch: trunk, size: 21062)
14:44
[72222af1a5] part of check-in [1a360da0f8] Merge the latest trunk changes into tree-explain branch. (check-in: [1a360da0f8] user: drh branch: tree-explain, size: 21021)
2011-12-09
13:24
[23a9506c9a] part of check-in [557c69055a] Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442]. (check-in: [557c69055a] user: dan branch: trunk, size: 20436)
2011-12-06
19:44
[a2b8f17783] part of check-in [79ae51c5b1] Begin adding the data-structure explaining subsystem. All is contained within (check-in: [79ae51c5b1] user: drh branch: tree-explain, size: 20778)
2011-10-31
14:34
[09dacf6f91] part of check-in [23580718e1] Merge in all changes found in the version 3.7.9 release candidate. (check-in: [23580718e1] user: drh branch: sessions, size: 21143)
2011-10-27
15:19
[9498fc98a2] part of check-in [8f88cc4e61] If an error occurs within sqlite3_step() on a statement prepared using sqlite3_prepare_v2(), transfer both the error code and error message to the database handle before sqlite3_step() returns (so that they are available via sqlite3_errcode() and sqlite3_errmsg(). Prior to this commit, only the error code was transfered. The error message was not available until after either sqlite3_reset() or sqlite3_finalize() had been called on the statement handle. (check-in: [8f88cc4e61] user: dan branch: trunk, size: 20193)
2011-09-20
15:53
[425674f4c1] part of check-in [892723575c] Add SQLITE_STMTSTATUS_CACHE_HIT/MISS and SQLITE_DB_STATUS_CACHE_HIT/MISS. For querying the number of pager cache hits and misses on a statement or connection basis. (check-in: [892723575c] user: dan branch: cache-stats, size: 20154)
2011-09-14
19:41
[1400515b37] part of check-in [c00e45ede7] Merge latest changes from the trunk into the sessions branch. (check-in: [c00e45ede7] user: dan branch: sessions, size: 21104)
2011-09-03
00:17
[693d6ac681] part of check-in [68e26c4487] The build works again with -DSQLITE_OMIT_MERGE_SORT. The merge-sorter now avoids spilling to disk (letting the in-memory linked list grow without bound) if PRAGMA temp_store=3. (check-in: [68e26c4487] user: drh branch: merge-sort, size: 20154)
2011-09-02
10:31
[a255da14be] part of check-in [7769fb988d] Instead of a temporary b-tree, use a linked-list and merge-sort to sort records in main memory in vdbesort.c. (check-in: [7769fb988d] user: dan branch: merge-sort, size: 20154)
2011-09-01
15:32
[51a902e12c] part of check-in [bab2e560f6] Experimental code-generator changes to utilize new opcodes for sorting. (check-in: [bab2e560f6] user: drh branch: merge-sort, size: 20043)
2011-08-29
02:49
[70767f6504] part of check-in [ff71d20a9e] About a 1% overall performance improvement by using a macro to avoid no-op calls to sqlite3MemReleaseExternal(). (check-in: [ff71d20a9e] user: drh branch: experimental, size: 19986)
2011-08-26
19:20
[1b36e54662] part of check-in [eb036d6f81] Merge the latest trunk changes into the sessions branch. (check-in: [eb036d6f81] user: drh branch: sessions, size: 20812)
2011-08-12
16:11
[f9250326f2] part of check-in [1a8498d803] Remove an unused parameter from a function in vdbesort.c. Fix some comments and other details in the same file. (check-in: [1a8498d803] user: dan branch: experimental, size: 19862)
15:02
[603b4ccc81] part of check-in [4ced2394b1] Add the SQLITE_OMIT_MERGE_SORT pre-processor directive. To omit the code in vdbesort.c. (check-in: [4ced2394b1] user: dan branch: experimental, size: 19873)
2011-08-06
12:01
[de75338edf] part of check-in [8051c1767c] In temp files used for merge sorting, store the size of each packed-memory-array at the start of the array itself. This is to avoid having to store the offsets of all arrays in the (potentially very large) file in main-memory. (check-in: [8051c1767c] user: dan branch: experimental, size: 19539)
2011-08-02
10:56
[9e38e4f866] part of check-in [7f339c0e26] Minor fixes to vdbesort.c code in preparation for a major rework. (check-in: [7f339c0e26] user: dan branch: experimental, size: 19534)
2011-07-12
14:28
[fb6c86006d] part of check-in [30dbf0feab] Experimental support for speeding up CREATE INDEX commands using an offline merge sort. (check-in: [30dbf0feab] user: dan branch: experimental, size: 19352)
2011-06-20
10:44
[3de6588b36] part of check-in [4c5e276c90] Merge the latest trunk changes into the sessions branch. (check-in: [4c5e276c90] user: drh branch: sessions, size: 19988)
2011-06-01
18:15
[ad84226cc0] part of check-in [b3aaf715b6] Refactor the SQL parameter processing so that parameter names for values that are optimized out of the prepare statement are not forgotten. (check-in: [b3aaf715b6] user: drh branch: trunk, size: 19038)
2011-04-06
22:33
[b95de01246] part of check-in [435b57dc2b] Merge in the latest changes from the trunk. (check-in: [435b57dc2b] user: drh branch: sessions, size: 19996)
22:05
[fe8f58d305] part of check-in [614de91a50] Fix a performance regression: Keep two btree masks in each prepared statement; one for btrees used and another for btrees that require locks. Only try to lock the btrees identified by the second mask. (check-in: [614de91a50] user: drh branch: trunk, size: 19046)
2011-04-05
22:13
[3dec3d5b88] part of check-in [45f2026172] Merge the latest trunk changes into the sessions branch. (check-in: [45f2026172] user: drh branch: sessions, size: 19923)
17:31
[53dfcaf5b8] part of check-in [242ce7cff4] Remove the mutex counter and the logic that attempts to verify that btree mutexes are held continuously. We are not making that assumption at this time. (check-in: [242ce7cff4] user: drh branch: trunk, size: 18973)
2011-04-04
13:19
[36dddc4cc3] part of check-in [95d53c4432] Merge the latest changes of trunk into the session branch. (check-in: [95d53c4432] user: drh branch: sessions, size: 19891)
00:14
[7e2f028ecc] part of check-in [d81708f7d1] Remove the BtreeMutexArray object - use the Vdbe.btreeMask field to accomplish the same result. Add a generation counter to btree mutexes in order to assert that mutexes are never temporarily dropped over a range of instructions in order to do deadlock avoidance in some subroutine. Lock all btrees in any Vdbe program that uses OP_ParseSchema. (check-in: [d81708f7d1] user: drh branch: trunk, size: 18941)
2011-04-02
20:01
[8ee9302ecc] part of check-in [3d6f2e8235] Change the name of the "tAttachMask" datatype to "yDbMask". (check-in: [3d6f2e8235] user: drh branch: trunk, size: 18981)
2011-03-23
22:48
[b6748a8ac9] part of check-in [9c3a6e4799] Merge in all the latest changes from the trunk, and especially the interface changes to the SystemCall methods of the VFS. (check-in: [9c3a6e4799] user: drh branch: sessions, size: 19931)
18:22
[e1c6254641] part of check-in [7aaf877227] Increase the upper bound on SQLITE_MAX_ATTACHED from 30 to 62. (check-in: [7aaf877227] user: drh branch: trunk, size: 18981)
2011-03-19
08:38
[2cf77c1d15] part of check-in [24d4d5dd00] Fix a problem with INTEGER PRIMARY KEY columns and the pre-update hook. (check-in: [24d4d5dd00] user: dan branch: sessions, size: 19931)
2011-03-16
19:59
[20d13da932] part of check-in [526545c49f] Add the sqlite3_preupdate_new() API, for retrieving the new.* values from within a pre-update callback. (check-in: [526545c49f] user: dan branch: sessions, size: 19716)
2011-03-08
19:22
[9dd04435bd] part of check-in [269a81a37d] Add start of sessions feature. (check-in: [269a81a37d] user: dan branch: sessions, size: 19504)
2011-03-01
18:42
[41b8e33733] part of check-in [6145d7b89f] Add the experimental sqlite3_preupdate_hook() API. (check-in: [6145d7b89f] user: dan branch: sessions, size: 19485)
2011-01-07
02:50
[6e6f28e9bc] part of check-in [378a1d13af] Reorder the fields in private structures in an effort to reduce alignment gaps and thus make the structures smaller, and to put frequently accessed fields first. Also update some obsolete comments. Valgrind shows a very slight performance improvement. (check-in: [378a1d13af] user: drh branch: trunk, size: 18981)
2010-12-01
08:04
[1f2137b905] part of check-in [119ffe955e] Avoid recursive calls to sqlite3VdbeMemRelease() when deleting VM frames used by trigger programs. (check-in: [119ffe955e] user: dan branch: trunk, size: 19927)
2010-09-27
21:09
[7f4cf1b2b6] part of check-in [8b8e1732e8] Add assert() statements that fail when a shallow copy is accessed after the original has been modified. These assert() statements should detect the kinds of subtle SCopy bugs such as caused the fault in ticket [b351d95f9cd5ef17e9d9dbae18f]. (check-in: [8b8e1732e8] user: drh branch: bug-b351d95f9c, size: 19220)
2010-08-30
22:15
[a247bd5448] part of check-in [4fead8e714] Provide hints to the btree layer during the creation of transient tables for when it is possible for those tables to use a hash rather than a binary tree. No use is currently made of those hints, though assert() statement verify their accuracy. (check-in: [4fead8e714] user: drh branch: trunk, size: 18723)
2010-07-26
12:05
[ffd68c4d42] 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: 18645)
2010-04-06
22:33
[19ebc8c2a2] part of check-in [abbf16e5e7] Veryquick.test is now working. The SQLITE_STMTSTATUS_AUTOINDEX counter added. (check-in: [abbf16e5e7] user: drh branch: experimental, size: 18570)
2010-02-25
14:56
[15d418f4c6] part of check-in [b8fbf4275b] Expire pragma statements when reset, even if they were not run to completion. (check-in: [b8fbf4275b] user: drh branch: branch-3.6.22, size: 18465)
14:47
[ae1e6ba0dd] part of check-in [78351d289b] Expire pragma statements when reset, even if they were not run to completion. (check-in: [78351d289b] user: drh branch: trunk, size: 18570)
2010-01-13
00:04
[e276691b68] part of check-in [61df598660] Make the sqlite3_result_double() interface work the same as sqlite3_result_int64() when SQLITE_OMIT_FLOATING_POINT is defined. (check-in: [61df598660] user: drh branch: trunk, size: 18508)
2009-11-14
23:22
[d7ea821ac7] part of check-in [d622ac6ac7] Optimizations to the main loop inside sqlite3VdbeExec() to help VDBE byte code run a few percent faster. (check-in: [d622ac6ac7] user: drh branch: trunk, size: 18403)
2009-11-10
01:30
[59c65e7b81] part of check-in [f6c045f649] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f649] user: drh branch: trunk, size: 18447)
2009-11-04
13:17
[53b430ad3f] part of check-in [24a4d520d5] Create a new datatype "ynVar" to hold "nVar" (number of variable) values. This is normally 16-bits can can be 32-bits if SQLITE_MAX_VARIABLE_NUMBER is large enough. (check-in: [24a4d520d5] user: drh branch: trunk, size: 18506)
2009-11-03
01:22
[aa08465efa] part of check-in [16a24b4485] All SQLITE_MAX_VARIABLE_NUMBER to exceed 32767. The sizes of some structures increase when the compile-time parameter is configured this way. (check-in: [16a24b4485] user: drh branch: trunk, size: 18621)
2009-10-26
22:32
[97312570b5] part of check-in [2eeb6ed818] Remove additional obsolete code from the sqlite3_release_memory() logic. (check-in: [2eeb6ed818] user: drh branch: trunk, size: 18506)
2009-10-19
18:11
[8e07f4356d] part of check-in [2c50b3d5aa] Remove the sqlite3_reoptimize() API. The same functionality is now provided automatically to queries prepared using prepare_v2(). (check-in: [2c50b3d5aa] user: dan branch: trunk, size: 18592)
2009-10-15
18:35
[aafda2e976] part of check-in [9bd6f3d886] Add the experimental sqlite3_reoptimize() API. (check-in: [9bd6f3d886] user: dan branch: experimental, size: 18754)
2009-09-23
18:07
[7afb76c029] part of check-in [e0a48d5311] Fix a problem with FK constraints that implicitly map to a composite primary key. (check-in: [e0a48d5311] user: dan branch: trunk, size: 18482)
17:30
[03336c0364] part of check-in [1a32149cc3] Do not check immediate foreign key constraints until the end of the statement. This matches the postgres behaviour. (check-in: [1a32149cc3] user: dan branch: trunk, size: 18487)
2009-09-19
17:00
[546ed25cad] part of check-in [d5d3998118] Check in implementation of foreign key constraints. (check-in: [d5d3998118] user: dan branch: trunk, size: 18417)
2009-09-08
01:14
[004dbb28a9] part of check-in [52449a9569] Code simplifications, especially to the pseudo-table logic, and comment improvements. (check-in: [52449a9569] user: drh branch: trunk, size: 18217)
2009-09-01
12:16
[6094e60f64] part of check-in [38a9327bad] More fixes and comment updates. (check-in: [38a9327bad] user: dan branch: trunk, size: 18267)
2009-08-30
11:42
[1291908344] part of check-in [9eb91efda5] Fixes for new triggers scheme. (check-in: [9eb91efda5] user: dan branch: trunk, size: 17689)
2009-08-28
18:53
[9b62f7053d] part of check-in [9b9c192115] Changes to support recursive triggers. (check-in: [9b9c192115] user: dan branch: trunk, size: 18410)
2009-06-23
14:15
[831c254a6e] part of check-in [3ffc93d762] Simplifications to vdbe.c to promote better test coverage. (CVS 6802) (check-in: [3ffc93d762] user: drh branch: trunk, size: 17216)
2009-06-22
00:55
[7823eac611] part of check-in [16680f05bd] Simplifications to vdbe.c in support of coverage testing. (CVS 6794) (check-in: [16680f05bd] user: drh branch: trunk, size: 17206)
2009-06-19
14:06
[f5147efa8e] part of check-in [37ae5f5e8f] Reorganize and cleanup the prepared statement object. Remove code that has been commented out for ages and is no longer relevant to anything. (CVS 6786) (check-in: [37ae5f5e8f] user: drh branch: trunk, size: 17388)
2009-06-05
14:17
[3727128255] part of check-in [38b20327a8] Take care that a corrupt variable-length integer does not cause 32-bit integer overflow when parsing a record format, nor cause excessively large memory allocations. (CVS 6719) (check-in: [38b20327a8] user: drh branch: trunk, size: 17607)
2009-05-04
11:42
[43183a2a18] part of check-in [cac4f3d812] Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599) (check-in: [cac4f3d812] user: danielk1977 branch: trunk, size: 17615)
2009-04-22
02:15
[8726f7b4e3] part of check-in [e963bed0fe] Remove the rowhash object from the code. Rowset now fills its role. (CVS 6535) (check-in: [e963bed0fe] user: drh branch: trunk, size: 17476)
2009-04-21
09:02
[d3adfeccc7] part of check-in [f61e4cd936] Attempt to optimize virtual table queries with 'OR' expressions in the WHERE clause. (CVS 6527) (check-in: [f61e4cd936] user: danielk1977 branch: trunk, size: 17611)
2009-04-10
12:55
[df5c5a1c73] part of check-in [683e4bd747] Changes to ensure that when running in shared-cache mode with a non-threadsafe build, the correct busy-handler callback is always invoked. (CVS 6481) (check-in: [683e4bd747] user: danielk1977 branch: trunk, size: 17484)
2009-03-18
10:33
[53a2f46968] part of check-in [a60f419179] Fix some cases where executing SQL from within a user-function callback could cause problems related to statement-transactions. (CVS 6355) (check-in: [a60f419179] user: danielk1977 branch: trunk, size: 17356)
2009-03-17
22:33
[8732228974] part of check-in [189785832a] Move the rowid cache out of VdbeCursor and into BtCursor. When multiple BtCursors are open on the same table, set their rowid cache all at the same time. Ticket #3731. (CVS 6354) (check-in: [189785832a] user: drh branch: trunk, size: 17302)
2009-02-20
01:28
[d12bc259b3] part of check-in [58a1809257] Reuse space left-over opcode space at the end of the VDBE opcode array to store memory cells, VDBE cursors, and other content needed by the VDBE. This reduces the memory required by a prepared statement. (CVS 6307) (check-in: [58a1809257] user: drh branch: trunk, size: 17434)
2009-02-19
14:39
[9dd984cf80] 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: 17377)
2009-02-03
15:39
[13cb4868ea] part of check-in [a3c260772b] Remove the text of the sqlite3VdbeMemSanity() routine, which was already commented out. (CVS 6238) (check-in: [a3c260772b] user: drh branch: trunk, size: 17559)
2009-01-05
18:02
[5530e45fc6] part of check-in [b2131e868a] Make sure the MEM_Zero flags is cleared whenever removing MEM_Blob. (CVS 6111) (check-in: [b2131e868a] user: drh branch: trunk, size: 17616)
2008-12-09
02:51
[e6e80a99ce] part of check-in [1522c2c667] Suppress more silly compiler warnings. (CVS 5995) (check-in: [1522c2c667] user: drh branch: trunk, size: 17602)
2008-12-04
20:40
[1df957ab0f] part of check-in [39a0750b49] Replace the VDBE Fifo object with the new RowSet object. (CVS 5977) (check-in: [39a0750b49] user: drh branch: trunk, size: 17533)
2008-11-17
15:31
[6b10824808] part of check-in [9939dd839a] Modifications to avoid signed/unsigned warnings in vdbe.c. (CVS 5912) (check-in: [9939dd839a] user: danielk1977 branch: trunk, size: 18497)
2008-11-05
16:37
[c9400778d6] part of check-in [51f04aaff2] The COMMIT command now works even if there are pending queries, as long as the pending queries are reading and not writing the database. (CVS 5864) (check-in: [51f04aaff2] user: drh branch: trunk, size: 18489)
2008-11-03
20:55
[1fd8700278] part of check-in [fdb98fd8c1] Change the name of the Cursor object to VdbeCursor. (CVS 5857) (check-in: [fdb98fd8c1] user: drh branch: trunk, size: 18362)
2008-10-07
23:46
[a20f479ec3] part of check-in [de473efb35] Add the experimental sqlite3_stmt_status() interface. (CVS 5781) (check-in: [de473efb35] user: drh branch: trunk, size: 18318)
2008-08-13
19:11
[b48c74d86a] part of check-in [0b92cbf525] Additional changes toward fixing ticket #3292. (CVS 5562) (check-in: [0b92cbf525] user: drh branch: trunk, size: 18245)
2008-08-02
03:50
[6f04c2bf65] 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: 19349)
2008-07-30
13:14
[ab27f96445] part of check-in [aee6330831] Remove unused sqlite3VdbeMemDynamicify() function from the VDBE. (CVS 5500) (check-in: [aee6330831] user: drh branch: trunk, size: 19428)
2008-07-28
19:34
[1672cc137e] 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: 19464)
2008-07-26
18:26
[3c12ae0982] part of check-in [7aecabacf9] Fix a case where database corruption was causing an invalid reference. (CVS 5484) (check-in: [7aecabacf9] user: danielk1977 branch: trunk, size: 19399)
2008-06-25
00:12
[30535c1d30] part of check-in [8bbfa97837] The compound-select merge optimization passes quick.test with no errors. (CVS 5299) (check-in: [8bbfa97837] user: drh branch: trunk, size: 19380)
2008-06-20
18:13
[723fb796fc] part of check-in [083113652f] Add new Compare and Jump codes to the virtual machine. Use them in the implementation of aggregate queries. (CVS 5257) (check-in: [083113652f] user: drh branch: trunk, size: 19456)
2008-06-06
15:04
[de321b2c02] part of check-in [ef1956eebc] Remove the subroutine return stack from the VDBE. Return addresses for subroutines are now stored in registers. (CVS 5191) (check-in: [ef1956eebc] user: drh branch: trunk, size: 19380)
2008-05-16
04:51
[ede1a31cfa] part of check-in [81a8c70ed7] Add more version tags to files that lack them. Ticket #3120. (CVS 5137) (check-in: [81a8c70ed7] user: danielk1977 branch: trunk, size: 19535)
2008-05-01
17:03
[18aebaa785] part of check-in [227a6f67c2] Fix harmless compiler warnings. (CVS 5073) (check-in: [227a6f67c2] user: drh branch: trunk, size: 19468)
2008-04-18
09:01
[05316345da] part of check-in [c448f15aa5] Allow OP_MoveGt and similar to use an array of registers instead of a serialized record. Modify one type of index range scan to use this. (CVS 5028) (check-in: [c448f15aa5] user: danielk1977 branch: trunk, size: 19422)
2008-03-28
15:44
[0b96efdeec] part of check-in [d0bf73d814] Changes to the Mem structure to reduce the frequency of freeing and reallocating the dynamic buffer. (CVS 4928) (check-in: [d0bf73d814] user: danielk1977 branch: trunk, size: 19405)
2008-03-27
17:59
[73a3162979] part of check-in [1a58a87023] Allow creation of ephemeral pseudo-tables - pseudo-tables that copy a pointer to a row when inserted instead of copying the row data. (CVS 4924) (check-in: [1a58a87023] user: danielk1977 branch: trunk, size: 19288)
2008-03-26
18:34
[2584494757] part of check-in [8c2f69521f] Changes to delay freeing buffers associated with vdbe memory cells until either sqlite3_finalize() or sqlite3_release_memory() is called. (CVS 4922) (check-in: [8c2f69521f] user: danielk1977 branch: trunk, size: 19263)
2008-03-25
17:23
[4d767f189a] part of check-in [ee381b4356] Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather than a record formed using {quote: MakeRecord.} This avoids a needless packing and unpacking of the record to be deleted. (CVS 4916) (check-in: [ee381b4356] user: drh branch: trunk, size: 19141)
00:22
[4bbec80d55] 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: 18252)
2008-02-13
18:25
[76c81d057a] part of check-in [990237e27e] Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783) (check-in: [990237e27e] user: danielk1977 branch: trunk, size: 18322)
2008-02-06
14:11
[969d360acc] part of check-in [c246162043] Add the sqlite3_result_error_code() application interface. Use it in the ATTACH function so that a failed attach returns a proper error code. Ticket #2914. (CVS 4775) (check-in: [c246162043] user: drh branch: trunk, size: 18448)
2008-01-28
15:19
[b7a18349e9] part of check-in [50c9cf9bbb] Fix an incorrect comment on the Mem object in vdbeInt.h. (CVS 4752) (check-in: [50c9cf9bbb] user: drh branch: trunk, size: 18436)
2008-01-22
21:30
[6b4a438198] part of check-in [1a335e1801] Add the fault injector module in fault.c. Use it as a basis for memory allocation failure testing. (CVS 4742) (check-in: [1a335e1801] user: drh branch: trunk, size: 18436)
2008-01-17
16:22
[835e6f0337] part of check-in [706b41b70b] Registerification of the VDBE is complete. The operand stack has been removed from the code. All instructions operate out of registers only. (CVS 4718) (check-in: [706b41b70b] user: drh branch: trunk, size: 18435)
2008-01-04
16:50
[31bd686595] part of check-in [042dcb9621] Replace the NOPUSH_MASKs with a bit-vector mechanism that can contain several different properties about each opcode. (CVS 4677) (check-in: [042dcb9621] user: drh branch: trunk, size: 18641)
2008-01-03
11:50
[869d0f5503] part of check-in [7e8330c804] Change the VdbeOp.p4 union to include specific pointer types for the various values of VdbeOp.p4type. (CVS 4667) (check-in: [7e8330c804] user: danielk1977 branch: trunk, size: 18632)
2008-01-02
00:34
[2985f13692] part of check-in [051ec01f27] Begin setting a foundation on which to convert the VM from a stack-based to a register-based machine. Everything is still mostly stack based with this check-in. This change merely begins adding infrastructure to support a register-based architecture. (CVS 4652) (check-in: [051ec01f27] user: drh branch: trunk, size: 18690)
2007-08-28
23:28
[630145b9bf] part of check-in [f84550be0a] The shared_err test runs with no errors. But a potential deadlock has been discovered and is still unfixed. (CVS 4317) (check-in: [f84550be0a] user: drh branch: trunk, size: 18704)
22:24
[a9dcd06887] part of check-in [967ab229af] Clean up the locking in the btree logic. (CVS 4316) (check-in: [967ab229af] user: drh branch: trunk, size: 18679)
02:27
[0681e0b74a] part of check-in [b8cc493b47] Work toward correct btree locking in a multithreaded environment. (CVS 4307) (check-in: [b8cc493b47] user: drh branch: trunk, size: 18607)
2007-08-27
23:26
[2bb602c9cb] part of check-in [dc80b2e1f4] Work around problem with forward declarations of constants in MSVC in the amalgamation. Ticket #2574. (CVS 4304) (check-in: [dc80b2e1f4] user: drh branch: trunk, size: 18554)
2007-08-21
19:33
[39fb069ce0] 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: 18836)
2007-08-16
12:24
[8e360d3263] part of check-in [ba80ee59a7] Combine sqlite3DbOfVdbe() and sqlite3VdbeDb() into a single function. (CVS 4236) (check-in: [ba80ee59a7] user: drh branch: trunk, size: 18972)
10:09
[e0bd068cf6] 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: 19005)
04:30
[0629275fd2] 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: 18860)
2007-06-27
15:53
[c3514903ca] part of check-in [37d1f9f37e] Allow ALTER TABLE on virtual tables. (CVS 4142) (check-in: [37d1f9f37e] user: danielk1977 branch: trunk, size: 18777)
2007-05-16
14:23
[7d2bf163d6] part of check-in [1d89be287d] Omit some extra code when OMIT_INCRBLOB is defined. (CVS 4014) (check-in: [1d89be287d] user: danielk1977 branch: trunk, size: 18700)
2007-05-08
21:45
[bddb7931fc] part of check-in [c5754530c6] Remove compiler warnings in the amalgamation. (CVS 3960) (check-in: [c5754530c6] user: drh branch: trunk, size: 18526)
20:59
[095222fefd] part of check-in [5a0fe98548] Disable tracing pragmas when not in debug mode. This eliminates an external dependency on stdout. (CVS 3959) (check-in: [5a0fe98548] user: drh branch: trunk, size: 18518)
12:12
[77a17f1a8b] part of check-in [031a5915b6] Begin adding code to explicitly limit the size of strings and blobs. (CVS 3943) (check-in: [031a5915b6] user: drh branch: trunk, size: 18491)
2007-05-02
13:30
[cb02cbbced] part of check-in [e6d560ddee] Add support for zero-blobs to the OP_MakeRecord opcode. First test cases of zeroblob functionality. (CVS 3897) (check-in: [e6d560ddee] user: drh branch: trunk, size: 18459)
02:08
[10ff7c35f7] part of check-in [6f4f8ba7ec] Fix some compiler warnings. Add the (untested) zeroblob() SQL function. (CVS 3895) (check-in: [6f4f8ba7ec] user: drh branch: trunk, size: 18429)
01:34
[016c808478] part of check-in [7a01836dde] Begin adding the zeroblob API to support incremental blob i/o. (CVS 3894) (check-in: [7a01836dde] user: drh branch: trunk, size: 18393)
2007-03-30
11:23
[4b19fd8feb] part of check-in [6b995259bc] Remove the anonymous union from the sqlite3_value structure since some compilers are unable to deal with it. (CVS 3758) (check-in: [6b995259bc] user: drh branch: trunk, size: 18270)
2007-03-26
22:05
[b2ca85ca8a] 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: 18227)
2007-01-26
21:08
[13ba07121c] part of check-in [93edd3b056] Make sure the vdbeInt.h file is not #included multiple times. Ticket #2194. (CVS 3608) (check-in: [93edd3b056] user: drh branch: trunk, size: 18179)
2006-11-09
00:24
[1ca07f2d74] 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: 18103)
2006-06-27
13:20
[e3eaab262b] part of check-in [5612b28705] Changes so that it will build with SQLITE_OMIT_VIRTUALTABLE=1. (CVS 3309) (check-in: [5612b28705] user: drh branch: trunk, size: 17973)
2006-06-24
06:36
[37d74cc565] part of check-in [4acf7594a6] Clean up and clarify code in test8.c. (CVS 3289) (check-in: [4acf7594a6] user: danielk1977 branch: trunk, size: 18051)
2006-06-23
14:32
[be3396aa33] part of check-in [a56bfa5604] Allow xDestroy methods to execute "DROP TABLE" statements. (CVS 3287) (check-in: [a56bfa5604] user: danielk1977 branch: trunk, size: 18051)
08:05
[de89a3475a] part of check-in [5d1d907189] Add tests and fixes for handling malloc() failures related to the virtual table feature. (CVS 3285) (check-in: [5d1d907189] user: danielk1977 branch: trunk, size: 17565)
2006-06-12
21:59
[6ccb7eaae7] part of check-in [0109654331] Added code to iterate through virtual tables. All regression tests pass but the new code is completely untested. (CVS 3219) (check-in: [0109654331] user: drh branch: trunk, size: 17424)
2006-03-16
14:05
[85cd5f81d3] part of check-in [5048fae042] Make provisions in the code to support Provisions to support caching of serialized statements in the SSE extension. (CVS 3139) (check-in: [5048fae042] user: drh branch: trunk, size: 17310)
2006-02-24
02:53
[2109be6b58] part of check-in [4b22e4b847] Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) (check-in: [4b22e4b847] user: drh branch: trunk, size: 17137)
2006-01-20
15:45
[eb3f86ab08] part of check-in [fd4a6bb1ac] Fix and test the processing of sqlite3_result_error() withing aggregate functions. Allow errors to come from the step function (a new capability). Ticket #1632. (CVS 2981) (check-in: [fd4a6bb1ac] user: drh branch: trunk, size: 17155)
2006-01-07
18:48
[5451cf71f2] part of check-in [0ae461313c] Invalidate all VDBE cursor row caches in between calls to sqlite3_step() since the emphemeral content that those caches point to might change if the statement is READ UNCOMMITTED. (CVS 2886) (check-in: [0ae461313c] user: drh branch: trunk, size: 17156)
2005-12-29
19:23
[9b78ba00cc] 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: 16966)
2005-12-15
15:22
[7b8b8c5dcb] part of check-in [3622901881] Add the sqlite3_update_hook() API. (CVS 2820) (check-in: [3622901881] user: danielk1977 branch: trunk, size: 16876)
2005-11-25
02:43
[0055c37ecc] part of check-in [4dd7cfaa58] Preserve 64-bit last insert rowids across triggers. (CVS 2779) (check-in: [4dd7cfaa58] user: drh branch: trunk, size: 16800)
2005-11-14
22:29
[7824d7be3b] part of check-in [ce06c123d0] Create separate affinities for INTEGER and REAL. (CVS 2766) (check-in: [ce06c123d0] user: drh branch: trunk, size: 16800)
2005-11-01
15:48
[6eba0b967d] part of check-in [e0d6f61c7d] Omit the SQLITE_AFF_INTEGER type affinity. All numeric values are now of type real, though an integer representation is still sometimes used internally for efficiency. (CVS 2753) (check-in: [e0d6f61c7d] user: drh branch: trunk, size: 16766)
2005-09-19
12:53
[7bedbb9553] part of check-in [b2d1803c25] Work around limitations of MSVC++ 6. Tickets #1429, #1437, and #1440. (CVS 2720) (check-in: [b2d1803c25] user: drh branch: trunk, size: 16727)
2005-09-07
22:09
[3dd2a29c7b] part of check-in [c3ac58592f] Bug fixes in aggregate processing. Fewer tests fail. (CVS 2663) (check-in: [c3ac58592f] user: drh branch: trunk, size: 16727)
21:22
[15a32128a8] part of check-in [17039ec3ff] Rewrite the aggregate handling logic so that it runs in O(1) space. This is the first cut at the code. Many regression tests fail. (CVS 2662) (check-in: [17039ec3ff] user: drh branch: trunk, size: 16717)
2005-09-06
20:36
[7a6b3c1adf] part of check-in [7ecf3654aa] Cleanup the processing of MEM_Agg elements. (CVS 2660) (check-in: [7ecf3654aa] user: drh branch: trunk, size: 18035)
2005-09-01
12:16
[52811a5182] part of check-in [81259a01f1] All regression tests now pass with the new bounded-memory sort code. There is still lots of opportunity for optimization, however. (CVS 2654) (check-in: [81259a01f1] user: drh branch: trunk, size: 18161)
03:07
[c9dcaec8b4] part of check-in [09db0a2424] Sorting is now done using a sorting index rather than loading the entire result set into memory and doing a merge sort. The old merge sort technique was a carry-over from SQLite version 1. The new method uses a bounded amount of memory and scales to much larger result sets. There are still errors: some 39 regression tests fail. (CVS 2653) (check-in: [09db0a2424] user: drh branch: trunk, size: 18114)
2005-08-29
23:00
[e5f2855b0f] part of check-in [ed2ca0873f] Increase resolution of time-of-day on unix. Add an experimental sqlite3_profile() API. (CVS 2639) (check-in: [ed2ca0873f] user: drh branch: trunk, size: 18694)
2005-08-24
17:07
[89a7fa5dc3] part of check-in [881dcf5fb1] Additional defense against the rowid-fifo overflow problem. (CVS 2622) (check-in: [881dcf5fb1] user: drh branch: trunk, size: 18617)
2005-07-08
13:08
[9be9a6c43d] part of check-in [94c120bb78] Replace OP_List with OP_Fifo. This is the first step toward allowing recursive delete triggers and later foreign keys with cascading deletes. (CVS 2538) (check-in: [94c120bb78] user: drh branch: trunk, size: 18617)
2005-06-12
21:35
[4312faf416] part of check-in [36f2da1f8d] Update older opcode names to be more meaningful in light of the latest code design. (CVS 2506) (check-in: [36f2da1f8d] user: drh branch: trunk, size: 18193)
2005-04-01
10:47
[4afaae2f4a] part of check-in [e8391491a6] Make the ORDER BY clause return equal elements in the same order they were seen (a stable sort). It was returning them in exactly the reverse order. (CVS 2439) (check-in: [e8391491a6] user: drh branch: trunk, size: 18270)
2005-03-29
13:07
[97b62807bd] part of check-in [7e54d3c728] Change 'stack' to the more descriptive 'no-push' in vdbe.c. (CVS 2429) (check-in: [7e54d3c728] user: danielk1977 branch: trunk, size: 18211)
08:26
[39beecdfb0] part of check-in [7d6818da33] Reduce the space allocated for the runtime virtual machine stack. (CVS 2428) (check-in: [7d6818da33] user: danielk1977 branch: trunk, size: 18214)
2005-01-29
08:32
[e80721cd8f] part of check-in [b1b50f3158] Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) (check-in: [b1b50f3158] user: danielk1977 branch: trunk, size: 18178)
2005-01-22
03:03
[24d411de9e] part of check-in [df648d50c0] Add the experimental sqlite3_expired() API. (CVS 2263) (check-in: [df648d50c0] user: drh branch: trunk, size: 18054)
2005-01-12
09:10
[f2b5f54d98] part of check-in [2b3e21ce2e] Tests to improve coverage of vdbeaux.c. (CVS 2201) (check-in: [2b3e21ce2e] user: danielk1977 branch: trunk, size: 17984)
2004-12-07
12:29
[0f74561e62] part of check-in [7b20f2b71f] Remove the unused sqlite3_context.isStep element. (CVS 2156) (check-in: [7b20f2b71f] user: drh branch: trunk, size: 17952)
2004-09-19
00:50
[6017100adf] part of check-in [eb9b501ad8] Merge the ListPush and ListPop VDBE opcodes into ContextPush and ContextPop. (CVS 1972) (check-in: [eb9b501ad8] user: drh branch: trunk, size: 18007)
2004-09-06
17:24
[e09362d632] part of check-in [3ddf5a9d1c] Fix a naming conflict between sqlite versions 2 and 3. An open sqlite3 connection now *must* be called "sqlite3". You cannot call it "sqlite". This might break existing code. (CVS 1941) (check-in: [3ddf5a9d1c] user: drh branch: trunk, size: 17850)
2004-09-02
14:57
[f8df57a9dc] part of check-in [d1b2915655] Transactions commit on the last sqlite3_step(), not on sqlite3_finalize(). This allows the sqlite3_step() to return SQLITE_BUSY if the commit is blocked by a lock. Ticket #885. (CVS 1928) (check-in: [d1b2915655] user: drh branch: trunk, size: 17850)
2004-08-28
18:17
[aadadddc8c] part of check-in [5f8d246852] Memory handling fixes and optimizations in the VDBE. Ticket #862. (CVS 1909) (check-in: [5f8d246852] user: drh branch: trunk, size: 17903)
2004-08-21
17:54
[16322cbfcc] part of check-in [bd6649c5aa] Optimizations to the code generator. (CVS 1899) (check-in: [bd6649c5aa] user: drh branch: trunk, size: 17848)
2004-08-20
16:02
[5e57e36a03] part of check-in [d3be0b7c5a] Add support for named wildcards in SQL statements. (CVS 1897) (check-in: [d3be0b7c5a] user: drh branch: trunk, size: 18145)
2004-07-24
14:35
[3d8e08c54d] part of check-in [6db3f122aa] Fix more problems with deferred execution of CREATE. Still need to do DROP. There is now a memory leak. (CVS 1865) (check-in: [6db3f122aa] user: drh branch: trunk, size: 18034)
2004-06-30
11:14
[7160653a00] part of check-in [0fedf74e30] When a statement causes a ROLLBACK due to an ON CONFLICT clause, other active VMs abort. (CVS 1778) (check-in: [0fedf74e30] user: drh branch: trunk, size: 18001)
2004-06-27
01:56
[d83fd73898] part of check-in [ad65c6e24e] Fix a bug in the handling of Mems inside of vdbe.c. (CVS 1745) (check-in: [ad65c6e24e] user: drh branch: trunk, size: 17922)
2004-06-22
22:04
[22ab717b69] part of check-in [e17ea666b1] Be careful to initialize the Mem.xDel field to zero for static Mems. (CVS 1671) (check-in: [e17ea666b1] user: drh branch: trunk, size: 17856)
12:13
[0b8eda5e0a] part of check-in [d98b1502e2] Patch around compilers that do not support "long long int". (CVS 1656) (check-in: [d98b1502e2] user: drh branch: trunk, size: 17856)
2004-06-21
10:45
[c074093262] part of check-in [4d02df6349] Avoid opening a temp table for aggregate queries with no GROUP BY clause. (CVS 1649) (check-in: [4d02df6349] user: danielk1977 branch: trunk, size: 17866)
06:50
[4d56da6109] part of check-in [ae2f4a0943] Update sqlite3_changes() to match the documentation and add sqlite3_total_changes(). (CVS 1645) (check-in: [ae2f4a0943] user: danielk1977 branch: trunk, size: 17995)
2004-06-19
15:40
[d007ccada5] part of check-in [70680a34b4] Clear up another zero-length array. This seems to fix the segfault in func-13.4 too. (CVS 1641) (check-in: [70680a34b4] user: drh branch: trunk, size: 17942)
15:22
[e472de98c6] part of check-in [fbfc3c95a8] Fix problems with the WatCom C compiler: Arrays must contain at least one element. sqlite3FreeX declared properly. Don't allow run-time expression (the SQLITE_UTF16NATIVE macro) in an array initializer. (CVS 1640) (check-in: [fbfc3c95a8] user: drh branch: trunk, size: 17895)
2004-06-18
06:02
[54af2e0030] part of check-in [960f55f3ec] Fix a couple of gcc warnings. (CVS 1615) (check-in: [960f55f3ec] user: danielk1977 branch: trunk, size: 17101)
04:24
[96a6e88b82] part of check-in [39a415eaa6] Optimisation for unicode encoding conversion routines. (CVS 1614) (check-in: [39a415eaa6] user: danielk1977 branch: trunk, size: 17061)
2004-06-15
13:36
[4e636b1b6c] part of check-in [59db58ebd3] Memory leak fixes for tests in file select1.test. (CVS 1599) (check-in: [59db58ebd3] user: danielk1977 branch: trunk, size: 16957)
11:40
[0aabcc7752] part of check-in [e21a181376] Minor bugfixes and test case adjustments for version 2 test cases to work with version 3. (CVS 1598) (check-in: [e21a181376] user: danielk1977 branch: trunk, size: 17091)
2004-06-12
20:12
[ffc7b8ed91] part of check-in [e42316f570] Speed up in the handling of VDBE cursors. (CVS 1578) (check-in: [e42316f570] user: drh branch: trunk, size: 17161)
18:12
[1cc767a63e] part of check-in [f687977a28] Improve the speed of OP_Column through better caching. (CVS 1577) (check-in: [f687977a28] user: drh branch: trunk, size: 17095)
09:25
[c4ff480cd8] part of check-in [5903f53828] (1) Modifications to the user-function interface and (2) Internal changes to automatically created indices. (CVS 1575) (check-in: [5903f53828] user: danielk1977 branch: trunk, size: 16895)
2004-06-11
13:19
[57b7001bc1] part of check-in [8d56118f64] Have the vdbe aggregator use a btree table instead of a hash table. (CVS 1569) (check-in: [8d56118f64] user: danielk1977 branch: trunk, size: 16769)
10:51
[e27e29ffe5] part of check-in [66835ee670] Fix various collation sequence issues. (CVS 1568) (check-in: [66835ee670] user: danielk1977 branch: trunk, size: 16458)
2004-06-09
21:01
[d416058533] part of check-in [39b4ba95c4] If a commit fails due to lock contention right after the COMMIT command, take the database back out of autocommit mode. Do not rollback. This gives the user the chance to try the COMMIT again. (CVS 1551) (check-in: [39b4ba95c4] user: drh branch: trunk, size: 16440)
2004-06-05
10:22
[ab592f23ed] part of check-in [c2899b4373] Add the sqlite3_set_auxdata() and sqlite3_get_auxdata() APIs. (CVS 1532) (check-in: [c2899b4373] user: danielk1977 branch: trunk, size: 16359)
2004-06-03
16:08
[9f5df0a214] part of check-in [d57e5252c8] Untested updates to support atomic multi-file transactions (CVS 1526) (check-in: [d57e5252c8] user: danielk1977 branch: trunk, size: 16138)
2004-06-02
01:22
[f19df2246c] part of check-in [165d69a04c] Work toward combining the OP_MakeKey, OP_MakeIdxKey, and OP_MakeRecord opcodes into one. The work is incomplete. (CVS 1524) (check-in: [165d69a04c] user: drh branch: trunk, size: 16131)
2004-05-31
18:51
[5d357541db] part of check-in [adf7e29ff6] Change all SQLITE3 preprocessor macros to SQLITE. Documentation updates. (CVS 1511) (check-in: [adf7e29ff6] user: drh branch: trunk, size: 16195)
08:26
[51d37798ba] part of check-in [b8ed812c92] Replace OP_Begin, OP_Commit and OP_Rollback with OP_AutoCommit. (CVS 1500) (check-in: [b8ed812c92] user: danielk1977 branch: trunk, size: 16200)
2004-05-28
08:21
[c2bcd6e5a6] part of check-in [1b15b32bdb] Tables and indices use the same record format. (CVS 1482) (check-in: [1b15b32bdb] user: drh branch: trunk, size: 16268)
01:39
[57b649105a] part of check-in [321f8c4635] Remove the encoding argument from sqlite3VdbeSerialGet. Use the 32-bit version of sqlite3GetVarint for schema-level parameters. (CVS 1480) (check-in: [321f8c4635] user: drh branch: trunk, size: 16168)
2004-05-27
19:59
[0c30699ea2] part of check-in [0c4d138807] Change the record format to include an extra varint at the beginning to record the number of bytes in the header. (CVS 1478) (check-in: [0c4d138807] user: drh branch: trunk, size: 16181)
09:28
[fab8bb7f7a] part of check-in [67a140cf78] Various bugfixes. 68 Test cases still fail. (CVS 1471) (check-in: [67a140cf78] user: danielk1977 branch: trunk, size: 16170)
03:12
[8941eb5515] part of check-in [f33d15d95f] Fixes to the MEM changes. The library now links. (CVS 1470) (check-in: [f33d15d95f] user: drh branch: trunk, size: 16110)
01:53
[d62f70eb93] part of check-in [dbdd1a7f31] More MEM changes in the vdbe.c. Still will not compile. (CVS 1469) (check-in: [dbdd1a7f31] user: drh branch: trunk, size: 16066)
2004-05-26
23:43
[8647afb4c3] part of check-in [68ef170286] Break Mem.flags into Mem.type and Mem.enc. (CVS 1466) (check-in: [68ef170286] user: drh branch: trunk, size: 15795)
23:25
[d7eda2403e] part of check-in [bba6684d50] Refactoring of the vdbe Mem functions and the APIs that deal with them. The code will not compile in its current state. (CVS 1465) (check-in: [bba6684d50] user: drh branch: trunk, size: 17785)
13:27
[1064ce1723] part of check-in [ce8b152034] Ensure the type of an sqlite3_value* is not modified by calls to sqlite3_value_*() calls. (CVS 1463) (check-in: [ce8b152034] user: danielk1977 branch: trunk, size: 18739)
10:11
[653525b165] part of check-in [d5659f2ee6] Add some tests for the new API. Many more to come. (CVS 1462) (check-in: [d5659f2ee6] user: danielk1977 branch: trunk, size: 17754)
02:04
[c8706615ad] part of check-in [17e7db488d] Use the new API calls more consistently. (CVS 1459) (check-in: [17e7db488d] user: danielk1977 branch: trunk, size: 17644)
2004-05-25
12:05
[e500998a0a] part of check-in [8f6b20c293] Change a couple of symbol names for the new user function API. (CVS 1454) (check-in: [8f6b20c293] user: danielk1977 branch: trunk, size: 17641)
11:47
[a9a105b923] part of check-in [4eccae03b4] Use the new API for returning values and errors from user functions. (CVS 1453) (check-in: [4eccae03b4] user: danielk1977 branch: trunk, size: 17637)
01:13
[4dfeaaf7ca] part of check-in [b77c268ebe] Add manifest type aware versions of the min() and max() aggregates. (CVS 1452) (check-in: [b77c268ebe] user: danielk1977 branch: trunk, size: 16335)
2004-05-24
23:48
[7084fc1b67] part of check-in [5c28ed5e9b] Aggregate functions also use sqlite_value* instead of const char * for arguments. (CVS 1451) (check-in: [5c28ed5e9b] user: danielk1977 branch: trunk, size: 16297)
2004-05-23
13:30
[6c2444a60f] part of check-in [f47de3a933] Begin changing the vdbe so all stack values use the database encoding. (CVS 1444) (check-in: [f47de3a933] user: danielk1977 branch: trunk, size: 16283)
2004-05-22
21:30
[e3f2643c62] part of check-in [18e690e405] Remove the OP_SetInsert opcode. (CVS 1443) (check-in: [18e690e405] user: drh branch: trunk, size: 14863)
03:05
[f40e8048d6] part of check-in [c4a8246864] Steps towards UTF-16 databases. Some tests are failing because of this commit. (CVS 1433) (check-in: [c4a8246864] user: danielk1977 branch: trunk, size: 14970)
2004-05-21
10:08
[8ed2272e97] part of check-in [fc94575d77] Further work on the new API. All the functions to execute queries are there now. (CVS 1427) (check-in: [fc94575d77] user: danielk1977 branch: trunk, size: 14868)
2004-05-20
22:16
[cea492c1fc] part of check-in [a6cb09d7af] Add internal support for collating sequences. This breaks 244 tests. (CVS 1420) (check-in: [a6cb09d7af] user: drh branch: trunk, size: 14668)
13:54
[69a7dd040f] part of check-in [5c1e47a252] sqlite3MemCompare now takes a CollSeq* argument. (CVS 1419) (check-in: [5c1e47a252] user: drh branch: trunk, size: 14525)
01:12
[97b95c622e] part of check-in [e8f980d842] Add support for the new sqlite3_bind_*() APIs. (CVS 1410) (check-in: [e8f980d842] user: danielk1977 branch: trunk, size: 14499)
2004-05-19
14:56
[faaa64433d] part of check-in [8f249c45cb] Change opcode names and comments to better describe the operation of the incrKey flag. OP_MoveTo becomes OP_MoveGe. (CVS 1407) (check-in: [8f249c45cb] user: drh branch: trunk, size: 14423)
11:24
[3f76e27be5] part of check-in [45169ce015] Variable name change: azVar to apVar. (CVS 1404) (check-in: [45169ce015] user: drh branch: trunk, size: 14428)
10:36
[2097f78f8d] part of check-in [f71844bc27] Tests for text encoding conversion functions. Also new sqlite3_bindXX APIs. (CVS 1403) (check-in: [f71844bc27] user: danielk1977 branch: trunk, size: 14433)
2004-05-18
22:38
[5bac5f0f46] part of check-in [ae37e8a0bf] Remove dead code from vdbeaux.c. Add comments describing desired changes to OP_Sort processing in select.c (CVS 1398) (check-in: [ae37e8a0bf] user: drh branch: trunk, size: 14574)
10:06
[b4ad3993c7] part of check-in [ad4a964158] Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1393) (check-in: [ad4a964158] user: danielk1977 branch: trunk, size: 14604)
2004-05-16
11:15
[311c2a046e] part of check-in [a4af838f8d] More changes to support the manifest type model. A few things are currently broken. (CVS 1385) (check-in: [a4af838f8d] user: danielk1977 branch: trunk, size: 14470)
2004-05-14
21:59
[67c3b2cf92] part of check-in [d8bacc1680] Allocates VDBE cursors one by one in separate memory so that pointers to cursors can persist through a realloc(). (CVS 1383) (check-in: [d8bacc1680] user: drh branch: trunk, size: 14433)
21:12
[6740a3b80d] part of check-in [8d9eab178f] Cache record headers in the OP_Column opcode. (CVS 1382) (check-in: [8d9eab178f] user: drh branch: trunk, size: 14432)
11:00
[03f4c36424] part of check-in [dbfe6e9316] Implement type affinity for table and index records (CVS 1375) (check-in: [dbfe6e9316] user: danielk1977 branch: trunk, size: 13998)
2004-05-13
12:32
[d53f38078c] part of check-in [da9b3dce33] Change the OP_ListXX opcodes to use 64 bit integers (CVS 1372) (check-in: [da9b3dce33] user: danielk1977 branch: trunk, size: 13928)
05:16
[66904cfb0b] part of check-in [9f2b6d9d3a] Manifest types in indices. At the moment indices use manifest typing, but some other parts of the SQL engine do not, which can lead to some strange results. (CVS 1368) (check-in: [9f2b6d9d3a] user: danielk1977 branch: trunk, size: 13928)
2004-05-12
15:15
[608a0b092a] part of check-in [fb3c803014] Btree uses signed integers for the rowid. The intToKey() and keyToInt() macros are now no-ops. (CVS 1364) (check-in: [fb3c803014] user: drh branch: trunk, size: 13804)
07:33
[3610b51a32] part of check-in [0242c9e4f7] Change the table record format to support manifest typing. (CVS 1361) (check-in: [0242c9e4f7] user: danielk1977 branch: trunk, size: 13937)
2004-05-11
03:11
[ff85e432a4] part of check-in [2fffd133a5] Internal symbols MEM_Dyn and MEM_AggCtx were defined as the same bit pattern. Change MEM_AggCtx to 0x1000. (CVS 1350) (check-in: [2fffd133a5] user: danielk1977 branch: trunk, size: 13898)
2004-05-10
23:29
[d5786e1c4f] part of check-in [bc5a2dafa1] Work toward getting the new btree.c integrated with vdbe.c. (CVS 1345) (check-in: [bc5a2dafa1] user: drh branch: trunk, size: 13898)
12:07
[2567223b73] part of check-in [3af283f483] Add flags values to the Mem structure to accomodate BLOBs and to show the representation of strings. (CVS 1341) (check-in: [3af283f483] user: drh branch: trunk, size: 13841)
10:37
[742e257653] part of check-in [19b100ec0d] Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1339) (check-in: [19b100ec0d] user: danielk1977 branch: trunk, size: 13175)
07:17
[e4ab46c223] part of check-in [8a66a502ba] Add versions of OP_MakeRecord and OP_Column that use manifest typing (not activated yet). (CVS 1334) (check-in: [8a66a502ba] user: danielk1977 branch: trunk, size: 13174)
2004-05-09
23:23
[19926d4095] part of check-in [d8d1c91e55] Add a temporary sqlite2BtreeKeyCompare() function to help get regression tests passing again. (CVS 1332) (check-in: [d8d1c91e55] user: danielk1977 branch: trunk, size: 13021)
2004-05-08
08:23
[4563dc1c9f] part of check-in [8af6474c49] Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) (check-in: [8af6474c49] user: danielk1977 branch: trunk, size: 12949)
2004-02-20
22:53
[b40ff02ce3] part of check-in [3383413a53] Fixed behaviour of last_insert_rowid() with triggers and add last_statement_change_count() function that works correctly with triggers. (CVS 1251) (check-in: [3383413a53] user: rdc branch: trunk, size: 12934)
2004-02-14
23:59
[af83bd700b] part of check-in [2dbc4593ca] Eliminate obsolete code associated with the older callback functionality. (CVS 1243) (check-in: [2dbc4593ca] user: drh branch: trunk, size: 12217)
2004-01-31
19:22
[8a3baf7491] part of check-in [8273c74bd0] Rework internal data structures to make the VDBE about 15% smaller. (CVS 1203) (check-in: [8273c74bd0] user: drh branch: trunk, size: 12396)
2004-01-30
14:49
[6f12f5b934] part of check-in [c0faa1c67a] Rework the VDBE data structures to combine string representations into the same structure with integer and floating point. This opens the door to significant optimizations. (CVS 1202) (check-in: [c0faa1c67a] user: drh branch: trunk, size: 12599)
2004-01-07
18:52
[eab39bc209] part of check-in [d3e96da20d] Defer the {quote: MoveTo} opcode in VDBE until the data is actually needed. Sometimes the data is never needed, resulting in a performance increase. On an indexed order search with a large OFFSET, queries times can be an order of magnitude faster. (CVS 1165) (check-in: [d3e96da20d] user: drh branch: trunk, size: 13088)
2003-09-06
22:18
[2824bf8889] part of check-in [990bb11898] Update Makefile.in for the new vdbeaux.c file. Remove the experimental "sqlite_instantiate()" routine and replace it with "sqlite_bind()" which is more like ODBC and JDBC. (CVS 1095) (check-in: [990bb11898] user: drh branch: trunk, size: 12479)
20:12
Added: [15cd01061b] part of check-in [bfd69391d3] Split almost 1300 lines of code out of vdbe.c into separate files vdbeInt.h and vdbeaux.c. (CVS 1094) (check-in: [bfd69391d3] user: drh branch: trunk, size: 12345)