SQLite

All files named ”src/vdbeapi.c”
Login

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

History for src/vdbeapi.c

2025-06-30
23:17
[bfd865e163] part of check-in [b0b1b4ccb9] Restart this branch using a different take: add new "v2" routines instead of refactoring the old ones, which eliminating any performance impact or risk of behavior change for existing APIs. None of this code is actually called from anywhere yet. (check-in: [b0b1b4ccb9] user: stephan branch: column-text-blob-v2, size: 79164)
2025-06-24
18:27
[f9a4881a96] part of check-in [9aaff764d5] Similar fix to the previous check-in, but this time for sqlite3_preupdate_new(). (check-in: [9aaff764d5] user: drh branch: trunk, size: 78188)
15:58
[89b9772baa] part of check-in [6a5701e6c7] Range check the column index on the sqlite3_preupdate_old() interface and return SQLITE_MISUSE if too large. Forum post b617e49728. (check-in: [6a5701e6c7] user: drh branch: trunk, size: 78120)
2025-06-02
13:54
[613a6f29ef] part of check-in [387f4c4d98] Remove an unnecessary parameter from sqlite3VdbeRecordUnpack(). Improved comments and assert()s on KeyInfo. (check-in: [387f4c4d98] user: drh branch: trunk, size: 78026)
2025-04-06
10:22
[28fab30ed0] part of check-in [f3a6cdb89b] Fix a harmless code typo introduced by [b57e3c3db00a6bc6] and reported by forum post 09957d8b2a. (check-in: [f3a6cdb89b] user: drh branch: trunk, size: 78036)
2025-03-14
19:07
[a9ad72afed] 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: 78036)
2025-02-17
17:33
[cb8eb9e41a] part of check-in [215650a5a1] Code changes that make it easier to prove that no 32-bit integer overflows happen during memory allocation. No problems fixed; this change is just to make future maintenance easier. (check-in: [215650a5a1] user: drh branch: trunk, size: 78034)
2025-01-31
18:34
[2d9cd7ab21] part of check-in [d53c58243d] Remove an assert() that is not true if a trace-callback is deregistered while there are active statements. (check-in: [d53c58243d] user: dan branch: branch-3.48, size: 77648)
18:33
[82fe278a7c] part of check-in [0ecfc4d0eb] Remove an assert() that is not true if a trace-callback is deregistered while there are active statements. Forum post 3547aa1078510686. (check-in: [0ecfc4d0eb] user: dan branch: trunk, size: 77878)
2025-01-28
19:03
[08d0445b60] part of check-in [437fb31638] Fix sessions module handling of tables with generated columns. (check-in: [437fb31638] user: dan branch: trunk, size: 77954)
2025-01-21
16:30
[76fa76b21f] 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: 77755)
2025-01-20
18:26
[033decc098] part of check-in [39bdbb3f6d] Fix an assert() that could fail if a virtual table called sqlite3_step() from within the xSync() method while committing a "PRAGMA defer_foreign_keys=1" transaction. (check-in: [39bdbb3f6d] user: dan branch: trunk, size: 77724)
2024-12-10
12:32
[38c252a202] part of check-in [0f3b484fd7] Fix harmless typo in a comment describing the columnMallocFailure() function. (check-in: [0f3b484fd7] user: drh branch: trunk, size: 77726)
2024-11-04
17:33
[1e6880bbc1] 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: 76037)
16:59
[6353de05e8] 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: 77724)
2024-09-20
12:58
[53c7e26a2c] part of check-in [b7b64c53f5] New assert()s to help verify union access. No logic changes. Testing and validation code only. (check-in: [b7b64c53f5] user: drh branch: trunk, size: 77578)
2024-09-18
15:02
[483a391801] 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: 77505)
2024-09-17
21:42
[7c4e2f7635] part of check-in [9752878814] Add assert() statements to some of the sqlite3_bind() APIs that help human readers and static analyzers, both, reason about the code and verify that it is memory safe. (check-in: [9752878814] user: drh branch: trunk, size: 76685)
2024-03-25
18:30
[80235ac380] part of check-in [87be958074] Fix a theoretical OOB memory access in sqlite3_stmt_scanstatus_v2(). (check-in: [87be958074] user: dan branch: trunk, size: 75938)
2023-11-10
18:59
[8f57d60c89] part of check-in [091a5f058d] Merge recent trunk enhancements and fixes into the jsonb branch. (check-in: [091a5f058d] user: drh branch: jsonb, size: 75893)
2023-11-09
17:42
[dd812ddd2f] part of check-in [65a9cfc466] Add the SQLITE_RESULT_SUBTYPE flag for application-defined functions. Add the -DSQLITE_STRICT_SUBTYPE=1 compile-time option that raises an error if any function invokes sqlite3_result_subtype() without the SQLITE_RESULT_SUBTYPE flag. SQLITE_RESULT_SUBTYPE prevents an indexed value of that function from being used to replace an equivalent expression, since the indexed expression does not carry the subtype. (check-in: [65a9cfc466] user: drh branch: branch-3.44, size: 75783)
15:01
[b07df80511] part of check-in [6195468b14] Fixes: (1) In the ->> function, instead of setting a subtype and clearing it, do not set it in the first place, as doing the set would trigger an error under SQLITE_STRICT_SUBTYPE. (2) Allow the SQLITE_STRICT_SUBTYPE through the property filter on sqlite3_create_function(). (check-in: [6195468b14] user: drh branch: func-rw-subtype, size: 75899)
12:58
[2fdec801f9] part of check-in [e98a9a65dd] Add the SQLITE_STRICT_SUBTYPE compile-time option. This change reveals that the current SQLITE_RESULT_SUBTYPE design does not work unless we tag the ->> operator with SQLITE_RESULT_SUBTYPE. But that will disable an important optimization. (check-in: [e98a9a65dd] user: drh branch: func-rw-subtype, size: 75876)
2023-11-03
11:35
[22a2661a28] part of check-in [b089bf4637] Merge all the latest trunk fixes and enhancements into the jsonb branch. (check-in: [b089bf4637] user: drh branch: jsonb, size: 75480)
2023-10-22
13:09
[db190d007b] part of check-in [f3fb4d345b] Add API_ARMOR to sqlite3_clear_bindings(). (check-in: [f3fb4d345b] user: stephan branch: jni-post-3.44, size: 75486)
2023-10-19
20:46
[1cb879087b] part of check-in [f47a8d0a20] Merge recent trunk enhancements into the jsonb branch. (check-in: [f47a8d0a20] user: drh branch: jsonb, size: 75364)
2023-10-17
18:28
[fe654b1f54] part of check-in [5f8b807b56] Omit an unreachable branch when SQLITE_ENABLE_API_ARMOR is not defined. (check-in: [5f8b807b56] user: drh branch: trunk, size: 75370)
02:15
[9c1509ea78] part of check-in [d3f38e813b] Harden API_ARMOR checks for sqlite3_stmt_scanstatus_v2(). (check-in: [d3f38e813b] user: stephan branch: trunk, size: 75263)
2023-10-14
20:01
[56fb801c15] part of check-in [2f3101f016] Add API_ARMOR support to the scanstatus family of functions. (check-in: [2f3101f016] user: stephan branch: api-armor-audit, size: 75152)
16:29
[0204e72475] part of check-in [afabe3e35a] Add API_ARMOR support to the sqlite3_result_...() family of functions and sqlite3_bind_zeroblob64(). (check-in: [afabe3e35a] user: stephan branch: api-armor-audit, size: 74987)
14:53
[dbada91cc9] part of check-in [78ebf838f6] More API_ARMOR additions. (check-in: [78ebf838f6] user: stephan branch: api-armor-audit, size: 73589)
2023-10-13
12:48
[be7d88a05d] part of check-in [8c25c4b18a] Round one of an audit for SQLITE_ENABLE_API_ARMOR for functions exposed by JNI and those functions missing armor, as reported in several forum posts. (check-in: [8c25c4b18a] user: stephan branch: api-armor-audit, size: 73117)
2023-09-30
16:50
[b82f465cfa] part of check-in [15ffd932fe] Restore the trunk version of sqlite3_user_data(). Fix the xColumn for virtual tables so that the sqlite3_context contains a valid but NULL user data pointer. (check-in: [15ffd932fe] user: drh branch: jsonb, size: 72627)
2023-09-28
18:23
[7fdd1eec6b] part of check-in [2f49687371] Allow the sqlite3_user_data() function to be invoked with a NULL argument or with an sqlite3_context pointer from a virtual table. It returns NULL in both cases. (check-in: [2f49687371] user: drh branch: jsonb, size: 72649)
2023-09-05
15:03
[4184402246] part of check-in [93f74490fa] Fix a few SQLITE_MISUSE returns so that they call sqlite3MisuseError(). (check-in: [93f74490fa] user: drh branch: trunk, size: 72654)
2023-08-14
12:20
[37341acd78] part of check-in [391e21bb6e] Fix harmless compiler warnings reported by MSVC. (check-in: [391e21bb6e] user: drh branch: trunk, size: 72644)
2023-07-29
17:05
[f37822f215] part of check-in [dd5eb4c7f7] Simplification to the sqlite3_stmt_explain() implementation. (check-in: [dd5eb4c7f7] user: drh branch: trunk, size: 72637)
15:31
[9e2cf04952] part of check-in [dc98ac6b6d] Enhancements to the new sqlite3_stmt_explain() interface implementation and documentation. (check-in: [dc98ac6b6d] user: drh branch: trunk, size: 72695)
2023-07-28
18:37
[0cba9fe6e8] part of check-in [0443c0ef85] Add the sqlite3_stmt_explain() API. (check-in: [0443c0ef85] user: drh branch: trunk, size: 72602)
12:59
[5bf0376376] part of check-in [a0de01108c] A failed attempt to add a new sqlite3_result_zeroterminated() interface that is a hint to SQLite that a TEXT result does have a zero terminator. The idea is to avoid unnecessary copying of TEXT values. This seems like an unnecessary complication at the moment, but maybe I'll return to this later. Note that this check-in does not work - it is a proof of concept only. (check-in: [a0de01108c] user: drh branch: sqlite3_result_zeroterminated, size: 70628)
2023-07-21
18:09
[dde6c4d0f8] 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: 70398)
15:07
[b8866af134] part of check-in [75cc3c89ee] Fix harmless compiler warning about signed/unsigned comparison. (check-in: [75cc3c89ee] user: drh branch: big-function-text, size: 70593)
15:01
[1b17d1a53c] part of check-in [d0278cdedf] Multiple optimizations that try to preserve or infer the zero-terminated property of TEXT values. Avoid unnecessary copying of text values destined to become function parameters. All changes help improve performance of doing UPDATEs on large JSON values that are indexed multiple ways. (check-in: [d0278cdedf] user: drh branch: big-function-text, size: 70573)
2023-07-18
17:29
[97a9dfdff4] 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: 72551)
15:06
[4da107457d] 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: 72251)
2023-07-15
16:48
[c528ef4faf] part of check-in [5683743ddf] Add the experimental sqlite3_stmt_explain(S,E) interface. (check-in: [5683743ddf] user: drh branch: sqlite3_stmt_explain, size: 70795)
2023-06-07
08:40
[de9703f870] 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: 70347)
2023-04-27
23:59
[b4982cde54] part of check-in [a63346d6a0] Use a new technique to detect fresh OOM faults in columnName() that does not rely on there being no OOMs prior to entry into columnName(), as [forum/forumpost/fb6811c2f9|forum post fb6811c2f9] demonstrates a technique which could cause an OOM prior to entry into columnName(). (check-in: [a63346d6a0] user: drh branch: trunk, size: 70428)
2023-04-04
18:59
[41986f8c43] part of check-in [80d518fb82] Fix an incorrect entry in the array that maps sqlite3_value values into actual datatype numbers. (check-in: [80d518fb82] user: drh branch: branch-3.41, size: 70334)
18:55
[1a95162e26] part of check-in [fa8537dc90] Fix an incorrect entry in the array that maps sqlite3_value values into actual datatype numbers. dbsqlfuzz f660c659bcec48577a43d3bab37f46baaa22f59e (check-in: [fa8537dc90] user: drh branch: trunk, size: 70338)
2023-04-01
15:51
[03a21e617c] part of check-in [a4fb2864fe] Fix harmless compiler warnings. (check-in: [a4fb2864fe] user: drh branch: trunk, size: 70338)
2023-03-29
18:54
[998d240b3a] part of check-in [1fa78fafa1] Fix a problem with sqlite3_stmt_scanstatus() calls made from within an SQLITE_TRACE_STMT callback made from within a trigger. (check-in: [1fa78fafa1] user: dan branch: trunk, size: 70334)
2023-02-07
23:55
[be64df0e21] part of check-in [d3bed4caff] Simplify the code and add test cases. (check-in: [d3bed4caff] user: drh branch: txn-date, size: 70488)
21:55
[0760fbeea7] part of check-in [5e4f45af96] Add support for the 'txn' argument to date/time functions that works like 'now' but keeps the same time for the entire transaction. (check-in: [5e4f45af96] user: drh branch: txn-date, size: 70906)
2023-01-26
02:18
[40c47b1528] part of check-in [b25eec1c13] Improved fix to allow sqlite3_vtab_in_first() to reliably return SQLITE_ERROR. (check-in: [b25eec1c13] user: drh branch: trunk, size: 70162)
2023-01-25
16:56
[784e90b698] 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: 70132)
2022-12-22
19:12
[4ee6789091] part of check-in [6a00d67f59] Avoid having to reinitialize Vdbe.pResultRow upon each call to sqlite3_step() for a small size reduction and performance increase. (check-in: [6a00d67f59] user: drh branch: trunk, size: 69448)
18:44
[a9ddd91f19] 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: 69426)
2022-12-21
20:17
[32297e58f2] 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: 69449)
2022-12-07
20:09
[df3f73a4d0] part of check-in [212927e97e] Reduce the overhead of SQLITE_ENABLE_STMT_SCANSTATUS some. (check-in: [212927e97e] user: dan branch: trunk, size: 69426)
2022-12-06
18:48
[5e265ab516] part of check-in [9499b2f51e] Have sqlite3_stmt_scanstatus_v2() return an NCYCLE value for all loops, not just virtual tables ones. The value returned is the sum of the NCYCLE counts for the various opcodes that move or read data from the table or index cursor associated with the loop. (check-in: [9499b2f51e] user: dan branch: trunk, size: 69382)
2022-12-05
18:52
[959cef4c1e] part of check-in [009462f234] Update comments in sqlite.h.in to account for sqlite3_stmt_scanstatus_v2(). (check-in: [009462f234] user: dan branch: scanstatus_v2, size: 69478)
18:19
[56a27f4478] part of check-in [41a0e05e8c] Add loops and rows counters to "USE TEMP B-TREE FOR ORDER BY" records. Also fix the sqliteHwtime() function so that it returns a 64-bit value. (check-in: [41a0e05e8c] user: dan branch: scanstatus_v2, size: 69479)
2022-12-03
21:24
[35b4ca406f] part of check-in [622d8eb372] Enhance SQLITE_SCANSTAT_NCYCLE so that it reports on virtual tables. (check-in: [622d8eb372] user: dan branch: scanstatus_v2, size: 69482)
18:16
[fed69b8468] 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: 68972)
2022-12-02
20:32
[592c3d7be7] 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: 68791)
17:52
[b75fe402b8] part of check-in [b57e3c3db0] For the sqlite3_bind and sqlite3_result interfaces for UTF16 strings, round the number of bytes down to the next even number, to avoid creating a UTF16 string that is an odd number of bytes. Forum post 411199488d065f83. (check-in: [b57e3c3db0] user: drh branch: trunk, size: 67029)
2022-11-04
18:47
[807e68bc0f] part of check-in [d8568a848a] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [d8568a848a] user: drh branch: begin-concurrent-report, size: 66916)
2022-10-12
12:49
[1e8713d0b6] part of check-in [d6d4499782] Add the sqlite3_value_encoding() interface. (check-in: [d6d4499782] user: drh branch: trunk, size: 66893)
2022-09-30
13:42
[c0ccaf0b18] 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: 66845)
2022-08-25
15:09
[ba51a59b3c] part of check-in [da9aa5476c] Improved documentation of new features. Minor speed enhancements. (check-in: [da9aa5476c] user: drh branch: stmt-cache, size: 67224)
2022-08-24
17:55
[8087dba848] 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: 67246)
2022-08-23
20:11
[fc3183daf7] 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: 66822)
2022-08-22
15:48
[0e9d7164da] part of check-in [2ec6e9e134] Merge all recent trunk enhancements into the begin-concurrent-report branch. (check-in: [2ec6e9e134] user: drh branch: begin-concurrent-report, size: 66844)
15:18
[6af7b32ada] part of check-in [c296a9d958] Performance enhancement for sqlite3DbFree(). (check-in: [c296a9d958] user: drh branch: trunk, size: 66821)
2022-08-05
05:30
[4cfbf7ec3e] part of check-in [e36217f253] Fix harmless compiler warning seen with MSVC. (check-in: [e36217f253] user: mistachkin branch: trunk, size: 66667)
2022-08-03
19:37
[4181dffeef] part of check-in [aab24c37fb] Small performance increase on the binding interfaces. (check-in: [aab24c37fb] user: drh branch: trunk, size: 66653)
2022-06-30
22:46
[d68267db6e] part of check-in [8a6913b66c] Small performance improvement to sqlite3_finalize(). (check-in: [8a6913b66c] user: drh branch: trunk, size: 66603)
2022-06-24
15:04
[cddd057e2f] part of check-in [1b28ad2caa] Merge the version 3.39.0 release candidate 1 changes into the begin-concurrent-report branch. (check-in: [1b28ad2caa] user: drh branch: begin-concurrent-report, size: 66556)
2022-06-22
14:25
[602610f125] part of check-in [d9a320448f] Additional enhancements to comments. No changes to code. (check-in: [d9a320448f] user: drh branch: trunk, size: 66533)
2022-05-10
12:24
[586ee6b57c] 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: 66528)
2022-04-04
01:12
[354c893f15] part of check-in [c6947a96e6] Only invoke sqlite3VdbeClearObject() from a single location, so that the compiler is more likely to in-line the code. Performance increase and size reduction. (check-in: [c6947a96e6] user: drh branch: trunk, size: 66505)
2022-04-01
19:13
[5c498998c9] part of check-in [44be7f46ba] There is no need for sqlite3_step() to check for an OOM condition prior to starting up. (check-in: [44be7f46ba] user: drh branch: trunk, size: 66544)
19:04
[76024c6f5a] 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: 66700)
17:01
[17474f2122] 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: 66459)
15:31
[fe789d29ce] 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: 66127)
2022-03-31
21:15
[bdc977e721] part of check-in [d698826b08] Split out the RUN state into separate READY and RUN states. (check-in: [d698826b08] user: drh branch: vdbe-state-refactor, size: 66459)
20:04
[0bfeb0ebfb] 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: 66135)
2022-03-30
17:56
[d41dedcf05] part of check-in [c6901a8c78] Faster and slightly smaller implementation of sqlite3Step(). (check-in: [c6901a8c78] user: drh branch: trunk, size: 66135)
2022-03-29
22:57
[2571824e8e] part of check-in [47d0b1c4cf] In setResultStrOrError(), if the input string pointer is NULL and hence the value gets set to an SQL NULL, then the Mem.enc field is uninitialized. So do not read it. This is a harmless OSSFuzz/ASAN found problem. (check-in: [47d0b1c4cf] user: drh branch: trunk, size: 66006)
01:43
[299da88f27] part of check-in [d50b162b2f] Fix the sqlite3_result_xxxxx() routines so that they all check for and perform any necessary text encoding conversions and check for oversize strings and BLOBs. Thus those checks can be done where they are most efficient and avoided in cases like OP_Function where they are more expensive. (check-in: [d50b162b2f] user: drh branch: trunk, size: 66052)
2022-03-14
23:50
[bc3812dff7] part of check-in [fff1243b59] Calling sqlite3_value_dup() on a pointer value results in an ordinary NULL. Forum post ae8592cc73. Test cases in TH3. (check-in: [fff1243b59] user: drh branch: trunk, size: 65717)
2022-03-12
14:54
[49f6feaf18] 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: 65616)
2022-02-28
12:08
[1c80efbe51] 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: 65593)
03:25
[9daec6f338] 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: 65664)
2022-02-15
20:24
[649ae899b7] part of check-in [213df7a063] Merge recent trunk enhancements into the begin-concurrent-report branch. (check-in: [213df7a063] user: drh branch: begin-concurrent-report, size: 65616)
2022-02-11
16:10
[8863ffb5a7] part of check-in [d7ff262d6d] Fix a problem in [c006515ae6faff65] causing an assert() to fail with some build configurations. (check-in: [d7ff262d6d] user: dan branch: trunk, size: 65593)
2022-02-09
18:42
[c38f1642bb] part of check-in [c006515ae6] Fix a problem with using sqlite3_bind_value() with sqlite3_value objects obtained from sqlite3_preupdate_new() when an integer value is written to a column with real affinity. (check-in: [c006515ae6] user: dan branch: trunk, size: 65491)
2022-02-04
17:51
[bfadc422c5] 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: 65491)
2022-02-02
16:24
[06bff35393] part of check-in [3bf2153440] Relax the restriction that the RHS of the IN operator must be a list in order for sqlite3_vtab_in() to work. Change an unreachable branch into an assert(). (check-in: [3bf2153440] user: drh branch: batch-in-operator, size: 65468)
15:10
[32d353cec1] part of check-in [04edf36ee8] Be sure that sqlite3_vtab_in_first() and _next() set the correct encoding. (check-in: [04edf36ee8] user: drh branch: batch-in-operator, size: 65425)
14:36
[a6ae9ef818] 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: 65392)
2022-02-01
21:59
[84e7e8d161] part of check-in [75040183b8] Tweaks to the sqlite3_vtab_in() interface. (check-in: [75040183b8] user: drh branch: batch-in-operator, size: 65826)
14:58
[4d26cc9eb1] 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: 65766)
2021-11-22
16:39
[fefd3a5a90] part of check-in [ddc11f5599] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [ddc11f5599] user: drh branch: begin-concurrent-report, size: 63452)
2021-11-11
11:23
[22c79072ae] part of check-in [7cee62f77a] New assert() statements to help prove correct usage of VdbeCursor objects. (check-in: [7cee62f77a] user: drh branch: trunk, size: 63429)
2021-11-09
15:36
[b302a21521] 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: 63404)
2021-11-08
19:35
[f4bd14b42d] 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: 63381)
2021-10-21
14:37
[b67e1ca966] part of check-in [0770f320b9] Merge all recent trunk changes into the begin-concurrent-report branch. (check-in: [0770f320b9] user: drh branch: begin-concurrent-report, size: 63210)
2021-10-13
13:00
[7b83468feb] part of check-in [eca4343626] The sqlite3_result_text() routine (and similar) should record OOM errors in addition to SQLITE_TOOBIG errors. dbsqlfuzz (check-in: [eca4343626] user: drh branch: trunk, size: 63187)
2021-06-14
14:01
[af2e512c90] 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: 62986)
2021-06-09
14:45
[aa5aaf2c37] 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: 62963)
2021-05-21
16:32
[3f32ddfcdd] 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: 63191)
2021-04-21
20:52
[d9e99daf59] part of check-in [b5564a6fd5] Add the experimental sqlite3session_changeset_size() API. (check-in: [b5564a6fd5] user: dan branch: session-changeset-size, size: 63168)
2021-03-11
19:26
[d8f8c94303] 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: 62939)
2021-02-04
11:14
[8e29edeb51] 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: 62992)
2021-02-03
18:32
[4a43e303ec] 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: 62916)
2020-08-11
14:06
[1b210d5a5b] part of check-in [3ee73880ed] Update this branch with latest from begin-concurrent-pnu. (check-in: [3ee73880ed] user: dan branch: begin-concurrent-report, size: 62924)
2020-08-10
14:18
[c5e7cb2ab8] part of check-in [9d670a3183] Fix harmless compiler warnings that surface in newer versions of GCC. (check-in: [9d670a3183] user: drh branch: trunk, size: 62901)
2020-07-30
19:56
[f56ada7dbc] part of check-in [fd01e78827] Merge begin-concurrent-pnu changes into this branch. (check-in: [fd01e78827] user: dan branch: begin-concurrent-report, size: 62921)
2020-07-29
16:18
[effe0b2706] part of check-in [a80ae2c98b] Dozens and dozens of typo fixes in comments. This change adds no value to the end product and is disruptive, so it is questionable whether or not it will ever land on trunk. (check-in: [a80ae2c98b] user: drh branch: typos, size: 62899)
2020-07-17
11:07
[7e7e440874] 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: 62805)
2020-06-29
13:12
[c1a9004ac5] part of check-in [61400ef9f1] Small performance improvement in the sqlite3_step() interface. (check-in: [61400ef9f1] user: drh branch: trunk, size: 62898)
2020-05-15
15:03
[e467b75a71] part of check-in [7285ae2ce8] Adjust some requirement marks. No changes to code. (check-in: [7285ae2ce8] user: drh branch: trunk, size: 62782)
2020-04-09
18:51
[f6e2922a0b] part of check-in [d6fda470fe] Merge recent trunk changes into the apple-osx branch. (check-in: [d6fda470fe] user: drh branch: apple-osx, size: 63787)
2020-03-30
13:35
[d176ee7251] part of check-in [a49f8ec552] Use __atomic_load_n() and __atomic_store_n() for a few more things where they are available. (check-in: [a49f8ec552] user: dan branch: trunk, size: 62780)
2020-03-21
03:40
[d7540ad795] 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: 63099)
2020-03-20
16:13
[d840fb3b80] 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: 63562)
2020-03-19
21:17
[e8351c4f35] 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: 63529)
2020-03-06
20:51
[2a7cb35950] part of check-in [1c1f180eb6] Enhancement to log logical writes as well as reads. (check-in: [1c1f180eb6] user: dan branch: begin-concurrent-report, size: 62790)
2020-01-15
12:49
[0ae0004c43] part of check-in [dadedf41c7] Merge all recent enhancements and fixes from trunk into the apple-osx branch. (check-in: [dadedf41c7] user: drh branch: apple-osx, size: 63774)
2019-10-19
13:29
[1252d80c54] part of check-in [27ab41c910] Refactor names of column index transformation functions, for clarity. Get generated columns working with ALTER TABLE RENAME COLUMN. (check-in: [27ab41c910] user: drh branch: generated-columns, size: 62767)
2019-09-16
12:02
[8a3b164874] part of check-in [a95191deab] Merge the latest changes from trunk into the apple-osx branch. (check-in: [a95191deab] user: drh branch: apple-osx, size: 63764)
2019-08-08
15:24
[95001d0f84] 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: 62757)
2019-05-14
19:39
[63d9046414] part of check-in [40362d5181] Merge recent enhancements from trunk into apple-osx. (check-in: [40362d5181] user: drh branch: apple-osx, size: 63791)
2019-05-04
01:29
[f9161e5c77] part of check-in [8b8ef445cc] New testcase macros to ensure that MEM_IntReal is fully tested. (check-in: [8b8ef445cc] user: drh branch: int-real, size: 62784)
2019-05-03
21:17
[3e8a5dacbc] part of check-in [c983873132] Add the SQLITE_TESTCTRL_RESULT_INTREAL test-control and use it to create the intreal() SQL function in testfixture. Write a few simple tests to prove this all works. TH3 will hold most of the INTREAL tests, probably. (check-in: [c983873132] user: drh branch: int-real, size: 62698)
17:08
[e9469b4097] part of check-in [f73a7de7a5] Improved comments on the elements of the array constant used to implement the sqlite3_value_type() interface. (check-in: [f73a7de7a5] user: drh branch: int-real, size: 62295)
2019-05-02
21:36
[76b8fcedce] part of check-in [dba836e31c] Make MEM_IntReal a completely independent type, meaning a floating point value stored as an integer. This fixes a problem with arithmetic within arguments to string functions on indexes of expressions. But it is a big change and needs lots of new testcase() macros for MC/DC and so it is initially put on this branch. (check-in: [dba836e31c] user: drh branch: int-real, size: 61392)
17:45
[5ef9923322] 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: 61409)
2019-04-26
17:20
[69fae8eb6e] 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: 60148)
2019-04-15
14:49
[62e21603fe] part of check-in [378230ae7f] Bring in the latest enhancements from trunk. (check-in: [378230ae7f] user: drh branch: apple-osx, size: 60926)
2019-04-14
00:40
[2ddd60f4a3] part of check-in [0ada58e930] Remove a stray tab from the source code. (check-in: [0ada58e930] user: drh branch: trunk, size: 59919)
2019-04-02
00:34
[6f93b0b557] part of check-in [0b35aebbb3] Merge enhancements from trunk. (check-in: [0b35aebbb3] user: drh branch: apple-osx, size: 60929)
2019-03-29
11:13
[a6e462bd78] part of check-in [98da62dfda] Initial implementation of the sqlite3_value_frombind() interface. (check-in: [98da62dfda] user: drh branch: value_frombind, size: 59922)
2019-03-19
20:48
[0f255b5e28] part of check-in [000f4398db] Merge recent enhancements from trunk. (check-in: [000f4398db] user: drh branch: apple-osx, size: 60764)
2019-03-06
14:53
[7a052df80d] part of check-in [ee642d3e27] Add the sqlite3_stmt_isexplain() interface. (check-in: [ee642d3e27] user: drh branch: trunk, size: 59757)
2019-03-04
07:15
[0eb687d328] part of check-in [906d1fd865] Fix a problem preventing compilation with SQLITE_OMIT_UTF16. (check-in: [906d1fd865] user: dan branch: trunk, size: 59552)
2019-03-01
18:27
[c32f0cbed6] part of check-in [e64ded7b04] Merge the latest enhancements from trunk. (check-in: [e64ded7b04] user: drh branch: apple-osx, size: 60521)
2019-02-20
18:13
[cde63790c9] part of check-in [c48f6f39c5] Avoid the use of function pointers in columnName(), as function pointers appear to be a source of consternation to LLVM. (check-in: [c48f6f39c5] user: drh branch: trunk, size: 59514)
2019-01-17
15:47
[68480f890f] part of check-in [475a179a27] Sync up with the latest enhancements on trunk. (check-in: [475a179a27] user: drh branch: apple-osx, size: 60703)
2018-12-19
17:05
[e5ec7a4e13] 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: 58194)
16:03
[a34cabb4a4] 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: 50783)
2018-12-14
21:58
[b827ec57ed] 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: 61515)
2018-12-11
12:51
[57a2d794a8] part of check-in [d1db8d5894] Small performance improvement in sqlite3_step(). (check-in: [d1db8d5894] user: drh branch: trunk, size: 59696)
12:20
[d006df501b] part of check-in [1dc0c3df32] Small performance improvement in the sqlite3_bind() family of interfaces. (check-in: [1dc0c3df32] user: drh branch: trunk, size: 59699)
2018-12-10
20:01
[43ccaa96e2] part of check-in [c96bf6cca2] Further refinements to the sqlite3_normalized_sql() interface. TH3 now gives 100% MC/DC on that interface. (check-in: [c96bf6cca2] user: drh branch: trunk, size: 59703)
02:00
[511656a49d] part of check-in [b1bbc718c7] Merge enhancements from trunk. (check-in: [b1bbc718c7] user: drh branch: apple-osx, size: 60728)
2018-12-06
20:18
[affdfc7436] part of check-in [73a6b8c1b9] Experimental changes to (optionally) allow double-quoted strings to be checked against known identifiers. (check-in: [73a6b8c1b9] user: mistachkin branch: normalize_v4, size: 59724)
01:08
[9709452bee] part of check-in [1a1a59c6c5] Fix a missing mutex in the sqlite3_normalized_sql() interface when it is called on a prepared statement that did not previously have a computed normalization of the input SQL. (check-in: [1a1a59c6c5] user: drh branch: trunk, size: 59721)
2018-12-05
18:28
[d9fafa56c8] part of check-in [edfc2acfcd] Merge enhancements and the ALTER TABLE bug fix from trunk. (check-in: [edfc2acfcd] user: drh branch: apple-osx, size: 60650)
13:39
[9ac7e3946a] part of check-in [7da617e97e] Enhance the sqlite3_normalize_sql() interface so that it works even if the prepared statement was not initially compiled using SQLITE_PREPARE_NORMALIZED. Enhance the ".trace" command in the CLI so that it is able to access the full scope of functionality provided by sqlite3_trace_v2() and in particular so that it is able to show normalized SQL output using the newly enhanced sqlite3_normalize_sql() interface. (check-in: [7da617e97e] user: drh branch: trunk, size: 59643)
2018-12-04
14:33
[dc825a6ec9] part of check-in [e28584e8bc] Performance improvement in sqlite3_step() by creating a new mTrace flag for the legacy xProfile pointer that is set by sqlite3_profile(). (check-in: [e28584e8bc] user: drh branch: trunk, size: 59512)
13:51
[666993b793] part of check-in [8934482652] Small performance increase in sqlite3_step() for the common case where it returns SQLITE_ROW. (check-in: [8934482652] user: drh branch: trunk, size: 59460)
2018-11-05
13:53
[373eebe407] part of check-in [62acf7a09e] Merge recent trunk enhancements. (check-in: [62acf7a09e] user: drh branch: apple-osx, size: 60442)
2018-10-29
17:53
[ecccfce6f6] part of check-in [592b66e805] Add the sqlite3_normalized_sql() API. (check-in: [592b66e805] user: mistachkin branch: normalized_sql, size: 59435)
2018-10-09
22:50
[230b1c1270] part of check-in [ddf6a54ef3] Merge changes for the 3.25.0 release. (check-in: [ddf6a54ef3] user: drh branch: apple-osx, size: 60184)
2018-08-04
16:54
[2ba821c592] 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: 59177)
2018-06-20
09:23
[e35f813312] part of check-in [f41b6b7317] Add tests to improve coverage of code in window.c. Fix a problem with "SELECT row_number() OVER ()". (check-in: [f41b6b7317] user: dan branch: exp-window-functions, size: 59577)
2018-06-12
13:52
[af4a3de00d] part of check-in [b2973f2357] Improvements to SCopy correctness tracking when SQLITE_DEBUG is enabled. (check-in: [b2973f2357] user: drh branch: trunk, size: 59247)
2018-06-04
14:10
[409748b4bd] part of check-in [95fbac39ba] Merge changes from trunk. (check-in: [95fbac39ba] user: drh branch: apple-osx, size: 60191)
2018-05-26
16:00
[765a0bbe01] part of check-in [777189ce88] Store application-defined function names as lower-case to avoid the need for case conversions before calling xFindFunction on virtual tables. Avoid using lookaside to store the destructors for application defined functions, as lookaside should be reserved for transient allocations. (check-in: [777189ce88] user: drh branch: trunk, size: 59184)
2018-03-14
17:17
[2a0564779a] part of check-in [a658f80c8f] Merge the latest enhancements from trunk. (check-in: [a658f80c8f] user: drh branch: apple-osx, size: 61068)
08:27
[29d2baf9c1] part of check-in [21ecbce137] Improve detection of out-of-range parameters in sqlite3_stmt_status() for SQLITE_ENABLE_API_ARMOR builds. (check-in: [21ecbce137] user: dan branch: trunk, size: 60061)
2018-01-23
03:44
[fea4117188] 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: 59978)
2018-01-15
21:59
[b9ca143d09] part of check-in [c9d2ec51c8] Merge the enhancements associated with the first 3.22.0 beta. (check-in: [c9d2ec51c8] user: drh branch: apple-osx, size: 61140)
2018-01-12
21:00
[02f773681d] 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: 60133)
2018-01-11
17:04
[f519346f6d] 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: 59924)
2017-09-13
18:38
[e706b81a65] part of check-in [ebada0723a] Experimental sqlite3_stmt_retryable() interface. (check-in: [ebada0723a] user: drh branch: sqlite3_stmt_retryable, size: 59440)
2017-09-09
06:10
[896c36955f] part of check-in [6a0b9d9d4e] Merge trunk enhancements (check-in: [6a0b9d9d4e] user: drh branch: apple-osx, size: 60219)
2017-08-24
14:04
[d362429ebb] part of check-in [abc7adfda2] Make sure the sqlite3_result_pointer() interface does not leave a VM register in an inconsistent state. Fix for ticket [7486aa54b968e9b5]. Test cases are in TH3. (check-in: [abc7adfda2] user: drh branch: branch-3.20, size: 59245)
13:55
[9c670ca0dc] part of check-in [d2f9230c5c] Make sure the sqlite3_result_pointer() interface does not leave a VM register in an inconsistent state. Fix for ticket [7486aa54b968e9b5]. Test cases are in TH3. (check-in: [d2f9230c5c] user: drh branch: trunk, size: 59212)
2017-08-02
22:43
[05d6b14ab7] part of check-in [aea5990eab] In the KeyInfo object, refactor the nField and nXField elements into nKeyField and nAllField, which are more useful and run a little faster. (check-in: [aea5990eab] user: drh branch: trunk, size: 59186)
19:04
[dc282e27bf] part of check-in [527974d4ca] Avoid redundant calls to sqlite3ApiExit() in sqlite3_step(). (check-in: [527974d4ca] user: drh branch: trunk, size: 59180)
18:28
[6e27a510b9] part of check-in [bcc6dacb91] Only attempt to invoke WAL callbacks when a transaction has committed. (check-in: [bcc6dacb91] user: drh branch: trunk, size: 59237)
2017-07-27
16:42
[0823531191] part of check-in [d6684d2a74] In sqlite3_bind_pointer(), invoke the destructor if the bind index is out of range, like sqlite3_bind_blob() does. (check-in: [d6684d2a74] user: drh branch: pointer-with-destructor, size: 59219)
15:53
[5857a84fcb] part of check-in [601ad67959] Improved implementation of the destructor on pointer-passing interfaces. (check-in: [601ad67959] user: drh branch: pointer-with-destructor, size: 59169)
14:04
[76f2796312] part of check-in [49cf31da82] A demonstration of how FTS3 cursor pointers can be passed from the MATCH operator to the snippet() function securely and opaquely without having to use the sqlite3_result_pointer() and sqlite3_value_pointer() interfaces. (check-in: [49cf31da82] user: drh branch: pass-pointer-as-blob, size: 59002)
03:48
[7fd45f2470] 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: 59108)
2017-07-21
07:56
[ef70ce2a72] 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: 57707)
07:45
[4ebb5e6ad1] 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: 50563)
04:08
[4a28060646] 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: 47840)
03:23
[feda38a297] 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: 41904)
03:09
[ac2f07c42b] 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: 40833)
2017-07-20
16:55
[d83d30e113] 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: 59527)
2017-07-17
20:21
[624a7839ad] part of check-in [e181225dc7] Merge all the latest fixes and enhancements from trunk. (check-in: [e181225dc7] user: drh branch: apple-osx, size: 60000)
17:46
[52844a5a71] part of check-in [8a606e4aba] Interchange to branches within an "if" statement in sqlite3_value_pointer() in order to work around a bug in gcc. (check-in: [8a606e4aba] user: drh branch: branch-3.20, size: 58993)
11:39
[f600bf0dfc] part of check-in [c13264d5ef] Improve the sqlite3_result_pointer() interface so that it cannot be faked using sqlite3_result_null() and sqlite3_result_subtype(). (check-in: [c13264d5ef] user: drh branch: pointer-types, size: 58993)
00:40
[c42a2f0a34] 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: 58990)
2017-07-15
10:44
[0d8a4debe4] 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: 57817)
2017-07-07
22:58
[5eed6c263d] part of check-in [7f48f6ab2a] Merge in all the latest trunk enhancements. (check-in: [7f48f6ab2a] user: drh branch: apple-osx, size: 59211)
2017-06-30
23:09
[8f830cf2e3] 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: 58878)
2017-06-23
21:05
[aa587e3d86] part of check-in [53b14a3888] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [53b14a3888] user: drh branch: apple-osx, size: 59071)
2017-06-01
00:54
[899d8f021c] 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: 58204)
2017-05-31
16:21
[c961d8d9e0] part of check-in [b57d510465] Add the SQLITE_STMTSTATUS_MEMUSED option for sqlite3_stmt_status() that reports the amount of heap memory used for a single prepared statement. (check-in: [b57d510465] user: drh branch: stmtstatus-memused, size: 58064)
2017-05-29
22:44
[6009dbf02b] part of check-in [9a3e3b34ba] More efficient error handling and reset in the binding mechanism. (check-in: [9a3e3b34ba] user: drh branch: trunk, size: 57768)
2017-05-11
18:49
[70f5682b15] part of check-in [b55c0f14c3] Merge recent enhancements from trunk. (check-in: [b55c0f14c3] user: drh branch: apple-osx, size: 58747)
15:20
[dc904b3c5e] part of check-in [ff5306752e] Negative N values in sqlite3_get_auxdata() and sqlite3_set_auxdata() can be used to access an auxiliary data cache over all functions in a single prepared statement. (check-in: [ff5306752e] user: drh branch: auxdata-cache, size: 57740)
2017-05-10
19:42
[736dce6a84] 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: 57287)
2017-03-06
20:00
[995f635640] part of check-in [1650c3f468] Merge all pending 3.18 enhancements from trunk. (check-in: [1650c3f468] user: drh branch: apple-osx, size: 58260)
2017-03-03
21:51
[5b08d82592] part of check-in [45797feefe] If a reprepare is needed after binding to a variable with a number larger than 32, set only the high-order bit of the Vdbe.expmask rather than setting all bits. This could potentially result in fewer false-positive reprepares. (check-in: [45797feefe] user: drh branch: trunk, size: 57253)
2017-02-23
16:30
[70aabe108c] part of check-in [a8fd705258] Save a few bytes and a few cycles by setting Vdbe.expmask to zero for statements prepared using legacy interface sqlite3_prepare(). (check-in: [a8fd705258] user: dan branch: trunk, size: 57257)
2017-02-04
15:29
[56ef5bdfd9] part of check-in [6c3f09028f] Merge recent trunk enhancements. (check-in: [6c3f09028f] user: drh branch: apple-osx, size: 58150)
2017-01-30
19:44
[3e4a8893fe] 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: 57143)
2017-01-27
16:39
[46cdfab63a] part of check-in [0e14fe1b98] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [0e14fe1b98] user: drh branch: apple-osx, size: 57992)
2017-01-25
18:53
[7a65f10684] part of check-in [c7651d21bf] Fix another pre-update hook issue, this time in sqlite3preupdate_old(). (check-in: [c7651d21bf] user: dan branch: trim-nulls, size: 56985)
17:44
[9a44ed2f4f] part of check-in [6fc4fbfa29] Fix a problem with the pre-update hook on this branch. (check-in: [6fc4fbfa29] user: dan branch: trim-nulls, size: 57042)
2017-01-03
20:20
[fe1a1ebda3] part of check-in [dcbec226ca] Merge changes from the 3.16.1 release (check-in: [dcbec226ca] user: drh branch: apple-osx, size: 58068)
2016-12-23
03:59
[d6ebaa465f] 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: 57061)
2016-12-21
19:45
[129a2a1103] part of check-in [f7ab01f254] Simplifications to the way UnpackedRecord objects are allocated. Smaller and faster code that also fixes a subtle (currently unreachable) bug. (check-in: [f7ab01f254] user: drh branch: trunk, size: 57208)
2016-11-26
20:44
[ae2cab17a1] part of check-in [41a3af5443] Merge all recent trunk changes, and especially the new sqlite3_snapshot_recover() interface. (check-in: [41a3af5443] user: drh branch: apple-osx, size: 58310)
2016-11-25
19:18
[ea4e2dc221] 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: 57303)
2016-11-04
19:09
[4ecb0af941] part of check-in [0e5ffd9123] Merge recent trunk changes, including all the fixes that appeared in version 3.15.1. (check-in: [0e5ffd9123] user: drh branch: apple-osx, size: 58307)
2016-10-21
21:21
[97129bec6b] 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: 57300)
2016-10-01
11:39
[8272f9342c] part of check-in [6ac6e4462a] Avoid accessing Vdbe.pc if it is uninitialized. Check Vdbe.magic first. (check-in: [6ac6e4462a] user: drh branch: trunk, size: 57089)
2016-09-28
16:15
[7c42a9682c] part of check-in [0601416347] Merge recent enhancements from trunk. (check-in: [0601416347] user: drh branch: apple-osx, size: 58096)
2016-09-22
21:37
[794f80669e] part of check-in [ee1382a363] Fix a potential null-pointer dereference and crash in the case where one thread is calling sqlite3_column_text() and another thread is calling sqlite3_step() on the same prepared statement at the same instant. (check-in: [ee1382a363] user: drh branch: trunk, size: 57089)
2016-09-20
01:46
[1e0505f6a5] part of check-in [21b0e3b75c] Further performance enhancements in zeroblob() handling. (check-in: [21b0e3b75c] user: drh branch: trunk, size: 57043)
2016-09-07
18:20
[17e7b6517d] part of check-in [00759af053] Merge recent enhancements from trunk. (check-in: [00759af053] user: drh branch: apple-osx, size: 58078)
2016-08-18
14:33
[a32d61b7dd] part of check-in [92a22f0134] Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. (check-in: [92a22f0134] user: drh branch: zDbSName, size: 57071)
2016-08-09
01:21
[4fc6448963] part of check-in [9d4eb6e475] Refocus the timer on the pager_end_transaction() routine. (check-in: [9d4eb6e475] user: drh branch: debug, size: 44542)
2016-08-04
14:08
[c56dc89979] part of check-in [491f1ef36e] Add extra logging calls to this branch. (check-in: [491f1ef36e] user: dan branch: debug, size: 44544)
2016-07-25
17:31
[facd907589] part of check-in [e98cefb17d] Merge 3.14 alpha changes from trunk. (check-in: [e98cefb17d] user: drh branch: apple-osx, size: 58075)
2016-07-23
02:07
[c3f6715a99] part of check-in [ebd388e94d] Add requirements marks to the sqlite3_trace_v2() interface documentation. (check-in: [ebd388e94d] user: drh branch: sqlite3_trace_v2, size: 57068)
2016-07-14
01:09
[460b90f7f0] part of check-in [99ee7ee58d] Add the sqlite3_expanded_sql() interface. Refinements to the sqlite3_trace_v2() interface to make it more useful. (check-in: [99ee7ee58d] user: drh branch: sqlite3_trace_v2, size: 56208)
2016-07-13
22:55
[a466743c8e] part of check-in [cb0062feb0] First cut at implementing the new sqlite3_trace_v2() interface. (check-in: [cb0062feb0] user: drh branch: sqlite3_trace_v2, size: 56200)
2016-06-15
10:21
[ac62868e4d] part of check-in [0f707d1532] Merge changes from trunk. (check-in: [0f707d1532] user: drh branch: apple-osx, size: 56927)
2016-06-04
20:37
[02bcbc2ca5] part of check-in [bef35e18dd] Change the sqlite3BtreeKeySize() interface into sqlite3BtreeIntegerKey() and make it only work for table btrees. Change sqlite3BtreeDataSize() into sqlite3BtreePayloadSize() and make it work for all btrees. Combine sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() into a single sqlite3BtreePayloadFetch() routine. These changes seem to make the b-tree interface more rational and they reduce both binary size and CPU usage. (check-in: [bef35e18dd] user: drh branch: btree-refactor, size: 55920)
2016-04-21
15:35
[ded51c087a] part of check-in [a15c49aed0] Merge all recent enhancements from trunk. (check-in: [a15c49aed0] user: drh branch: apple-osx, size: 56977)
2016-02-25
18:54
[ba85b78fe0] part of check-in [b86590043e] Merge all the latest changes from trunk. (check-in: [b86590043e] user: drh branch: sessions, size: 55970)
2016-02-18
01:36
[334db1c072] part of check-in [b7fa0fb339] Merge recent performance enhancements and the enhanced API_ARMOR from trunk. (check-in: [b7fa0fb339] user: drh branch: apple-osx, size: 51321)
01:29
[95b1f8e527] part of check-in [80de1ad5eb] Add extra API armor on the sqlite3_bind_blob() interface. (check-in: [80de1ad5eb] user: drh branch: trunk, size: 50314)
2016-02-13
23:43
[bfc06382d5] part of check-in [6a9c4a3ebf] Enhance ability to debug out-of-memory errors. (check-in: [6a9c4a3ebf] user: mistachkin branch: noMemBkpt, size: 50233)
2016-02-05
14:29
[acc259f1b4] part of check-in [201fcbeef3] Merge OOM handling optimizations and PRAGMA synchronous=EXTRA as well as other enhancements from trunk. (check-in: [201fcbeef3] user: drh branch: apple-osx, size: 51220)
14:15
[f9bed48c23] part of check-in [a533608cb0] Merge enhancements from trunk. (check-in: [a533608cb0] user: drh branch: sessions, size: 55869)
01:55
[9324f6baee] part of check-in [c3ef03478a] Improvements to the way that OOM errors are processed. (check-in: [c3ef03478a] user: drh branch: oom-handling, size: 50213)
2016-02-02
02:30
[29f9b3c19c] part of check-in [e6a4a16312] Merge recent enhancements from trunk. (check-in: [e6a4a16312] user: drh branch: apple-osx, size: 51222)
02:22
[648ebb95c1] part of check-in [f3f9200115] Merge all recent enhancements from trunk. (check-in: [f3f9200115] user: drh branch: sessions, size: 55871)
2016-01-30
15:46
[9d640d5efd] 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: 50215)
14:53
[59412373ec] 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: 50161)
2016-01-20
11:40
[a25beee486] part of check-in [3ed49691a1] Merge all recent enhancements from trunk. (check-in: [3ed49691a1] user: drh branch: apple-osx, size: 51124)
11:33
[75fa852c0d] part of check-in [327af5f644] Merge recent enhancements from trunk. (check-in: [327af5f644] user: drh branch: sessions, size: 55773)
2016-01-14
22:19
[ffae8f5af4] part of check-in [0d1b3d7d3c] Combine the xFunc and xStep pointers of the FuncDef object into a single pointer xSFunc. (check-in: [0d1b3d7d3c] user: drh branch: trunk, size: 50117)
2015-12-02
20:40
[ab2cb8fe23] part of check-in [d1a1278d7f] Merge recent enhancements from trunk. (check-in: [d1a1278d7f] user: drh branch: sessions, size: 55765)
2015-09-24
14:43
[b13f483b13] part of check-in [4dd06d8ba1] Merge recent trunk enhancements into the apple-osx branch. (check-in: [4dd06d8ba1] user: drh branch: apple-osx, size: 51116)
14:26
[f5eda36a5c] part of check-in [c91065f8ed] Merge all the latest trunk enhancements into the sessions branch. (check-in: [c91065f8ed] user: drh branch: sessions, size: 55759)
2015-09-19
18:08
[020681b943] part of check-in [5c31ee62a1] Fix compiler warnings. (check-in: [5c31ee62a1] user: drh branch: trunk, size: 50109)
2015-09-15
17:20
[1e25aab83d] part of check-in [f12b8a0f79] Merge trunk enhancements into the apple-osx branch. (check-in: [f12b8a0f79] user: drh branch: apple-osx, size: 51004)
2015-09-14
10:47
[82973abfc0] part of check-in [22ce9218fb] Merge the latest trunk enhancements. (check-in: [22ce9218fb] user: drh branch: sessions, size: 55647)
2015-09-10
20:34
[0d890f57ca] part of check-in [7b5be299c6] Experimental implementation of sqlite3_result_subtype() and sqlite3_value_subtype() interfaces. (check-in: [7b5be299c6] user: drh branch: subtypes, size: 49997)
2015-09-08
21:12
[b821d530bc] part of check-in [6beb512c7a] Enhance the DBSTAT virtual table with a new hidden table "schema" that if set will cause the table to report on the specified schema rather than on "main". Also: Fix a faulty assert in sqlite3_context_db_handle(). (check-in: [6beb512c7a] user: drh branch: trunk, size: 49731)
2015-08-28
02:12
[0a32d5892d] part of check-in [da8646582a] Merge trunk enhancements into the apple-osx branch. Most tests works, but there are yet a few issues to be resolved. (check-in: [da8646582a] user: drh branch: apple-osx, size: 50739)
2015-08-20
23:54
[c58b0f5aab] part of check-in [e9196d5666] Merge recent trunk enhancements, include table-valued functions. (check-in: [e9196d5666] user: drh branch: sessions, size: 55382)
17:18
[bda74ef4b5] part of check-in [fd13dd950d] Make SQLITE_BUSY_SNAPSHOT and SQLITE_BUSY_RECOVERY retryable, just as a plain SQLITE_BUSY is. (check-in: [fd13dd950d] user: drh branch: trunk, size: 49732)
2015-07-24
22:21
[7813b97250] part of check-in [0298a9a780] Merge test improvements and minor fixes from trunk. (check-in: [0298a9a780] user: drh branch: sessions, size: 55375)
17:36
[adabbd66eb] part of check-in [1997ee548b] Add the sqlite3_bind_zeroblob64() API. (check-in: [1997ee548b] user: dan branch: trunk, size: 49725)
17:14
[f91ac25af0] part of check-in [f8991e6f72] Fix compiler warnings. Get the new sqlite3_result_zeroblob64() working on loadable extensions. (check-in: [f8991e6f72] user: drh branch: trunk, size: 49322)
16:24
[a0ffa364a7] part of check-in [c6445b9fb4] Add the sqlite3_result_zeroblob64() API. Use it in the SQL zeroblob() function. (check-in: [c6445b9fb4] user: dan branch: trunk, size: 49317)
15:49
[082746d4c4] part of check-in [4e3e516a42] More robust handling of zeroblob() with oversized arguments. Fix fuzzcheck so that it can be run with limited heap memory. (check-in: [4e3e516a42] user: drh branch: trunk, size: 48971)
2015-07-14
15:39
[86f01f72f8] part of check-in [db4cbefb86] Merge trunk changes, including the addition of FTS5 and pcache1 performance enhancements. (check-in: [db4cbefb86] user: drh branch: sessions, size: 54595)
14:48
[2fa7ed7520] part of check-in [202479aa0a] Always invoke the profile callback even if the statement does not run to completion. (check-in: [202479aa0a] user: drh branch: trunk, size: 48945)
2015-05-22
23:26
[a5d2e8afd5] part of check-in [cdc0ca6fb3] Merge enhancements from trunk, including the new sqlite3_value_dup() API and the addition of the apSqlParam field in the sqlite3_rtree_query_info object of R-Tree. (check-in: [cdc0ca6fb3] user: drh branch: sessions, size: 53781)
21:04
[6a0d775798] part of check-in [f332ffc39b] Make sure sqlite3_value_dup() works correctly even for sqlite3_value objects that are marked SQLITE_STATIC. (check-in: [f332ffc39b] user: drh branch: value-dup, size: 48131)
19:55
[06b7b785dc] part of check-in [95edcf5010] Fix minor issues with the sqlite3_value_dup() interface. (check-in: [95edcf5010] user: drh branch: value-dup, size: 48145)
2015-05-20
22:01
[87c9a5517a] 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: 53720)
21:28
[f9ad1be11b] 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: 48070)
2015-04-22
14:41
[d4c9945b2a] part of check-in [658e20f554] Prototype for an sqlite3_db_log() interface. (check-in: [658e20f554] user: drh branch: sqlite3_db_log, size: 47396)
2015-03-17
18:54
[d95f2bb43d] part of check-in [1d1c57c356] Merge all recent trunk enhancements into the sessions branch. (check-in: [1d1c57c356] user: drh branch: sessions, size: 53036)
18:35
[36861a49fc] part of check-in [8abbeadbc0] Merge all recent trunk changes, and in particular the blocking WAL lock change, into the apple-osx branch. (check-in: [8abbeadbc0] user: drh branch: apple-osx, size: 48393)
2015-03-12
23:48
[583d56b129] part of check-in [3ac1f6a3cf] Fix the "now" option for date-time functions for cases when STAT4 is disabled. (check-in: [3ac1f6a3cf] user: drh branch: trunk, size: 47386)
21:02
[1295402cab] part of check-in [a991bb1a9e] Always disallow functions as the DEFAULT of a column. Add assert()s and (check-in: [a991bb1a9e] user: drh branch: stat4-function, size: 47372)
06:46
[da6551c9a9] part of check-in [8fb6bd9be5] The valueFromFunction() routine is better able to handle OOM errors. Omit unreachable branches. (check-in: [8fb6bd9be5] user: drh branch: stat4-function, size: 47354)
2015-03-11
20:06
[5c207659c8] part of check-in [b7f1fc26d2] Allow the query planner to evaluate deterministic scalar SQL functions used in WHERE constraints if all arguments are SQL literals in order to compare the results with sqlite_stat4 sample data. (check-in: [b7f1fc26d2] user: dan branch: stat4-function, size: 46794)
2015-03-09
13:18
[6ef15e2dc2] part of check-in [5e04eec88e] Merge recent trunk enhancements into the apple-osx branch. (check-in: [5e04eec88e] user: drh branch: apple-osx, size: 47690)
13:07
[be4717b0a0] part of check-in [68c8937e83] Merge recent trunk enhancements into the sessions branch. (check-in: [68c8937e83] user: drh branch: sessions, size: 52333)
2015-02-27
00:33
[dac0d0d800] part of check-in [d70b0fd4c9] Add a couple of requirements marks. (check-in: [d70b0fd4c9] user: drh branch: trunk, size: 46683)
2015-02-21
15:13
[1f5af816d4] part of check-in [f36bb5fa5c] Merge all recent trunk changes into the sessions branch. (check-in: [f36bb5fa5c] user: drh branch: sessions, size: 52160)
2015-02-13
12:13
[855e0c2f66] part of check-in [b2449d6776] Merge all recent trunk fixes and enhancements into the apple-osx branch. (check-in: [b2449d6776] user: drh branch: apple-osx, size: 47517)
12:05
[3d88089b10] 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: 46510)
2014-12-16
01:05
[90aeb4b3f1] part of check-in [9817a2864e] Merge threading fixes from trunk into the sessions branch. (check-in: [9817a2864e] user: drh branch: sessions, size: 52020)
00:29
[ad6b1bde19] part of check-in [2c1d8ddab2] Merge latest fixes and enhancements from trunk into apple-osx. (check-in: [2c1d8ddab2] user: drh branch: apple-osx, size: 47377)
2014-12-12
01:27
[4bc511a46b] part of check-in [d8d3e6d04c] Add new tests to the threadtest4.c program. Fix a long-standing data race in WAL mode for shared-cache. (check-in: [d8d3e6d04c] user: drh branch: trunk, size: 46370)
2014-12-11
16:38
[f8dd2d33a3] part of check-in [fc157dd7f1] Fix a race condition to do with very large index keys in shared-cache mode. (check-in: [fc157dd7f1] user: dan branch: trunk, size: 46296)
2014-11-18
21:27
[55cd14500f] part of check-in [ccb601f6df] Merge recent trunk enhancements. (check-in: [ccb601f6df] user: drh branch: apple-osx, size: 47346)
21:20
[3d4d2a2b24] 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: 51989)
2014-11-06
04:42
[07acb615d1] 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: 46339)
03:55
[6a126fd8ed] 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: 46149)
2014-11-03
16:39
[900259bdd8] part of check-in [4c5714ab3d] Fix a typo preventing this from building with SQLITE_ENABLE_STMT_SCANSTATUS defined. (check-in: [4c5714ab3d] user: dan branch: scanstatus, size: 46027)
16:35
[76d6288845] part of check-in [7955342da4] Refactor the interface to make it more easily extensible. (check-in: [7955342da4] user: drh branch: scanstatus, size: 46026)
11:25
[addf446eca] 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: 45859)
2014-11-01
20:38
[19e433e69f] 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: 45860)
2014-10-31
20:11
[2afa2e162f] part of check-in [6a9bab34ae] Add the experimental sqlite3_stmt_scanstatus() API. (check-in: [6a9bab34ae] user: dan branch: scanstatus, size: 45744)
14:53
[1a5c924824] 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: 50203)
2014-10-27
18:42
[08f16b5d0d] part of check-in [10aaf3b148] Merge latest enhancements, including the SQLITE_ENABLE_API_ARMOR patch, from trunk. (check-in: [10aaf3b148] user: drh branch: apple-osx, size: 45560)
2014-10-24
00:35
[02d8afcff7] part of check-in [c297a84bc6] Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in progress and is not yet completely functional. (check-in: [c297a84bc6] user: drh branch: api-armor, size: 44553)
2014-10-23
17:26
[cbfb0fed9b] 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: 44842)
2014-10-10
12:56
[30a1c99114] part of check-in [abfef25472] Merge all recent trunk changes. (check-in: [abfef25472] user: drh branch: sessions, size: 49855)
2014-10-09
11:27
[72c51192fa] part of check-in [6fc7207727] Merge the latest trunk enhancements into the apple-osx branch. (check-in: [6fc7207727] user: drh branch: apple-osx, size: 45212)
2014-10-03
16:00
[37a6c6ae28] part of check-in [d2fc322728] Add requirements marks on the sqlite3_db_status() interface implementation. Fix a typo in the documentation. Fix the new sqlite3_result_text64() routine so that it works correctly with an encoding parameter of SQLITE_UTF16. (check-in: [d2fc322728] user: drh branch: trunk, size: 44205)
2014-09-21
23:08
[b7b086fc95] part of check-in [3967ebe83e] Merge in all recent changes from trunk. (check-in: [3967ebe83e] user: drh branch: apple-osx, size: 45160)
22:49
[cdded67e36] part of check-in [6406b77f2c] Merge all recent trunk changes into the sessions branch. (check-in: [6406b77f2c] user: drh branch: sessions, size: 49803)
2014-09-19
00:43
[e9e33b5983] 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: 44153)
2014-09-18
21:25
[e088ed70b6] 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: 44146)
17:52
[88929e0267] 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: 44084)
01:21
[c02242df5e] part of check-in [163bfae858] Fix compiler warnings and change the nullMem structure initializer into a format that MSVC can understand. (check-in: [163bfae858] user: drh branch: micro-optimizations, size: 44121)
2014-09-17
14:52
[c6e63f913b] 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: 44056)
2014-09-16
14:16
[4d2aa56efa] 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: 44092)
2014-09-11
23:34
[06b712d477] part of check-in [34292b084e] Fix an issue with sqlite3_bind_text64() with the SQLITE_UTF16 encoding parameter. Remove some unreachable code from the text64() and blob64() implementation. (check-in: [34292b084e] user: drh branch: trunk, size: 43873)
2014-09-09
20:30
[cec65a12dc] part of check-in [6ab76c5fed] Change the name of the _texte64() interfaces to just _test64(), without the "e". (check-in: [6ab76c5fed] user: drh branch: 64-bit-lengths, size: 43713)
17:27
[fce69e5e90] part of check-in [94954850cf] Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_texte64(), sqlite3_result_blob64(), and sqlite3_result_texte64(). Internal memory allocation routines also now use 64-bit unsigned length parameters for safety. Also add the sqlite3_msize() interface. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. (check-in: [94954850cf] user: drh branch: 64-bit-lengths, size: 43715)
2014-09-08
15:04
[d63985095b] part of check-in [c2885c6bb2] Merge support for large files on Android from trunk. (check-in: [c2885c6bb2] user: drh branch: sessions, size: 47538)
2014-09-06
16:39
[e43a6b98f8] part of check-in [e62aab5e92] Fix typos in comments. No code changes. (check-in: [e62aab5e92] user: peter.d.reid branch: trunk, size: 41888)
2014-09-02
15:57
[b0122a0326] part of check-in [696dc935f7] Merge the latest trunk changes into the apple-osx branch. (check-in: [696dc935f7] user: drh branch: apple-osx, size: 42888)
15:49
[6b14e76648] 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: 47531)
2014-08-27
14:14
[09677a53dd] 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: 41881)
2014-08-26
02:15
[ce34bb8057] 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: 47419)
02:02
[785377415e] part of check-in [5c27311105] Merge recent performance enhancements and the CAST operator enhancements into the apple-osx branch. (check-in: [5c27311105] user: drh branch: apple-osx, size: 42776)
2014-08-23
18:17
[cda974083d] part of check-in [802148f311] Make the implementation of the sqlite3_aggregate_context() interface faster for second an subsequent invocations. This helps all aggregate functions to perform better. (check-in: [802148f311] user: drh branch: trunk, size: 41769)
2014-08-22
18:00
[49b8d2943d] part of check-in [cf561d1f0b] Split the sqlite3Error() routine into sqlite3Error() and sqlite3ErrorWithMsg(), for a slight size reduction and performance increase. (check-in: [cf561d1f0b] user: drh branch: trunk, size: 41505)
2014-08-21
16:09
[11d97cd50c] part of check-in [0b9e2c3269] Merge all recent trunk changes, especially the fix for ticket [369d57fb8e5ccdff06f1], but also the skip-scan improvement and performance improvements in the b-tree code. (check-in: [0b9e2c3269] user: drh branch: sessions, size: 47176)
2014-08-19
20:41
[7858d7e7cd] part of check-in [44d5bd4cc3] A better fix for the sqlite3_trace() problem. Ticket [11d5aa455e0d98f3c1e6a] (check-in: [44d5bd4cc3] user: drh branch: trunk, size: 41520)
20:27
[ce75e452df] part of check-in [0d4d3df4bc] Make sure the sqlite3_trace() callback is invoked, even if the prepared statement was marked "expired" before it ever entered sqlite3_step(). Ticket [11d5aa455e0d98f3c1e6a08]. (check-in: [0d4d3df4bc] user: drh branch: trunk, size: 41512)
2014-07-24
16:43
[4606079c86] part of check-in [3810dc62d2] Merge recent trunk changes into the apple-osx branch. (check-in: [3810dc62d2] user: drh branch: apple-osx, size: 42475)
16:23
[52335de5ff] part of check-in [a9db017eab] Merge recent trunk changes into the sessions branch. (check-in: [a9db017eab] user: drh branch: sessions, size: 47124)
2014-07-19
17:57
[24e4042238] part of check-in [61cee3c067] Update the sqlite3_stmt_busy() function so that it correctly returns true for "ROLLBACK" statements that have been stepped but not yet reset. (check-in: [61cee3c067] user: dan branch: trunk, size: 41468)
2014-05-09
12:18
[32a4436086] part of check-in [856400dc20] Fix an incorrect check for API misuse. (check-in: [856400dc20] user: drh branch: apple-osx, size: 42474)
2014-05-08
23:01
[e37d694fee] part of check-in [9411d7dc6f] Initial attempt to merge in all trunk changes over the previous 1.5 years. This check-in compiles but there are compiler warnings and "make test" segfaults after only running a few test modules. (check-in: [9411d7dc6f] user: drh branch: apple-osx, size: 42597)
2014-03-05
14:49
[d3c662762b] 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: 47123)
14:40
[0ed6053f94] part of check-in [1d134ba2ed] When converting a result type from TEXT to BLOB using the sqlite3_value_blob() interface, continue to report SQLITE_TEXT as the true type from sqlite3_value_text() as long as that text is still valid. The maintains legacy behavior from before the noMemType change. (check-in: [1d134ba2ed] user: drh branch: trunk, size: 41467)
12:47
[77fbd57c03] part of check-in [12cbebb997] Separate the column NULL value constant into a separate routine for greater commonality with the sessions branch. (check-in: [12cbebb997] user: drh branch: trunk, size: 41493)
01:29
[a5c48f2b01] part of check-in [bac2820e13] Experimental simplification of memory flags/type handling. (check-in: [bac2820e13] user: mistachkin branch: noMemType, size: 41539)
2014-02-11
04:30
[a130692dd1] 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: 47188)
2014-02-10
03:21
[5bc41aaea4] part of check-in [5708bc24b8] Faster and smaller implementation of sqlite3_value_type(). (check-in: [5708bc24b8] user: drh branch: trunk, size: 41547)
2013-12-14
18:24
[647d65813a] part of check-in [32477642d7] Merge in all recent preformance enhancements from trunk. (check-in: [32477642d7] user: drh branch: sessions, size: 46052)
2013-12-13
16:23
[ce4e68ea48] part of check-in [9d347f547e] Simplication and optimization of error message handling. (check-in: [9d347f547e] user: drh branch: trunk, size: 40411)
2013-11-27
21:53
[e80d6d9dea] part of check-in [3a2a1bd478] Merge all recent trunk changes. (check-in: [3a2a1bd478] user: drh branch: sessions, size: 45994)
2013-10-10
20:13
[8ade912f70] part of check-in [136445ba02] Synchronize with the trunk. (check-in: [136445ba02] user: drh branch: sessions, size: 47044)
2013-09-16
12:57
[93a22a9ba2] 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: 40414)
2013-08-20
13:02
[ae87d198eb] part of check-in [3e4033285d] Merge performance enhancements and compiler warning fixes from trunk. (check-in: [3e4033285d] user: drh branch: sessions, size: 46740)
00:42
[96b24b946c] 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: 40110)
2013-08-19
23:18
[a183f0daa2] part of check-in [d2efea1682] Performance improvement to SQL function calls in the VDBE. (check-in: [d2efea1682] user: drh branch: toTypeFuncs, size: 40109)
2013-08-02
20:44
[c8c433043d] 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: 46522)
2013-07-18
17:12
[4d13580bd0] 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: 39892)
2013-07-11
15:03
[c88222946d] 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: 39998)
13:49
[bca51b6ea2] part of check-in [d39e65fe70] Remove the undocumented sqlite3_foreign_key_check() API and replace it with sqlite3_db_status(db, SQLITE_DBSTATUS_DEFERRED_FKS, ...). Add test cases for the new functionality. (check-in: [d39e65fe70] user: drh branch: sessions, size: 46628)
2013-07-09
13:05
[bb28ee14ba] part of check-in [af3ca4c6e5] Pull in all the latest changes from trunk. (check-in: [af3ca4c6e5] user: drh branch: sessions, size: 46704)
2013-07-03
19:53
[c45805f7ac] 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: 46676)
2013-06-28
01:24
[e3ad4cddb7] 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: 39956)
2013-06-27
23:54
[649df0c9ea] part of check-in [14f7969634] Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes "nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and "nVdbeExec". (check-in: [14f7969634] user: drh branch: trunk, size: 39954)
17:40
[be5e9ebd51] 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: 39965)
2013-06-26
13:31
[4c5da20261] 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: 46558)
2013-05-28
12:11
[0b2c787970] part of check-in [a0d5cc9315] Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (check-in: [a0d5cc9315] user: drh branch: trunk, size: 39928)
2013-04-22
23:59
[5899f359cb] part of check-in [6994826c07] Merge the latest trunk changes into the sessions branch. (check-in: [6994826c07] user: drh branch: sessions, size: 46771)
2013-04-06
18:06
[085cf9bf16] 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: 40141)
2013-03-28
01:19
[8245e8c2cd] 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: 46976)
2013-03-21
21:20
[56f9ad6329] part of check-in [6f6e2d5094] Many spelling fixes in comments. No changes to code. (check-in: [6f6e2d5094] user: mistachkin branch: trunk, size: 40346)
2013-03-06
02:12
[b816227ece] part of check-in [d69d21903b] Merge all the latest trunk changes into the sessions branch. (check-in: [d69d21903b] user: drh branch: sessions, size: 46975)
2013-03-01
01:07
[9616986209] part of check-in [d73435587b] Always use strncmp() rather than memcmp() when comparing strings where one or other string might be less than the length parameter, since optimized versions of memcmp() might read past the first difference and in so doing generate an access violation. (check-in: [d73435587b] user: drh branch: trunk, size: 40345)
2012-09-28
13:05
[58fdcd5610] 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: 46974)
10:57
[e05707f39a] part of check-in [6a5c59dd7e] Merge the latest trunk changes (PRAGMA busy_timeout and the ORDER BY query planner enhancements) into the apple-osx branch. (check-in: [6a5c59dd7e] user: drh branch: apple-osx, size: 41474)
2012-09-04
21:34
[4c2418161c] 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: 40344)
2012-08-25
01:38
[31936c1666] part of check-in [6723add4f4] Merge all the latest trunk changes into the apple-osx branch. (check-in: [6723add4f4] user: drh branch: apple-osx, size: 41430)
2012-08-15
16:21
[7d23764ea2] part of check-in [fc07a4795e] Merge all the latest trunk changes into the sessions branch. (check-in: [fc07a4795e] user: drh branch: sessions, size: 46930)
2012-06-21
17:21
[88ea823bbc] part of check-in [d5e6880279] Remove code that was incorrectly changing SQLITE_MISUSE errors into SQLITE_OK in sqlite3_finalize(). (check-in: [d5e6880279] user: drh branch: trunk, size: 40300)
2012-06-02
14:32
[f8ba09132f] part of check-in [e276a02b7f] The sqlite3_close() interface returns SQLITE_OK even if there are outstanding sqlite3_stmt and sqlite3_backup objects. The connection becomes a zombie. Resource deallocation is deferred until the last sqlite3_stmt or sqlite3_backup object closes. This is intended to help SQLite play nicer with garbage collectors. (check-in: [e276a02b7f] user: drh branch: deferred-close, size: 40351)
2012-02-13
13:44
[23164e00b0] 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: 40152)
2012-01-05
13:02
[2fc381f651] part of check-in [a9bcb432f5] Merge all of the latest trunk changes into the sessions branch. (check-in: [a9bcb432f5] user: drh branch: sessions, size: 47027)
2012-01-03
21:54
[bf1f632719] part of check-in [8a048423f0] Pull all the latest trunk changes over into the apple-osx branch. (check-in: [8a048423f0] user: drh branch: apple-osx, size: 41527)
2011-12-31
21:51
[3662b6a468] part of check-in [6827338ecb] Fix typos in comments. No changes to code. (check-in: [6827338ecb] user: drh branch: trunk, size: 40397)
2011-12-08
21:08
[f3e684cb2f] part of check-in [59e0d4f3d9] Merge the latest trunk changes into the apple-osx branch. (check-in: [59e0d4f3d9] user: drh branch: apple-osx, size: 41522)
2011-11-25
17:21
[86189ebba2] part of check-in [95cc4af686] Add the sqlite3_stmt_busy() interface. (check-in: [95cc4af686] user: drh branch: trunk, size: 40392)
2011-10-31
14:42
[a78a20bff2] part of check-in [4fa9ee7947] Pull the latest trunk changes into the apple-osx branch. (check-in: [4fa9ee7947] user: drh branch: apple-osx, size: 41321)
14:34
[0dd7815837] 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: 46821)
2011-10-27
15:19
[4dbba7f94f] 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: 40191)
2011-09-14
19:41
[c969d46781] part of check-in [c00e45ede7] Merge latest changes from the trunk into the sessions branch. (check-in: [c00e45ede7] user: dan branch: sessions, size: 46813)
2011-08-02
18:25
[335435e654] part of check-in [77376b332b] Merge all the latest trunk changes into the apple-osx branch. (check-in: [77376b332b] user: drh branch: apple-osx, size: 41313)
2011-07-22
12:49
[ddd061183e] part of check-in [110cfd6920] Merge the latest trunk changes into the sessions branch. (check-in: [110cfd6920] user: drh branch: sessions, size: 46220)
2011-07-11
19:45
[432a8a194a] part of check-in [82ac16c4f8] Modifications so that the sessions extension works with blob handles. (check-in: [82ac16c4f8] user: dan branch: sessions, size: 46211)
2011-06-27
19:12
[11dc47987a] part of check-in [25e5b7686a] Remove an unnecessary assignment from vdbeapi.c. (check-in: [25e5b7686a] user: dan branch: fts3-changes, size: 40183)
2011-06-23
02:30
[7f01db7d26] part of check-in [b5acda0445] Pull the latest changes from trunk into the apple-osx branch. (check-in: [b5acda0445] user: drh branch: apple-osx, size: 41304)
02:11
[1d947da083] part of check-in [5d95b42946] Pull the latest trunk changes into the sessions branch. (check-in: [5d95b42946] user: drh branch: sessions, size: 46209)
01:42
[2f908c6533] part of check-in [8dca748b23] Provide the SQLITE_MAX_SCHEMA_RETRY compile-time parameter for adjusting the number of reparse attempts after a schema change. (check-in: [8dca748b23] user: drh branch: trunk, size: 40174)
2011-06-20
10:44
[3f6e988bd1] part of check-in [4c5e276c90] Merge the latest trunk changes into the sessions branch. (check-in: [4c5e276c90] user: drh branch: sessions, size: 45982)
2011-06-02
13:07
[d2ce598db7] part of check-in [ce5f95dee6] Merge the latest trunk changes, including the read-only shared memory enhancement, into the apple-osx branch. (check-in: [ce5f95dee6] user: drh branch: apple-osx, size: 41077)
2011-06-01
18:15
[0eeadc75e4] 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: 39947)
2011-04-05
22:13
[8051038f76] part of check-in [45f2026172] Merge the latest trunk changes into the sessions branch. (check-in: [45f2026172] user: drh branch: sessions, size: 46818)
22:10
[34b6686d90] part of check-in [c77a767cbd] Merge the latest trunk changes into the apple-osx branch. (check-in: [c77a767cbd] user: drh branch: apple-osx, size: 41913)
22:08
[e0e2672e0a] part of check-in [3eeb0ff78d] Suppress many harmless compiler warnings, mostly signed/unsigned comparisons within asserts or unused parameters in extensions. (check-in: [3eeb0ff78d] user: drh branch: trunk, size: 40783)
2011-04-04
13:11
[bb9859f2c8] part of check-in [6d78a25ddc] Merge in the latest changes from trunk. (check-in: [6d78a25ddc] user: drh branch: apple-osx, size: 41835)
2011-03-30
21:04
[7ef519083e] part of check-in [6634521461] Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option. (check-in: [6634521461] user: drh branch: sessions, size: 45930)
2011-03-22
18:45
[e472b3e598] part of check-in [bdea70895c] Add API function sqlite3_preupdate_depth(), for determining the depth of the trigger stack from within a pre-update callback. (check-in: [bdea70895c] user: dan branch: sessions, size: 45618)
2011-03-21
16:17
[3d620e00cb] part of check-in [32e95164d1] Add start of fault-injection tests for session module. Fix some bugs related to the same. (check-in: [32e95164d1] user: dan branch: sessions, size: 44976)
2011-03-19
08:38
[c4692c74b3] 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: 44935)
2011-03-18
16:47
[0e53620e9a] part of check-in [9604d13001] Fixes for compiler warnings. Minor code cleanup. (check-in: [9604d13001] user: drh branch: sessions, size: 44668)
12:35
[988ee9420a] part of check-in [94fd5bb6da] Merge all the latest trunk enhancements into the sessions branch. (check-in: [94fd5bb6da] user: drh branch: sessions, size: 44623)
2011-03-16
19:59
[3066456f64] 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: 44673)
09:49
[256029b0a2] part of check-in [b0015a1cfe] Remove the sqlite3_transaction_hook() API. (check-in: [b0015a1cfe] user: dan branch: sessions, size: 42518)
2011-03-08
19:22
[750dcdea99] part of check-in [269a81a37d] Add start of sessions feature. (check-in: [269a81a37d] user: dan branch: sessions, size: 42789)
2011-03-07
16:12
[e61d3fffea] part of check-in [df3436405e] Backport a fix from [6b0cabd017ed25] (version 3.6.16 - 2009-03-05) to the 3.6.1 branch, a fix that prevents a null pointer deref if one of the column access routines such as sqlite3_column_int() is called with a NULL first parameter. (check-in: [df3436405e] user: drh branch: branch-3.6.1, size: 37859)
2011-03-06
21:28
[a09ad9164c] part of check-in [01a79d5a7a] Remove dead code identified by the clang static analyzer. (check-in: [01a79d5a7a] user: drh branch: trunk, size: 40705)
2011-03-03
20:06
[ea74143304] part of check-in [093d8cd8e2] Add the experimental sqlite3_transaction_hook() API. (check-in: [093d8cd8e2] user: dan branch: sessions, size: 42936)
2011-03-01
18:42
[c407f3f0e2] part of check-in [6145d7b89f] Add the experimental sqlite3_preupdate_hook() API. (check-in: [6145d7b89f] user: dan branch: sessions, size: 42665)
2011-01-27
18:48
[35553aa4e2] part of check-in [09d6c91dcf] Pull in all the changes from trunk up through the version 3.7.5 release candidate 1. (check-in: [09d6c91dcf] user: drh branch: apple-osx, size: 41885)
2011-01-22
13:32
[8e9324fd35] part of check-in [a764915b87] Modify the trace callback mechanism so that SQL commands executed from within virtual table or user function callbacks are passed to the trace callback without parameter expansion and enclosed in SQL comments. (check-in: [a764915b87] user: dan branch: trunk, size: 40755)
2011-01-17
17:42
[69c82283ab] part of check-in [053ce76deb] Add the SQLITE_OMIT_AUTORESET compile-time option which if enabled causes the sqlite3_step() routine to return SQLITE_MISUSE if it is called after it has previously returned anything other than SQLITE_ROW, SQLITE_BUSY, or SQLITE_LOCKED. (check-in: [053ce76deb] user: drh branch: trunk, size: 40709)
2011-01-11
01:42
[dadcdb10a3] part of check-in [d1b3c54f42] A proposed change to the sqlite3_step() API such that it will only auto-reset following an SQLITE_BUSY or SQLITE_LOCKED error. Calls after any other result other than SQLITE_ROW will return SQLITE_MISUSE. (check-in: [d1b3c54f42] user: drh branch: step-autoreset, size: 40077)
2011-01-07
02:50
[0f898cc770] 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: 39819)
2010-11-19
23:50
[09ebd29900] part of check-in [c8bc057c7d] Merge all the latest changes from the trunk into the apple-osx branch. (check-in: [c8bc057c7d] user: drh branch: apple-osx, size: 40949)
2010-11-16
23:10
[fb0036185b] part of check-in [fd5b2f23dd] Adding the sqlite3_stmt_readonly() interface. (check-in: [fd5b2f23dd] user: drh branch: trunk, size: 39819)
2010-10-14
01:16
[5368714fa7] part of check-in [ea8c2f5f8a] Check-in [d3c95e3a4e08d0] was incorrect. This is the correct fix for sqlit3_bind_blob(). Ticket [860399cc408f2dd5f4] (check-in: [ea8c2f5f8a] user: drh branch: trunk, size: 39629)
2010-10-12
02:13
[66abe27b88] part of check-in [d3c95e3a4e] Fix the sqlite3_bind_blob() interface (and its kin) so that the destructor is invoked if the binding fails. Ticket [860399cc408f2dd5f41aed44b] Update the documentation to explain which interfaces invoke their destructors on failure and which do not. (check-in: [d3c95e3a4e] user: drh branch: trunk, size: 39588)
2010-09-29
01:54
[03cddfa4f8] part of check-in [8c5994cf8e] Updates to sqlite3_finalize() documentation. (check-in: [8c5994cf8e] user: drh branch: trunk, size: 39544)
2010-09-14
18:23
[14040ffad5] part of check-in [3e11f5155c] Clarify the documentation to better explain when an automatic re-prepare can be induced by rebinding parameters. Add evidence marks to the automatic re-prepare logic. (check-in: [3e11f5155c] user: drh branch: trunk, size: 39427)
2010-09-08
16:30
[27f7696bc0] part of check-in [a932fab299] Updates to the documentation of the sqlite3_column_xxxx() family of interfaces. Enhance sqlite3_column_blob() so that it always returns a NULL pointer for a zero-length blob. (check-in: [a932fab299] user: drh branch: trunk, size: 39060)
2010-08-31
15:27
[bec07756e1] part of check-in [53b0c03fd3] Add evidence mark comments to source code. Add additional information to the documentation of sqlite3_release_memory(). Fix a minor inefficiency in mem1.c that was discovered while writing requirements tests. (check-in: [53b0c03fd3] user: drh branch: trunk, size: 39089)
2010-08-18
00:24
[232d20465a] part of check-in [866e9286ae] Merge the 3.7.1 pre-release snapshot changes as of 2010-08-18 into the apple-osx branch. (check-in: [866e9286ae] user: drh branch: apple-osx, size: 39914)
00:09
[a4e1b49154] part of check-in [5e2ee7db0f] Updating apple-osx with minor source fixes, database truncate and replace private calls and a bunch of conditionalization for tests running in different environments (check-in: [5e2ee7db0f] user: adam branch: apple-osx, size: 39904)
2010-08-07
11:46
[95b451c6d9] part of check-in [f88c6367d2] Merge in all changes up to the 3.7.0.1 release. (check-in: [f88c6367d2] user: drh branch: apple-osx, size: 39781)
2010-07-29
10:07
[d0f4407e46] part of check-in [7783b98a93] Change the profile timer units back to nanoseconds and update the sqlite3_profile() documentation. Ticket [c43940c49b74c70a69] (check-in: [7783b98a93] user: drh branch: trunk, size: 38784)
2010-06-16
19:48
[6248612d1b] part of check-in [21ca87f691] Merge in changes up to and including the 3.6.23.1 release. (check-in: [21ca87f691] user: drh branch: apple-osx, size: 39086)
2010-05-05
20:00
[dc3138f10a] part of check-in [1b14195e05] Change the behavior of the sqlite3_wal_hook() callback. It should now return SQLITE_OK or an error code and the error code is propagated back up the stack. If a checkpoint is desired, the callback should invoke sqlite3_wal_callback() itself. (check-in: [1b14195e05] user: drh branch: trunk, size: 38774)
2010-05-03
14:32
[f2da22e5dc] part of check-in [ab77b3ae6d] Use VFS method xCurrentTimeInt64 instead of xCurrentTime when it is available. Provide an implementation of xCurrentTimeInt64 for os_unix.c. (check-in: [ab77b3ae6d] user: drh branch: trunk, size: 38815)
11:05
[cf1ff7cbcb] part of check-in [714e594726] Add the "PRAGMA wal_autocheckpoint" command. Rename "PRAGMA checkpoint" to "PRAGMA wal_checkpoint". (check-in: [714e594726] user: dan branch: wal, size: 38995)
2010-05-01
16:40
[810abe698d] part of check-in [9b230c43df] Support compile-time option SQLITE_OMIT_WAL, for building without WAL support. (check-in: [9b230c43df] user: dan branch: wal, size: 39017)
2010-04-29
22:34
[85e448c7d1] part of check-in [62db5fa3b6] Refactor wal.c to use the VFS. This check-in compiles and links and works ok as long as you leave WAL turned off, but WAL does not work. (check-in: [62db5fa3b6] user: drh branch: wal, size: 38840)
2010-04-19
18:03
[466044df5b] part of check-in [9bda601455] Add the sqlite3_log_hook() interface for scheduling checkpoints. (check-in: [9bda601455] user: dan branch: wal, size: 38840)
2010-04-17
12:53
[11bcc381e8] part of check-in [3e646e3f4c] Change sqlite3_step() so that it automatically calls sqlite3_reset() instead of returning SQLITE_MISUSE when invoked on a prepared statement that previously returned any value other than SQLITE_ROW. (check-in: [3e646e3f4c] user: drh branch: trunk, size: 38242)
2010-02-26
22:05
[24fa8ef6d2] part of check-in [5c0afe70a5] fix merge error and compiler warning (check-in: [5c0afe70a5] user: adam branch: apple-osx, size: 38437)
20:54
[3dfa02353e] part of check-in [62dfb44b3b] More double free paranoia (check-in: [62dfb44b3b] user: adam branch: apple-osx, size: 38437)
2010-02-25
21:27
[74c2568004] part of check-in [d986e92893] Test coverage enhancements. Additional documentation detail on the new sqlite3_log() interface. (check-in: [d986e92893] user: drh branch: trunk, size: 38079)
02:32
[95e66cf3cb] part of check-in [46f406b202] Merge in all of the logging enhancements. This is a cherrypick merge of the following check-ins: [103321e37a], [a8076aede3], [6d910245ad], [7c4cca6d1a], [edea3bb740], [1a6d4bb130], [a8c984c1d6], [69a493182f], and [1168763d2c]. (check-in: [46f406b202] user: drh branch: branch-3.6.22, size: 38048)
2010-02-24
18:40
[e0398d74af] part of check-in [a8c984c1d6] Fix an incorrect ALWAYS() macro in vdbeapi.c. Fix the output of a few test cases that changed due to better error propagation out of reprepare. (check-in: [a8c984c1d6] user: drh branch: trunk, size: 38099)
17:15
[a8e8b62928] part of check-in [1a6d4bb130] Enhancements to the way errors are reported up when an automatic statement reprepare fails. (check-in: [1a6d4bb130] user: drh branch: trunk, size: 38131)
2010-02-23
20:11
[e9a5abc458] part of check-in [edea3bb740] Continuing improvements to error reporting and the sqlite3_log() routine. (check-in: [edea3bb740] user: drh branch: trunk, size: 37881)
17:36
[c1432e2aaa] part of check-in [7c4cca6d1a] Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging output for CORRUPT, and CANTOPEN errors. (check-in: [7c4cca6d1a] user: drh branch: trunk, size: 37122)
2010-02-17
19:34
[5c3edfc658] part of check-in [4b72e39bd0] Merge latest changes from the trunk into the apple-osx branch. (check-in: [4b72e39bd0] user: drh branch: apple-osx, size: 38381)
2010-01-31
15:14
[a8b6a6617f] part of check-in [fb96f2a2c6] Fix a C++-ism that snuck into sqlite3_finalize(). (check-in: [fb96f2a2c6] user: drh branch: trunk, size: 37267)
2010-01-20
14:25
[c2c75b0521] part of check-in [f9c54e95ec] Fix a problem with handling OOM errors in fts3. (check-in: [f9c54e95ec] user: dan branch: trunk, size: 37227)
01:26
[598ce26324] part of check-in [96499b1dd6] Update the Apple OS-X branch to include all of the latest changes in trunk. (check-in: [96499b1dd6] user: drh branch: apple-osx, size: 38290)
01:20
[1dc9dce4b2] part of check-in [095c74ea62] Manually copy over the rebustness fixes from the apple-osx branch. (check-in: [095c74ea62] user: drh branch: trunk, size: 37176)
2010-01-19
23:50
[adab93a713] part of check-in [a7a0c8d644] robustness fixes for preventing a finalized statement from being reused (check-in: [a7a0c8d644] user: adam branch: apple-osx, size: 38309)
2009-12-16
23:46
[2d8304acf8] part of check-in [5754a3a561] Merge the latest changes on trunk (and especially the fix for the (xANDy)OR(z) bug) into apple-osx. (check-in: [5754a3a561] user: drh branch: apple-osx, size: 38249)
2009-12-11
03:44
[fc3787eb2f] part of check-in [ea884e1ed8] Extensive edits to the comments in the sqlite.h.in source file to identify testable statements of truth about the C-language interface. (check-in: [ea884e1ed8] user: drh branch: trunk, size: 37130)
2009-12-07
23:53
[52739f95b7] part of check-in [ad08794d72] Merge all changes associated with the version 3.6.21 release into the OS-X branch. (check-in: [ad08794d72] user: drh branch: apple-osx, size: 38226)
2009-11-26
14:01
[bb128b819b] part of check-in [cb4b928648] Simplifications to the sqlite3_trace() bound parameter substitution logic. (check-in: [cb4b928648] user: drh branch: trunk, size: 37107)
2009-11-10
01:30
[17680ab7a7] part of check-in [f6c045f649] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f649] user: drh branch: trunk, size: 36959)
2009-11-03
22:34
[de488c6311] part of check-in [941a01eb86] Customizations for OSX contributed by Apple. (check-in: [941a01eb86] user: adam branch: apple-osx, size: 38137)
2009-10-20
07:01
[44b5f38745] part of check-in [e6808c988c] Fix cases where modifying bound variables using the clear_bindings() or transfer_bindings() APIs can invalidate a query plan. (check-in: [e6808c988c] user: dan branch: trunk, size: 37018)
2009-10-19
20:15
[b10052643e] part of check-in [651c1efb99] Fix an incorrect assert() in vdbeUnbind(). (check-in: [651c1efb99] user: drh branch: trunk, size: 36814)
18:30
[64313d6061] part of check-in [63bf73452d] Fix an assert() that may fail if sqlite3_step() is called on a statement after a previous call has already returned SQLITE_SCHEMA. (check-in: [63bf73452d] user: dan branch: trunk, size: 36833)
18:11
[1124f16bbb] 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: 36809)
2009-10-16
15:19
[a7669f434f] part of check-in [9f09370661] Remove a mutex reference leak from sqlite3_reoptimize(). (check-in: [9f09370661] user: dan branch: experimental, size: 37665)
2009-10-15
18:35
[7de617aceb] part of check-in [9bd6f3d886] Add the experimental sqlite3_reoptimize() API. (check-in: [9bd6f3d886] user: dan branch: experimental, size: 37726)
2009-09-19
17:00
[524d79eb17] part of check-in [d5d3998118] Check in implementation of foreign key constraints. (check-in: [d5d3998118] user: dan branch: trunk, size: 36506)
2009-09-08
19:15
[b7e5f34436] part of check-in [aec9dbd8d2] Combine the OP_Statement and OP_Transaction opcodes. (check-in: [aec9dbd8d2] user: dan branch: trunk, size: 36426)
2009-08-28
18:53
[8d5013ab61] part of check-in [9b9c192115] Changes to support recursive triggers. (check-in: [9b9c192115] user: dan branch: trunk, size: 36423)
2009-06-25
01:47
[0ab8ada726] part of check-in [8b34076668] Improved handling of oversize string and blob errors. Other simplifications in support of full coverage testing. (CVS 6813) (check-in: [8b34076668] user: drh branch: trunk, size: 36420)
2009-06-19
14:06
[73bd1d2c57] 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: 35829)
2009-06-06
14:13
[619992b168] part of check-in [3fd6c72da5] When building in debug mode with gcc, force the nullMem variable in function columnMem() to be aligned to an 8-byte boundary. Otherwise an assert() statement may fail. (CVS 6723) (check-in: [3fd6c72da5] user: danielk1977 branch: trunk, size: 41165)
2009-04-27
18:46
[86aa27a5f3] part of check-in [cb9af82936] Bring the documenation and implementation of sqlite3_collation_needed() into agreement. Use a more efficient implementation of sqlite3ErrStr(). sqlite3_result_error_code() now calls sqlite3ErrStr() if no prior error string was set. (CVS 6550) (check-in: [cb9af82936] user: drh branch: trunk, size: 40346)
2009-04-14
12:58
[015c9d0fb7] part of check-in [d0a8bd6a53] Change the sqlite3_bind_value() implementation to use a default branch on the type switch so that there are no untested jumps in the switch. (CVS 6505) (check-in: [d0a8bd6a53] user: drh branch: trunk, size: 40190)
12:43
[3783c34162] part of check-in [3db0c79806] Reimplement the sqlite3_bind_value() interface so that it works when the value being bound comes from a different database connection. (CVS 6504) (check-in: [3db0c79806] user: drh branch: trunk, size: 40169)
2009-04-10
23:11
[0d4138c79d] part of check-in [447e959594] Remove more unused branches from vdbeapi.c. (CVS 6491) (check-in: [447e959594] user: drh branch: trunk, size: 39788)
20:32
[6cb5f22a7c] part of check-in [7ae0fc7ea5] Remove unused branches from the vdbeapi.c module. (CVS 6489) (check-in: [7ae0fc7ea5] user: drh branch: trunk, size: 39764)
2009-04-09
14:02
[d3c6f28dbf] part of check-in [4cd829107c] Remove misuse detection from the deprecated sqlite3_transfer_bindings() interface. The code was hard to test and was simply taking up space. (CVS 6476) (check-in: [4cd829107c] user: drh branch: trunk, size: 39807)
2009-04-08
23:05
[adf0e8f104] part of check-in [0628f5864f] Simplify the implementation of the columnName() function in vdbeapi.c. This is a code cleanup only - no behavior changes. (CVS 6474) (check-in: [0628f5864f] user: drh branch: trunk, size: 39465)
15:45
[b158449a12] part of check-in [6fe8b5d702] Remove a pair unnecessary conditions from printf.c. The "db" parameter is now required for sqlite3MPrintf(). (CVS 6471) (check-in: [6fe8b5d702] user: drh branch: trunk, size: 39405)
2009-03-25
15:43
[950986b0f7] part of check-in [de469c46f5] Fix a problem preventing sqlite3_extended_errcode() from working correctly. (CVS 6385) (check-in: [de469c46f5] user: danielk1977 branch: trunk, size: 39414)
2009-03-19
18:51
[025d83f51f] part of check-in [cc0d925669] Fix a couple of fairly obscure cases where an assert() could fail following a malloc failure. (CVS 6360) (check-in: [cc0d925669] user: danielk1977 branch: trunk, size: 38934)
07:58
[e50f5f6dbd] part of check-in [e8be1af922] Change sqlite3_step() to return SQLITE_LOCKED if a statement cannot be re-compiled due to locks on the shared-cache schema. Also add a blocking wrapper of sqlite3_prepare_v2() to the test code. (CVS 6359) (check-in: [e8be1af922] user: danielk1977 branch: trunk, size: 38840)
2009-03-05
04:23
[ffd5d8b493] part of check-in [6b0cabd017] Added some asserts and a check for a null pointer dereference. (CVS 6337) (check-in: [6b0cabd017] user: shane branch: trunk, size: 38816)
2009-02-19
14:39
[f94fe2eb6f] 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: 38804)
2009-02-04
03:59
[b23c4b1686] part of check-in [5cef400023] Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029. (CVS 6250) (check-in: [5cef400023] user: shane branch: trunk, size: 38854)
2008-12-10
18:03
[85c33cfbfa] part of check-in [14e6d19c31] More explicit type casting to silence VC++. (CVS 6006) (check-in: [14e6d19c31] user: drh branch: trunk, size: 38783)
2008-11-19
09:05
[20722164e7] part of check-in [88134322c3] Changes to avoid "unused parameter" compiler warnings. (CVS 5921) (check-in: [88134322c3] user: danielk1977 branch: trunk, size: 38755)
2008-11-05
16:37
[ea22e17170] 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: 38707)
2008-10-13
10:37
[6798c70cf1] part of check-in [b055bfc4e5] If sqlite3_column_value() is called to obtain a value with the MEM_Static flag set, clear it and set the MEM_Ephem flag before returning. Otherwise, if the value is passed to sqlite3_bind_value() or sqlite3_result_value(), sqlite may attempt to use the buffer after the statement has been finalized. This is not always valid, as MEM_Static only guarantees that a MEM.z buffer will be valid for the lifetime of the owner statement, not that it is actually a static buffer. (CVS 5812) (check-in: [b055bfc4e5] user: danielk1977 branch: trunk, size: 38670)
2008-10-12
00:27
[64c3249928] part of check-in [ba3711acee] Added SQLITE_OMIT_DEPRECATED compile time option to leave out deprecated functions. Updated test scripts to skip tests of deprecated functions if they are compiled out. (CVS 5808) (check-in: [ba3711acee] user: shane branch: trunk, size: 38559)
2008-10-07
23:46
[fd2c286cee] part of check-in [de473efb35] Add the experimental sqlite3_stmt_status() interface. (CVS 5781) (check-in: [de473efb35] user: drh branch: trunk, size: 38443)
15:25
[8f194355e0] part of check-in [02a12eb1cf] Remove the SQLITE_MUTEX_APPDEF compile-time option. The SQLITE_THREADSAFE=0 option always removes all mutex code. For application-defined mutexes only, use SQLITE_THREADSAFE=1 with SQLITE_MUTEX_NOOP=1. Ticket #3421. (CVS 5779) (check-in: [02a12eb1cf] user: drh branch: trunk, size: 38180)
14:06
[319d3be8a3] part of check-in [6b7c8d5640] Have sqlite3_bind_value() call sqlite3ApiExit() before returning. Otherwise the db->mallocFailed flag may not be cleared. (CVS 5777) (check-in: [6b7c8d5640] user: danielk1977 branch: trunk, size: 38196)
2008-10-06
12:46
[5beff875be] part of check-in [693503e241] In sqlite3_bind() interfaces, avoid acquiring the mutex until after the statement handle has been validated. Ticket #3418. (CVS 5768) (check-in: [693503e241] user: drh branch: trunk, size: 38194)
2008-09-04
12:03
[c0f87aabb2] part of check-in [56d6189575] Missing implementation for sqlite3TransferBindings(). (CVS 5675) (check-in: [56d6189575] user: shane branch: trunk, size: 38130)
2008-08-21
12:19
[3c98fbed9d] part of check-in [d025866b09] Fix the functionality associated with sqlite3_release_memory() and sqlite3_soft_heap_limit(). It is automatically disabled if the SQLITE_CONFIG_PAGECACHE option is used. (CVS 5576) (check-in: [d025866b09] user: danielk1977 branch: trunk, size: 37895)
2008-08-11
18:44
[f219715168] part of check-in [0e1d8d14a1] Do not allow indexing of any table whose name begins with "sqlite_". Ticket #3284. Improve handling of databases with malformed schemas - just in case somebody has actually indexed a system table. (CVS 5553) (check-in: [0e1d8d14a1] user: drh branch: trunk, size: 37876)
2008-08-02
03:50
[803f365b77] 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: 37852)
2008-08-01
20:10
[6a769ea670] part of check-in [2cd6bae809] Bring test coverage up to 99%. (CVS 5522) (check-in: [2cd6bae809] user: drh branch: trunk, size: 37901)
2008-07-28
19:34
[25dd01c8b1] 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: 37904)
2008-07-23
21:07
[17fa6f4321] part of check-in [4a9dd5e782] Error messages from virtual tables store on the sqlite3_vtab->zErrMsg field are reported back up to the application interface and memory is reclaimed. (CVS 5466) (check-in: [4a9dd5e782] user: drh branch: trunk, size: 37899)
2008-06-19
02:52
[a7c6b8db32] part of check-in [565a530896] Add the sqlite3_next_stmt() interface, including test cases. (CVS 5243) (check-in: [565a530896] user: drh branch: trunk, size: 37841)
2008-06-18
17:09
[9cf3207a58] part of check-in [5059644c4b] Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234) (check-in: [5059644c4b] user: danielk1977 branch: trunk, size: 37311)
2008-05-16
15:24
[22b01ed175] part of check-in [e94a288306] Check that the encoding of values passed to sqlite3_bind_value() matches that of the database. (CVS 5138) (check-in: [e94a288306] user: danielk1977 branch: trunk, size: 37325)
04:51
[b72aba838b] 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: 37229)
2008-05-09
14:39
[95ed14a59c] part of check-in [069f456010] Do not clear the error code or error message in sqlite3_clear_bindings(). Ticket #3063. (CVS 5111) (check-in: [069f456010] user: drh branch: trunk, size: 37162)
2008-05-01
17:16
[c810f936b0] part of check-in [59568844e7] Fix more compiler warnings. (CVS 5074) (check-in: [59568844e7] user: drh branch: trunk, size: 37147)
2008-04-14
15:15
[0e1b5a808b] part of check-in [0bedbe092a] Free Mem.z buffers when a vdbe statement is reset. (CVS 5002) (check-in: [0bedbe092a] user: danielk1977 branch: trunk, size: 37125)
2008-03-29
12:39
[ab6e99f8a6] part of check-in [f45f0593cf] add three missing initializers (CVS 4935) (check-in: [f45f0593cf] user: rse branch: trunk, size: 37125)
2008-03-28
15:44
[e03b846adf] 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: 37116)
2008-03-26
18:34
[f74189e4ca] 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: 37062)
2008-03-22
01:07
[b9e9d7a586] part of check-in [8ef26646cf] Add the SQLITE_OMIT_DECLTYPE compile-time option. Remove more code when SQLITE_ENABLE_COLUMN_METADATA is not defined. (CVS 4906) (check-in: [8ef26646cf] user: drh branch: trunk, size: 32026)
2008-03-20
14:03
[a3bddeee0f] part of check-in [60c77882b2] Initial implementation of per-connection limits and the sqlite3_limit() API. The sqllimits1.test script crashes. SQLITE_LIMIT_PAGE_COUNT and SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897) (check-in: [60c77882b2] user: drh branch: trunk, size: 31682)
2008-03-19
21:45
[6e6f2bd51a] part of check-in [54c55cae55] Add a new interface, sqlite3_context_db_handle(), that returns the database connection pointer for an application-defined function. (CVS 4889) (check-in: [54c55cae55] user: drh branch: trunk, size: 31593)
2008-02-13
18:25
[cf9fc963ef] 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: 31394)
2008-02-06
14:11
[61b37dbe11] 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: 31360)
2008-01-23
03:03
[93c72ed24d] part of check-in [5375ad6b4b] Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when compiling without -DSQLITE_DEBUG=1. (CVS 4744) (check-in: [5375ad6b4b] user: drh branch: trunk, size: 31230)
2008-01-22
21:30
[a0cb07fc69] 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: 31152)
2008-01-12
21:35
[cb8c427a3a] part of check-in [110c000d86] The sqlite3_trace() callback now prints a message as each trigger fires within a statement. (CVS 4709) (check-in: [110c000d86] user: drh branch: trunk, size: 31212)
2008-01-03
11:50
[f14174843b] 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: 32047)
00:01
[bf615ff2cf] part of check-in [027875e4d4] Refactoring the VM. The P3 parameter is changed to P4. A P5 parameter is added (though not currently used.) Add routines sqlite3VdbeAddOpX() where X is one of 0, 1, 2, 3, or 4. (CVS 4660) (check-in: [027875e4d4] user: drh branch: trunk, size: 32047)
2008-01-02
00:34
[4acfaab3e1] 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: 32047)
2007-11-15
16:04
[dd2c433172] part of check-in [3bfee76fa6] Return SQLITE_MISUSE instead of crashing if NULL is (incorrectly) passed to sqlite3_step(). Ticket #2773. (CVS 4545) (check-in: [3bfee76fa6] user: danielk1977 branch: trunk, size: 32033)
2007-11-13
10:30
[eecea7fa87] part of check-in [7bb00c7df6] Modify the Tcl interface to use sqlite3_prepare_v2(). (CVS 4542) (check-in: [7bb00c7df6] user: danielk1977 branch: trunk, size: 31888)
2007-11-05
12:46
[1795d8412b] part of check-in [bf75058f57] Use malloc to obtain space for sqlite3_aggregate_context(). Ticket #2751. (CVS 4524) (check-in: [bf75058f57] user: danielk1977 branch: trunk, size: 31070)
2007-10-17
01:44
[21b69e71ab] part of check-in [e8d591e8c3] Reorder some tests at the beginning of sqlite3_step() to work around misuse by python. Ticket #2732. (CVS 4492) (check-in: [e8d591e8c3] user: drh branch: trunk, size: 31185)
2007-08-29
14:06
[9c2d681b75] part of check-in [c790c234c3] Use the DbMalloc() and DbRealloc() functions more consistently. (CVS 4323) (check-in: [c790c234c3] user: danielk1977 branch: trunk, size: 31184)
12:31
[7737b6e07e] part of check-in [e38ef81b85] Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) (check-in: [e38ef81b85] user: danielk1977 branch: trunk, size: 31207)
2007-08-24
03:51
[bdd0aea216] part of check-in [3a68fcddfa] The win32 driver compiles but does not yet work well. Many bugs fixed. (CVS 4282) (check-in: [3a68fcddfa] user: drh branch: trunk, size: 30981)
2007-08-22
02:56
[81cb7f018e] part of check-in [783e07d561] A complete run of quick.test with mutex debugging enabled. (CVS 4266) (check-in: [783e07d561] user: drh branch: trunk, size: 30912)
00:39
[62cc5b08fc] part of check-in [1914044b88] Reenable the memory management logic. The quick.test script now runs with SQLITE_MEMDEBUG and SQLITE_ENABLE_MEMORY_MANAGEMENT. 7 minor errors. (CVS 4265) (check-in: [1914044b88] user: drh branch: trunk, size: 30728)
2007-08-21
20:25
[e12f99aa85] part of check-in [0f7941aef9] All mutexing and locking appears to be in place. Now we just have to test it and make it all work. (CVS 4264) (check-in: [0f7941aef9] user: drh branch: trunk, size: 30701)
19:33
[09eb4fe5ce] 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: 29652)
16:15
[b4a1f4d569] part of check-in [7428732b1f] Adding more thread locking code. This is an incremental check-in. (CVS 4262) (check-in: [7428732b1f] user: drh branch: trunk, size: 29349)
15:13
[16268e7a26] part of check-in [3787563e90] Readded the sqlite3_open_v2() interface. No test cases yet. Additional progress toward adding mutexes to all interfaces. (CVS 4261) (check-in: [3787563e90] user: drh branch: trunk, size: 27699)
10:44
[ffd28fa0f7] part of check-in [fbbd5bda54] Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) (check-in: [fbbd5bda54] user: drh branch: trunk, size: 26778)
2007-08-17
15:53
[ddfe341249] part of check-in [af3e3c7acd] Begin migration to using sqlite3_vfs interface. (CVS 4240) (check-in: [af3e3c7acd] user: danielk1977 branch: trunk, size: 26794)
2007-08-16
11:36
[a503e37628] part of check-in [5e2795d0eb] Fix some more small problems introduced by recent refactoring. (CVS 4235) (check-in: [5e2795d0eb] user: danielk1977 branch: trunk, size: 26774)
10:09
[ca82e14ac4] 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: 26760)
04:30
[fce4ee6ab2] 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: 26718)
2007-07-26
06:50
[220b81132a] part of check-in [b88af1827b] Fix two obscure memory leaks that can follow a malloc() failure in sqlite3_set_auxdata(). Ticket #2534. (CVS 4185) (check-in: [b88af1827b] user: danielk1977 branch: trunk, size: 26662)
2007-07-12
13:18
[fe3b713d5d] part of check-in [b01fda5f50] Fix for #2497. Set the database error code to the return value of sqlite3_step(). (CVS 4155) (check-in: [b01fda5f50] user: danielk1977 branch: trunk, size: 26593)
2007-06-19
10:58
[7930b9a188] part of check-in [783f19be38] Do not segfault even if sqlite is misused by requesting query results after the query has been reset. ticket #2426. (CVS 4090) (check-in: [783f19be38] user: drh branch: trunk, size: 26558)
2007-05-30
10:36
[3747e4c3bc] part of check-in [7522d2fb32] Add some extra tests for malloc failure during expression parsing and execution using fuzzily generated SQL. (CVS 4043) (check-in: [7522d2fb32] user: danielk1977 branch: trunk, size: 26515)
2007-05-15
14:10
[f89d6bc526] part of check-in [b5e85deb5a] Fix to check-in (4005). A call to sqlite3_column_blob() should not make subsequent calls to sqlite3_column_type() return SQLITE_BLOB. Sqlite3_column_type() returns the initial type. (CVS 4006) (check-in: [b5e85deb5a] user: drh branch: trunk, size: 26328)
13:27
[805147e4e6] part of check-in [cf2dd45b58] Clarification on the best practices for using the _bytes() APIs. Change sqlite3_value_blob() to force the representation to be purely a BLOB and not a dual BLOB/String. Ticket #2360. (CVS 4005) (check-in: [cf2dd45b58] user: drh branch: trunk, size: 26355)
2007-05-10
17:32
[3ca7808c67] part of check-in [1e8fcb3fbe] Add cases to fuzz.test. Some tests in this file fail at the moment. (CVS 3973) (check-in: [1e8fcb3fbe] user: danielk1977 branch: trunk, size: 26346)
2007-05-08
15:15
[120e04492e] part of check-in [17c4235c49] Introduce the (experimental) sqlite3_result_error_toobig() API that function implementations can use to signal SQLite that the function result is too big to represent. (CVS 3949) (check-in: [17c4235c49] user: drh branch: trunk, size: 26397)
2007-05-02
01:34
[37d7935593] 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: 26241)
2007-04-27
17:16
[37fc2818be] part of check-in [e92bd97a37] Make sure sqlite3_value_bytes() does not reformat the content after a call to sqlite3_value_blob(). Add documentation to explain this hazard. Add many new tests. Ticket #2321. (CVS 3880) (check-in: [e92bd97a37] user: drh branch: trunk, size: 25889)
2007-04-25
18:23
[245263aa2d] part of check-in [9cb0ed6ee9] Fix segfaults that can occur if a malloc failure happens just before a built-in function calls sqlite3_value_text(). (CVS 3874) (check-in: [9cb0ed6ee9] user: drh branch: trunk, size: 25819)
2007-04-02
17:54
[1fca7ff056] part of check-in [a067f78bf6] Fix a union initializer so that it works with the Borland compiler. (CVS 3803) (check-in: [a067f78bf6] user: drh branch: trunk, size: 25816)
2007-03-30
11:23
[7ac14f2e3b] 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: 25817)
2007-03-26
22:05
[6cff63a5b3] 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: 25815)
2006-11-09
00:24
[2d1e6843af] 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: 25822)
2006-09-16
21:45
[f1858a5edc] part of check-in [aa7728f9f5] Add the sqlite3_overload_function() API - part of the virtual table interface. (CVS 3426) (check-in: [aa7728f9f5] user: drh branch: trunk, size: 24703)
2006-09-15
07:28
[d5d3cb0701] part of check-in [ba579ddc43] Add support for extended result codes - additional result information carried in the higher bits of the integer return codes. This must be enabled using the sqlite3_extended_result_code() API. Only a few extra result codes are currently defined. (CVS 3422) (check-in: [ba579ddc43] user: drh branch: trunk, size: 23869)
2006-08-08
13:51
[81f531d7dc] part of check-in [76e4d41877] Remove most static and global variables from a pure build. There are still a number of static and global variables used for testing. (CVS 3342) (check-in: [76e4d41877] user: drh branch: trunk, size: 23795)
2006-07-26
13:43
[a2274726d1] part of check-in [e431131d47] More work toward getting sqlite3_interrupt() to work from separate threads. Ticket #1897. (CVS 3336) (check-in: [e431131d47] user: drh branch: trunk, size: 23800)
2006-06-14
15:16
[6af0e7160a] part of check-in [676de55b28] Add xUpdate method to the echo test module. Currently untested. (CVS 3246) (check-in: [676de55b28] user: danielk1977 branch: trunk, size: 23519)
2006-06-13
23:51
[af663689ef] part of check-in [29199eeea4] The echo module test is now running. Added the tclvar module test but have not yet done anything with it. (CVS 3234) (check-in: [29199eeea4] user: drh branch: trunk, size: 23287)
2006-02-10
03:06
[7dc662e7c9] part of check-in [6ebb8f9bb2] Add a symbol P3_TRANSIENT to pass to VdbeSetColName() to make it copy the string parameter up to the first 0 byte. (CVS 3070) (check-in: [6ebb8f9bb2] user: danielk1977 branch: trunk, size: 23300)
02:27
[72569c560a] part of check-in [82f502cdc1] Add the column_origin_name() etc. APIs. (CVS 3069) (check-in: [82f502cdc1] user: danielk1977 branch: trunk, size: 23299)
2006-02-09
22:13
[54dfd09751] part of check-in [9e04f8fdf1] SUM never gives an error. An integer result is returned for exact results and a floating point result is returned for approximate results. Tickets #1664, #1669, and #1670. (CVS 3066) (check-in: [9e04f8fdf1] user: drh branch: trunk, size: 23102)
18:35
[ee8e889d8b] part of check-in [44bd7ba432] Deprecate the sqlite3_aggregate_count() API. Make sure all aggregate counters are 64 bits. Remove unused StdDev structure from func.c. Ticket #1669. (CVS 3065) (check-in: [44bd7ba432] user: drh branch: trunk, size: 22836)
2006-01-23
07:52
[dcb2636f49] part of check-in [f58bbdc0ac] Fixes for OMIT_UTF16 and OMIT_COMPOUND (CVS 2993) (check-in: [f58bbdc0ac] user: danielk1977 branch: trunk, size: 22782)
2006-01-20
16:32
[75eabedc09] part of check-in [7e34163a65] Fix another couple of IO or malloc() failure problems in a shared-cache context. (CVS 2982) (check-in: [7e34163a65] user: danielk1977 branch: trunk, size: 22749)
2006-01-18
18:22
[b5a3eacce2] part of check-in [c7b9d50d0a] Include the ThreadData structure in internal malloc() testing. Also fixes for revealed bugs. (CVS 2974) (check-in: [c7b9d50d0a] user: danielk1977 branch: trunk, size: 22781)
16:51
[08578a1d60] part of check-in [ac090f2ab3] Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972) (check-in: [ac090f2ab3] user: danielk1977 branch: trunk, size: 22764)
15:25
[cbc552ea2d] part of check-in [e0b022e5b2] Change sqlite3MallocClearFailed() calls to sqlite3ApiExit(), a better API. (CVS 2970) (check-in: [e0b022e5b2] user: danielk1977 branch: trunk, size: 22784)
05:51
[2c3068bc5d] part of check-in [86eab9e53d] Handle malloc() failures that occur in open16() and errmsg16(). (CVS 2967) (check-in: [86eab9e53d] user: danielk1977 branch: trunk, size: 22853)
2006-01-17
13:21
[9cc9b7a0fc] part of check-in [0505405fb9] Various fixes that allow the malloc() failure tests to pass again. (CVS 2963) (check-in: [0505405fb9] user: danielk1977 branch: trunk, size: 22798)
2006-01-16
11:29
[cac3f5bfb8] part of check-in [7b48836214] Clarify error handling in pager code. No functional changes. (CVS 2956) (check-in: [7b48836214] user: danielk1977 branch: trunk, size: 22755)
2006-01-11
21:41
[afd3837cea] part of check-in [5d9c6aa964] Automatically deallocate thread-specific data when it is no longer being used. Ticket #1601. Also implemented the suggestion of ticket #1603. Memory management is now off by default at compile-time. The sqlite3_enable_memory_management() API has been removed. (CVS 2919) (check-in: [5d9c6aa964] user: drh branch: trunk, size: 22709)
2006-01-09
16:12
[6d20e92de6] part of check-in [3e75d3d5ef] Fix some errors to do with attached databases and text encodings in shared-cache mode. (CVS 2895) (check-in: [3e75d3d5ef] user: danielk1977 branch: trunk, size: 22693)
06:29
[2e22bd0c84] part of check-in [82b81f69c7] Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) (check-in: [82b81f69c7] user: danielk1977 branch: trunk, size: 22693)
2006-01-06
14:32
[7335569b1b] part of check-in [2529c2e11f] Change the OS interface layer to use traditional direct function call implementations instead of the more complicated virtual function table. Omit the asynchronous I/O demo. (CVS 2870) (check-in: [2529c2e11f] user: drh branch: trunk, size: 22679)
2005-12-09
14:25
[b270b680cb] part of check-in [601c335463] Many small changes to ensure memory is not leaked after malloc() fails. (CVS 2808) (check-in: [601c335463] user: danielk1977 branch: trunk, size: 22683)
2005-12-07
06:27
[b80b3a1e8b] part of check-in [78f10ca0a6] Add some tests for malloc() failure within the column_name() and column_decl() APIs. (CVS 2805) (check-in: [78f10ca0a6] user: danielk1977 branch: trunk, size: 21110)
2005-12-06
12:52
[4fd33e87aa] part of check-in [e1606658f1] Some elements of the new malloc() failure handling. Not all cases work properly yet. Also, library is not threadsafe if malloc() fails right now. (CVS 2800) (check-in: [e1606658f1] user: danielk1977 branch: trunk, size: 20904)
2005-11-30
03:20
[73d56a8899] part of check-in [bd8740d1ae] Restructure the OS interface yet again. This time make the OsFile object a virtual base class which is subclassed for unix, windows, and the crash test simulator. Add the new file "os.c" for common os layer code. Move all OS-specific routines into the sqlite3Os structure. (CVS 2795) (check-in: [bd8740d1ae] user: drh branch: trunk, size: 20834)
2005-09-16
02:38
[85bbe1d024] part of check-in [4686d64975] Fix a whole host of newly discovered memory leaks the occur after a failure of realloc(). (CVS 2696) (check-in: [4686d64975] user: drh branch: trunk, size: 20830)
2005-09-08
19:01
[72213ce0c1] part of check-in [48f6a331ef] Remove a C++ism that snuck in on one of the reason changes. (CVS 2676) (check-in: [48f6a331ef] user: drh branch: trunk, size: 20815)
00:13
[6df7088084] part of check-in [bcc7d722ce] All regression tests now pass. But I am sure there must still be problems. New tests need to be added. (CVS 2666) (check-in: [bcc7d722ce] user: drh branch: trunk, size: 20815)
2005-09-07
22:09
[352f088f8e] part of check-in [c3ac58592f] Bug fixes in aggregate processing. Fewer tests fail. (CVS 2663) (check-in: [c3ac58592f] user: drh branch: trunk, size: 20782)
2005-09-06
20:36
[46e2fd47e2] part of check-in [7ecf3654aa] Cleanup the processing of MEM_Agg elements. (CVS 2660) (check-in: [7ecf3654aa] user: drh branch: trunk, size: 20682)
2005-08-29
23:00
[f0d36ff0f0] 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: 20558)
2005-08-27
13:16
[f1adebb5e3] part of check-in [51a381345d] Fix comment in vdbeapi.c. Remove unused structure definition from func.c. (CVS 2629) (check-in: [51a381345d] user: drh branch: trunk, size: 19824)
2005-08-21
17:48
[7790e9f8da] part of check-in [3aa47c5587] Do not create an error message if there is no error. (CVS 2607) (check-in: [3aa47c5587] user: drh branch: trunk, size: 19995)
2005-08-12
23:20
[dc5b78cabf] part of check-in [d6146a542a] 3rd argument to sqlite3Error() should always be a format string, never user-supplied error message text. Ticket #1354. (CVS 2583) (check-in: [d6146a542a] user: drh branch: trunk, size: 19978)
2005-06-26
17:55
[7f392f0792] part of check-in [514aaab3f9] Tcl interface uses Tcl_Objs to implement user-defined functions, thus allowing BLOB values to be transferred correctly. Ticket #1304. (CVS 2530) (check-in: [514aaab3f9] user: drh branch: trunk, size: 19972)
2005-06-22
10:53
[5025a91631] part of check-in [affb0fa2e8] Add built-in functions numeric(), text(), and blob() that coerce types. Ticket #1287. (CVS 2524) (check-in: [affb0fa2e8] user: drh branch: trunk, size: 19862)
2005-06-12
22:01
[3f858d2236] part of check-in [21d44fa5e7] Documentation updates (ticket #1279). Add the sqlite3_db_handle API. (ticket #1275). (CVS 2507) (check-in: [21d44fa5e7] user: drh branch: trunk, size: 19861)
2005-06-06
17:54
[9a9556b9d7] part of check-in [12c32f139b] Return SQLITE_MISUSE when passing a NULL pointer into sqlite3_bind routines. Ticket #1219. (CVS 2497) (check-in: [12c32f139b] user: drh branch: trunk, size: 19552)
2005-05-20
19:36
[c66b88fce5] part of check-in [ab7805fb2f] Comment changes in vdbeapi.c (CVS 2465) (check-in: [ab7805fb2f] user: drh branch: trunk, size: 19544)
2005-04-22
02:38
[87f363c9c6] part of check-in [88b39436f0] Remove some vestigal code. Add the experimental sqlite3_transfer_bindings() API. (CVS 2446) (check-in: [88b39436f0] user: drh branch: trunk, size: 17506)
2005-01-24
10:25
[467caa6e6f] part of check-in [d5233e0747] Modifications and bugfixes so that the test suite passes with the TCL statement cache turned on. (CVS 2271) (check-in: [d5233e0747] user: danielk1977 branch: trunk, size: 16782)
2005-01-22
03:03
[7b65522152] part of check-in [df648d50c0] Add the experimental sqlite3_expired() API. (CVS 2263) (check-in: [df648d50c0] user: drh branch: trunk, size: 16658)
2004-12-10
18:00
[0cf3bdc107] part of check-in [7f38f67c7b] Factor the test for zName==NULL out of the loop. Ticket #1032. (CVS 2164) (check-in: [7f38f67c7b] user: drh branch: trunk, size: 16147)
2004-12-09
18:29
[12ba371446] part of check-in [bf81aabff1] Enhance sqlite3_bind_parameter_index so that is does not segfault if you call it incorrectly by passing NULL in place of the parameter name. Ticket #1032. (CVS 2159) (check-in: [bf81aabff1] user: drh branch: trunk, size: 16125)
2004-11-14
21:56
[74be7f96c0] part of check-in [98c7a55478] The SQLITE_OMIT_UTF16 macro now removes lots of code and all tests still pass. (CVS 2100) (check-in: [98c7a55478] user: drh branch: trunk, size: 16116)
2004-10-31
02:22
[3965bf4678] part of check-in [be661acfa8] Insert #ifdefs that can optionally remove features at compiletime resulting in a database engine with a smaller footprint. (CVS 2034) (check-in: [be661acfa8] user: drh branch: trunk, size: 15831)
2004-09-24
23:59
[81ab9e84c5] part of check-in [b2f3d4bb8e] Size optimizations in vdbeapi.c. (CVS 1982) (check-in: [b2f3d4bb8e] user: drh branch: trunk, size: 15767)
12:48
[f1e060aae5] part of check-in [49f25ddf83] Avoid a segfault in sqlite3_bind_parameter_index when there are unnamed parameters. Ticket #918. (CVS 1977) (check-in: [49f25ddf83] user: drh branch: trunk, size: 15835)
2004-09-15
13:38
[c7208bb89f] part of check-in [0cc2f40e6a] The callback on sqlite3_trace() is invoked the first time sqlite3_step() is called after sqlite3_prepare() or sqlite3_reset(). Ticket #900. (CVS 1960) (check-in: [0cc2f40e6a] user: drh branch: trunk, size: 15807)
2004-09-07
16:19
[20bf890159] part of check-in [435b3f301f] Wildcards with the same name map into the same variable number. New api sqlite3_bind_parameter_index() added to map wildcard names into wildcard index numbers. Support for "?nnn" wildcards. (CVS 1945) (check-in: [435b3f301f] user: drh branch: trunk, size: 15063)
2004-09-06
17:24
[e3fa5b7751] 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: 14440)
2004-08-28
14:49
[854732720c] part of check-in [6ef1f662d7] Add new defenses against misuse of the C API. Ticket #870. (CVS 1906) (check-in: [6ef1f662d7] user: drh branch: trunk, size: 14439)
2004-08-21
17:54
[e20e646a0e] part of check-in [bd6649c5aa] Optimizations to the code generator. (CVS 1899) (check-in: [bd6649c5aa] user: drh branch: trunk, size: 14403)
2004-08-20
18:34
[4f9b307258] part of check-in [e97c331362] Tcl interface transfers values directly between SQLite and Tcl_Objs, without at translation to strings. (CVS 1898) (check-in: [e97c331362] user: drh branch: trunk, size: 14409)
16:02
[cd8d153c77] part of check-in [d3be0b7c5a] Add support for named wildcards in SQL statements. (CVS 1897) (check-in: [d3be0b7c5a] user: drh branch: trunk, size: 14380)
2004-08-01
00:10
[3be4ccab4b] part of check-in [b56afe640f] Add the ".import" command to the command-line shell. (CVS 1873) (check-in: [b56afe640f] user: drh branch: trunk, size: 13834)
2004-07-15
14:15
[c5c6d8f162] part of check-in [c44943e6fe] Implement the experimental sqlite3_bind_parameter_count() API in support of DBD::SQLite. Also fix the sqlite3.def export list. (CVS 1797) (check-in: [c44943e6fe] user: drh branch: trunk, size: 13798)
2004-06-30
11:54
[1d2a0bc503] part of check-in [a98dd004c4] Coverage improvements for malloc and vdbemem.c (CVS 1781) (check-in: [a98dd004c4] user: danielk1977 branch: trunk, size: 13551)
11:14
[7c3c3d818f] 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: 13700)
2004-06-28
13:09
[ba3722f45d] part of check-in [3329210410] More coverage testing. (CVS 1754) (check-in: [3329210410] user: danielk1977 branch: trunk, size: 13651)
2004-06-27
01:56
[e92bda928f] 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: 13826)
2004-06-22
12:13
[d3659f3f29] 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: 13938)
2004-06-19
17:33
[8a9421341e] part of check-in [fc3b3a8fe8] Make sure VdbeFunc entries are initialized before trying to destroy them. Also, unrelated comment changes in build.c. (CVS 1643) (check-in: [fc3b3a8fe8] user: drh branch: trunk, size: 13951)
15:40
[0ef00cd2a3] 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: 13837)
15:22
[2163463b13] 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: 13836)
2004-06-18
06:02
[1601fb2d01] part of check-in [960f55f3ec] Fix a couple of gcc warnings. (CVS 1615) (check-in: [960f55f3ec] user: danielk1977 branch: trunk, size: 13821)
04:24
[229d40ead8] part of check-in [39a415eaa6] Optimisation for unicode encoding conversion routines. (CVS 1614) (check-in: [39a415eaa6] user: danielk1977 branch: trunk, size: 13830)
2004-06-12
09:25
[ee350b552f] 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: 14331)
00:42
[d7803664ea] part of check-in [9b84f2f488] Use the SQLITE_UTF* symbols instead of the old internal TEXT_Utf* symbols. (CVS 1572) (check-in: [9b84f2f488] user: danielk1977 branch: trunk, size: 13707)
2004-06-10
14:01
[bcf5821ed0] part of check-in [49ab4794e1] Correctly handle the situation where a collation sequence is available, but not in the preferred encoding. (CVS 1565) (check-in: [49ab4794e1] user: danielk1977 branch: trunk, size: 13669)
2004-06-06
09:44
[4ac95766b0] part of check-in [92337d8f79] Enhance user function API to support association of meta-data with constant arguments and the specification of text encoding preference. The LIKE operator takes advantage of both. (CVS 1534) (check-in: [92337d8f79] user: danielk1977 branch: trunk, size: 14511)
2004-06-05
10:22
[b3d8e559eb] 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: 14469)
2004-05-31
18:51
[77d2e681a9] part of check-in [adf7e29ff6] Change all SQLITE3 preprocessor macros to SQLITE. Documentation updates. (CVS 1511) (check-in: [adf7e29ff6] user: drh branch: trunk, size: 13299)
08:26
[d43d36efea] 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: 13300)
2004-05-28
13:13
[0c5d64c818] part of check-in [c8a40218c2] Fix a bug in the sqlite3_column_decltype() API. (CVS 1486) (check-in: [c8a40218c2] user: danielk1977 branch: trunk, size: 13239)
2004-05-27
09:28
[b0bb1f98c8] part of check-in [67a140cf78] Various bugfixes. 68 Test cases still fail. (CVS 1471) (check-in: [67a140cf78] user: danielk1977 branch: trunk, size: 13970)
03:12
[d3deff8e52] part of check-in [f33d15d95f] Fixes to the MEM changes. The library now links. (CVS 1470) (check-in: [f33d15d95f] user: drh branch: trunk, size: 14161)
01:53
[56b7de7af5] 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: 14097)
2004-05-26
23:25
Added: [36d4c78bc7] 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: 12852)