/ History for src/vdbeaux.c
Login

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

History for src/vdbeaux.c

2020-07-30
19:19
[6c7cb0a2] part of check-in [e8a66515] Merge latest trunk changes into this branch. (check-in: [e8a66515] user: dan branch: begin-concurrent, size: 167903)
2020-07-29
16:18
[ed85f93b] part of check-in [a80ae2c9] 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: [a80ae2c9] user: drh branch: typos, size: 167233)
2020-07-22
13:38
[1cbbbffd] part of check-in [9ce1710a] Continuing work toward supporting unsigned 32-bit page numbers. (check-in: [9ce1710a] user: drh branch: larger-databases, size: 167235)
2020-07-16
20:10
[3353626a] part of check-in [24eead92] Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: [24eead92] user: dan branch: mistake, size: 167817)
2020-06-19
15:24
[c0cd3429] part of check-in [7a876209] Extend the refactoring into extensions. Clean up stray newlines. (check-in: [7a876209] user: drh branch: trunk, size: 167235)
11:34
[4c471679] part of check-in [7bb08b1b] Refactoring various names. No changes in the resulting machine code. (check-in: [7bb08b1b] user: drh branch: trunk, size: 167213)
2020-05-26
20:31
[00746a04] part of check-in [0e898f4f] Performance optimization in the transfer of error messages from statements to connections. (check-in: [0e898f4f] user: drh branch: trunk, size: 167257)
2020-05-18
15:41
[af907216] part of check-in [9e4a7b3e] Merge latest trunk changes into this branch. (check-in: [9e4a7b3e] user: dan branch: begin-concurrent, size: 167775)
2020-05-16
19:00
[79846956] part of check-in [5af4abe9] Merge trunk enhancements in the reuse-schema branch. (Actual date of this check-in is 2020-05-18.) (check-in: [5af4abe9] user: drh branch: reuse-schema, size: 167220)
15:18
[80626786] part of check-in [6f857d0e] Add sqlite3BeginBenignMalloc() and EndBenignMalloc() calls to debugging function sqlite3VdbePrintOp(). (check-in: [6f857d0e] user: dan branch: trunk, size: 167149)
2020-05-04
11:47
[ee65c810] part of check-in [d1ba026d] Ensure that the master-journal name is in a form suitable to be passed into sqlite3_uri_parameter(). (check-in: [d1ba026d] user: drh branch: trunk, size: 167091)
2020-05-02
00:01
[319a6e44] part of check-in [baa720e4] Corner-case changes to the bytecode virtual table for testability and correctness. (check-in: [baa720e4] user: drh branch: bytecode-function, size: 167073)
2020-04-09
18:29
[d49b9578] part of check-in [92f71a88] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [92f71a88] user: drh branch: begin-concurrent, size: 166749)
2020-04-02
19:58
[d191d079] part of check-in [6e11c03f] Fix a minor problem with EXPLAIN QUERY PLAN for triggers. (check-in: [6e11c03f] user: drh branch: bytecode-function, size: 167055)
17:21
[5ed71471] part of check-in [ae3ac297] Minor changes for better test coverage. (check-in: [ae3ac297] user: drh branch: bytecode-function, size: 167057)
13:08
[2b47d244] part of check-in [949eec25] Fix another harmless compiler warning. (check-in: [949eec25] user: drh branch: bytecode-function, size: 167033)
12:53
[89267381] part of check-in [cc54de35] Add a missing #ifdef to avoid a harmless compiler warning. (check-in: [cc54de35] user: drh branch: bytecode-function, size: 167033)
12:24
[07b69790] part of check-in [d1731385] Merge enhancements from trunk. (check-in: [d1731385] user: drh branch: bytecode-function, size: 167015)
2020-03-30
13:35
[8349559e] part of check-in [a49f8ec5] Use __atomic_load_n() and __atomic_store_n() for a few more things where they are available. (check-in: [a49f8ec5] user: dan branch: trunk, size: 166123)
2020-03-26
16:48
[2b81b427] part of check-in [6283c677] Add the tables_used() table-valued function as a variation on bytecode(). (check-in: [6283c677] user: drh branch: bytecode-function, size: 167002)
2020-03-24
13:27
[9aceb180] part of check-in [df893364] Provide content for the bytecode.subprog column. (check-in: [df893364] user: drh branch: bytecode-function, size: 166690)
2020-03-23
20:58
[c99bdd95] part of check-in [6819b86e] The bytecode() function now runs and sometimes works, but it untested and there are known problems. (check-in: [6819b86e] user: drh branch: bytecode-function, size: 166683)
19:14
[a041e907] part of check-in [aee1c12f] Further simplification and modularization of the EXPLAIN logic. (check-in: [aee1c12f] user: drh branch: bytecode-function, size: 166492)
17:24
[46991da5] part of check-in [2c4dd79f] Begin breaking appear the sqlite3VdbeList() routine into subroutines that can be reused by the bytecode() table. (check-in: [2c4dd79f] user: drh branch: bytecode-function, size: 167298)
2020-03-21
14:22
[b78b4b71] part of check-in [aa92f9b9] Performance optimization in sqlite3VdbeMakeReady(). (check-in: [aa92f9b9] user: drh branch: trunk, size: 166110)
03:40
[99703bb6] part of check-in [62aece66] 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: [62aece66] user: drh branch: explain-improvements, size: 166802)
2020-03-20
20:00
[66dcae8b] part of check-in [e7343ce7] Add the EXPLAIN TABLES syntax that uses SQLITE_STMTMODE_TABLELIST. Seems to work, but not well-tested. (check-in: [e7343ce7] user: drh branch: sqlite3_stmt_mode, size: 168555)
17:49
[0ae1d7db] part of check-in [5eaba9af] Further simplification of the EXPLAIN logic. Fix the test errors from the previous check-in. (check-in: [5eaba9af] user: drh branch: sqlite3_stmt_mode, size: 166710)
16:13
[734cb197] part of check-in [e9e17e21] 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: [e9e17e21] user: drh branch: sqlite3_stmt_mode, size: 167056)
2020-03-19
21:17
[ce2521d1] part of check-in [3cf7537b] Initial code for a proposed new sqlite3_stmt_mode() API. This is an incomplete snapshot of a work-in-progress. (check-in: [3cf7537b] user: drh branch: sqlite3_stmt_mode, size: 166150)
15:57
[e8baf665] part of check-in [3a51919a] Fix a typo in a comment. No changes to code. (check-in: [3a51919a] user: drh branch: trunk, size: 166108)
2020-03-05
16:30
[0932ff0b] part of check-in [9d068e1e] Merge trunk enhancements into the reuse-schema branch. (Actual check-in date is 2020-05-18) (check-in: [9d068e1e] user: drh branch: reuse-schema, size: 166172)
14:19
[1ca2d4b3] part of check-in [eb5c1b77] When printing the OP_CollSeq opcode for EXPLAIN listings, include the text encoding with the name of the collating sequence. (check-in: [eb5c1b77] user: drh branch: trunk, size: 166101)
2020-02-27
15:20
[4f1642d6] part of check-in [3f5650aa] Merge latest trunk changes into this branch. (check-in: [3f5650aa] user: dan branch: reuse-schema, size: 166004)
2020-02-22
13:01
[2d8d863e] part of check-in [f02030b3] In the OP_Column opcode, if the cursor is marked NullRow (due to being the right table of a LEFT JOIN that does not match) and the cursor is the table cursor for an OR-optimization with a covering index, then do not substitute the covering index cursor, since the covering index cursor does not have the NullRow flag set. Ticket [aa4378693018aa99] (check-in: [f02030b3] user: drh branch: trunk, size: 165933)
2020-02-10
13:29
[4200161a] part of check-in [08438164] Fix the build for when SQLITE_VDBE_COVERAGE is used. (check-in: [08438164] user: drh branch: trunk, size: 165918)
2020-02-07
19:44
[c44f530a] part of check-in [bcf876e6] During byte-code generation, strive to avoid jumps that merely jump to the following instruction. (check-in: [bcf876e6] user: drh branch: trunk, size: 165918)
2020-02-05
18:28
[eaf1df64] part of check-in [ae6dd8d3] Small size reduction and performance improvement in the sqlite3VdbeMemFromBtree() interface used to pull content out of the b-tree and into an sqlite3_value object. (check-in: [ae6dd8d3] user: drh branch: trunk, size: 165014)
2020-02-04
20:08
[000e2c21] part of check-in [f253618a] Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: [f253618a] user: dan branch: begin-concurrent, size: 165626)
00:55
[873d96bc] part of check-in [af63e95d] Fix a problem with the byte-code decompiler that was inserted by the enhancements at [4248980a356f659b] (check-in: [af63e95d] user: drh branch: trunk, size: 165000)
2020-02-01
17:38
[72a47b6b] part of check-in [4248980a] Fix the comment display for the OP_Function opcode. And at the same time, improve the comment generating logic to make use of the newer sqlite3_str_appendf() interface. (check-in: [4248980a] user: drh branch: trunk, size: 165020)
2020-01-28
20:27
[4c578812] part of check-in [59a31b16] Faster decoding of 32-bit variable-length integers in cases were we do not need to know the number of bytes in the encoding. (check-in: [59a31b16] user: drh branch: trunk, size: 164668)
20:09
[6a4d2142] part of check-in [41454499] Small performance improvement to the key-comparision routine for strings. (check-in: [41454499] user: drh branch: trunk, size: 164672)
2020-01-16
13:02
[236b9c61] part of check-in [f8801ffd] Very small performance improvement by ensuring that the argument to sqlite3VdbeFreeCursor() is non-NULL. Hold for the next sprint. (check-in: [f8801ffd] user: drh branch: close-cursor-faster, size: 164594)
2020-01-15
14:26
[eafd650c] part of check-in [f7839178] Merge all recent enhancements and fixes from trunk. (check-in: [f7839178] user: drh branch: reuse-schema, size: 164662)
13:34
[a094c517] part of check-in [95ba2f50] Merge fixes and enhancements from trunk into begin-concurrent. (check-in: [95ba2f50] user: drh branch: begin-concurrent, size: 165217)
2020-01-10
01:05
[ff690e6c] part of check-in [0a500da6] Fix to the register validity tracking logic in debug builds. No impact on release builds. (check-in: [0a500da6] user: drh branch: trunk, size: 164591)
2020-01-02
17:46
[3b2076c5] part of check-in [937be221] Have the OP_ReleaseReg opcode also invalidate the registers if P5 is non-zero. (check-in: [937be221] user: drh branch: trunk, size: 164543)
13:26
[83b66688] part of check-in [49a6368c] Add the test_trace_breakpoint() subroutine that is invoked after each instruction is printed while running PRAGMA vdbe_trace=on. Only works for SQLITE_DEBUG builds. Also add parameters "pc" and "pOp" to test_addop_breakpoint() to make it easier to set conditionals. (check-in: [49a6368c] user: drh branch: trunk, size: 164142)
2019-12-29
00:52
[0a9716e4] part of check-in [21ef6e99] Add the OP_FinishSeek opcode which completes an OP_DeferredSeek if the seek has not already completed. Also add the sqlite3WhereUsesDeferredSeek() interface to the query planner. The UPDATE implementation adds an OP_FinishSeek before running the final OP_Insert if one is needed. Ticket [ec8abb025e78f40c] and also an assertion fault reported by Yongheng. (check-in: [21ef6e99] user: drh branch: trunk, size: 163837)
2019-12-23
02:18
[e041d20b] part of check-in [36fdeb4f] Enhance the sqlite3VdbeMemAboutToChange() shallow-copy validation mechanism by adding the new OP_ReleaseReg opcode to tell MemAboutToChange() that a range of registers is no longer needed so that the source register can be freely changed. This is a change to debugging and test builds only and does not impact release builds. Fix for ticket [c62c5e58524b204d] and [5ad2aa6921faa1ee]. The previous fix to ticket [5ad2aa6921faa1ee] is backed out by this change since this change is a better fix. (check-in: [36fdeb4f] user: drh branch: trunk, size: 163838)
2019-12-19
20:37
[858bb43a] part of check-in [e2bddcd4] When an error occurs while rewriting the parser tree for window functions in the sqlite3WindowRewrite() routine, make sure that pParse->nErr is set, and make sure that this shuts down any subsequent code generation that might depend on the transformations that were implemented. This fixes a problem discovered by the Yongheng and Rui fuzzer. (check-in: [e2bddcd4] user: drh branch: trunk, size: 163280)
2019-12-10
18:10
[ede199fe] part of check-in [aa3b0eb8] Use a statement journal on a CREATE VIRTUAL TABLE statement in case the VCreate opcode fails. (check-in: [aa3b0eb8] user: drh branch: trunk, size: 163249)
2019-11-19
00:13
[0bbbdc70] part of check-in [4330f079] Make the result of sqlite3_normalized_sql() survive its statement being reprepared. (check-in: [4330f079] user: mistachkin branch: trunk, size: 163203)
2019-11-18
22:34
[7f7331b8] part of check-in [251230cf] Ensure all file names passed to the VFS layer are double-zero terminated. (check-in: [251230cf] user: mistachkin branch: trunk, size: 163178)
2019-11-01
16:37
[75fa4792] part of check-in [0a2eb949] Fix a potential use-after-free bug that follows an OOM error in code added two days ago by check-in [84e02d773d60cffe]. Problem discovered by OSSFuzz. (check-in: [0a2eb949] user: drh branch: trunk, size: 163168)
2019-10-30
18:50
[ab10ec13] part of check-in [2978b65e] Always disallow the use of non-deterministic functions in CHECK constraints, even date/time functions that use the 'now' or similar keywords. Provide improved error messages when this requirement is not met. Ticket [830277d9db6c3ba1] (check-in: [2978b65e] user: drh branch: trunk, size: 163147)
16:29
[aeba258b] part of check-in [84e02d77] Simplify the bytecode generation for SQL function calls such that the OP_Function or OP_PureFunc opcodes are coded directly, rather than using the intermediate OP_Function0 or OP_PureFunc0 - opcodes that are now removed. (check-in: [84e02d77] user: drh branch: trunk, size: 162999)
2019-10-24
23:43
[e3ed5475] part of check-in [4ec57d88] Merge fixes from trunk. (check-in: [4ec57d88] user: drh branch: generated-columns, size: 161225)
19:35
[be3e2505] part of check-in [521f1d36] Correction to check-in [bec5b6d4d083556d] so that it detects *all* triggers that might perturb the insertion cursor. Ticket [50c09fc2cf0d91ce]. (check-in: [521f1d36] user: drh branch: trunk, size: 161109)
2019-10-18
12:52
[a669f412] part of check-in [e8426acb] Claw back some performance from the sqlite3ExprGetColumnOfTable() routine. (check-in: [e8426acb] user: drh branch: generated-columns, size: 161090)
2019-10-11
11:21
[66d0137d] part of check-in [eff7cd7f] Merge the 3.30.1 changes into reuse-schema. (check-in: [eff7cd7f] user: drh branch: reuse-schema-3.30, size: 160526)
2019-10-09
01:19
[a35a1785] part of check-in [1ca5ef84] Save CPU cycles in sqlite3Prepare() by, among other things, shifting the EXPLAIN column label logic over to sqlite3VdbeMakeReady(). (check-in: [1ca5ef84] user: drh branch: trunk, size: 160974)
2019-10-07
18:43
[d17dfbf1] part of check-in [31e85fbb] Fix a problem with running ALTER TABLE ADD COLUMN statements within a transaction that writes to one or more virtual tables. Fix for [8fe768e9]. (check-in: [31e85fbb] user: dan branch: trunk, size: 160455)
2019-09-16
12:35
[38f1e2dc] part of check-in [27eb2236] Merge all recent trunk enhancements into the reuse-schema branch. (check-in: [27eb2236] user: drh branch: reuse-schema, size: 160557)
12:08
[49cd1781] part of check-in [93b9ef3f] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [93b9ef3f] user: drh branch: begin-concurrent, size: 161112)
2019-08-22
19:35
[7ccf4181] part of check-in [63e625c8] Merge fixes from trunk. Also fix a reference to the KeyInfo.aSortOrder field, which should now be KeyInfo.aSortFlags (check-in: [63e625c8] user: drh branch: nulls-last, size: 160486)
2019-08-13
15:22
[2edbf3ca] part of check-in [5b4689d8] Merge latest trunk changes with this branch. (check-in: [5b4689d8] user: dan branch: reuse-schema, size: 159924)
2019-08-12
16:36
[68fd9097] part of check-in [07babb0f] Experimental implementation of NULLS FIRST/LAST. This branch still has problems - the most significant of which is that ORDER BY clauses with a non-default NULLS FIRST/LAST qualifier can never use an index. (check-in: [07babb0f] user: dan branch: nulls-last, size: 160486)
2019-08-09
01:59
[8eeb9799] part of check-in [68b7f2ac] Modify signature of sqlite3VdbeChangeOpcode() to accept int instead of u32. (check-in: [68b7f2ac] user: mistachkin branch: trunk, size: 159853)
01:11
[701d026f] part of check-in [1b85442b] Fix more compiler warnings. (check-in: [1b85442b] user: drh branch: trunk, size: 159853)
2019-08-08
15:24
[a262a279] part of check-in [1e17ea2f] 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: [1e17ea2f] user: drh branch: omit-stat3, size: 159853)
2019-07-26
20:54
[aa9950d1] part of check-in [7f1e4e4b] Merge latest changes from trunk into this branch. (check-in: [7f1e4e4b] user: dan branch: reuse-schema, size: 159838)
2019-07-16
19:44
[ffcdaf1c] part of check-in [9e664585] Add new assert() statements in an attempt to help static analyzers avoid false-positives. (check-in: [9e664585] user: drh branch: trunk, size: 159767)
2019-07-13
09:56
[eb2b67dc] part of check-in [86ab963c] Merge latest trunk changes into this branch. (check-in: [86ab963c] user: dan branch: filter-clause, size: 159670)
2019-07-12
15:15
[6e690cf7] part of check-in [777fec84] Minor performance improvement in vdbeRecordCompareString(). (check-in: [777fec84] user: dan branch: filter-clause, size: 159313)
2019-07-11
19:22
[a2da4e67] part of check-in [d837ab0d] Move the sqlite3VdbeSerialType() routine in-line in the OP_MakeRecord opcode. Optimizing compilers were doing this already. By doing it manually, we can omit some redundant tests and make the whole thing run a million cycles faster and use about 80 bytes less code space. (check-in: [d837ab0d] user: drh branch: trunk, size: 159671)
2019-07-08
21:32
[b2c92139] part of check-in [fae92fee] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [fae92fee] user: drh branch: reuse-schema, size: 159385)
21:06
[b5d20a12] part of check-in [7fff0803] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [7fff0803] user: drh branch: begin-concurrent, size: 159940)
2019-07-02
20:10
[e078c888] part of check-in [5dbb0734] Have ALTER TABLE detect and error out for the case where renaming a column changes a the interpretation of a double-quoted identifier in the database schema from an SQL literal to a column reference. (check-in: [5dbb0734] user: dan branch: tkt9b78184b-alt, size: 159624)
2019-05-30
00:46
[3a803d75] part of check-in [ea748ede] Smaller and faster sqlite3IsNaN() implementation makes deserialization of floating point values much faster. (check-in: [ea748ede] user: drh branch: trunk, size: 159314)
2019-05-24
13:04
[198ca785] part of check-in [ff9f3e09] Merge recent enhancements from trunk. (check-in: [ff9f3e09] user: drh branch: reuse-schema, size: 159416)
2019-05-21
16:32
[afe8d785] part of check-in [a3e77c77] Fix a problem in [b5ca442a] causing an assert() to fail in REINDEX commands. (check-in: [a3e77c77] user: dan branch: trunk, size: 159345)
14:42
[32c003d7] part of check-in [b8071d10] Use a statement journal for all CREATE INDEX statements in case an indexed exprsesion throws an exception when it is evaluated. Fix for [b5ca442a]. (check-in: [b8071d10] user: dan branch: trunk, size: 158966)
2019-05-14
22:25
[95cabb0e] part of check-in [018f3199] Merge all the latest trunk enhancements into the reuse-schema branch. (check-in: [018f3199] user: drh branch: reuse-schema, size: 158918)
21:51
[f51bda62] part of check-in [5d3a6e18] Merge the latest trunk enhancements into begin-concurrent. (check-in: [5d3a6e18] user: drh branch: begin-concurrent, size: 159473)
2019-05-09
17:10
[d444f4a3] part of check-in [9b091527] Disable the optimization where a REAL value with no fractional part is stored as an INTEGER when the integer uses as much space as the real value it proposes to stand in for (8 bytes). This avoids corner cases of comparing integers against real values that are beyond the resolution of an IEEE 754 double. Fix for ticket [6c1d3febc00b22d457c78c2] (check-in: [9b091527] user: drh branch: trunk, size: 158847)
2019-05-07
19:44
[f9fb1f71] part of check-in [659c551d] Do not commit an "OR FAIL" statement that causes foriegn key constraint violations. (check-in: [659c551d] user: dan branch: trunk, size: 158448)
2019-05-04
01:29
[94f5bea5] part of check-in [8b8ef445] New testcase macros to ensure that MEM_IntReal is fully tested. (check-in: [8b8ef445] user: drh branch: int-real, size: 158400)
2019-05-02
21:36
[326e0499] part of check-in [dba836e3] 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: [dba836e3] user: drh branch: int-real, size: 157895)
2019-04-26
17:20
[cf9159ea] part of check-in [1b25fa10] An experimental interface for retrieving the estimated cost and estimated number of output rows for a query. (check-in: [1b25fa10] user: drh branch: cost-est, size: 157976)
2019-04-15
15:35
[793111f4] part of check-in [5c6c9e7f] Merge recent changes from trunk into reuse-schema (check-in: [5c6c9e7f] user: drh branch: reuse-schema, size: 157684)
14:59
[ded4c9c2] part of check-in [7c328e88] Merge the latest enhancements from trunk. (check-in: [7c328e88] user: drh branch: begin-concurrent, size: 158239)
2019-04-13
14:07
[f873b5c2] part of check-in [c28c973a] Fixes for harmless compiler warnings. (check-in: [c28c973a] user: drh branch: trunk, size: 157613)
04:01
[2b16b673] part of check-in [0b6ae032] Enforce the SQLITE_LIMIT_COLUMN limit on virtual tables. (check-in: [0b6ae032] user: drh branch: trunk, size: 157605)
2019-03-26
12:07
[8152a4f7] part of check-in [774d0d52] Merge recent enhancements from trunk. (check-in: [774d0d52] user: drh branch: begin-concurrent, size: 158100)
2019-03-20
16:03
[5c792e54] part of check-in [4cd20ca6] Merge latest trunk changes into this branch. (check-in: [4cd20ca6] user: dan branch: reuse-schema, size: 157545)
2019-03-15
16:17
[7aa412e7] part of check-in [0f2129f5] Ensure that ALTER TABLE commands open statement transactions. Fix for [596d059a]. (check-in: [0f2129f5] user: dan branch: trunk, size: 157474)
2019-03-08
15:30
[c98e40e4] part of check-in [667cce3d] Merge all the latest enhancements from trunk. (check-in: [667cce3d] user: drh branch: begin-concurrent-pnu, size: 158020)
2019-02-05
19:51
[2f4fefdf] part of check-in [c089cc4f] Merge latest trunk into this branch. (check-in: [c089cc4f] user: dan branch: reuse-schema, size: 157465)
2019-01-27
02:41
[4fa28b32] part of check-in [0ea05a0e] Window functions that can abort should indicate this, so that if they are used in DML statement, a statement journal will be used. (check-in: [0ea05a0e] user: drh branch: trunk, size: 157394)
2019-01-26
17:47
[2cda9db3] part of check-in [9f39cb5b] Fix "PRAGMA journal_mode" so that if it fails because there is a transaction open, it does not roll that transaction back. (check-in: [9f39cb5b] user: dan branch: rollback-abort, size: 157923)
16:34
[69857972] part of check-in [d536be69] Roll back the transaction if a write statement fails with OE_Abort but there is no open statement transaction. (check-in: [d536be69] user: dan branch: rollback-abort, size: 157509)
2019-01-25
18:17
[158abc9c] part of check-in [3ff220ad] Fix harmless compiler warnings. (check-in: [3ff220ad] user: drh branch: trunk, size: 157407)
2019-01-24
14:16
[11ded95e] part of check-in [1b536f6f] Change a integer variable in sqlite3VdbeRecordUnpack() to unsigned in order to avoid any possibility of an integer overflow. (check-in: [1b536f6f] user: drh branch: trunk, size: 157397)
2019-01-22
02:34
[f6cd3f53] part of check-in [058a8006] Ensure that a key comparison does not read a collating sequence past the end of the KeyInfo, even if the key field of an index is corrupted by having a string in the last column instead of the ROWID. (check-in: [058a8006] user: drh branch: trunk, size: 157397)
2019-01-14
13:32
[c0c3c082] part of check-in [ddc3697e] When parsing a corrupt record using sqlite3VdbeRecordUnpack(), make sure that the resulting UnpackedRecord object is completely initialized, to avoid (harmless) MSAN warnings. (check-in: [ddc3697e] user: drh branch: trunk, size: 157299)
2019-01-12
21:30
[6e8cf4dd] part of check-in [0f850a25] Prevent unsigned 32-bit integer overflow from leading to a buffer overread inside of an assert(). The problem fixed here is no reachable in production code. (check-in: [0f850a25] user: drh branch: trunk, size: 157034)
2019-01-11
16:44
[eb444562] part of check-in [fa47f4c6] Improved detection of cell corruption in sqlite3VdbeRecordCompareWithSkip(). (check-in: [fa47f4c6] user: drh branch: trunk, size: 157024)
2019-01-02
16:08
[272c0301] part of check-in [5bf212f1] Merge latest trunk changes into this branch. (check-in: [5bf212f1] user: dan branch: begin-concurrent, size: 157658)
2018-12-31
18:30
[b230f126] part of check-in [9fb646f2] Merge enhancements and bug fixes from trunk. (check-in: [9fb646f2] user: drh branch: reuse-subqueries, size: 157032)
2018-12-29
14:23
[1b47c59c] part of check-in [1bdee199] Additional small performance increase and size reduction to the sqlite3VdbeMakeLabel() mechanism. (check-in: [1bdee199] user: drh branch: trunk, size: 156665)
02:26
[3fe9349a] part of check-in [4a0929ac] A new implementation of sqlite3VdbeMakeLabel() is faster and makes fewer memory allocations by deferring memory allocation until sqlite3VdbeResolveLabel() is called, at which point the code generator has a better idea of how big the relocation table needs to be. The sqlite3VdbeMakeLabel() routine now takes a Parse* parameter instead of Vdbe*. (check-in: [4a0929ac] user: drh branch: trunk, size: 156023)
2018-12-28
21:32
[01631f90] part of check-in [0f1b9ff9] Merge performance enhancements from trunk. (check-in: [0f1b9ff9] user: drh branch: reuse-subqueries, size: 156174)
20:48
[c5d6c0af] part of check-in [891f1f72] Faster allocation of new sqlite3_stmt objects. (check-in: [891f1f72] user: drh branch: trunk, size: 155807)
20:14
[742fb6de] part of check-in [8f10efc2] Move the nOpAlloc field from Parse into Vdbe to avoid an extra pointer deference on the fast path in sqlite3VdbeAddOp3(). (check-in: [8f10efc2] user: drh branch: trunk, size: 155502)
19:23
[409efe1b] part of check-in [da53f3d3] Merge patches and enhancements from trunk. (check-in: [da53f3d3] user: drh branch: reuse-subqueries, size: 155915)
17:45
[0d7b40bc] part of check-in [0140f6db] Fix a problem causing the sqlite_master entry corresponding to a virtual table to be removed by a DROP TABLE even if the call to the vtabs xDestroy() method failed. (check-in: [0140f6db] user: dan branch: trunk, size: 155548)
2018-12-27
17:11
[408562b4] part of check-in [ea96001e] Merge latest wal2 changes with this branch. (check-in: [ea96001e] user: dan branch: begin-concurrent-wal2, size: 156146)
2018-12-24
20:21
[dfbedc7b] part of check-in [7153552b] Improvements to EXPLAIN QUERY PLAN formatting. The MULTI-INDEX OR now shows a separate "INDEX" subtree for each index. SCALAR SUBQUERY entries provide a subquery number that is related back to the .selecttrace output. (check-in: [7153552b] user: drh branch: reuse-subqueries, size: 155757)
18:10
[ed00c59d] part of check-in [d8c1235c] Always include OP_Explain opcodes in the bytecode when SQLITE_DEBUG is enabled. (check-in: [d8c1235c] user: drh branch: trunk, size: 155520)
2018-12-15
20:59
[9f2a251e] part of check-in [06bb80ee] Merge latest wal2 changes into this branch. (check-in: [06bb80ee] user: dan branch: begin-concurrent-wal2, size: 155979)
2018-12-14
20:20
[eda1c639] part of check-in [b29e02f8] Add the OP_ColumnsUsed opcode (when compiled with SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which columns of a btree cursor will be used. (Backport from 3.8.11) (check-in: [b29e02f8] user: drh branch: branch-3.8.9, size: 133687)
2018-12-10
20:01
[f00d9b32] part of check-in [c96bf6cc] Further refinements to the sqlite3_normalized_sql() interface. TH3 now gives 100% MC/DC on that interface. (check-in: [c96bf6cc] user: drh branch: trunk, size: 155353)
16:00
[c72fc601] part of check-in [a4c890b0] Refactor the sqlite3_normalized_sql() implementation. This is a work-in-progress. There are still issues. (check-in: [a4c890b0] user: drh branch: normalize-refactor, size: 155589)
2018-12-07
16:32
[9a961766] part of check-in [0d8e1504] Fix the sqlite3_normalized_sql() interface so that it renders double-quoted string literals as "?". (check-in: [0d8e1504] user: drh branch: trunk, size: 155896)
2018-12-06
20:18
[33f61089] part of check-in [73a6b8c1] Experimental changes to (optionally) allow double-quoted strings to be checked against known identifiers. (check-in: [73a6b8c1] user: mistachkin branch: normalize_v4, size: 154493)
17:06
[d71429f7] part of check-in [53d3b169] When masking bits off of sqlite3.flags, make sure the mask is 64 bits in size so as not to accidentally mask of high-order bits. (check-in: [53d3b169] user: drh branch: trunk, size: 154482)
2018-12-05
13:44
[b3c364b1] part of check-in [47b73f6b] Merge enhancements from trunk, especially the enhanced sqlite3_normalized_sql() interface. (check-in: [47b73f6b] user: drh branch: begin-concurrent, size: 155103)
13:39
[8e2fe020] part of check-in [7da617e9] 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: [7da617e9] user: drh branch: trunk, size: 154477)
2018-11-26
07:21
[51a6b2b7] part of check-in [28a615a2] Merge latest trunk changes into this branch. (check-in: [28a615a2] user: dan branch: begin-concurrent, size: 155100)
2018-11-09
18:44
[5e83d8a9] part of check-in [ae88f8e1] Merge latest trunk changes with this branch. (check-in: [ae88f8e1] user: dan branch: reuse-schema, size: 154545)
2018-10-29
17:53
[f547901b] part of check-in [592b66e8] Add the sqlite3_normalized_sql() API. (check-in: [592b66e8] user: mistachkin branch: normalized_sql, size: 154474)
2018-10-08
18:58
[40f4b3ca] part of check-in [2ac72114] Merge latest trunk changes into this branch. (check-in: [2ac72114] user: dan branch: reuse-schema, size: 154125)
2018-10-01
13:54
[9fe7760a] part of check-in [8ac2cdda] Fix a potential crash that can occur while reading an index from a corrupt database file. The corruption is a record-header-size that is larger than 0x7fffffff. Problem detected by OSSFuzz against GDAL and reported to us (with a suggested fix) by Even Rouault. The test case is in TH3. (check-in: [8ac2cdda] user: drh branch: trunk, size: 154054)
2018-09-28
20:58
[24cbf0ee] part of check-in [86750c92] Merge latest trunk into this branch. (check-in: [86750c92] user: dan branch: begin-concurrent, size: 154623)
2018-09-19
14:54
[43ee5819] part of check-in [147c61a6] Reduce the size of Expr from 80 to 72 bytes moving the pRight field inside the "x" union. This is an incremental check-in that still has issues. (check-in: [147c61a6] user: drh branch: expr-simplify, size: 154005)
2018-09-12
00:21
[c3c39727] part of check-in [f578e62a] Fix a harmless compiler warning that arose from the ENABLE_CURSOR_HINTS fix of check-in [0af18674ca5b34e67e] (check-in: [f578e62a] user: drh branch: trunk, size: 153997)
2018-09-01
20:23
[0a769638] part of check-in [336b8a09] Fix a problem with renaming a column in a table that has a temp trigger that references another attached database. (check-in: [336b8a09] user: dan branch: alter-table-rename-column, size: 153995)
2018-08-29
20:24
[1ee77344] part of check-in [f48e9feb] Also free up the MEM_RowSet bit in the Mem.flags field and have RowSet objects be destroyed using Mem.xDel. This change results in faster code. (check-in: [f48e9feb] user: drh branch: trunk, size: 154036)
18:47
[20da0273] part of check-in [62db5fd4] Free up the MEM_Frame bit in Mem.flags object. Store VdbeFrame objects as MEM_Blob with a special Mem.xDel pointer instead. (check-in: [62db5fd4] user: drh branch: trunk, size: 154015)
2018-08-21
12:16
[b64c6992] part of check-in [a04a0ea9] Fix various harmless warnings generated by static analysis tools. (check-in: [a04a0ea9] user: drh branch: trunk, size: 153140)
2018-08-14
15:12
[f03d4a19] part of check-in [529fb55e] Fix UPSERT so that it checks the target-constraint first and fires the DO UPDATE if that constraint is violated regardless of whether or not other constraints are in violation. This aligns SQLite behavior with what PostgreSQL does. Fix for ticket [908f001483982c43cdb476dfb590a1a]. (check-in: [529fb55e] user: drh branch: trunk, size: 153156)
2018-08-04
16:54
[b610cef3] part of check-in [80236e81] Remove more column-cache residue: The OP_SetColTab and OP_VerifyColTab opcodes and the associated SQLITE_DEBUG_COLUMNCACHE logic. (check-in: [80236e81] user: drh branch: omit-column-cache, size: 153581)
2018-08-03
23:04
[3872c295] part of check-in [3f5f60cd] Completely remove the column cache logic, which has been a persistent source of bugs for many years. Due to recent enhancements to the performance of the OP_Column opcode, removing the column cache actually makes speed-check.sh run faster. Removing the column cache also saves about 1,800 bytes of code space. (check-in: [3f5f60cd] user: drh branch: omit-column-cache, size: 153644)
2018-07-24
22:02
[1265a362] part of check-in [2bd59333] Do not abort running queries due to a CREATE INDEX statement. Allow them to run to completion before being reprepared. Fix for ticket [c694113e50321afdf9]. (check-in: [2bd59333] user: drh branch: trunk, size: 153898)
2018-07-10
15:45
[82a91231] part of check-in [e9a3e864] Merge latest trunk changes into this branch. (check-in: [e9a3e864] user: dan branch: begin-concurrent, size: 154137)
2018-06-12
13:52
[c2d65c76] part of check-in [b2973f23] Improvements to SCopy correctness tracking when SQLITE_DEBUG is enabled. (check-in: [b2973f23] user: drh branch: trunk, size: 153511)
2018-06-11
17:35
[0e7af861] part of check-in [b37614a3] Add the OP_SetTabCol and OP_VerifyTabCol opcodes, only when compiling with SQLITE_DEBUG, to do run-time verification of the column cache. (check-in: [b37614a3] user: drh branch: trunk, size: 153448)
13:10
[ea0b7821] part of check-in [793e9422] Strengthen the sqlite3VdbeMemAboutToChange() run-time verification mechanism to better detect missed calls to AboutToChange(). (check-in: [793e9422] user: drh branch: trunk, size: 153444)
2018-06-07
17:32
[daecbbef] part of check-in [439c8162] Remove the NextIfOpen and PrevIfOpen opcodes which are no longer needed when the IN-early-out optimization is working. (check-in: [439c8162] user: drh branch: multikey-opt-idea, size: 153451)
2018-06-06
20:55
[adbd21d9] part of check-in [83a60ff0] More space and performance enhancements to sqlite3VdbeRecordCompare(). (check-in: [83a60ff0] user: drh branch: trunk, size: 153507)
20:29
[20c12c69] part of check-in [1e616e25] Small performance optimization in sqlite3VdbeRecordCompareWithSkip() for the common case where the comparison is equal. (check-in: [1e616e25] user: drh branch: trunk, size: 153478)
17:03
[a41de57f] part of check-in [d7299bfe] Merge changes from trunk, including all the 3.24.0 changes plus some later enhancements. (check-in: [d7299bfe] user: drh branch: begin-concurrent, size: 154089)
2018-05-28
17:31
[b00d3580] part of check-in [5a4542db] When compiling with SQLITE_DEBUG, add run-time checks to ensure that no statement aborts unless either there have been no writes or else there is a statement journal. (check-in: [5a4542db] user: drh branch: stmt-journal-testing, size: 153463)
2018-05-25
03:46
[e4179c8d] part of check-in [eac8888d] Add SQLITE_LOCKED_VTAB and SQLITE_CORRUPT_SEQUENCE to sqlite3ErrName(). Also, use SQLITE_CORRUPT_BKPT in one more place. (check-in: [eac8888d] user: mistachkin branch: errCodes, size: 152557)
2018-05-18
14:19
[3b0650db] part of check-in [3d662511] Remove incorrect NEVER() macro added by the previous check-in. (check-in: [3d662511] user: drh branch: int-float-compare, size: 152552)
13:39
[8442dd6b] part of check-in [ea6a03a8] Improvements to the sqlite3IntFloatCompare() routine for systems that lack the long double type. (check-in: [ea6a03a8] user: drh branch: int-float-compare, size: 152559)
2018-05-15
11:45
[22af0c48] part of check-in [ae86cf60] Merge latest trunk changes with this branch. (check-in: [ae86cf60] user: dan branch: begin-concurrent, size: 153240)
2018-05-09
13:46
[f1cb5ae6] part of check-in [87f261f0] Make the internal dynamic string interface available to extensions using the new sqlite3_str object and its associated methods. This is mostly just a renaming of internal objects and methods to use external names, through there are a few small wrapper functions. (check-in: [87f261f0] user: drh branch: trunk, size: 152614)
2018-05-02
00:33
[58129ae4] part of check-in [70b48a79] Begin reengineering the EXPLAIN QUERY PLAN function to provide more intuitive output. (check-in: [70b48a79] user: drh branch: rework-EQP, size: 152500)
2018-04-26
17:54
[8160881d] part of check-in [d8ae7ba0] Merge latest changes from trunk. Including the "ORDER BY ... LIMIT" optimization. (check-in: [d8ae7ba0] user: dan branch: begin-concurrent, size: 152205)
15:50
[b82ca213] part of check-in [0a514e62] Ensure that new.* values of an UPDATE do not get clobbered after the BEFORE triggers run when unmodified columns of the row being updated are reloaded. Fix for ticket [d85fffd6ffe856092ed8da] (check-in: [0a514e62] user: drh branch: trunk, size: 151579)
2018-04-24
19:21
[b9be9ba8] part of check-in [b27bd799] Merge latest trunk changes into this branch. (check-in: [b27bd799] user: dan branch: begin-concurrent, size: 151991)
13:07
[944bae52] part of check-in [f53716ee] Enhance the CLI to render EXPLAIN QUERY PLAN using an ASCII-art graph. This works with ".eqp" modes and when the query begins with exactly "EXPLAIN QUERY PLAN". To see the original output format, add extra space characters in between words of the initial "EXPLAIN QUERY PLAN". (check-in: [f53716ee] user: drh branch: trunk, size: 151365)
2018-04-18
01:34
[0fdf9785] part of check-in [266a99f7] Add new testcase() macros and fix a bug that was revealed when trying to cover all the new test cases. (check-in: [266a99f7] user: drh branch: upsert, size: 151092)
2018-04-17
20:09
[1edb8a07] part of check-in [542547c1] Added a comment on the assert() added to the previous check-in. (check-in: [542547c1] user: drh branch: upsert, size: 150667)
20:06
[42c40f64] part of check-in [1ddbb0ff] Fixes to the logic for constraint check reordering during upsert. Improved comments on constraint check bytecode. Add an assert that prevents the same label from being resolved more than once. (check-in: [1ddbb0ff] user: drh branch: upsert, size: 150628)
19:29
[38517c96] part of check-in [9ff07a06] During PRAGMA vdbe_addoptrace=ON, show calls to sqlite3VdbeResolveLabel() in the debugging output. (check-in: [9ff07a06] user: drh branch: upsert, size: 150594)
2018-03-28
15:41
[41157298] part of check-in [df52e89f] Update this branch with latest trunk changes. (check-in: [df52e89f] user: dan branch: server-process-edition, size: 150554)
2018-03-02
17:40
[db9d38ca] part of check-in [36801eff] Merge latest trunk changes into this branch. (check-in: [36801eff] user: dan branch: begin-concurrent, size: 151086)
2018-01-13
14:28
[2756ac68] part of check-in [bd70a07d] Fully initialize the Mem object for serial-type 10, in case such a serial-type is found in a corrupt database file. (check-in: [bd70a07d] user: drh branch: trunk, size: 150460)
2018-01-12
21:00
[fc124962] part of check-in [8b7be15e] 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: [8b7be15e] user: drh branch: sqlite3_value_nochange, size: 150416)
16:44
[7d635c30] part of check-in [bd46c442] Experimental change to include changes made to the sqlite_stat1 table in changesets generated by the sessions module. sqlite_stat1 entries in such changesets are ignored by legacy clients. (check-in: [bd46c442] user: dan branch: sessions-stat1, size: 150295)
2017-12-21
18:23
[7ae48b18] part of check-in [fffc7685] Change the name of SQLITE_DBCONFIG_FULL_EQP to be SQLITE_DBCONFIG_TRIGGER_EQP (which we can do without breaking compatibility because the former name has not yet appeared in an official release) and streamline its implementation. (check-in: [fffc7685] user: drh branch: trunk, size: 150253)
2017-11-29
16:16
[cf474d29] part of check-in [373fa21b] Merge latest trunk changes into this branch. (check-in: [373fa21b] user: dan branch: schemalint, size: 150207)
2017-11-17
08:20
[b02a1f84] part of check-in [355d1232] Avoid creating a master journal if all or all but one of the databases in the transaction is a temp file. (check-in: [355d1232] user: dan branch: master-journal-temp-files, size: 149902)
2017-11-06
20:02
[e9aa37f7] part of check-in [7f217eda] Merge latest trunk changes into this branch. (check-in: [7f217eda] user: dan branch: begin-concurrent, size: 150487)
2017-10-31
03:40
[9521a936] part of check-in [1c80c75d] Remove unnecessary NEVER() and ALWAYS() conditionals. (check-in: [1c80c75d] user: drh branch: trunk, size: 149861)
2017-10-12
20:24
[2b10f70d] part of check-in [4ec63ef2] Fix the EXPLAIN processing so that it returns SQLITE_ERROR on an OOM, as it should. (check-in: [4ec63ef2] user: drh branch: schemalint, size: 150176)
2017-10-11
20:26
[32530e6e] part of check-in [2719cf5c] Merge latest trunk changes with this branch. (check-in: [2719cf5c] user: dan branch: schemalint, size: 150125)
20:10
[4f54ba67] part of check-in [58e42cfd] Change some internal details to bring this branch closer to the code on trunk. (check-in: [58e42cfd] user: dan branch: schemalint, size: 148077)
2017-10-07
23:35
[c423065d] part of check-in [63d1b425] Revise variable declaration moved in the previous check-in so sqlite3VdbeReset() is consistent with sqlite3VdbeRewind(). (check-in: [63d1b425] user: mistachkin branch: trunk, size: 149871)
23:31
[15368cf8] part of check-in [14b181e8] Fix C99-style variable declaration issue seen with older versions of MSVC. (check-in: [14b181e8] user: mistachkin branch: trunk, size: 149853)
2017-09-22
10:49
[09f1fadf] part of check-in [307b802e] Merge latest trunk changes into this branch. (check-in: [307b802e] user: dan branch: begin-concurrent, size: 150451)
2017-09-21
00:49
[831a77aa] part of check-in [adc12c83] Fix the rendering of the P4_INTARRAY argument to the OP_IntegrityCk opcode in the output of EXPLAIN. (check-in: [adc12c83] user: drh branch: trunk, size: 149825)
2017-09-16
20:58
[3be977a0] part of check-in [5dbb255a] Simplify the sqlite3VdbeGet() routine. Smaller, faster, and easier to maintain. (check-in: [5dbb255a] user: drh branch: trunk, size: 149824)
2017-09-13
18:38
[0b2b1942] part of check-in [ebada072] Experimental sqlite3_stmt_retryable() interface. (check-in: [ebada072] user: drh branch: sqlite3_stmt_retryable, size: 149857)
2017-09-09
22:46
[41d90002] part of check-in [b6425d01] Simplification and performance improvement to sqlite3_reset(). (check-in: [b6425d01] user: drh branch: improved-integrity-check, size: 149764)
2017-08-28
17:19
[410ba18e] part of check-in [d53108e7] Merge recent enhancements from trunk. (check-in: [d53108e7] user: drh branch: begin-concurrent, size: 150595)
2017-08-18
14:34
[2dff8186] part of check-in [eb1202b5] Combine the OP_CreateTable and OP_CreateIndex opcodes of the bytecode engine into a single OP_CreateBtree opcode. This simplifies the implementation and makes the bytecode programs clearer. (check-in: [eb1202b5] user: drh branch: trunk, size: 149969)
2017-08-16
19:20
[1f15018e] part of check-in [f078deb2] Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce the size and improve the performance of OP_Column. (check-in: [f078deb2] user: drh branch: trunk, size: 149922)
2017-08-11
19:16
[8d4a286c] part of check-in [47e71695] Merge the latest enhancements from trunk. (check-in: [47e71695] user: drh branch: begin-concurrent, size: 150541)
2017-08-09
20:35
[c30be9a7] part of check-in [a6256980] Add experimental sqlite3_open_v2() flag SQLITE_OPEN_REUSE_SCHEMA. For sharing identical in-memory schema objects between connections. (check-in: [a6256980] user: dan branch: reuse-schema, size: 149986)
2017-08-07
14:15
[4d9e0e86] part of check-in [17bc7ded] Update this branch with latest trunk changes. (check-in: [17bc7ded] user: dan branch: server-process-edition, size: 150009)
2017-08-02
22:43
[1bef372f] part of check-in [aea5990e] 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: [aea5990e] user: drh branch: trunk, size: 149915)
11:04
[5feca7a5] part of check-in [1cad2926] Rearrange integer token values in the parser and logic in the resolveP2Values() routine for a small size reduction and performance increase. (check-in: [1cad2926] user: drh branch: trunk, size: 149972)
02:46
[dc26b755] part of check-in [82e46fe0] Faster implementation of resolveP2Values(). (check-in: [82e46fe0] user: drh branch: trunk, size: 148955)
2017-08-01
13:54
[849ecc41] part of check-in [aafe1fec] Merge recent enhancements from trunk. (check-in: [aafe1fec] user: drh branch: begin-concurrent, size: 149581)
2017-07-29
17:10
[715f5d9e] part of check-in [b42c8779] Merge latest trunk changes with this branch. (check-in: [b42c8779] user: dan branch: server-process-edition, size: 149049)
2017-07-27
03:48
[986c5cae] part of check-in [3d9e841f] Add a destructor argument to sqlite3_bind_pointer() and sqlite3_result_pointer(). (check-in: [3d9e841f] user: drh branch: pointer-with-destructor, size: 148985)
2017-07-25
01:34
[3fe68bad] part of check-in [1ca707a4] Fix a bug in the deterministic date/time function logic that can only appear with STAT3 or STAT4. (check-in: [1ca707a4] user: drh branch: trunk, size: 148955)
2017-07-24
19:43
[36318c63] part of check-in [d0719ad7] Update this branch with latest changes from trunk. (check-in: [d0719ad7] user: dan branch: server-process-edition, size: 148973)
2017-07-20
17:47
[ca3e9b23] part of check-in [213c61cb] Merge all the latest trunk enhancements. (check-in: [213c61cb] user: drh branch: begin-concurrent, size: 149505)
13:17
[42e215cc] part of check-in [22eda098] Combine the Parse.ckBase and Parse.iSelfTab fields into just Parse.iSelfTab. This fixes a problem with date/time functions in check-constraints. Add some test cases for date/time functions in index expressions and check constraints. (check-in: [22eda098] user: drh branch: index-on-date-func, size: 148879)
2017-07-19
19:48
[23a02ba4] part of check-in [0a5e1c04] Allow indexes to be created on date/time functions as long as the 'now' date and the 'localtime' and 'utc' modifiers are not used. (check-in: [0a5e1c04] user: drh branch: index-on-date-func, size: 148845)
18:54
[1fe7292c] part of check-in [be0df0a6] Merge latest trunk changes with this branch. (check-in: [be0df0a6] user: dan branch: server-process-edition, size: 148353)
2017-07-12
20:43
[518d1cf6] part of check-in [0c805935] Smaller and faster implementation for vdbeFreeOpArray() and freeP4(). (check-in: [0c805935] user: drh branch: trunk, size: 148259)
2017-07-07
16:40
[0b78090f] part of check-in [216c757f] Merge latest trunk changes with this branch. (check-in: [216c757f] user: dan branch: server-process-edition, size: 148336)
16:00
[6f01fe8a] part of check-in [c46f0f07] Enhance the sqlite3VdbeMultiLoad() interface to automatically generate the OP_ResultRow opcode on PRAGMA implementations, for a small reduction in the library footprint. (check-in: [c46f0f07] user: drh branch: trunk, size: 148242)
2017-07-05
16:20
[c562ac4e] part of check-in [fcbd6abd] Make use of covering indexes in the OR optimization. (check-in: [fcbd6abd] user: drh branch: branch-3.8.9, size: 133109)
2017-06-29
15:24
[32ff5e8a] part of check-in [03977248] Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as one bit in that argument. Use the new option in FTS3, FTS5, and RTREE. (check-in: [03977248] user: drh branch: trunk, size: 148023)
12:49
[09aaf89e] part of check-in [b0b0c8f8] Add the SQLITE_STMTSTATUS_REPREPARE and SQLITE_STMTSTATUS_RUN options to sqlite3_stmt_status(). Use this for two new columns in the stmts virtual table. (check-in: [b0b0c8f8] user: drh branch: stmts-vtab, size: 148034)
2017-06-28
15:56
[69689a77] part of check-in [62b8269b] Incorporate recent trunk changes. (check-in: [62b8269b] user: drh branch: prepare_v3, size: 147916)
2017-06-26
14:46
[d7c7a57f] part of check-in [ebcfa73e] Make sure sqlite3VdbeSetVarmask() is never invoked when QPSG is enabled. (check-in: [ebcfa73e] user: drh branch: enable-QPSG, size: 147926)
13:57
[c03e96a2] part of check-in [7076e828] Add the SQLITE_DBCONFIG_ENABLE_QPSG option to activate the query planner stability guarantee. This involves refactoring the sqlite3.flags bitvector to carve out a free bit to use. (check-in: [7076e828] user: drh branch: enable-QPSG, size: 147863)
2017-06-01
00:54
[91645995] part of check-in [4a25c588] 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: [4a25c588] user: drh branch: prepare_v3, size: 147812)
2017-05-31
11:24
[bc9b3228] part of check-in [8885b446] Very small performance increase in sqlite3VdbeSetNumCols(). (check-in: [8885b446] user: drh branch: trunk, size: 147822)
2017-05-29
22:44
[4ff778d1] part of check-in [9a3e3b34] More efficient error handling and reset in the binding mechanism. (check-in: [9a3e3b34] user: drh branch: trunk, size: 147822)
2017-05-22
08:04
[8416e4e5] part of check-in [3ea2bad2] Fix a case where NULL was being passed to memcmp() following an OOM. This is probably not a real problem, as the number-of-bytes parameter was passed 0 in this case, but it was causing a santizer complaint. (check-in: [3ea2bad2] user: dan branch: trunk, size: 147800)
2017-05-15
17:56
[73f10e29] part of check-in [6e0f64ab] Merge changes from trunk. (check-in: [6e0f64ab] user: drh branch: schemalint, size: 148093)
17:34
[5dfd5adf] part of check-in [14ea8400] Merge the latest changes from trunk. (check-in: [14ea8400] user: drh branch: begin-concurrent, size: 148449)
2017-05-11
15:20
[01dcf59b] part of check-in [ff530675] 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: [ff530675] user: drh branch: auxdata-cache, size: 147823)
2017-05-10
19:42
[436a9031] part of check-in [2be9850c] Rename fields of the internal AuxData object to make them unique and easier to search for. (check-in: [2be9850c] user: drh branch: trunk, size: 147794)
2017-05-06
16:04
[ef484bc2] part of check-in [ed6bad67] Update this branch with latest trunk changes. (check-in: [ed6bad67] user: dan branch: server-edition, size: 147853)
2017-05-03
13:05
[dd410690] part of check-in [593e5dd0] Fix a harmless compiler warning on Windows. (check-in: [593e5dd0] user: drh branch: schemalint, size: 148029)
2017-05-02
19:45
[98ced78b] part of check-in [a7dcf6a7] Merge the latest enhancements from trunk. (check-in: [a7dcf6a7] user: drh branch: schemalint, size: 148025)
2017-05-01
16:37
[b4999c74] part of check-in [b2aae559] Minor bug fixes and performance enhancement. (check-in: [b2aae559] user: drh branch: materialized-view-reuse, size: 147759)
15:15
[bb99698c] part of check-in [478c34b9] Initial implementation of an optimization that attempts to reuse the same materialization of a view on a self-join of the view. (check-in: [478c34b9] user: drh branch: materialized-view-reuse, size: 147760)
2017-04-26
20:45
[3cf14d04] part of check-in [64ecf7c7] Experimental implementation of pessimistic page-level locking based on rollback mode. (check-in: [64ecf7c7] user: dan branch: server-edition, size: 147830)
2017-04-17
17:03
[526b617a] part of check-in [159e8022] Add support for analyzing trigger programs to the sqlite3_expert code. (check-in: [159e8022] user: dan branch: schemalint, size: 148002)
2017-04-10
20:51
[6b3f6ce9] part of check-in [e052436d] Smaller and faster vdbeFreeOpArray() (check-in: [e052436d] user: drh branch: trunk, size: 147736)
2017-04-05
12:39
[0ecacf8c] part of check-in [ad90e8bb] Split off sqlite3DbFreeNN() from sqlite3DbFree() and use it in cases where we know that the argument to be freed is never NULL. (check-in: [ad90e8bb] user: drh branch: trunk, size: 147733)
2017-04-01
19:45
[514eb174] part of check-in [fcd2acdd] Remove an unnecessary clearing of the Vdbe.iCurrentTime value. (check-in: [fcd2acdd] user: drh branch: trunk, size: 147716)
2017-03-24
15:09
[0a2d70e7] part of check-in [fd5676fe] Merge all recent enhancements from trunk. (check-in: [fd5676fe] user: drh branch: begin-concurrent, size: 148365)
2017-03-17
22:50
[ecd04686] part of check-in [ef591461] Begin enforcing the SQLITE_LIMIT_VDBE_OP. The documentation warned that this day might come. (check-in: [ef591461] user: drh branch: trunk, size: 147739)
2017-03-03
21:51
[57361f2e] part of check-in [45797fee] 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: [45797fee] user: drh branch: trunk, size: 147566)
2017-03-02
13:13
[b632f915] part of check-in [29f54b89] Make sure the Vdbe.expmask value is set correctly in sqlite3VdbeSwap(). This fixes a problem introduced by [a8fd7052]. (check-in: [29f54b89] user: drh branch: trunk, size: 147564)
2017-02-23
16:30
[031422c6] part of check-in [a8fd7052] Save a few bytes and a few cycles by setting Vdbe.expmask to zero for statements prepared using legacy interface sqlite3_prepare(). (check-in: [a8fd7052] user: dan branch: trunk, size: 147535)
2017-02-21
21:24
[2f48204a] part of check-in [80adc0cb] In sqlite3VdbeHalt(), return as soon as possible if Vdbe.magic!=VDBE_MAGIC_RUN. This makes sqlite3_reset() slightly faster in some cases. (check-in: [80adc0cb] user: dan branch: trunk, size: 147498)
2017-02-18
20:05
[fb1d5bfb] part of check-in [c1adf959] Add an optimization to OP_Column to speed up sequential OP_Column instructions that read earlier fields from the same cursor. Attempt to reorder OP_Column opcodes so as to take advantage of this. (check-in: [c1adf959] user: dan branch: sort-column-opcodes, size: 147784)
2017-02-13
13:35
[4122458d] part of check-in [670f10b2] Change all legacy instances of "#if SQLITE_DEBUG" to "#ifdef SQLITE_DEBUG" for consistency. (check-in: [670f10b2] user: drh branch: trunk, size: 147498)
2017-01-30
19:44
[b9a36e53] part of check-in [856f8604] Experimental change to invoke the preupdate hook when WITHOUT ROWID tables are written. (check-in: [856f8604] user: dan branch: preupdate-without-rowid, size: 147492)
2017-01-27
16:39
[57a43a29] part of check-in [0e14fe1b] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [0e14fe1b] user: drh branch: apple-osx, size: 147864)
2017-01-26
17:11
[6847b02a] part of check-in [1e96e5ec] Performance optimization in sqlite3VdbeCloseStatement(). (check-in: [1e96e5ec] user: drh branch: trunk, size: 147369)
2017-01-25
17:44
[7c19b789] part of check-in [6fc4fbfa] Fix a problem with the pre-update hook on this branch. (check-in: [6fc4fbfa] user: dan branch: trim-nulls, size: 147604)
14:58
[8a244674] part of check-in [118ded40] Experimental enhancement to automatically trim NULL values from the end of records, for a reduced disk footprint. This change also involves increasing the P5 operand from 8 to 16 bits. (check-in: [118ded40] user: drh branch: trim-nulls, size: 147539)
2017-01-16
11:54
[54442bff] part of check-in [e42ed9b4] An example showing how to improve performance of sqlite3VdbeSerialPut() using the GCC intrinsic function __builtin_bswap64(). (check-in: [e42ed9b4] user: drh branch: builtin-bswap64, size: 147400)
2017-01-09
06:33
[d1e423b8] part of check-in [d0e212d0] Upgrade this branch to 3.16 plus the various fixes that appeared after its release. (check-in: [d0e212d0] user: dan branch: begin-concurrent, size: 148164)
2017-01-05
19:32
[35c9a990] part of check-in [5c05d8ec] Ensure that sqlite3_column_count() returns 0 for the "set" mode of "get/set" PRAGMA statements that do not return a value in that case (e.g. page_size, cache_size, auto_vacuum). (check-in: [5c05d8ec] user: dan branch: pragma-columncount-fix, size: 147538)
2016-12-23
13:30
[12919c5a] part of check-in [9dcd8569] Fix the VList object so that it actually works. (check-in: [9dcd8569] user: drh branch: VList, size: 147043)
03:59
[1e284080] part of check-in [68ecafa1] 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: [68ecafa1] user: drh branch: VList, size: 147025)
2016-12-21
19:45
[7f67112c] part of check-in [f7ab01f2] Simplifications to the way UnpackedRecord objects are allocated. Smaller and faster code that also fixes a subtle (currently unreachable) bug. (check-in: [f7ab01f2] user: drh branch: trunk, size: 147135)
2016-12-10
12:58
[f5edc890] part of check-in [8165f88b] Reorder the fields in the VdbeCursor object so that those that need to be bulk zeroed on allocation are grouped at the beginning, and the memset() only runs over those fields that really need it. (check-in: [8165f88b] user: drh branch: trunk, size: 147828)
2016-12-07
21:35
[be0797ca] part of check-in [28883e8f] Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently coded instruction. (check-in: [28883e8f] user: drh branch: trunk, size: 147825)
20:22
[8378658e] part of check-in [3954f837] The use P4_DYNAMIC in place of the P4_MPRINTF operand type. (check-in: [3954f837] user: drh branch: trunk, size: 147117)
20:09
[3afb187a] part of check-in [04716c90] Performance optimization for sqlite3VdbeAddOp4(). (check-in: [04716c90] user: drh branch: trunk, size: 147209)
2016-11-25
19:18
[50a8caa4] part of check-in [49ebc219] 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: [49ebc219] user: drh branch: trunk, size: 147157)
2016-11-23
14:19
[c0adf6e1] part of check-in [161192f1] Correctly display the names of SQL functions in the VDBE_PROFILE output. (check-in: [161192f1] user: drh branch: trunk, size: 147163)
2016-11-10
21:19
[ba211189] part of check-in [9a64a4f2] Break up the sqlite3BtreeMovetoUnpacked() routine into an eponymous routine and sqlite3BtreeMovetoIntkey(). Each routine specializes in a single kind of btree. (check-in: [9a64a4f2] user: drh branch: split-moveto, size: 147127)
2016-10-21
21:21
[52d9b840] part of check-in [b861328a] 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: [b861328a] user: dan branch: sessions-fix, size: 147132)
2016-10-01
19:32
[7229203e] part of check-in [a76bff74] Remove an unnecessary memset() call. (check-in: [a76bff74] user: drh branch: trunk, size: 147140)
19:21
[a771f17c] part of check-in [54a449a4] Use sqlite3DbMallocRawNN() where appropriate, instead of sqlite3DbMallocRaw(). (check-in: [54a449a4] user: drh branch: trunk, size: 147184)
16:53
[5da1f049] part of check-in [7983eef0] Make sure deleting an unused prepared statement does not reference uninitialized fields in the structure. (check-in: [7983eef0] user: drh branch: trunk, size: 147182)
00:37
[4c0678a2] part of check-in [1e21bbe8] Avoid unnecessary zeroing of fields in the Vdbe object when it is allocated. (check-in: [1e21bbe8] user: drh branch: trunk, size: 147176)
2016-09-30
20:22
[5f97a1ae] part of check-in [60285020] Fix the Parse.aColCache column cache so that all of the valid entries are in the first Parse.nColCache slots. (check-in: [60285020] user: drh branch: trunk, size: 146990)
17:46
[240fecf1] part of check-in [47ae1cda] Avoid unnecessary Mem initializations when generating a new sqlite3_stmt object. (check-in: [47ae1cda] user: drh branch: trunk, size: 147056)
2016-09-29
20:28
[041dd9dd] part of check-in [3c93c8f5] Small size and performance optimization to sqlite3VdbeChangeP5(). (check-in: [3c93c8f5] user: drh branch: trunk, size: 146799)
19:50
[2fc9c590] part of check-in [984a96d7] Remove the peep-hole optimization of removing OP_Close opcodes that come before OP_Halt, as the extra work of removing those opcodes uses more cycles than just running them. (check-in: [984a96d7] user: drh branch: trunk, size: 146766)
2016-09-20
01:19
[b9772e41] part of check-in [5e196fd1] Avoid unnecessary calls to ExpandBlob() for smaller and faster code. (check-in: [5e196fd1] user: drh branch: trunk, size: 146854)
2016-09-18
16:08
[66054df3] part of check-in [6bf5ba10] Revise the implementation of OP_Once so that it is smaller, faster, and uses less memory. This also fixes an obscure bug introduced 3 days ago by check-in [5990a1bdb4a073]. (check-in: [6bf5ba10] user: drh branch: trunk, size: 146589)
2016-09-15
00:32
[12831f89] part of check-in [5990a1bd] Slight size reduction and performance increase in sqlite3VdbeHalt(). (check-in: [5990a1bd] user: drh branch: trunk, size: 147014)
00:04
[4fbd4f52] part of check-in [5a2a7712] Optimization to vdbeRecordCompareInt() makes it slightly smaller and faster. (check-in: [5a2a7712] user: drh branch: trunk, size: 146973)
2016-09-09
19:33
[230b6826] part of check-in [37803b19] Performance improvements to the comparison operators in the bytecode engine. (check-in: [37803b19] user: drh branch: trunk, size: 146968)
2016-08-24
21:24
[83458783] part of check-in [bbc1b016] Improved extended comments of comparison operators when the SQLITE_STOREP2 flags is set on P5. No changes to non-debug code. (check-in: [bbc1b016] user: drh branch: rowvalue, size: 146016)
2016-08-11
19:12
[e4656811] part of check-in [d9f8918c] Merge version 3.14 plus some subsequent patches (including the page-cache performance patch) from trunk. (check-in: [d9f8918c] user: drh branch: begin-concurrent, size: 146344)
2016-08-04
14:08
[e755d2a3] part of check-in [491f1ef3] Add extra logging calls to this branch. (check-in: [491f1ef3] user: dan branch: debug, size: 128791)
2016-07-23
02:07
[a32d79ae] part of check-in [ebd388e9] Add requirements marks to the sqlite3_trace_v2() interface documentation. (check-in: [ebd388e9] user: drh branch: sqlite3_trace_v2, size: 145718)
00:43
[8557563e] part of check-in [5a027fe4] Fix sqlite3VdbeExpandSql() so that it handles OOMs by always returning NULL. (check-in: [5a027fe4] user: drh branch: sqlite3_trace_v2, size: 146578)
2016-07-22
20:45
[7a09b945] part of check-in [527b5ba6] Be sure to hold the database connection mutex while calling sqlite3VdbeExpand() from within sqlite3_expanded_sql(). (check-in: [527b5ba6] user: drh branch: sqlite3_trace_v2, size: 146547)
2016-07-15
10:01
[23df1e66] part of check-in [53c25ebe] The sqlite3_expanded_sql() function compiles, but always returns NULL, when the SQLITE_OMIT_TRACE compile-time option is used. (check-in: [53c25ebe] user: drh branch: sqlite3_trace_v2, size: 146453)
2016-07-14
09:22
[08a459b6] part of check-in [e7d18c70] Fix copy/paste typo in the new sqlite3_expanded_sql() function. (check-in: [e7d18c70] user: mistachkin branch: sqlite3_trace_v2, size: 146403)
01:09
[6083ff39] part of check-in [99ee7ee5] Add the sqlite3_expanded_sql() interface. Refinements to the sqlite3_trace_v2() interface to make it more useful. (check-in: [99ee7ee5] user: drh branch: sqlite3_trace_v2, size: 146403)
2016-06-04
20:37
[c90275b0] part of check-in [bef35e18] 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: [bef35e18] user: drh branch: btree-refactor, size: 145881)
2016-05-20
15:53
[1d6b9a97] part of check-in [4dc56e86] Performance optimization and size reduction on the freeP4() routine. (check-in: [4dc56e86] user: drh branch: trunk, size: 146064)
2016-04-20
12:16
[5234052c] part of check-in [1f709fbf] Merge all recent enhancements from trunk. (check-in: [1f709fbf] user: drh branch: begin-concurrent, size: 146557)
2016-04-11
16:35
[ace1875d] part of check-in [e554a4c3] Rename the OP_MX_JUMP macro to SQLITE_MX_JUMP_OPCODE to avoid confusing the opcode name generator. (check-in: [e554a4c3] user: drh branch: trunk, size: 145931)
13:36
[b0bd7066] part of check-in [099478fa] Remove the VdbeOp.opflags field and its associated initialization overhead. Update mkopcodeh.tcl to reorder opcode numbers to help the resolveP2Values() routine run faster. (check-in: [099478fa] user: drh branch: trunk, size: 145909)
2016-04-07
14:05
[749b2a34] part of check-in [8415d484] Instead of just commenting out the unneeded code in the previous check-in, remove it completely. (check-in: [8415d484] user: drh branch: trunk, size: 145217)
14:01
[a61e3970] part of check-in [e84e88e3] Remove an unnecessary test for a NULL pointer in freeP4(). (check-in: [e84e88e3] user: drh branch: trunk, size: 145325)
2016-03-30
12:56
[fa06ba54] part of check-in [5ab46d76] Avoid compiler warnings and excess opcodes when SQLITE_ENABLE_PREUPDATE_HOOK is not used. Fix the EXPLAIN output for P4_TABLE opcodes. (check-in: [5ab46d76] user: drh branch: sessions, size: 145321)
2016-03-28
14:57
[12936eac] part of check-in [d0a3853b] Open a statement transaction for "CREATE VIRTUAL TABLE" statements in order to ensure that if the xCreate() call fails, changes made to the sqlite_master and possibly other tables are rolled back. (check-in: [d0a3853b] user: dan branch: vcreate-stmt, size: 142554)
2016-03-21
15:54
[8bf5783f] part of check-in [8ee7d346] Merge all recent changes from trunk. (check-in: [8ee7d346] user: drh branch: begin-concurrent, size: 143097)
15:32
[03b2a622] part of check-in [3296a0ce] Merge 3.12.0 beta changes from trunk. (check-in: [3296a0ce] user: drh branch: sessions, size: 145150)
00:30
[c8dd3e4e] part of check-in [c5677ecd] Remove an unreachable branch. Improvements to comments. (check-in: [c5677ecd] user: drh branch: zero-base-aMem, size: 142471)
2016-03-19
23:32
[4a38b9f9] part of check-in [e07b0c47] Change the Vdbe.aMem array so that it is zero-based instead of one-based. (check-in: [e07b0c47] user: drh branch: zero-base-aMem, size: 142727)
2016-03-16
20:44
[a930f913] part of check-in [db1ce7e1] Some pragmas can be reused without an automatic reprepare. (check-in: [db1ce7e1] user: drh branch: reusable-pragma, size: 142716)
19:34
[1e45699b] part of check-in [a7978ab6] Merge the latest enhancements from trunk. (check-in: [a7978ab6] user: drh branch: begin-concurrent, size: 143215)
2016-02-25
18:54
[325dcf1b] part of check-in [b8659004] Merge all the latest changes from trunk. (check-in: [b8659004] user: drh branch: sessions, size: 145268)
2016-02-22
23:44
[2c15cf88] part of check-in [aa9f4c62] Remove code not needed now that synchronous=OFF database files no longer trigger the use of a master journal. (check-in: [aa9f4c62] user: drh branch: trunk, size: 142589)
16:04
[9583c5c0] part of check-in [64386fa3] Always use the sqlite3VdbeDeleteAuxdata() routine for clearing auxdata on function parameter, rather than having a separate deleteAuxdataFromFrame() for doing the job for trigger frames. (check-in: [64386fa3] user: drh branch: trunk, size: 142729)
14:57
[51aaf15e] part of check-in [3ed18906] Avoid creating a master journal unless two or more databases in the transaction can actually benefit from that master journal. (check-in: [3ed18906] user: drh branch: trunk, size: 143036)
2016-02-19
18:54
[ec9a4d93] part of check-in [c4295725] Use a separate list of aux-data structures for each trigger program at the VDBE level. Fix for [dc9b1c91]. (check-in: [c4295725] user: dan branch: trunk, size: 142276)
2016-02-15
17:44
[7a77e8be] part of check-in [c393ddc7] Merge version 3.11.0 (check-in: [c393ddc7] user: drh branch: begin-concurrent, size: 142321)
2016-02-13
23:43
[3580de03] part of check-in [6a9c4a3e] Enhance ability to debug out-of-memory errors. (check-in: [6a9c4a3e] user: mistachkin branch: noMemBkpt, size: 141806)
2016-02-09
15:44
[520bf491] part of check-in [f040a5bb] Merge enhancements and fixes from trunk. (check-in: [f040a5bb] user: drh branch: sessions, size: 144450)
02:12
[deae5d3b] part of check-in [ca72be86] Make sure every co-routines has its own set of temporary registers and does not share temporaries, since a co-routine might expect the content of a temporary register to be preserved across an OP_Yield. Proposed fix for ticket [d06a25c84454a]. (check-in: [ca72be86] user: drh branch: trunk, size: 141771)
2016-02-05
14:34
[4f40ac15] part of check-in [332c8036] Merge PRAGMA synchronous=EXTRA and OOM performance enhancements from trunk. (check-in: [332c8036] user: drh branch: begin-concurrent, size: 141794)
14:15
[456d0673] part of check-in [a533608c] Merge enhancements from trunk. (check-in: [a533608c] user: drh branch: sessions, size: 143923)
13:38
[49b53628] part of check-in [0a802e96] Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority cases where db is guaranteed to be not NULL. (check-in: [0a802e96] user: drh branch: oom-handling, size: 141244)
02:42
[77746152] part of check-in [d94416dd] Further performance improvements that fall out of the mallocFailed changes. (check-in: [d94416dd] user: drh branch: oom-handling, size: 141242)
01:55
[0e66330a] part of check-in [c3ef0347] Improvements to the way that OOM errors are processed. (check-in: [c3ef0347] user: drh branch: oom-handling, size: 141248)
2016-02-04
02:34
[fdfae9e3] part of check-in [1c8d3001] Add and use the sqlite3VdbeZeroRegister() interface for coding the common operation of writing zero into a register. (check-in: [1c8d3001] user: drh branch: zero-register, size: 141502)
2016-02-03
01:55
[23b38b44] part of check-in [ae8b9d2e] Enhance the internal sqlite3VdbeAddOpList() interface to automatically update jump destinations. Use this feature to simplify the AUTOINCREMENT code generator. (check-in: [ae8b9d2e] user: drh branch: trunk, size: 141355)
2016-02-02
02:53
[f2afda3d] part of check-in [347f6a80] Merge recent enhancements from trunk. (check-in: [347f6a80] user: drh branch: begin-concurrent, size: 141648)
02:22
[e41d4948] part of check-in [f3f92001] Merge all recent enhancements from trunk. (check-in: [f3f92001] user: drh branch: sessions, size: 143777)
2016-02-01
17:20
[f0e7cfa0] part of check-in [4c9222f7] Number VDBE opcodes starting with 0 instead of 1, as this obviates the lower-bound test on "switch(opcode){...}", making the code smaller and faster. (check-in: [4c9222f7] user: drh branch: trunk, size: 141098)
13:21
[b8ba8e6d] part of check-in [a9b6a067] Minor simplification to the OP_AutoCommit opcode. Fix some code comments related to transaction control. (check-in: [a9b6a067] user: drh branch: trunk, size: 141097)
2016-01-30
12:50
[221631e4] part of check-in [0bdb41c4] Simplification and size reduction to the printf logic. Remove the bFlags parameter from sqlite3VXPrintf() and sqlite3XPrintf(). Use sqlite3XPrintf() instead of sqlite3_snprintf() for rendering P4 values in EXPLAIN output. (check-in: [0bdb41c4] user: drh branch: trunk, size: 141097)
00:45
[10812402] part of check-in [6c520d57] Change the P4_INTARRAY so that always begins with a length integer. Print the content of the INTARRAY on EXPLAIN output. (check-in: [6c520d57] user: drh branch: covering-or, size: 141925)
2016-01-29
19:29
[657402ba] part of check-in [a323ac3a] Experimental attempt to make better use of covering indexes within OR queries. (check-in: [a323ac3a] user: dan branch: covering-or, size: 141461)
2016-01-28
08:58
[fc8926c4] part of check-in [688eb3b4] Remove a duplicate "p->magic = VDBE_MAGIC_RUN;" line from vdbeaux.c. (check-in: [688eb3b4] user: dan branch: trunk, size: 141274)
2016-01-25
02:15
[757f86e6] part of check-in [8a1deae4] Small simplification to the prepare statement opcode memory reuse logic. Easier to read, and slightly smaller and faster. (check-in: [8a1deae4] user: drh branch: trunk, size: 141303)
2016-01-20
12:18
[c7854a47] part of check-in [5520f600] Merge recent enhancements from trunk. (check-in: [5520f600] user: drh branch: begin-concurrent, size: 142150)
11:40
[1f497eb8] part of check-in [3ed49691] Merge all recent enhancements from trunk. (check-in: [3ed49691] user: drh branch: apple-osx, size: 141621)
11:33
[3781db19] part of check-in [327af5f6] Merge recent enhancements from trunk. (check-in: [327af5f6] user: drh branch: sessions, size: 144279)
08:47
[07f8f485] part of check-in [18d61c8e] Improve performance of sqlite3VtabImportErrmsg(). (check-in: [18d61c8e] user: dan branch: trunk, size: 141600)
02:36
[db67d3e0] part of check-in [9f8297f8] Suppress the display of the P4 operand in EXPLAIN output when an opcode has been converted into a No-op. (check-in: [9f8297f8] user: drh branch: trunk, size: 141562)
02:01
[d34740a4] part of check-in [730d7efb] Remove an unnecessary memset() for a small size reduction and speed improvement. (check-in: [730d7efb] user: drh branch: trunk, size: 141545)
01:48
[f53b709c] part of check-in [80dd495f] During compilation, transfer the azVar[0..nzVar-1] array from Parse to Vdbe rather than copying it. Smaller and faster code. (check-in: [80dd495f] user: drh branch: trunk, size: 141551)
2016-01-19
17:54
[fcbca151] part of check-in [86944f19] Fix two harmless compiler warnings about comparisons of dangling pointers. (check-in: [86944f19] user: drh branch: trunk, size: 141708)
2016-01-18
00:20
[95e067a5] part of check-in [0aaf3feb] Fix a problem with SQLITE_TEST_REALLOC_STRESS. (check-in: [0aaf3feb] user: drh branch: trunk, size: 141708)
2016-01-16
20:50
[82969fb2] part of check-in [88ceb588] Improvements to the way sqlite3VdbeAddOpList() works, resulting in a slightly smaller and faster binary. (check-in: [88ceb588] user: drh branch: trunk, size: 141424)
15:12
[906c0350] part of check-in [a4258cd4] Use sqlite3VdbeAddOp4() rather than a separate sqlite3VdbeChangeP4() call, for a slightly smaller and faster binary. (check-in: [a4258cd4] user: drh branch: trunk, size: 140930)
2016-01-14
15:46
[a05ffe92] part of check-in [fccc5f20] Merge the latest enhancements and fixes from trunk. (check-in: [fccc5f20] user: dan branch: begin-concurrent, size: 141460)
15:03
[c9936e48] part of check-in [d85774e0] Merge the latest enhancements and fixes from trunk. (check-in: [d85774e0] user: drh branch: apple-osx, size: 140931)
14:48
[30f329b9] part of check-in [007e5c6d] Merge the latest fixes and enhancements from trunk. (check-in: [007e5c6d] user: drh branch: sessions, size: 143589)
2016-01-11
22:58
[f2e6b4fa] part of check-in [28bd8d5f] Performance optimization in the sqlite3VdbeChangeP4() routine of the code generator. (check-in: [28bd8d5f] user: drh branch: trunk, size: 140910)
13:10
[77b4a5cb] part of check-in [c4a858b2] Merge recent enhancements, and especially the WAL overwrite change, from trunk. (check-in: [c4a858b2] user: drh branch: sessions, size: 144008)
12:49
[7b65a9fd] part of check-in [79125ec9] Merge enhancements from trunk, and in particular the WAL overwrite feature. (check-in: [79125ec9] user: drh branch: apple-osx, size: 141350)
2016-01-07
16:06
[5d8c7c04] part of check-in [d0214602] Have the vdbe layer call sqlite3BtreeEnter() on all b-trees in use from within sqlite3VdbeExec() even in SQLITE_THREADSAFE=0 builds. This ensures that BtShared.db is set correctly. (check-in: [d0214602] user: dan branch: shared-cache-fix, size: 141329)
2016-01-06
15:49
[83120486] part of check-in [e1d2ffc0] Merge changes for version 3.10.0. (check-in: [e1d2ffc0] user: drh branch: begin-concurrent, size: 141902)
15:14
[13ddc450] part of check-in [fa4705c9] Merge changes for version 3.10.0. (check-in: [fa4705c9] user: drh branch: sessions, size: 144031)
14:35
[8e542577] part of check-in [77c28c2b] Merge all version 3.10.0 updates. (check-in: [77c28c2b] user: drh branch: apple-osx, size: 141373)
2016-01-05
03:39
[3308a07a] part of check-in [2f858374] Another attempt to get reuse of excess opcode array space working correctly on all architectures and platforms. (check-in: [2f858374] user: drh branch: trunk, size: 141352)
2016-01-04
23:43
[141ee231] part of check-in [1aa53014] Fix a corner case in the opcode-array reuse logic where the number of bytes of reusable space might be computed to be a negative number, due to unusual system alignment restrictions and rounding error. (check-in: [1aa53014] user: drh branch: trunk, size: 141228)
19:02
[035470b5] part of check-in [c785cd78] Merge in last-minute patches for the 3.10.0 beta. (check-in: [c785cd78] user: drh branch: sessions, size: 143698)
2016-01-01
16:42
[66b546a1] part of check-in [3e852804] Remember the size of the Vdbe.aOp[] array in bytes, to avoid unnecessary calls to sqlite3_msize(). (check-in: [3e852804] user: drh branch: trunk, size: 141019)
16:26
[2a25e57e] part of check-in [a304e346] Avoid misaligned memory allocations on Sparc in sqlite3VdbeMakeReady(). This fixes a problem introduced by check-in [a9e819082b]. (check-in: [a304e346] user: drh branch: trunk, size: 140957)
14:14
[4b69fec9] part of check-in [6bea792c] Merge recent trunk enhancements. (check-in: [6bea792c] user: drh branch: begin-concurrent, size: 141561)
13:31
[41d34931] part of check-in [5b700f31] Merge all recent trunk enhancements. (check-in: [5b700f31] user: drh branch: apple-osx, size: 141032)
13:25
[e312c85b] part of check-in [c0be246a] Merge the latest enhancements from trunk. (check-in: [c0be246a] user: drh branch: sessions, size: 143690)
2015-12-31
04:34
[ca523180] part of check-in [7a0b9413] Small size and performance optimization to the VDBE comparison opcodes. (check-in: [7a0b9413] user: drh branch: trunk, size: 141011)
2015-12-17
19:17
[b0d427a5] part of check-in [896a06cc] Make the VdbeCursor object even smaller. But the resulting library is bigger and slower than trunk. This branch is a failed experiment. (check-in: [896a06cc] user: drh branch: optimize-vdbecursor, size: 141085)
17:30
[7b2db8d1] part of check-in [98b710c3] Reduce the size of the VdbeCursor object by a pointer (the pBt pointer used for ephemeral tables). (check-in: [98b710c3] user: drh branch: optimize-vdbecursor, size: 141027)
2015-12-16
19:55
[0331f1d3] part of check-in [cb22efaf] Merge recent enhancements from trunk. (check-in: [cb22efaf] user: drh branch: begin-concurrent, size: 141534)
19:47
[6783ed39] part of check-in [f6c9273c] Merge recent enhancements from trunk. (check-in: [f6c9273c] user: drh branch: sessions, size: 143663)
2015-12-11
13:51
[68082d99] part of check-in [e998513e] Simplified alignment constraints in the memory reuse logic of sqlite3VdbeMakeReady(). (check-in: [e998513e] user: drh branch: trunk, size: 140984)
12:53
[192fba4a] part of check-in [7e7b2406] Merge recent trunk enhancements, and in particular the snapshot interface. (check-in: [7e7b2406] user: drh branch: apple-osx, size: 141056)
04:11
[864b9ec2] part of check-in [96d3e99f] Fix a memory allocation bug introduced last week by check-in [a9e819082ba]. The bug only appears on systems where the size of a structure is not always a multiple of 8 - which in practice means only on 32-bit windows systems. (check-in: [96d3e99f] user: drh branch: trunk, size: 141035)
2015-12-09
17:23
[e07b2c8d] part of check-in [6a5dfe85] Further simplifications to the VDBE code generation logic that flow out of the previous check-in. (check-in: [6a5dfe85] user: drh branch: trunk, size: 141005)
2015-12-08
16:58
[8405f744] part of check-in [901d0b8f] Changes to avoid undefined behavior in memset() and memcpy() and in the comparisons of pointers from different allocations. All problems are found by analysis tools - none have been seen in the wild. (check-in: [901d0b8f] user: drh branch: trunk, size: 141119)
2015-12-07
16:43
[f7a3e80d] part of check-in [a9e81908] Changes to avoid undefined behavior detected by analysis tools - never observed in the wild. Later: This check-in introduces a bug, fixed at [a304e34675404aee]. (check-in: [a9e81908] user: drh branch: trunk, size: 141107)
2015-12-02
20:53
[1236e154] part of check-in [9130661a] Merge recent enhancements from trunk. (check-in: [9130661a] user: drh branch: begin-concurrent, size: 141623)
20:40
[514e93b1] part of check-in [d1a1278d] Merge recent enhancements from trunk. (check-in: [d1a1278d] user: drh branch: sessions, size: 143752)
20:22
[e189aaf4] part of check-in [e1fb33c7] Merge all recent trunk enhancements, especially the unix VFS changes. (check-in: [e1fb33c7] user: drh branch: apple-osx, size: 141094)
2015-11-24
00:49
[9a234c9a] part of check-in [19d9f9ce] Do not try to eliminate No-ops at the end of VDBE program as this can cause problems for some DISTINCT handling algorithms, and does not improve performance. This also fixes an assertion fault found by libFuzzer. (check-in: [19d9f9ce] user: drh branch: trunk, size: 141073)
2015-11-21
17:53
[16e21a6a] part of check-in [093e0d10] Add a new OP_BColumn opcode where the cursor is guaranteed to be of type CURTYPE_BTREE and is thus able to skip some checks and run slightly faster. (check-in: [093e0d10] user: drh branch: btree-column-opcode, size: 141096)
2015-11-20
19:22
[b660c995] part of check-in [9b1d174d] Refactor the VdbeCursor object. It is now slightly smaller and faster and is easier to understand. (check-in: [9b1d174d] user: drh branch: trunk, size: 141108)
13:49
[0a6263b8] part of check-in [41c8b8e3] Merge all the latest enhancements and fixes from trunk. (check-in: [41c8b8e3] user: drh branch: begin-concurrent, size: 141218)
2015-11-19
19:40
[67db9a1c] part of check-in [7d6cfc79] Merge the latest enhancements from trunk. (check-in: [7d6cfc79] user: drh branch: sessions, size: 143347)
2015-11-12
16:51
[2fab8625] part of check-in [e72331c7] Merge the latest enhancements from trunk, and in particular the "PRAGMA cache_spill=N" change. (check-in: [e72331c7] user: drh branch: apple-osx, size: 140689)
2015-11-09
12:33
[da9eddc6] part of check-in [7c6a19ba] Avoid unnecessary function prologues in the sqlite3VdbeAddOp3() routine. (check-in: [7c6a19ba] user: drh branch: trunk, size: 140668)
2015-11-07
01:57
[4b4bda5e] part of check-in [5429f99b] Merge recent enhancements and fixes from trunk. (check-in: [5429f99b] user: drh branch: apple-osx, size: 140458)
01:33
[1c5969fa] part of check-in [78bc42e6] Merge recent enhancements and bug fixes from trunk. (check-in: [78bc42e6] user: drh branch: sessions, size: 143116)
2015-11-06
20:22
[6d55530b] part of check-in [d741e1cc] Avoid an unnecessary key comparison when doing an indexed lookup against an equality constraint. (check-in: [d741e1cc] user: drh branch: trunk, size: 140437)
20:13
[232c242a] part of check-in [46c36b15] Work around a sign-extension bug in the optimizer on the HP C compiler that comes with HP/UX. (check-in: [46c36b15] user: drh branch: trunk, size: 140361)
17:28
[5f7b42d8] part of check-in [8a171548] A proposed patch for working around a bug in the optimizer for the HP compiler found on HP/UX Itanium. (check-in: [8a171548] user: drh branch: hp-optimizer-fix, size: 139691)
14:59
[869c95b0] part of check-in [a3f7614b] A different approach to handling integer/float comparisons. This seems to work better on systems where "long double" and "double" are the same type, but still needs refinement and testing. (check-in: [a3f7614b] user: drh branch: int-float-precision, size: 140205)
01:04
[debf7e02] part of check-in [cfcaa0ff] Increase the precision of integer vs. floating-point comparisons. Candidate fix for ticket [38a97a87a6e4e8]. (check-in: [cfcaa0ff] user: drh branch: int-float-precision, size: 139607)
2015-11-05
20:25
[229c12a6] part of check-in [32e31b9b] The top of an index equality loop normally starts with OP_SeekGE and OP_IdxGT. This check-in adds a flag to OP_SeekGE such that it fails immediately if the key is not equal, then jumps over the OP_IdxGT, saving a call to the key comparison functions. Consider this check-in a proof-of-concept. It needs improvement before going on trunk. Some tests fail, but only because they new use fewer key comparisons than expected (which is a good thing!). (check-in: [32e31b9b] user: drh branch: seekeq-experiment, size: 139611)
2015-10-30
17:17
[2a20e7f5] part of check-in [f2cde4cf] Merge the sqlite3_db_cacheflush() enhancements and other changes from trunk. (check-in: [f2cde4cf] user: drh branch: begin-concurrent, size: 140085)
16:50
[3c67cbde] part of check-in [395a153f] Merge all the latest enhancements from trunk. (check-in: [395a153f] user: drh branch: sessions, size: 142214)
16:23
[0e5a83f4] part of check-in [6e4306ef] Merge latest trunk changes, including sqlite3_db_cacheflush(), with this branch. (check-in: [6e4306ef] user: dan branch: apple-osx, size: 139556)
2015-10-26
20:50
[ead8cfff] part of check-in [bc195e1c] Merge latest trunk changes, including the SQLITE_IOERR_AUTH error code, with this branch. (check-in: [bc195e1c] user: dan branch: apple-osx, size: 136402)
2015-10-16
20:55
[14e4b4d6] part of check-in [bf866e6c] Merge the 3.9.1 updates from trunk. (check-in: [bf866e6c] user: drh branch: begin-concurrent, size: 136931)
20:53
[717bc2ae] part of check-in [26fa091d] Merge recent enhancements from trunk. Version now 3.9.1. (check-in: [26fa091d] user: drh branch: cursor-hints, size: 139535)
14:54
[906bc74e] part of check-in [2ad72be1] Have the sqlite3VdbeSerialType() function go ahead and compute the serial length as well, since it is always needed. This avoids unnecessary calls to sqlite3VdbeSerialTypeLen(). (check-in: [2ad72be1] user: drh branch: trunk, size: 136381)
14:23
[0ba11268] part of check-in [33957248] Use a lookup table to compute the content length for serial types less than 128, for a 1.2% performance improvement. (check-in: [33957248] user: drh branch: trunk, size: 136151)
03:34
[170a0eef] part of check-in [08e8f04d] Whenever two or more OP_Column opcodes on the same cursor occur in succession, try to reordering them so that the one that extracts the right-most column is first, so that it will warm up the row cache for all those that follow. This gives a small performance boost. (check-in: [08e8f04d] user: drh branch: reorder-column-opcodes, size: 136545)
2015-09-03
15:17
[4988b83d] part of check-in [f8ae9bfd] Changes from ENABLE_CONCURRENT (default off) to OMIT_CONCURRENT (default on). This is not a clear-cut decision and might be changed back. (check-in: [f8ae9bfd] user: drh branch: begin-concurrent, size: 135793)
14:48
[4cbd4cc7] part of check-in [6a513c05] Merge recent trunk enhancements. (check-in: [6a513c05] user: drh branch: sessions, size: 137922)
14:39
[7dccd114] part of check-in [25ee3000] Merge enhancements from trunk. (check-in: [25ee3000] user: drh branch: cursor-hints, size: 138397)
14:31
[f1f5d5ac] part of check-in [d01658ad] Merge enhancements from trunk. (check-in: [d01658ad] user: drh branch: apple-osx, size: 135264)
14:04
[33e29737] part of check-in [71e7299e] Merge trunk optimizations. (check-in: [71e7299e] user: drh branch: begin-concurrent, size: 135794)
13:46
[fd00b489] part of check-in [847387ec] Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto() to just sqlite3VdbeGoto(). (check-in: [847387ec] user: drh branch: trunk, size: 135243)
04:28
[9a10bda8] part of check-in [d7f4bdf5] Factor out and simplify code in pragma.c for pragmas that return a single row with a single column that is an integer or text value. (check-in: [d7f4bdf5] user: drh branch: trunk, size: 134035)
2015-09-02
18:40
[b67374bd] part of check-in [0a5b00e4] Add and use the sqlite3VdbeChangeOpcode() routine. Simplify the implementation of the other sqlite3VdbeChange*() routines. (check-in: [0a5b00e4] user: drh branch: trunk, size: 134021)
18:19
[44b042bf] part of check-in [be78f413] Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for sqlite3VdbeAddOp2(v,OP_Goto,0,i). (check-in: [be78f413] user: drh branch: trunk, size: 134509)
17:55
[a5d98e1d] part of check-in [2f5472cf] Change sqlite3_sql() so that it always returns the SQL text of the prepared statement, if the text is available, even if the the prepared statement was generated using sqlite3_prepare() instead of sqlite3_prepare_v2(). Also include some minor comment fixes and code simplifications. (check-in: [2f5472cf] user: drh branch: trunk, size: 134410)
12:52
[be25beff] part of check-in [6e0298cd] This change is not correct for the boundary case of nCellKey==0. Was: Small performance gain and size reduction in sqlite3VdbeIdxKeyCompare(). (check-in: [6e0298cd] user: drh branch: mistake, size: 134455)
2015-08-28
02:12
[feb3bec6] part of check-in [da864658] Merge trunk enhancements into the apple-osx branch. Most tests works, but there are yet a few issues to be resolved. (check-in: [da864658] user: drh branch: apple-osx, size: 134429)
2015-08-24
19:56
[9c59b060] part of check-in [ba1ab858] Change "BEGIN UNLOCKED" to "BEGIN CONCURRENT". (check-in: [ba1ab858] user: dan branch: begin-concurrent, size: 134959)
16:00
[5a07e354] part of check-in [04113557] Fix compilation without SQLITE_ENABLE_UNLOCKED. Also other code organization issues. (check-in: [04113557] user: dan branch: begin-concurrent, size: 134949)
2015-08-21
20:11
[4fae90f5] part of check-in [53aaeea6] Fix many minor issues in the unlocked transaction code. (check-in: [53aaeea6] user: dan branch: begin-concurrent, size: 134912)
16:22
[0d62c6c2] part of check-in [deaf3b18] Merge trunk changes with this branch. (check-in: [deaf3b18] user: dan branch: begin-concurrent, size: 134921)
2015-08-20
23:54
[634a480a] part of check-in [e9196d56] Merge recent trunk enhancements, include table-valued functions. (check-in: [e9196d56] user: drh branch: sessions, size: 137087)
23:45
[2262c5a6] part of check-in [b9927c87] Merge recent enhancements from trunk, including table-valued expressions. (check-in: [b9927c87] user: drh branch: cursor-hints, size: 137562)
2015-08-15
16:32
[af2d86b2] part of check-in [f65a9b4a] Minor fix to the display of oversized KeyInfo structures in the P4 operand of Open opcodes in EXPLAIN output. (check-in: [f65a9b4a] user: drh branch: trunk, size: 134408)
00:51
[e8dbcc83] part of check-in [bee73d42] Change the display of the P4 operand of CursorHint in EXPLAIN output to function notation. (check-in: [bee73d42] user: drh branch: cursor-hints, size: 137544)
2015-08-14
18:50
[9f726265] part of check-in [581e3d49] Fix the cursor hint mechanism so that it does the right thing for indexed lookups. (check-in: [581e3d49] user: drh branch: cursor-hints, size: 137342)
01:03
[8bb1ef79] part of check-in [f0d428d1] Fix the CursorHint so that it includes the scan boundary constraints. On the expression text for the CursorHint opcode, show rowid correctly. (check-in: [f0d428d1] user: drh branch: cursor-hints, size: 137329)
2015-08-13
21:43
[f4ed66c4] part of check-in [12640cb2] Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. (check-in: [12640cb2] user: drh branch: cursor-hints-displayP4, size: 109675)
21:32
[56077f78] part of check-in [20688471] Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. (check-in: [20688471] user: drh branch: cursor-hints, size: 137227)
20:07
[6194de3a] part of check-in [82a7a61b] Merge in all the trunk changes from the previous year. This breaks the cursor-hint mechanism, but provides a baseline for trouble-shooting. (check-in: [82a7a61b] user: drh branch: cursor-hints, size: 135021)
2015-07-29
12:14
[24a03ccb] part of check-in [0b971842] Only allow UNLOCKED transactions to commit if none of the pages read by the transaction have been modified since it was opened. (check-in: [0b971842] user: dan branch: begin-concurrent, size: 134982)
2015-07-27
19:31
[27feae10] part of check-in [80794216] Add an experimental "BEGIN UNLOCKED" command. (check-in: [80794216] user: dan branch: begin-concurrent, size: 134903)
2015-07-14
15:39
[2d86fc54] part of check-in [db4cbefb] Merge trunk changes, including the addition of FTS5 and pcache1 performance enhancements. (check-in: [db4cbefb] user: drh branch: sessions, size: 137069)
2015-07-08
12:25
[787f5f9d] part of check-in [b27a47fe] Early detection of file corruption in a debugging routine, before the invalid data can cause problems. (check-in: [b27a47fe] user: drh branch: trunk, size: 134390)
2015-06-30
16:29
[d6bfb7b4] part of check-in [39936b33] Merge all the latest enhancements from trunk. This merge include FTS5 and a number of notable performance enhancements. (check-in: [39936b33] user: drh branch: sessions, size: 137025)
2015-06-28
02:58
[54bcc56d] part of check-in [9cd30d33] Avoid unnecessary calls to sqlite3VdbeSerialTypeLen() for integer serial types, for a small size reduction and a speed increase. (check-in: [9cd30d33] user: drh branch: trunk, size: 134346)
2015-06-26
18:47
[13261b75] part of check-in [eaddbf29] Further optimization of SQL function dispatch. Improvements to opcode documentation. (check-in: [eaddbf29] user: drh branch: trunk, size: 134272)
18:16
[316e6bc7] part of check-in [2abc44eb] Cache the sqlite3_context structure in the P4 operand of VDBE programs for faster SQL function dispatch. (check-in: [2abc44eb] user: drh branch: trunk, size: 134245)
2015-06-17
18:18
[73788765] part of check-in [199bfb67] Merge all recent enhancements and fixes from trunk. (check-in: [199bfb67] user: drh branch: sessions, size: 136744)
01:31
[4c82d6f6] part of check-in [66d033b9] Optimizations to two VDBE accessory routines for a 0.2% performance increase. (check-in: [66d033b9] user: drh branch: trunk, size: 134065)
2015-06-16
16:39
[b4a12763] part of check-in [400e025e] Ensure that the CREATE TABLE AS statement correctly undoes partial changes to the sqlite_master table if the SELECT on the right-hand side aborts with an error. Fix for ticket [873cae2b6e25b] (check-in: [400e025e] user: drh branch: trunk, size: 133999)
2015-06-05
15:59
[89c85926] part of check-in [f167bba4] Add a new opcode to the VDBE that gives the b-tree a hint about the set of columns in a table or index that are actually used by the query. (check-in: [f167bba4] user: drh branch: column-usage-hint, size: 133704)
2015-05-29
19:04
[9b50d924] part of check-in [54bec164] Import recent enhancements from trunk. (check-in: [54bec164] user: drh branch: sessions, size: 135805)
2015-05-26
20:31
[46f9bc4b] part of check-in [62a5b363] Avoid a buffer overread when comparing against a corrupt record that spans at least one overflow page. (check-in: [62a5b363] user: dan branch: trunk, size: 133126)
20:07
[d3e4b36e] part of check-in [b4a45d3b] Avoid branching on an uninitalized variable when comparing SQL values with the undefined serial types 10 and 11 (which only appear in corrupt databases). (check-in: [b4a45d3b] user: dan branch: trunk, size: 133126)
2015-05-21
17:24
[3021f190] part of check-in [b3bb660a] Prevent a virtual table from being destroyed while it is in use. Also: replace Vdbe.inVtabMethod with sqlite3.nVDestroy. Simplify the EXPLAIN output for P4.pVtab to only show the sqlite3_vtab pointer. Cherrypick of [cbeb9a1aed8c]. (check-in: [b3bb660a] user: dan branch: branch-3.8.6, size: 126391)
2015-05-19
22:42
[38233cc7] part of check-in [0a0de8b7] Merge recent trunk changes, include the R-Tree enhancement that allows 8-byte BLOB arguments to geometry functions, and the fix for the TEXT affinity problem that could cause corrupt indexes. (check-in: [0a0de8b7] user: drh branch: sessions, size: 135539)
2015-05-15
04:13
[efe1667d] part of check-in [56ef98a0] Simplifications to error message processing. Fix a possible problem in error message formatting when vacuuming a database with a corrupt schema. (check-in: [56ef98a0] user: drh branch: trunk, size: 132860)
2015-04-22
14:41
[aa9b179c] part of check-in [658e20f5] Prototype for an sqlite3_db_log() interface. (check-in: [658e20f5] user: drh branch: sqlite3_db_log, size: 132650)
2015-04-20
01:32
[4ccd9105] part of check-in [b8ef1cde] Merge all recent trunk enhancements and fixes into the sessions branch. (check-in: [b8ef1cde] user: drh branch: sessions, size: 135315)
01:25
[85b76767] part of check-in [74b7bf17] Merge all recent trunk enhancements and fixes into the apple-osx branch. (check-in: [74b7bf17] user: drh branch: apple-osx, size: 132657)
2015-04-16
18:11
[03591cca] part of check-in [d04d354d] Make sure all cursors are closed when returning from a VDBE subprogram that implements a foreign-key construct. (check-in: [d04d354d] user: drh branch: trunk, size: 132636)
2015-04-13
23:11
[8d4b5165] part of check-in [e709d3b4] Merge all recent trunk enhances into the apple-osx branch. (check-in: [e709d3b4] user: drh branch: apple-osx, size: 132512)
2015-04-12
01:33
[70d414ec] part of check-in [5f14f34f] Merge all recent trunk enhancements into the sessions branch. (check-in: [5f14f34f] user: drh branch: sessions, size: 135170)
2015-03-30
12:06
[a20504ae] part of check-in [601e7b6b] Improve performance of multi-field sorts where the first field has a low cardinality. (check-in: [601e7b6b] user: dan branch: sorter-opt, size: 132491)
2015-03-24
19:02
[3f36b184] part of check-in [54aaa6f2] Merge all recent trunk enhancements into the sessions branch. (check-in: [54aaa6f2] user: drh branch: sessions, size: 135149)
18:49
[ca50e730] part of check-in [a2bd81e5] Merge the latest trunk enhancements into the apple-osx branch. (check-in: [a2bd81e5] user: drh branch: apple-osx, size: 132491)
14:57
[413dc496] part of check-in [85610bbb] Simplify the EXPLAIN output of virtual table P4 parameters to only show the pointer to the sqlite3_vtab object and omit the sqlite3_module object. (check-in: [85610bbb] user: drh branch: nVDestroy, size: 132470)
14:05
[056eefd3] part of check-in [116c9982] More defenses against virtual table being deleted out from under a running statement. (check-in: [116c9982] user: drh branch: nVDestroy, size: 132541)
13:32
[741cccd4] part of check-in [fba674c0] Prevent a virtual table from being destroyed while it is in use. (check-in: [fba674c0] user: drh branch: nVDestroy, size: 132489)
12:51
[d62823d7] part of check-in [9faefb96] Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter. (check-in: [9faefb96] user: drh branch: nVDestroy, size: 132415)
2015-03-17
18:54
[bf85a597] part of check-in [1d1c57c3] Merge all recent trunk enhancements into the sessions branch. (check-in: [1d1c57c3] user: drh branch: sessions, size: 135144)
18:35
[22b30682] part of check-in [8abbeadb] Merge all recent trunk changes, and in particular the blocking WAL lock change, into the apple-osx branch. (check-in: [8abbeadb] user: drh branch: apple-osx, size: 132486)
2015-03-16
16:44
[23390670] part of check-in [018d7671] When deleting the master journal to commit a multi-database transaction, do not sync the directory if PRAGMA synchronous=OFF for all participating database files. (check-in: [018d7671] user: drh branch: trunk, size: 132465)
2015-02-06
16:03
[7069b951] part of check-in [44711921] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [44711921] user: drh branch: apple-osx, size: 132479)
15:40
[fbc0e6df] part of check-in [ae7eef11] Merge all the latest enhancements from trunk. (check-in: [ae7eef11] user: drh branch: sessions, size: 135137)
2015-01-21
00:51
[97911edb] part of check-in [78c2e62b] Fix harmless compiler warning seen with MSVC. (check-in: [78c2e62b] user: mistachkin branch: trunk, size: 132458)
2015-01-19
20:57
[f06d38c7] part of check-in [38868f84] Fix the assert() of the previous check-in so that it works even when compiled without SQLITE_DEBUG. (check-in: [38868f84] user: drh branch: tkt-f97c4637, size: 132432)
19:48
[d22d71f5] part of check-in [bf744b49] An alternative way of implementing the assert() that verifies the relative values of KeyInfo.nField+KeyInfo.nXField and the number of columns in a record. This version of the assert() only fires when the high-speed comparison routines are used - which is to say it only fires when the constraint actually matters. (check-in: [bf744b49] user: drh branch: tkt-f97c4637, size: 132377)
19:21
[a27240f5] part of check-in [e41376cf] An alternative way of fixing the key comparison bug of ticket [f97c4637102a3ae72b]. (check-in: [e41376cf] user: drh branch: alt1-tkt-f97c4637, size: 130416)
18:18
[d4b4b547] part of check-in [d0971b79] Strengthen the KeyInfo number-of-columns assert() added by the previous check-in. (check-in: [d0971b79] user: drh branch: tkt-f97c4637, size: 131801)
17:28
[75e0540c] part of check-in [083f523d] Add an assert() to verify that the nField+nXField values of a KeyInfo object are never less then the number of columns in a row for a non-corrupt database. This assert() currently fails, which is the root of the problem with ticket [f97c4637102a3ae72b]. (check-in: [083f523d] user: drh branch: tkt-f97c4637, size: 131593)
2015-01-02
19:17
[65d25166] part of check-in [df3cdf9f] Merge the latest changes from trunk into the apple-osx branch. (check-in: [df3cdf9f] user: drh branch: apple-osx, size: 131215)
2014-12-20
14:58
[db4cf9f6] part of check-in [d4f82af0] Merge the PRAGMA data_version command and the enhancements to FK query planning from trunk into the sessions branch. (check-in: [d4f82af0] user: drh branch: sessions, size: 133873)
2014-12-16
20:13
[07ef87c6] part of check-in [35a20a5f] Experimental opimizations to speed up FK constraint CASCADE and SET NULL action processing. Requires further testing. (check-in: [35a20a5f] user: dan branch: experimental-fk-actions, size: 131194)
2014-12-05
14:36
[7e0a097a] part of check-in [68b23c3d] Add code to check the validity of CollSeq objects during runtime. This code was not able to detect anomalies such as came up as a result of ticket [e4a18565a36884b00edf66541f38c693827968ab] so it is put into a branch for historical reference, with the intent of leaving it out of trunk. (check-in: [68b23c3d] user: drh branch: collseq-checking, size: 131266)
2014-12-02
16:38
[6f91a25a] part of check-in [43c4ba26] Merge all recent enhancements and bug fixes from trunk into the apple-osx branch. (check-in: [43c4ba26] user: drh branch: apple-osx, size: 131145)
16:31
[ccf6b7ca] part of check-in [2617d937] Merge all recent fixes and enhancements from trunk into sessions. (check-in: [2617d937] user: drh branch: sessions, size: 133803)
13:46
[6f7f39c3] part of check-in [0d04f380] Work around overzealous NULL pointer checking in memcpy() and memset() for some systems. (check-in: [0d04f380] user: drh branch: trunk, size: 131124)
2014-11-20
02:58
[5ce4f414] part of check-in [2d7c8da5] Fix the encoding of some integers to use the minimum amount of space: -128, -32768, -8388608, -217483648, and -140737488355328. (check-in: [2d7c8da5] user: drh branch: trunk, size: 131105)
02:18
[e3ae2745] part of check-in [9a9627e1] Add some requirements marks to the record formatting logic. Comment changes only - the code is unaltered. (check-in: [9a9627e1] user: drh branch: trunk, size: 131207)
2014-11-18
21:27
[7354ce66] part of check-in [ccb601f6] Merge recent trunk enhancements. (check-in: [ccb601f6] user: drh branch: apple-osx, size: 130155)
21:20
[19ecf5fc] part of check-in [f09055f3] 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: [f09055f3] user: drh branch: sessions, size: 132813)
2014-11-06
03:55
[9b0a251b] part of check-in [f9684000] 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: [f9684000] user: drh branch: scanstatus, size: 130134)
2014-11-03
15:33
[cf6b8152] part of check-in [a2303c71] Add further tests. Fixes so that compilation without ENABLE_STMT_SCANSTATUS works. (check-in: [a2303c71] user: dan branch: scanstatus, size: 130127)
11:25
[0aeb90cb] part of check-in [f5313e0c] Remove unused variable from struct WhereInfo. Add some explanatory comments to new code. (check-in: [f5313e0c] user: dan branch: scanstatus, size: 130039)
2014-11-01
21:00
[2887d027] part of check-in [f13d6ba8] Minor performance enhancements to SQLITE_ENABLE_STMT_SCANSTATUS code. (check-in: [f13d6ba8] user: dan branch: scanstatus, size: 130044)
20:38
[bad342af] part of check-in [9ea37422] 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: [9ea37422] user: dan branch: scanstatus, size: 130078)
2014-10-31
20:11
[1e2561ee] part of check-in [6a9bab34] Add the experimental sqlite3_stmt_scanstatus() API. (check-in: [6a9bab34] user: dan branch: scanstatus, size: 129244)
15:20
[8990f551] part of check-in [fef8430f] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [fef8430f] user: drh branch: apple-osx, size: 128829)
14:53
[d53c188c] part of check-in [28b044a5] Merge recent trunk enhancements, and in particular the improvements to the b-tree balancing logic, into the sessions branch. (check-in: [28b044a5] user: drh branch: sessions, size: 131487)
2014-10-28
18:24
[3d6b2b41] part of check-in [41cdd0c4] Modify the documentation for sqlite3_changes() to make it more testable. Add tests and minor fixes for the same. (check-in: [41cdd0c4] user: dan branch: trunk, size: 128808)
2014-10-23
17:26
[f9954f31] part of check-in [c6a5b67a] Add debugging code to count the number of iterations of each loop made as part of statement execution. (check-in: [c6a5b67a] user: dan branch: debug-loopcounters, size: 129461)
2014-10-14
14:17
[df93c769] part of check-in [880df756] Merge from trunk recent micro-optimizations and the fix for the DESC index GROUP BY ORDER BY bug. (check-in: [880df756] user: drh branch: apple-osx, size: 128667)
13:41
[191ea23e] part of check-in [83d4114f] Merge recent trunk micro-optimizations and the DESC index GROUP BY ORDER BY bug fix into the sessions branch. (check-in: [83d4114f] user: drh branch: sessions, size: 131325)
2014-10-13
17:42
[edbb7a9c] part of check-in [04892f8b] Three small optimizations to vdbeaux.c. (check-in: [04892f8b] user: drh branch: trunk, size: 128646)
16:02
[8d101333] part of check-in [c2799aec] Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out some of its functions and by avoiding unnecessary calls. (check-in: [c2799aec] user: drh branch: trunk, size: 128593)
2014-10-12
22:37
[e223d15a] part of check-in [91384a7d] Remove the VdbeCursor.lastRowid cache of the current rowid, since maintaining the correct cache value uses more CPU cycles than just recomputing the rowid on the occasions when it is actually needed. Replace it with the VdbeCursor.aOffset field which used to be computed from VdbeCursor.aType when needed. Saves 100 bytes of code space and runs 0.2% faster. (check-in: [91384a7d] user: drh branch: trunk, size: 128290)
2014-10-01
01:52
[ea20bde8] part of check-in [2695772c] Merge the latest enhancements from trunk. (check-in: [2695772c] user: drh branch: sessions, size: 131026)
01:46
[a326631b] part of check-in [2078454a] Merge the latest enhancements from trunk. (check-in: [2078454a] user: drh branch: apple-osx, size: 128368)
2014-09-30
12:33
[5b687d7b] part of check-in [4ff51325] Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). (check-in: [4ff51325] user: drh branch: trunk, size: 128347)
2014-09-29
18:47
[f8df1050] part of check-in [5e5d6e86] Add the OPFLAG_MULTICOLUMN flag to the OP_Column opcode. Rearrange OP_Column instructions to take advantage of the new flag for a small performance increase (check-in: [5e5d6e86] user: drh branch: faster-OP_Column, size: 129342)
15:42
[8e016c60] part of check-in [7fb16268] Fix the header comment in sqlite3VdbeDeletePriorOpcode(). No changes to code. (check-in: [7fb16268] user: drh branch: trunk, size: 128462)
2014-09-21
23:08
[2e927a76] part of check-in [3967ebe8] Merge in all recent changes from trunk. (check-in: [3967ebe8] user: drh branch: apple-osx, size: 128384)
22:49
[07b0045d] part of check-in [6406b77f] Merge all recent trunk changes into the sessions branch. (check-in: [6406b77f] user: drh branch: sessions, size: 131042)
2014-09-19
16:13
[a05adc3c] part of check-in [24cd32d6] Small size reduction and performance increase for releaseMemArray(). (check-in: [24cd32d6] user: drh branch: trunk, size: 128363)
16:02
[498b4251] part of check-in [9b42c3da] Updates to comments. No code changes. (check-in: [9b42c3da] user: drh branch: trunk, size: 128367)
00:43
[ecf0bb83] part of check-in [5b9b8987] 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: [5b9b8987] user: drh branch: Cplusplus-comment, size: 128690)
2014-09-18
21:25
[b3230032] part of check-in [9c09ac35] 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: [9c09ac35] user: drh branch: trunk, size: 128680)
17:52
[ac3188f1] part of check-in [4c8c89d7] 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: [4c8c89d7] user: drh branch: trunk, size: 128627)
2014-09-17
16:41
[9ac63bc5] part of check-in [fdddb477] In the Mem object, stop requiring that Mem.xDel be NULL when the MEM_Dyn bit is clear. Also reduce the amount of initialization of Mem objects. All for a small size reduction and performance increase. (check-in: [fdddb477] user: drh branch: micro-optimizations, size: 128603)
2014-09-16
20:05
[211ad29d] part of check-in [78fb8838] Make sure registers are cleared properly prior to being used to store the result of an OP_Column operator. (check-in: [78fb8838] user: drh branch: micro-optimizations, size: 128568)
14:55
[79ce140e] part of check-in [a10a6bba] Remove an unused parameter from sqlite3VdbeIdxRowid(). This is cosmetic only as the C-compiler optimizers were already omitting this parameter on amalgamation builds. (check-in: [a10a6bba] user: drh branch: micro-optimizations, size: 128541)
14:37
[d06769a7] part of check-in [8239c35a] Reduce the number of arguments to RecordCompare functions from 4 to 3, resulting in a small performance increase. (check-in: [8239c35a] user: drh branch: micro-optimizations, size: 128579)
14:16
[4d607ce8] part of check-in [0be3019e] 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: [0be3019e] user: drh branch: micro-optimizations, size: 128539)
13:30
[2f284f8b] part of check-in [8fb90da7] Changes to sqlite3VdbeRecordUnpack() to make it slightly smaller and faster. (check-in: [8fb90da7] user: drh branch: trunk, size: 128510)
03:24
[cde99fa6] part of check-in [20ed2321] Performance improvement to the sqlite3MemCompare() routine by factoring out sqlite3BlobCompare(). (check-in: [20ed2321] user: drh branch: trunk, size: 128500)
2014-09-08
15:04
[26428493] part of check-in [c2885c6b] Merge support for large files on Android from trunk. (check-in: [c2885c6b] user: drh branch: sessions, size: 130867)
2014-09-06
16:39
[91fd1e0c] part of check-in [e62aab5e] Fix typos in comments. No code changes. (check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 128188)
2014-09-02
15:57
[5ad6f1a2] part of check-in [696dc935] Merge the latest trunk changes into the apple-osx branch. (check-in: [696dc935] user: drh branch: apple-osx, size: 128210)
15:49
[3118c164] part of check-in [d4cce2c7] Merge the latest trunk changes, including the multi-threaded sorter, into the sessions branch. (check-in: [d4cce2c7] user: drh branch: sessions, size: 130868)
2014-08-29
11:24
[1401d454] part of check-in [8c57bcc3] Add the sqlite3VdbeChangeDest() routine that can be used to eliminate OP_Move opcodes. (check-in: [8c57bcc3] user: drh branch: experimental, size: 128480)
2014-08-26
02:15
[236cc1af] part of check-in [08ae974a] Merge recent performance enhancements and the CAST operator enhancements into the sessions branch. (check-in: [08ae974a] user: drh branch: sessions, size: 130525)
02:02
[bfde24b0] part of check-in [5c273111] Merge recent performance enhancements and the CAST operator enhancements into the apple-osx branch. (check-in: [5c273111] user: drh branch: apple-osx, size: 127867)
2014-08-25
13:27
[cef5d34a] part of check-in [dfdc900f] Merge the recent performance enhancements implemented on trunk into the threads branch. (check-in: [dfdc900f] user: drh branch: threads, size: 128189)
2014-08-22
23:33
[dba006f6] part of check-in [ce123b5c] Another performance tweak: Split the sqlite3BtreeCursorHasMoved() routine into two with the second routine named sqlite3BtreeCursorRestore(). The first now only reports whether or not the cursor has moved and the second tries to restore the cursor. This allows the sqlite3VdbeCursorMoveto() routine to be refactored to avoid stack pointer movements, for a noticable performance gain. (check-in: [ce123b5c] user: drh branch: trunk, size: 127846)
18:00
[f7fdc59e] part of check-in [cf561d1f] Split the sqlite3Error() routine into sqlite3Error() and sqlite3ErrorWithMsg(), for a slight size reduction and performance increase. (check-in: [cf561d1f] user: drh branch: trunk, size: 127036)
14:56
[d0b20a85] part of check-in [3f55484e] Handle the 4-byte integer case in the stackless routine. (check-in: [3f55484e] user: drh branch: experimental, size: 127032)
14:34
[f83d5c26] part of check-in [8267d821] Get the sqlite3VdbeSerialGet() routine to run faster by avoiding the use of local variables. (check-in: [8267d821] user: drh branch: experimental, size: 126988)
13:22
[9c957170] part of check-in [750bb0a0] Change a while-loop into a do-loop in sqlite3VdbeSerialPut() for a small size reduction and performance improvement. (check-in: [750bb0a0] user: drh branch: trunk, size: 126408)
2014-08-14
14:02
[142fdb31] part of check-in [a608fd1d] Merge the pre-3.8.6 changes into the threads branch. (check-in: [a608fd1d] user: drh branch: threads, size: 126729)
13:39
[41a7b823] part of check-in [08058df3] Merge the pre-3.8.6 changes from trunk into the apple-osx branch. (check-in: [08058df3] user: drh branch: apple-osx, size: 126407)
2014-08-13
14:43
[22aabbde] part of check-in [d49455d9] Merge the trunk changes for 3.8.6 beta3 into the sessions branch. (check-in: [d49455d9] user: drh branch: sessions, size: 129065)
2014-08-12
14:29
[25d62ef8] part of check-in [35c45461] Improve the comments associated with SQLITE_TEST_REALLOC_STRESS and add an extra assert() to prove an assumption. (check-in: [35c45461] user: drh branch: trunk, size: 126386)
13:38
[d83ca171] part of check-in [4c291827] If SQLITE_TEST_REALLOC_STRESS is defined, extend the op-code array used by virtual-machine programs by one element at a time, instead of doubling its size with each realloc(). (check-in: [4c291827] user: dan branch: trunk, size: 126091)
2014-08-08
15:38
[bbe934b0] part of check-in [36b7c5ce] The SQLITE_IOERR_BLOCKED extended error code is not longer used, so remove assert() statements and documentation for that error code. Also make other documentation improvements. (check-in: [36b7c5ce] user: drh branch: trunk, size: 125548)
2014-07-30
11:49
[34dcb2a0] part of check-in [654c6c65] Merge all recent trunk changes, and especially the R-Tree IN operator fix of ticket [d2889096e7bdeac]. (check-in: [654c6c65] user: drh branch: apple-osx, size: 125647)
2014-07-29
12:40
[c034933f] part of check-in [8f1beead] Merge recent trunk changes, and especially the fix for the R-Tree problem described in ticket [d2889096e7bdeac6]. (check-in: [8f1beead] user: drh branch: sessions, size: 128305)
2014-07-28
15:01
[3f1d2baa] part of check-in [163c247b] Merge recent trunk changes into the threads branch. (check-in: [163c247b] user: drh branch: threads, size: 125969)
2014-07-25
21:35
[ac063f36] part of check-in [e0fa6fdc] Try to fix harmless compiler warnings reported by Fortify. (check-in: [e0fa6fdc] user: drh branch: trunk, size: 125626)
2014-07-24
16:54
[68ef480f] part of check-in [77068589] Merge all recent trunk changes into the threads branch. (check-in: [77068589] user: drh branch: threads, size: 125958)
16:43
[43041ad3] part of check-in [3810dc62] Merge recent trunk changes into the apple-osx branch. (check-in: [3810dc62] user: drh branch: apple-osx, size: 125636)
16:23
[f7ef74c5] part of check-in [a9db017e] Merge recent trunk changes into the sessions branch. (check-in: [a9db017e] user: drh branch: sessions, size: 128294)
2014-07-21
15:44
[1ffe0bbc] part of check-in [1a817ae2] Allow the SQLITE_MAX_ATTACHED compile-time option to be larger than 62. The default limit on the number of attached databases remains 10. (check-in: [1a817ae2] user: drh branch: trunk, size: 125615)
2014-07-19
17:57
[8d32b5a6] part of check-in [61cee3c0] 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: [61cee3c0] user: dan branch: trunk, size: 125649)
2014-06-30
20:25
[49c799bd] part of check-in [ae23a65e] Merge the latest trunk changes into the threads branch. (check-in: [ae23a65e] user: drh branch: threads, size: 125993)
20:02
[36eb94ea] part of check-in [a5d94eab] Merge the latest trunk enhancements into the sessions branch. (check-in: [a5d94eab] user: drh branch: sessions, size: 128329)
19:57
[f587cb9d] part of check-in [f426876f] Merge the latest trunk changes into the apple-osx branch. (check-in: [f426876f] user: drh branch: apple-osx, size: 125671)
2014-06-28
19:06
[8ce7dcdb] part of check-in [c96de490] Add an OOM fault injection test for the new code on this branch. (check-in: [c96de490] user: dan branch: stat4-skipscan, size: 125650)
2014-05-19
15:16
[808daddb] part of check-in [17349a49] Changes to help ensure that a multiplication does not overflow when computing the number of bytes needed for a memory allocation, and cause a malfunction. No problems existing problems were discovered. However, these changes should help to ensure that no problems arise in the future. (check-in: [17349a49] user: drh branch: safer-malloc, size: 125680)
2014-05-08
23:01
[a82cfad3] part of check-in [9411d7dc] 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: [9411d7dc] user: drh branch: apple-osx, size: 125589)
2014-05-02
18:46
[44d4d1f5] part of check-in [63ed2d6a] Do not run the vdbeRecordCompareDebug() assert if pKeyInfo->db is NULL since in that case there would be no way to check for a memory allocation failure. (check-in: [63ed2d6a] user: drh branch: threads, size: 125863)
18:05
[f651c4de] part of check-in [d9549de3] Merge orderby-planning with this branch. (check-in: [d9549de3] user: dan branch: threads, size: 125829)
17:33
[c9a8c917] part of check-in [3300d62d] Simplify assert() statements used to verify correct operation of record comparison routines. (check-in: [3300d62d] user: drh branch: orderby-planning, size: 125473)
17:12
[6e6993fa] part of check-in [e15f4706] Fix some broken asserts in btree.c and vdbeaux.c that may fail following an OOM error. (check-in: [e15f4706] user: dan branch: threads, size: 126143)
2014-04-18
12:38
[8289ed68] part of check-in [8729aa3e] Merge recent trunk changes into the threads branch. (check-in: [8729aa3e] user: drh branch: threads, size: 125943)
01:10
[e0c2e24e] part of check-in [95e77efe] Merge recent trunk changes into sessions. (check-in: [95e77efe] user: drh branch: sessions, size: 128247)
2014-04-13
19:28
[e493f387] part of check-in [ab23abf3] Remove the unused second argument from sqlite3ExprCachePop(). Add an ALWAYS() on an always-true conditional in sqlite3VdbeResolveLabel(). (check-in: [ab23abf3] user: drh branch: trunk, size: 125568)
2014-04-03
16:35
[f9c225c2] part of check-in [9515c834] Merge all recent changes from trunk, including the fix for the OP_SCopy-vs-OP_Copy problem. (check-in: [9515c834] user: drh branch: sessions, size: 128239)
2014-04-01
10:19
[d8dc3896] part of check-in [59cd5229] Fix a problem with OOM handling in the sorter code. (check-in: [59cd5229] user: dan branch: threads, size: 125935)
2014-03-28
03:12
[1153175f] part of check-in [7fa85eaa] Enhance the sqlite3VdbeRecordCompare() routines so that if they encounter database corruption, they will set the UnpackedRecord.isCorrupt field and return 0. The sqlite3BtreeMovetoUnpacked() routine detects this and returns SQLITE_CORRUPT, causing the corruption to be reported back to the top-level. (check-in: [7fa85eaa] user: drh branch: trunk, size: 125560)
2014-03-26
19:43
[74aa0e2e] part of check-in [fc8ca1a8] Merge in fixes (including the corrupt-database crash fix) and performance enhancements from trunk. (check-in: [fc8ca1a8] user: drh branch: sessions, size: 127901)
16:22
[714df4e1] part of check-in [db293547] Fix a potential buffer overread that could have occurred when searching a corrupt database file. (check-in: [db293547] user: drh branch: branch-3.8.4, size: 124971)
14:51
[f81ef920] part of check-in [28ddecff] Earlier detection of corruption in sqlite3VdbeRecordCompare() in order to avoid a potential buffer overread. (check-in: [28ddecff] user: drh branch: trunk, size: 125222)
12:02
[9898720d] part of check-in [851abdb8] Add an assert() and a comment to clarify the operation of the vdbeRecordCompareInt() routine. (check-in: [851abdb8] user: drh branch: trunk, size: 125165)
2014-03-25
11:00
[68dbdc77] part of check-in [e6798871] Detect when a VdbeCursor is still pointing at a valid row but that row has moved, and invalidated the return from prior sqlite3BtreeDataFetch() or sqlite3BtreeKeyFetch() calls. (check-in: [e6798871] user: drh branch: trunk, size: 124973)
2014-03-19
14:10
[5078ca7d] part of check-in [59742dd4] First attempt at getting block-sort to work. This is an incremental check-in. There are many problems still to be worked out. (check-in: [59742dd4] user: drh branch: orderby-planning, size: 124955)
2014-03-06
13:48
[1d0dad08] part of check-in [1ed463d9] Merge the latest 3.8.4 tweaks from trunk. (check-in: [1ed463d9] user: drh branch: sessions, size: 127593)
01:56
[e45e3f9d] part of check-in [b83cfe89] Fix some incorrect comments and typos in comments. Add testcase() macros to some of the new record comparison code. (check-in: [b83cfe89] user: drh branch: trunk, size: 124914)
2014-03-05
14:49
[955216d3] part of check-in [0828975d] Merge in various obscure bug fixes and the removal of Mem.memType from trunk. (check-in: [0828975d] user: drh branch: sessions, size: 126488)
01:29
[43bee29a] part of check-in [bac2820e] Experimental simplification of memory flags/type handling. (check-in: [bac2820e] user: mistachkin branch: noMemType, size: 123809)
2014-03-04
16:21
[0be881d8] part of check-in [53f6ec79] Fix an assert() so that it takes OOM errors into account. (check-in: [53f6ec79] user: drh branch: trunk, size: 124127)
14:34
[c50dc4f1] part of check-in [7f51ad97] Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. (check-in: [7f51ad97] user: drh branch: sessions, size: 126767)
11:16
[636a7e2e] part of check-in [8d18a803] Fix harmless compiler warning. (check-in: [8d18a803] user: mistachkin branch: trunk, size: 124088)
04:04
[b3bd75b2] part of check-in [f10130ed] Fix more instances of assuming 'char' is signed. And, make sure to never shift a signed integer. (check-in: [f10130ed] user: drh branch: broken-on-arm, size: 124088)
2014-03-03
21:46
[5adf67ef] part of check-in [fcf480cc] Fix a couple of harmless compiler warnings. (check-in: [fcf480cc] user: drh branch: experimental, size: 124235)
20:48
[687165bd] part of check-in [7c0b4381] Avoid a buffer overread in vdbeCompareRecordInt() that might occur if the database is corrupt. (check-in: [7c0b4381] user: dan branch: experimental, size: 124268)
19:29
[b8174800] part of check-in [1f4991ab] Fix a typo in a comment. No changes to code. (check-in: [1f4991ab] user: drh branch: experimental, size: 123767)
18:25
[f6d49b82] part of check-in [ba899372] Fix compiler warnings. (check-in: [ba899372] user: drh branch: experimental, size: 123767)
15:13
[e4a0f89d] part of check-in [d7f6837e] Fix a harmless compiler warning. (check-in: [d7f6837e] user: drh branch: experimental, size: 123669)
14:45
[f0532f7c] part of check-in [e00ed717] Merge latest trunk changes. (check-in: [e00ed717] user: dan branch: experimental, size: 123662)
2014-03-01
19:44
[da0979ce] part of check-in [3861e853] Remove the vdbeRecordCompareLargeHeader function. Fix some other details. (check-in: [3861e853] user: dan branch: experimental, size: 123636)
18:13
[89a0ad3b] part of check-in [44e1c337] Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be used to free the string or blob. Add tighter invariant checks on Mem. (check-in: [44e1c337] user: drh branch: enhanced-mem-check, size: 108251)
16:24
[2f97cd75] part of check-in [354699d5] Factor the Mem invariant checker into a separate procedure (rather than a macro) so that it can be more easily extended. (check-in: [354699d5] user: drh branch: enhanced-mem-check, size: 108275)
14:45
[087e7c75] part of check-in [4aeb3ae4] Add extra assert() statements trying to catch a Mem object in an inconsistent state. (check-in: [4aeb3ae4] user: drh branch: enhanced-mem-check, size: 108256)
2014-02-28
18:39
[aad53458] part of check-in [3a09f560] Update some test cases that deal with corrupt databases. (check-in: [3a09f560] user: dan branch: experimental, size: 122230)
09:48
[fc953585] part of check-in [284bde0e] Minor tweak to vdbeRecordCompareInt(). (check-in: [284bde0e] user: dan branch: experimental, size: 122231)
2014-02-27
20:44
[80e53159] part of check-in [57089374] Further changes to sqlite3VdbeRecordCompare(). (check-in: [57089374] user: dan branch: experimental, size: 121511)
2014-02-25
21:01
[988269c6] part of check-in [85206e0b] Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. (check-in: [85206e0b] user: dan branch: experimental, size: 118581)
2014-02-24
14:24
[8b8eeb3c] part of check-in [4df0ac90] Remove an unused variable from the VDBE_PROFILE compile-time option. Keep the opcode count in an u32 instead of an int. (check-in: [4df0ac90] user: drh branch: trunk, size: 108225)
2014-02-17
22:40
[0e01d6fd] part of check-in [ce184c7b] Add logic to do test coverage measurements on the VDBE code. (check-in: [ce184c7b] user: drh branch: insert-optimization, size: 108143)
01:13
[9098973f] part of check-in [7adb3da2] Fix the VDBE_PROFILE logic. Add a script to process the output file. (check-in: [7adb3da2] user: drh branch: trunk, size: 107735)
2014-02-11
04:30
[b02637a5] part of check-in [b0067926] Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix. (check-in: [b0067926] user: drh branch: sessions, size: 110146)
2014-02-10
03:21
[dac6e571] part of check-in [5708bc24] Faster and smaller implementation of sqlite3_value_type(). (check-in: [5708bc24] user: drh branch: trunk, size: 107467)
2014-02-08
01:40
[379343f1] part of check-in [192dea97] Change the OP_Trace opcode to OP_Init and give it the ability to jump to the initialization code at the bottom of the program, thus avoiding the need for an extra OP_Goto. (check-in: [192dea97] user: drh branch: trunk, size: 107487)
2014-02-07
13:20
[3fd95b22] part of check-in [6fb74485] Add the OP_Undef and OP_IsUndef opcodes. With these, use the first register in the result register range as the flag to indicate EOF on an INSERT from a SELECT, rather than allocating a separate boolean register for that task. (check-in: [6fb74485] user: drh branch: coroutine-refactor, size: 108076)
2014-01-28
18:06
[25e8ee3c] part of check-in [7b5f3773] Bring in the latest updates from trunk. (check-in: [7b5f3773] user: drh branch: sessions, size: 110749)
2014-01-27
13:58
[a3327afa] part of check-in [94ed9bc4] Fix (harmless) duplicate variable declaration. (check-in: [94ed9bc4] user: drh branch: trunk, size: 108070)
2014-01-24
22:58
[f228f45f] part of check-in [87bf6063] Fixes for various clang warnings. (check-in: [87bf6063] user: drh branch: trunk, size: 108078)
14:05
[a980f781] part of check-in [9b43e559] Bring in all the latest trunk changes, including the Common Table Expressions implementation. (check-in: [9b43e559] user: drh branch: sessions, size: 110628)
2014-01-04
16:49
[9f4bfc52] part of check-in [874b7e99] Omit OP_Close operations that occur immediately prior to OP_Halt and which cannot be jumped over. (check-in: [874b7e99] user: drh branch: trunk, size: 107949)
2014-01-02
19:35
[915fda7c] part of check-in [10d85135] Avoid unnecessary affinity transformations when building indices using data from a table. (check-in: [10d85135] user: drh branch: trunk, size: 107756)
2013-12-24
12:09
[4dc5258a] part of check-in [cfd110bf] Merge the latest trunk changes into the sessions branch. (check-in: [cfd110bf] user: drh branch: sessions, size: 110336)
2013-12-23
19:09
[bc6799db] part of check-in [c289a253] Move elements of the Vdbe object that are only used during statement preparation out into the Parse object. (check-in: [c289a253] user: drh branch: trunk, size: 107657)
2013-12-20
15:59
[6fb06077] part of check-in [2ae22dc0] Combine adjacent single-register OP_Copy instructions into a single multi-register OP_Copy, where possible. Fix the Synopsis comment for multi-register OP_Copy instructions to show the correct register ranges. (check-in: [2ae22dc0] user: drh branch: trunk, size: 107418)
2013-12-18
15:11
[70aa77f7] part of check-in [4c6a659c] Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set. (check-in: [4c6a659c] user: drh branch: column-cache-debug, size: 106615)
2013-12-14
18:24
[0ee1dc80] part of check-in [32477642] Merge in all recent preformance enhancements from trunk. (check-in: [32477642] user: drh branch: sessions, size: 108898)
2013-12-13
16:23
[a22cbd91] part of check-in [9d347f54] Simplication and optimization of error message handling. (check-in: [9d347f54] user: drh branch: trunk, size: 106219)
2013-12-11
11:00
[74f3ad06] part of check-in [a7e5fcd6] Fix harmless compiler warnings. (check-in: [a7e5fcd6] user: drh branch: trunk, size: 106214)
2013-12-10
21:38
[a66fde9e] part of check-in [079c04a5] Avoid unnecessary calls to sqlite3VdbeSerialType() from within sqlite3VdbeSerialPut(). (check-in: [079c04a5] user: drh branch: trunk, size: 106231)
2013-12-09
23:17
[d64bc2a0] part of check-in [7277a769] Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut() helper function. (check-in: [7277a769] user: drh branch: trunk, size: 106276)
2013-12-07
20:39
[c7c9219c] part of check-in [3a9bec52] If the SQLITE_ENABLE_CURSOR_HINTS macro is defined, then invoke the sqlite3BtreeCursorHint() interface to provide hints to the storage engine about rows that need not be returned. Hints can be disabled using SQLITE_TESTCTRL_OPTIMIZATIONS with SQLITE_CursorHints (0x2000). Cursor hints are not used by the built-in storage engine of SQLite but might be useful to applications that provide their own storage engine. The current code is work-in-progrss and contains bugs. (check-in: [3a9bec52] user: drh branch: cursor-hints, size: 107469)
2013-12-03
20:51
[e3228efe] part of check-in [a2914d6b] Merge in trunk changes. (check-in: [a2914d6b] user: drh branch: sessions, size: 109517)
09:49
[09b79d47] part of check-in [9d8a0e13] Add a "database_may_be_corrupt" directive to test file fuzz3.test. Reformat an assert() statement in vdbeaux.c to make its intent clearer. (check-in: [9d8a0e13] user: dan branch: trunk, size: 106838)
2013-12-02
21:58
[aad7d171] part of check-in [67c34ccf] Merge all recent 3.8.2 beta changes from trunk. (check-in: [67c34ccf] user: drh branch: sessions, size: 109507)
2013-11-29
15:39
[5b58b242] part of check-in [f865be10] Change the name of the CORRUPTIBLE macro to CORRUPT_DB. (check-in: [f865be10] user: drh branch: trunk, size: 106828)
15:06
[28a791e1] part of check-in [15e4f63d] Add a new sqlite3_test_control() that indicates that database files are always well-formed. Use this during testing to enable assert() statements that prove conditions that are always true for well-formed databases. (check-in: [15e4f63d] user: drh branch: trunk, size: 106830)
2013-11-28
14:14
[91438d61] part of check-in [0bcf7551] Remove an assert() condition that may not be true if the database file is corrupt. Update a test case in corruptC.test. (check-in: [0bcf7551] user: dan branch: trunk, size: 106752)
2013-11-26
18:00
[9270db47] part of check-in [fc9ae839] Merge in performance enhancements from trunk. (check-in: [fc9ae839] user: drh branch: sessions, size: 109476)
2013-11-25
22:24
[a880c3c7] part of check-in [011a6be4] Change a while-loop into a do-loop in sqlite3VdbeRecordCompare() and add an assert() to verify that the do-loop really is appropriate. This gives about a 10% performance boost in that routine, or a 0.9% boost overall. (check-in: [011a6be4] user: drh branch: trunk, size: 106797)
2013-11-21
21:59
[5251f178] part of check-in [4e8c5d07] Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. (check-in: [4e8c5d07] user: drh branch: trunk, size: 106749)
03:12
[648f7236] part of check-in [ecaac28a] Performance optimization to the OP_Next and OP_Prev opcodes. (check-in: [ecaac28a] user: drh branch: trunk, size: 106749)
01:04
[bbf06ccb] part of check-in [93393993] Reduce the size of VdbeCursor again, this time without a performance hit. (check-in: [93393993] user: drh branch: OP_Column-refactor, size: 106697)
2013-11-20
17:25
[c5926099] part of check-in [7c914e39] Refactoring the OP_Column opcode for improved performance and maintainability. (check-in: [7c914e39] user: drh branch: OP_Column-refactor, size: 106682)
2013-11-19
13:55
[91f9e1fb] part of check-in [17e8524f] Minor performance improvement to sqlite3SerialTypeGet(). (check-in: [17e8524f] user: drh branch: trunk, size: 106690)
2013-11-14
19:18
[eade21d5] part of check-in [7596d1bf] Merge the skip-scan optimization into the sessions branch. (check-in: [7596d1bf] user: drh branch: sessions, size: 109389)
2013-11-13
17:58
[dd0f6ab9] part of check-in [8ce33f4c] Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify some of the other debugging logic. (check-in: [8ce33f4c] user: drh branch: trunk, size: 106710)
2013-11-12
20:18
[75c5fee3] part of check-in [0d1328e3] Minor enhancements to the auxiliary information added to EXPLAIN output with SQLITE_EXPLAIN_ENABLE_COMMENTS. (check-in: [0d1328e3] user: drh branch: trunk, size: 106792)
2013-11-11
22:55
[f2905bb1] part of check-in [5addd123] Merge in the WITHOUT ROWID changes. A few tests are failing now. They will be fixed in a follow-on check-in. (check-in: [5addd123] user: drh branch: sessions, size: 109478)
16:55
[84d2d421] part of check-in [924d63b2] Remove unreachable code, replacing it in most cases with assert() or NEVER() macros. (check-in: [924d63b2] user: drh branch: trunk, size: 106799)
2013-11-06
19:59
[faf5c3c9] part of check-in [defd5205] Reference count the KeyInfo object. Cache a copy of an appropriate KeyInfo for each index in the Index object, and reuse that one copy as much as possible. (check-in: [defd5205] user: drh branch: omit-rowid, size: 106788)
2013-11-05
13:33
[6508022e] part of check-in [54b22192] Standardize the error messages generated by constraint failures to a format of "$TYPE constraint failed: $DETAIL". This involves many changes to the expected output of test cases. (check-in: [54b22192] user: drh branch: omit-rowid, size: 107370)
2013-10-31
20:34
[cf6d0bc6] part of check-in [9b6d9e10] Fix the Synopsis on OP_Concat. Added test_addop_breakpoint() during SQLITE_DEBUG. Enhanced sqlite3VdbeChangeToNoop() to omit the instruction if it is the most recent added. Continue to fix problems with UPDATE and WITHOUT ROWID. (check-in: [9b6d9e10] user: drh branch: omit-rowid, size: 107370)
11:15
[717c8c2e] part of check-in [1adfca60] Refactor the INSERT, DELETE, and UPDATE code generators to distinguish between the "data cursor" and the "first index cursor", which are no longer consecutive in the case of a WITHOUT ROWID table. (check-in: [1adfca60] user: drh branch: omit-rowid, size: 107042)
2013-10-30
15:52
[347cfece] part of check-in [6d9af606] Make sure KeyInfo objects on multi-column indices of WITHOUT ROWID tables have the correct nField and nXField values. Also, add the SQLITE_ENABLE_MODULE_COMMENT compile-time option and the VdbeModuleComment() macro and use it to label entry and exit points of some key routines. (check-in: [6d9af606] user: drh branch: omit-rowid, size: 107041)
13:46
[517c110b] part of check-in [72d45eb7] In the P4 column of the EXPLAIN listing, abbreviate "keyinfo" as just "k" and "BINARY" as just "B". (check-in: [72d45eb7] user: drh branch: omit-rowid, size: 107025)
02:37
[4b01ac1c] part of check-in [2fcac056] Merge EXPLAIN enhancements from trunk. (check-in: [2fcac056] user: drh branch: omit-rowid, size: 106930)
02:28
[1cbff05c] part of check-in [e1a89b56] Add the SQLITE_ENABLE_EXPLAIN_COMMENTS compile-time option to enable extra commentary in the EXPLAIN output. Formerly, this was only available with SQLITE_DEBUG. (check-in: [e1a89b56] user: drh branch: trunk, size: 107443)
00:25
[24deeaf0] part of check-in [d6b0c392] Enhanced display of register ranges in the auxiliary comments added to EXPLAIN. (check-in: [d6b0c392] user: drh branch: trunk, size: 107258)
2013-10-29
20:47
[3c36d92d] part of check-in [8bb51da1] Import the automatic comment generating changes from trunk. (check-in: [8bb51da1] user: drh branch: omit-rowid, size: 106093)
20:40
[e670a2bd] part of check-in [5f310c6a] Automatically generated comments on many VDBE opcodes when in SQLITE_DEBUG mode. Comments derive from the "Synopsis:" field added to each opcode definition in vdbe.c. (check-in: [5f310c6a] user: drh branch: trunk, size: 106606)
2013-10-26
13:36
[4ccdfd27] part of check-in [e6650e16] Replace the OP_IsUnique opcode with OP_NoConflict. This code simplification might be useful to move onto trunk even if this branch is never merged. (check-in: [e6650e16] user: drh branch: omit-rowid, size: 104442)
2013-10-23
13:30
[6d59c132] part of check-in [b21d831b] Some inserts and queries working for multi-column primary keys and WITHOUT ROWID. (check-in: [b21d831b] user: drh branch: omit-rowid, size: 105001)
2013-10-10
20:13
[371a22e7] part of check-in [136445ba] Synchronize with the trunk. (check-in: [136445ba] user: drh branch: sessions, size: 107634)
2013-09-17
23:36
[55f4858f] part of check-in [cebd6fc5] Clear the current time value on prepared statements when the prepared statement is reset. (check-in: [cebd6fc5] user: drh branch: trunk, size: 104955)
2013-09-06
13:10
[88beca92] part of check-in [97b10e66] Combine the FuncDef.iPrefEnc and FuncDef.flags fields into a single new FuncDef.funcFlags field. (check-in: [97b10e66] user: drh branch: trunk, size: 104932)
2013-08-22
15:07
[20ec92cd] part of check-in [831492dc] Merge in minor bug fixes and performance tweaks from trunk leading up to the version 3.8.0 release. (check-in: [831492dc] user: drh branch: sessions, size: 107607)
2013-08-21
17:35
[c7fe2695] part of check-in [854ba304] If a virtual table xSync() returns an error message, copy it into a buffer allocated by sqlite3DbMalloc() before transfering it to Vdbe.zErrMsg. (check-in: [854ba304] user: dan branch: trunk, size: 104928)
2013-08-06
14:52
[6549864e] part of check-in [69d5bed0] Merge in the latest changes from trunk. (check-in: [69d5bed0] user: drh branch: sessions, size: 107121)
07:45
[a6ea36a9] part of check-in [924f7e4d] More than double the speed of the resolveP2Values() routine in vdbeaux.c by moving from an extended if-else on every opcode to a switch. Opcodes are reordered in mkopcodesh.awk to put the switched opcodes close together, for additional performance and to reduce code footprint. (check-in: [924f7e4d] user: drh branch: trunk, size: 104442)
2013-08-05
19:11
[d5cdd5bd] part of check-in [7301bedd] Factor all KeyInfo object allocations into a single function: sqlite3KeyInfoAlloc(). Always allocate enough space so that sqlite3VdbeRecordCompare() can avoid checking boundaries and hence run faster. (check-in: [7301bedd] user: drh branch: trunk, size: 104221)
15:32
[1a149d40] part of check-in [28979dcd] Improve performance of sqlite3VdbeRecordCompare() by using an approximation that might give false negatives and only running the more expensive exact subexpression if the approximation fails. (check-in: [28979dcd] user: drh branch: trunk, size: 104520)
2013-08-02
20:44
[ef37cae6] part of check-in [7e1acb39] 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: [7e1acb39] user: drh branch: sessions, size: 106806)
20:11
[4389b369] part of check-in [c5c0a8ab] Add NEVER() and ALWAYS() macros on some unreachable yet prudent branches. (check-in: [c5c0a8ab] user: drh branch: trunk, size: 104127)
16:41
[b04447e8] part of check-in [478113f1] Add support for partial indices. (check-in: [478113f1] user: drh branch: trunk, size: 104163)
2013-08-01
20:26
[902bc99e] part of check-in [e436b2f4] Fix a potential buffer overread in sqlite3VdbeRecordCompare() when a serial_type specifies a field that starts in bounds but is much too large for the allocated buffer. Mostly harmless. The overread is unlikely to go more than one or two bytes past the end of the buffer. (check-in: [e436b2f4] user: drh branch: trunk, size: 104158)
19:17
[ca0c9d4b] part of check-in [c3baca99] Make sure signed integer overflow does not cause a segfault while attempting to read a corrupt database where the header size varint on a record is larger than the maximum 32-bit signed integer. (check-in: [c3baca99] user: drh branch: trunk, size: 104164)
12:21
[492376bd] part of check-in [81834c30] Refactor internal function name sqlite3VdbeGetValue() to sqlite3VdbeGetBoundValue(). (check-in: [81834c30] user: drh branch: partial-indices, size: 104164)
01:14
[75206d58] part of check-in [fb9044d1] Add the logic to keep partial indices up to date through DML statements and when new partial indices are created. This new logic is untested except to verify that it does not interfere with full indices. (check-in: [fb9044d1] user: drh branch: partial-indices, size: 104159)
2013-07-18
17:12
[c01594ec] part of check-in [71effa59] 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: [71effa59] user: dan branch: typo, size: 104159)
2013-07-11
15:03
[1633408f] part of check-in [527121ac] 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: [527121ac] user: drh branch: trunk, size: 103783)
12:19
[35846ced] part of check-in [3a2ab74c] Rename the SQLITE_DeferForeignKeys macro to shorter SQLITE_DeferFKs. Move the "defer_foreign_keys" pragma into the flagPragma() routine. (check-in: [3a2ab74c] user: drh branch: sessions, size: 106462)
2013-07-09
13:05
[84f5fb7c] part of check-in [af3ca4c6] Pull in all the latest changes from trunk. (check-in: [af3ca4c6] user: drh branch: sessions, size: 106470)
2013-07-05
16:54
[9683f262] part of check-in [ff8c3f78] Replace an erroneous SQLITE_OMIT_VIRTUAL_TABLE in vdbeaux.c with SQLITE_OMIT_WAL. Also fix some test script problems. (check-in: [ff8c3f78] user: dan branch: trunk, size: 103627)
2013-07-03
19:53
[2e82e249] part of check-in [1d44e5d3] 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: [1d44e5d3] user: dan branch: sessions, size: 105865)
2013-06-28
19:41
[4a0fe1f4] part of check-in [f308c485] Allow read transactions to be freely opened and closed by SQL statements run from within the implementation of user-functions if the user-function is called by a SELECT statement that does not access any database tables (e.g. "SELECT user_function();"). (check-in: [f308c485] user: dan branch: trunk, size: 103636)
01:24
[00674a9b] part of check-in [59f98c5c] Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. (check-in: [59f98c5c] user: drh branch: trunk, size: 103415)
2013-06-27
23:54
[70d850cc] part of check-in [14f79696] Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes "nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and "nVdbeExec". (check-in: [14f79696] user: drh branch: trunk, size: 103396)
17:40
[727ad606] part of check-in [1937fd8e] 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: [1937fd8e] user: drh branch: trunk, size: 103385)
2013-06-26
13:31
[a0418e1e] part of check-in [086a1272] Bring the sessions branch up-to-date with all the latest trunk changes. (check-in: [086a1272] user: drh branch: sessions, size: 105701)
2013-05-28
12:11
[af9cd937] part of check-in [a0d5cc93] Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (check-in: [a0d5cc93] user: drh branch: trunk, size: 103022)
2013-04-09
19:19
[1521655b] part of check-in [96f04d99] Check in the instrumented code for the mptest test case that appears to show a spontaneously disappearing journal file. (check-in: [96f04d99] user: dan branch: missing-journal-file, size: 103062)
2013-03-28
01:19
[426263e9] part of check-in [ee35a897] Merge the changes for the 3.7.16.1 release candidate into the sessions branch. (check-in: [ee35a897] user: drh branch: sessions, size: 105700)
2013-03-21
21:20
[ecb43014] part of check-in [6f6e2d50] Many spelling fixes in comments. No changes to code. (check-in: [6f6e2d50] user: mistachkin branch: trunk, size: 103021)
2013-03-13
11:42
[b49b277b] part of check-in [e54b0225] Fix a compiler warning in sqlite3VdbePreUpdateHook(). Add sqlite3session.c to the amalgamation. Fix the Makefile.in to work with sessions. (check-in: [e54b0225] user: drh branch: sessions, size: 105697)
2013-02-13
13:42
[684c1591] part of check-in [7e14dc73] Enhancements to the query planner to make use of indices for ORDER BY even when IN constraints are in the WHERE clause. Add extended error codes for all SQLITE_CONSTRAINT errors. (check-in: [7e14dc73] user: drh branch: sessions, size: 105692)
2013-02-09
13:58
[735a6905] part of check-in [54611046] Add extended error codes for constraint errors. (check-in: [54611046] user: drh branch: constraint-error-codes, size: 103018)
2013-01-29
19:14
[8b5d13a2] part of check-in [ae565ff3] New debugging pragmas: PRAGMA vdbe_debug=ON is short-hand for the sql_trace, vdbe_listing, and vdbe_trace pragmas. PRAGMA vdbe_debug enables tracing of sqlite3VdbeAddOp() calls. None of this is active unless compiled with SQLITE_DEBUG. (check-in: [ae565ff3] user: drh branch: trunk, size: 102960)
2013-01-28
19:00
[ec83f5db] part of check-in [c2462a95] Issue an error message and quit (rather than overflowing a reference counter) if the number of references to a table exceeds the maximum due to nested UNION views. Fix for ticket [d58ccbb3f1]. (check-in: [c2462a95] user: drh branch: trunk, size: 103176)
2013-01-25
02:10
[570714c7] part of check-in [82d3d1ae] Enhancements to the query planner to exploit transitive relationships in the WHERE clause, and other minor changes to bring the sessions branch into alignment with the trunk. (check-in: [82d3d1ae] user: drh branch: sessions, size: 105855)
2013-01-23
18:44
[7c323149] part of check-in [5bfb5967] Fix a double-free() call that can occur when SQLITE_ENABLE_TREE_EXPLAIN is defined. (check-in: [5bfb5967] user: drh branch: trunk, size: 103181)
2012-12-08
23:37
[0ce759dc] part of check-in [4f6d69ae] Pull the latest trunk changes into the sessions branch, and in particular the collating-sequence refactorization. (check-in: [4f6d69ae] user: drh branch: sessions, size: 105850)
21:36
[7658c5d9] part of check-in [cdbfa664] Adjustments to the collating-sequence refactoring to facilitate full-coverage testing and to fix some minor issues found by TH3. (check-in: [cdbfa664] user: drh branch: ticket-71e333e7, size: 103176)
2012-12-06
20:19
[15b1ef21] part of check-in [0d7b5d45] Cherrypick [557c69055a3] and [0064bab7714] (OP_Once-related fixes for triggers). (check-in: [0d7b5d45] user: dan branch: branch-3.7.9, size: 103343)
2012-12-05
14:31
[f68a1243] part of check-in [9f6c6885] Make sure memory is freed using a routine that is compatible with the routine used to allocate the memory. The SQLITE_MEMDEBUG compile-time option enforces this. (check-in: [9f6c6885] user: drh branch: trunk, size: 103273)
2012-12-03
17:04
[2d1b3ee6] part of check-in [b0c1ba65] Make sure that the optimization that set the maximum column that will be used on a particular query does not mistakenly change an opcode other than OP_OpenRead or OP_OpenWrite. In particular, make sure it does not overwrite the P4 field of an OP_SorterOpen. (check-in: [b0c1ba65] user: drh branch: trunk, size: 103278)
2012-11-27
21:56
[b8f2a0cb] part of check-in [ba8d08b6] Update the sessions branch to include the SQLLOG enhancement, the SQLITE_IOERR_DELETE_NOENT fix, and a fix for the number-of-documents bug in FTS4. (check-in: [ba8d08b6] user: drh branch: sessions, size: 105890)
2012-11-26
19:50
[552a878f] part of check-in [cd501bbc] Add an option to register global hooks used for logging all SQL executed by an application. (check-in: [cd501bbc] user: dan branch: sqllog, size: 103216)
2012-10-30
21:03
[5f53f96c] part of check-in [fce667f2] Pull all the latest trunk enhancements into the sessions branch. (check-in: [fce667f2] user: drh branch: sessions, size: 105271)
2012-10-26
00:11
[8c8cfd30] part of check-in [f7c5abe8] Make sure all virtual table cursors have been closed on a prepared statement prior to unlinking the perpared statement from its database connection. (check-in: [f7c5abe8] user: drh branch: deferred-close-order, size: 102597)
2012-10-09
14:58
[1005a2ea] part of check-in [f1fbb8c5] Merge the latest trunk changes, especially the ORDER BY optimizer enhancements but also other fixes, onto the sessions branch. (check-in: [f1fbb8c5] user: drh branch: sessions, size: 105193)
2012-10-05
19:43
[674e969e] part of check-in [e0c889d6] Fix a problem in shared-cache mode where a COMMIT statement might cause a busy-handler belonging to a shared-cache connection other than the current writer to be invoked. (check-in: [e0c889d6] user: dan branch: trunk, size: 102519)
2012-09-28
13:05
[857c8372] part of check-in [6ca8eae1] Merge the latest trunk changes (especially "PRAGMA busy_timeout" and the ORDER BY query planner optimizations) into the sessions branch. (check-in: [6ca8eae1] user: drh branch: sessions, size: 105133)
10:57
[a709b258] part of check-in [6a5c59dd] Merge the latest trunk changes (PRAGMA busy_timeout and the ORDER BY query planner enhancements) into the apple-osx branch. (check-in: [6a5c59dd] user: drh branch: apple-osx, size: 102480)
2012-09-17
17:16
[fac025c7] part of check-in [45793f0b] Make sure the KeyInfo.aSortOrder array is always allocated so that we never have to test for KeyInfo.aSortOrder==0 in performance-critical loops. (check-in: [45793f0b] user: drh branch: trunk, size: 102459)
15:36
[aeeee6c9] part of check-in [ad298f52] Performance enhancement in the sqlite3VdbeSerialType() routine. (check-in: [ad298f52] user: drh branch: trunk, size: 102397)
2012-08-31
14:23
[797201e1] part of check-in [87995dc9] Update with latest trunk changes. (check-in: [87995dc9] user: dan branch: sessions, size: 104997)
14:10
[a3423091] part of check-in [bc9b9cd0] Merge in latest trunk changes. (check-in: [bc9b9cd0] user: dan branch: apple-osx, size: 102430)
2012-08-25
10:01
[9c293fd3] part of check-in [9b19b847] Fix all known instances of 'repeated the' style typos in comments. No changes to code. (check-in: [9b19b847] user: mistachkin branch: trunk, size: 102409)
01:38
[5c738e03] part of check-in [6723add4] Merge all the latest trunk changes into the apple-osx branch. (check-in: [6723add4] user: drh branch: apple-osx, size: 102434)
2012-08-22
15:16
[84bd1535] part of check-in [acdc7d12] Do not let the multi-core sorter use lookaside memory, which is not thread-safe. (check-in: [acdc7d12] user: drh branch: threads-sort-ex1, size: 102406)
2012-08-15
16:21
[91923b78] part of check-in [fc07a479] Merge all the latest trunk changes into the sessions branch. (check-in: [fc07a479] user: drh branch: sessions, size: 105001)
2012-06-02
14:32
[dce80038] part of check-in [e276a02b] 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: [e276a02b] user: drh branch: deferred-close, size: 102413)
2012-05-27
00:11
[3d97b738] part of check-in [997ef5f6] Fix corner-case problems with shared-cache for in-memory databases. (check-in: [997ef5f6] user: drh branch: shared-cache-memdb, size: 102254)
2012-04-19
20:43
[88b9df24] part of check-in [b72f07b4] Update the apple-osx branch so that it includes all of the latest trunk changes. (check-in: [b72f07b4] user: drh branch: apple-osx, size: 102391)
2012-04-18
01:41
[dcff925e] part of check-in [87a0eab5] Import all the latest trunk changes into the sessions branch. (check-in: [87a0eab5] user: drh branch: sessions, size: 104958)
2012-03-31
09:59
[d52c8a42] part of check-in [c9342ca5] Fix a bug in the EXPLAIN code for listing trigger programs that was causing an out-of-bounds read. (check-in: [c9342ca5] user: dan branch: trunk, size: 102370)
2012-03-05
16:39
[dfaa1694] part of check-in [504bf490] Pull in all the latest trunk changes. (check-in: [504bf490] user: drh branch: apple-osx, size: 102385)
16:26
[2803275c] part of check-in [ff86875c] Merge in the latest trunk changes. (check-in: [ff86875c] user: drh branch: sessions, size: 104952)
2012-02-13
17:01
[79cf42b7] part of check-in [549f4fd0] Add the new SQLITE_ABORT_ROLLBACK extended error code to be returned for statements that are cancelled due to a rollback. (check-in: [549f4fd0] user: drh branch: nonblocking-rollback, size: 102364)
16:43
[dce061e4] part of check-in [9b66c79e] Change the ROLLBACK command so that pending statements to not block it. The pending statements instead return SQLITE_ABORT upon next access. Note: This causes separate shared-cache connections in read_uncommitted mode to abort as well. (check-in: [9b66c79e] user: drh branch: nonblocking-rollback, size: 102337)
13:44
[63ff98c1] part of check-in [922bcbb4] 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: [922bcbb4] user: drh branch: generalize-interrupt, size: 103370)
2012-02-10
18:18
[41cf1fc6] part of check-in [e2485986] Pull the latest trunk changes into the apple-osx branch. (check-in: [e2485986] user: drh branch: apple-osx, size: 103378)
17:54
[b7c245fe] part of check-in [361fb66a] Pull all the latest trunk changes into the sessions branch. (check-in: [361fb66a] user: drh branch: sessions, size: 105945)
2012-02-01
19:03
[7683d772] part of check-in [a38d57a4] Very small performance enhancement and reduction in size of the sqlite3_stmt object. (check-in: [a38d57a4] user: drh branch: trunk, size: 103357)
2012-01-25
20:43
[e8cf7b25] part of check-in [11f68d99] Only invalidate the schema when the OP_ParseSchema opcode fails, not on any general failure of a vdbe program. (check-in: [11f68d99] user: drh branch: trunk, size: 103473)
2012-01-14
14:13
[819a6b2b] part of check-in [2cc414cd] Merge the latest trunk changes into the apple-osx branch. (check-in: [2cc414cd] user: drh branch: apple-osx, size: 103724)
2012-01-05
13:02
[ca1eada4] part of check-in [a9bcb432] Merge all of the latest trunk changes into the sessions branch. (check-in: [a9bcb432] user: drh branch: sessions, size: 106291)
2012-01-04
12:57
[eb13a691] part of check-in [e9d05cbb] Fix typos and comments and make minor changes to a few function names, as suggested by readership. (check-in: [e9d05cbb] user: drh branch: trunk, size: 103703)
2012-01-03
21:54
[9dd6bfd0] part of check-in [8a048423] Pull all the latest trunk changes over into the apple-osx branch. (check-in: [8a048423] user: drh branch: apple-osx, size: 103648)
14:50
[01fe6e35] part of check-in [d73e93cf] Make sure filenames passed into sqlite3OsOpen() always have the extra zero-terminators needed by sqlite3_uri_parameter(). (check-in: [d73e93cf] user: drh branch: trunk, size: 103627)
2012-01-01
13:58
[6b6c7aca] part of check-in [e3a929e4] Tweaks to improve testability. (check-in: [e3a929e4] user: drh branch: trunk, size: 103626)
2011-12-16
15:11
[3015179b] part of check-in [b1005ef4] Improved logging of master-journal name conflicts. (check-in: [b1005ef4] user: drh branch: trunk, size: 103549)
13:42
[4a96cdde] part of check-in [cf3bccc2] Merge the nx-devkit changes into trunk. (check-in: [cf3bccc2] user: drh branch: trunk, size: 103402)
01:30
[52ebf2a6] part of check-in [e9177f7d] Call sqlite3_log() with an appropriate message if unable to find a unique master-journal filename. (check-in: [e9177f7d] user: drh branch: nx-devkit, size: 102900)
01:21
[7bae4d94] part of check-in [2685c2b9] A better solution to being unable to find a unique master-journal filename: just delete an existing master-journal and reuse it. (check-in: [2685c2b9] user: drh branch: nx-devkit, size: 102829)
00:33
[896ce3c4] part of check-in [34a04836] Make sure the antipenultimate character of master-journal filenames is a "9" in order to avoid collisions with other files in 8+3 filename mode. Also, limit the number of attempts at finding a unique master-journal filename. (check-in: [34a04836] user: drh branch: nx-devkit, size: 102805)
2011-12-10
15:55
[61a3cc2b] part of check-in [bcbc7152] Import the experimental parse-tree explainer, with fixes, from the tree-explain branch. Disabled by default. Use SQLITE_ENABLE_TREE_EXPLAIN to turn it on. (check-in: [bcbc7152] user: drh branch: trunk, size: 102884)
14:44
[1b99a1f6] part of check-in [1a360da0] Merge the latest trunk changes into tree-explain branch. (check-in: [1a360da0] user: drh branch: tree-explain, size: 102860)
2011-12-09
17:51
[ff5eefb4] part of check-in [d9ba023c] Remove an unnecessary condition. (check-in: [d9ba023c] user: drh branch: uninit-vdbe-mem, size: 102750)
17:38
[71a0cd6a] part of check-in [421714da] Remove an unnecessary initialization of Vdbe.aOnceFlag. (check-in: [421714da] user: drh branch: uninit-vdbe-mem, size: 102769)
16:21
[d9d406ae] part of check-in [521d72bd] Make no assumptions about the initial state of VDBE registers. (check-in: [521d72bd] user: drh branch: uninit-vdbe-mem, size: 102829)
13:24
[cdd74a86] part of check-in [557c6905] Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442]. (check-in: [557c6905] user: dan branch: trunk, size: 102725)
2011-12-08
21:08
[ab25ef4d] part of check-in [59e0d4f3] Merge the latest trunk changes into the apple-osx branch. (check-in: [59e0d4f3] user: drh branch: apple-osx, size: 102403)
2011-12-06
19:44
[ed720512] part of check-in [79ae51c5] Begin adding the data-structure explaining subsystem. All is contained within (check-in: [79ae51c5] user: drh branch: tree-explain, size: 102473)
2011-11-16
16:23
[45713a5f] part of check-in [a5418c7f] Remove code made obsolete by the changes to index processing that allow range search on the rowid. (check-in: [a5418c7f] user: drh branch: trunk, size: 102382)
15:41
[3ff5f59d] part of check-in [888b09dd] Fix an invalid assert() statement added by [3b58f5f066]. (check-in: [888b09dd] user: dan branch: trunk, size: 102956)
15:27
[17bee21d] part of check-in [3b58f5f0] Where possible, take advantage of the rowid at the end of index records to optimize range constraints (<, >, <=, >=) on the rowid column. (check-in: [3b58f5f0] user: dan branch: trunk, size: 102957)
2011-10-31
14:42
[dfe420be] part of check-in [4fa9ee79] Pull the latest trunk changes into the apple-osx branch. (check-in: [4fa9ee79] user: drh branch: apple-osx, size: 102977)
14:34
[6836b38d] part of check-in [23580718] Merge in all changes found in the version 3.7.9 release candidate. (check-in: [23580718] user: drh branch: sessions, size: 105544)
2011-10-29
01:33
[a950e344] part of check-in [dcb78793] Avoid reporting a NOMEM error if a memory allocation fails while copying the error message from a prepared statement into the database connection. (check-in: [dcb78793] user: drh branch: trunk, size: 102956)
2011-10-27
15:19
[9cb5c1a8] part of check-in [8f88cc4e] 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: [8f88cc4e] user: dan branch: trunk, size: 102879)
2011-10-21
17:18
[a76f50a5] part of check-in [be62ef05] Merge the latest trunk changes into the apple-osx branch. (check-in: [be62ef05] user: drh branch: apple-osx, size: 102531)
17:08
[c2e9565d] part of check-in [8baef581] Merge the latest trunk enhancements into the sessions branch. (check-in: [8baef581] user: drh branch: sessions, size: 105098)
2011-10-14
21:49
[5bd4886b] part of check-in [60fee957] Add assert() statements and eliminate needless variable assignments in order to get the clang scan-build utility to report zero problems against the SQLite core. Clang's static analysis did find one real problem - but it was in the command-line shell, not in the SQLite core. (check-in: [60fee957] user: drh branch: trunk, size: 102510)
2011-10-11
14:19
[1387589c] part of check-in [7e2c4898] Merge the latest trunk changes into the apple-osx branch. (check-in: [7e2c4898] user: drh branch: apple-osx, size: 102612)
12:58
[2339c8c4] part of check-in [403431ca] Merge all the latest trunk changes into the sessions branch - especially the SQLITE_ENABLE_STAT3 enhancements. (check-in: [403431ca] user: drh branch: sessions, size: 105179)
2011-10-10
23:53
[669fe607] part of check-in [6cb43f6c] Forward port the Apple-specific changes from [db5b7b778c] in the apple-osx-377 branch. Fix this up so that it will compile and run on Linux. (check-in: [6cb43f6c] user: drh branch: apple-osx, size: 102575)
22:11
[cfb5207d] part of check-in [db5b7b77] Merging in cherry picked diffs for persist wal, alloc padding, wal-safe vacuum and sqlite3_file_control based lockstate checking (check-in: [db5b7b77] user: adam branch: apple-osx-377, size: 102380)
18:59
[ebe8ca77] part of check-in [aef7945c] Cherrypick the sqlite_data_count() changes from [d4f95b3b6e] and [9913996e7b] into the apple-osx branch for version 3.7.7. (check-in: [aef7945c] user: drh branch: apple-osx-377, size: 102359)
2011-10-07
18:24
[b4d50974] part of check-in [d4f95b3b] Make sure sqlite3_data_count() behaves as documented, even for EXPLAIN QUERY PLAN queries. (check-in: [d4f95b3b] user: drh branch: trunk, size: 102591)
12:59
[9542e2fb] part of check-in [9913996e] Enhance the sqlite3_data_count() routine so that it can be used to determine if SQLITE_DONE has been seen on the prepared statement. (check-in: [9913996e] user: drh branch: trunk, size: 102563)
2011-09-16
19:40
[61701754] part of check-in [5efb0294] Merge the latest trunk changes into the sessions branch. (check-in: [5efb0294] user: drh branch: sessions, size: 105093)
19:29
[461e3e39] part of check-in [51908c8f] Merge all the latest trunk changes into the experimental STAT3 branch. (check-in: [51908c8f] user: drh branch: stat3-trunk, size: 102542)
01:34
[49be7a5c] part of check-in [7f00552b] Add the new OP_Once opcode. Use it to clean up and simplify various one-time initialization sections in the code, including the fix for ticket [002caede898ae]. (check-in: [7f00552b] user: drh branch: tkt-002caede898, size: 102505)
2011-09-14
19:41
[b09cc163] part of check-in [c00e45ed] Merge latest changes from the trunk into the sessions branch. (check-in: [c00e45ed] user: dan branch: sessions, size: 105149)
18:19
[ca8aa399] part of check-in [3035dc1c] Remove 'const' from a variable that might actually be written when an OOM error occurs. Also, fix a couple MSVC/Win32 compiler warnings. (check-in: [3035dc1c] user: mistachkin branch: trunk, size: 102561)
2011-09-13
19:09
[316409c6] part of check-in [11ca4ed8] Merge the latest trunk changes into the stat3-trunk branch. (check-in: [11ca4ed8] user: drh branch: stat3-trunk, size: 102604)
2011-09-05
20:16
[079d37d4] part of check-in [d0712dfb] Fix a minor performance regression in btreeMoveto(). (check-in: [d0712dfb] user: dan branch: trunk, size: 102567)
14:20
[8546b948] part of check-in [f115b230] Refactor the sqlite3VdbeRecordUnpack() interface to better accommodate the vdbesort.c module. (check-in: [f115b230] user: dan branch: trunk, size: 102569)
2011-09-01
15:32
[e58acbc5] part of check-in [bab2e560] Experimental code-generator changes to utilize new opcodes for sorting. (check-in: [bab2e560] user: drh branch: merge-sort, size: 102631)
2011-08-28
00:19
[de1e4cab] part of check-in [087dc960] Correctly display P4_ADVANCE values on opcode traces. Mark an always-taken branch in OP_Column as such. (check-in: [087dc960] user: drh branch: experimental, size: 102606)
2011-08-27
18:48
[dd5d10ae] part of check-in [1a249845] Experimental changes to improve the performance of OP_Next. (check-in: [1a249845] user: dan branch: experimental, size: 102544)
2011-08-26
19:20
[4b5f0e80] part of check-in [eb036d6f] Merge the latest trunk changes into the sessions branch. (check-in: [eb036d6f] user: drh branch: sessions, size: 104425)
13:52
[a42e8b2e] part of check-in [0df04f92] Merge branches branch-3.7.2 and stat3-enhancement into a new branch for testing purposes. (check-in: [0df04f92] user: drh branch: stat3-3.7.2, size: 100026)
13:16
[1bd0fbea] part of check-in [63f2c785] Merge the stat3-enhancement branch with trunk, but keep the resulting merge in a separate branch for now. (check-in: [63f2c785] user: drh branch: stat3-trunk, size: 102361)
2011-08-24
15:12
[11b0df88] part of check-in [46f5a68b] Fix some harmless compiler warnings. (check-in: [46f5a68b] user: drh branch: trunk, size: 102324)
2011-08-16
02:07
[05eb4457] part of check-in [9650d796] Allow the sqlite3VdbeJumpHere() routine to accept a negative or zero address if a prior memory allocation error has occurred. The new sqlite_stat3 logic needs this. (check-in: [9650d796] user: drh branch: stat3-enhancement, size: 102365)
2011-07-22
12:49
[7d0b75a0] part of check-in [110cfd69] Merge the latest trunk changes into the sessions branch. (check-in: [110cfd69] user: drh branch: sessions, size: 104429)
2011-07-12
14:28
[8fb978eb] part of check-in [30dbf0fe] Experimental support for speeding up CREATE INDEX commands using an offline merge sort. (check-in: [30dbf0fe] user: dan branch: experimental, size: 102366)
2011-07-11
19:45
[bb86d48c] part of check-in [82ac16c4] Modifications so that the sessions extension works with blob handles. (check-in: [82ac16c4] user: dan branch: sessions, size: 104411)
2011-06-27
00:01
[4d100407] part of check-in [faa38c87] Make sure all new statements begin life unexpired, even if they registered functions or did other actions during preparation that would have expired all statements. Fix for ticket [25ee81271091] (check-in: [faa38c87] user: drh branch: trunk, size: 102328)
2011-06-20
10:44
[db3d4eed] part of check-in [4c5e276c] Merge the latest trunk changes into the sessions branch. (check-in: [4c5e276c] user: drh branch: sessions, size: 104299)
2011-06-03
20:11
[0b2e2880] part of check-in [957b2ab6] Create and use a function especially for adding the ParseSchema opcode. This gives a small reduction in code and a small performance increase. (check-in: [957b2ab6] user: drh branch: trunk, size: 102310)
2011-06-01
18:15
[0505dc4f] part of check-in [b3aaf715] Refactor the SQL parameter processing so that parameter names for values that are optimized out of the prepare statement are not forgotten. (check-in: [b3aaf715] user: drh branch: trunk, size: 102004)
2011-05-30
23:42
[99900868] part of check-in [f9950c6a] Minor performance improvements. (check-in: [f9950c6a] user: drh branch: trunk, size: 101490)
13:39
[8c5a643b] part of check-in [832886b1] Merge the latest trunk changes into the sessions branch. (check-in: [832886b1] user: drh branch: sessions, size: 103399)
2011-05-25
01:16
[07a5226a] part of check-in [92f26a8b] Changes to savepoint in virtual tables for simpler and more consistent operation. (check-in: [92f26a8b] user: drh branch: trunk, size: 101410)
2011-05-19
02:48
[be135f46] part of check-in [5b1b536c] Merge all the latest trunk changes into the sessions branch, especially the disappearing WAL transaction fix. (check-in: [5b1b536c] user: drh branch: sessions, size: 103713)
2011-05-17
20:36
[53585121] part of check-in [96d60985] Add the ability to limit filenames to 8+3 using the SQLITE_ENABLE_8_3_NAMES compile-time option together with a URI parameter of "8_3_names=1". (check-in: [96d60985] user: drh branch: trunk, size: 101724)
2011-05-05
15:46
[cc95d80b] part of check-in [6883580e] Merge the latest trunk changes into the sessions branch. (check-in: [6883580e] user: drh branch: sessions, size: 103667)
2011-05-04
17:23
[25aa5ba7] part of check-in [8f9666af] Merge vtab-conflict branch with trunk. (check-in: [8f9666af] user: dan branch: trunk, size: 101678)
2011-04-27
01:00
[5b815011] part of check-in [19c6625a] Fix a comment typo. (check-in: [19c6625a] user: drh branch: trunk, size: 101425)
2011-04-26
19:21
[5c4cd4be] part of check-in [fb4a3558] Extra tests for fts3. And fixes for conflict-handling related problems in fts3. (check-in: [fb4a3558] user: dan branch: vtab-conflict, size: 101676)
2011-04-06
22:33
[b0a2a184] part of check-in [435b57dc] Merge in the latest changes from the trunk. (check-in: [435b57dc] user: drh branch: sessions, size: 103412)
22:05
[9ae5074b] part of check-in [614de91a] Fix a performance regression: Keep two btree masks in each prepared statement; one for btrees used and another for btrees that require locks. Only try to lock the btrees identified by the second mask. (check-in: [614de91a] user: drh branch: trunk, size: 101423)
2011-04-05
22:13
[88671caa] part of check-in [45f20261] Merge the latest trunk changes into the sessions branch. (check-in: [45f20261] user: drh branch: sessions, size: 103131)
22:08
[3170e917] part of check-in [3eeb0ff7] Suppress many harmless compiler warnings, mostly signed/unsigned comparisons within asserts or unused parameters in extensions. (check-in: [3eeb0ff7] user: drh branch: trunk, size: 101142)
17:31
[64304e50] part of check-in [242ce7cf] Remove the mutex counter and the logic that attempts to verify that btree mutexes are held continuously. We are not making that assumption at this time. (check-in: [242ce7cf] user: drh branch: trunk, size: 101137)
13:27
[12765fca] part of check-in [03ca8342] Pull the latest trunk changes (and hence the schema-parse-refactor changes) into the sessions branch. (check-in: [03ca8342] user: drh branch: sessions, size: 105006)
2011-04-04
13:19
[15eff6a3] part of check-in [95d53c44] Merge the latest changes of trunk into the session branch. (check-in: [95d53c44] user: drh branch: sessions, size: 105005)
13:07
[e1ea6edc] part of check-in [47b79c40] Merge in the latest changes from trunk. (check-in: [47b79c40] user: drh branch: schema-parse-refactor, size: 103017)
03:27
[010e4e67] part of check-in [f8e98ab3] Suppress unused parameter warnings in sqlite3VdbeEnter() and related routines. (check-in: [f8e98ab3] user: drh branch: trunk, size: 103016)
00:14
[1a98cc95] part of check-in [d81708f7] Remove the BtreeMutexArray object - use the Vdbe.btreeMask field to accomplish the same result. Add a generation counter to btree mutexes in order to assert that mutexes are never temporarily dropped over a range of instructions in order to do deadlock avoidance in some subroutine. Lock all btrees in any Vdbe program that uses OP_ParseSchema. (check-in: [d81708f7] user: drh branch: trunk, size: 102900)
2011-04-03
18:19
[ad921cf5] part of check-in [e2a09ea7] Make sure that the constant 1 is cast to yDbType before shifting to create an attached database mask. This check-in is a follow-up and fix to the [7aaf8772274422] change that increases the maximum number of attached databases from 30 to 62. (check-in: [e2a09ea7] user: drh branch: trunk, size: 100497)
2011-04-02
20:08
[f4b4a7dc] part of check-in [0d99229a] Merge in the latest changes from trunk. (check-in: [0d99229a] user: drh branch: schema-parse-refactor, size: 100494)
20:01
[80ed78c8] part of check-in [3d6f2e82] Change the name of the "tAttachMask" datatype to "yDbMask". (check-in: [3d6f2e82] user: drh branch: trunk, size: 100493)
16:28
[e97565fb] part of check-in [6a8ad6e3] Begin a series of changes designed to reduce the scope and frequency of invalidating schemas. Design goals are that the internal schema should never be deleted out from under a prepared statement that is running and that all prepared statements should be expired if the schema is invalidated. At the same time, minimize the number of schema invalidations. This change merely revises the sqlite3ResetInternalSchema() function to use -1 as the wildcard for "all" rather than 0, so that we can reset the main schema independently of all the others. (check-in: [6a8ad6e3] user: drh branch: schema-parse-refactor, size: 100502)
2011-04-01
15:43
[0dcfffca] part of check-in [d184cf00] Merge latest trunk changes. (check-in: [d184cf00] user: dan branch: sessions, size: 102490)
01:38
[77921792] part of check-in [4dc148bb] Fix a compiler warning and an unreachable branch. Restore 100% branch test coverage. (check-in: [4dc148bb] user: drh branch: trunk, size: 100501)
2011-03-30
21:04
[b526e30d] part of check-in [66345214] Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option. (check-in: [66345214] user: drh branch: sessions, size: 102469)
14:54
[d3e8be6f] part of check-in [3a27af5b] Do not generate sqlite_stat1 entries for empty tables when running ANALYZE. Ticket [83ea97620bd31016451] (check-in: [3a27af5b] user: drh branch: trunk, size: 100494)
02:03
[051a1609] part of check-in [b11d941e] Merge in all the latest changes from trunk. (check-in: [b11d941e] user: drh branch: sessions, size: 102401)
2011-03-29
15:40
[9211dfa7] part of check-in [dbe569a0] Fix a problem whereby following an IO error in CommitPhaseTwo() of a multi-file transaction the b-tree layer could be left in TRANS_WRITE state, causing problems later on. (check-in: [dbe569a0] user: dan branch: trunk, size: 100480)
2011-03-23
22:48
[af3be34b] part of check-in [9c3a6e47] Merge in all the latest changes from the trunk, and especially the interface changes to the SystemCall methods of the VFS. (check-in: [9c3a6e47] user: drh branch: sessions, size: 102395)
18:22
[cfd3f3ac] part of check-in [7aaf8772] Increase the upper bound on SQLITE_MAX_ATTACHED from 30 to 62. (check-in: [7aaf8772] user: drh branch: trunk, size: 100474)
2011-03-19
08:38
[0216b2c3] part of check-in [24d4d5dd] Fix a problem with INTEGER PRIMARY KEY columns and the pre-update hook. (check-in: [24d4d5dd] user: dan branch: sessions, size: 102379)
2011-03-18
16:47
[9807ae2e] part of check-in [9604d130] Fixes for compiler warnings. Minor code cleanup. (check-in: [9604d130] user: drh branch: sessions, size: 102253)
15:13
[bb194e12] part of check-in [bd94f4c8] Fix a memory allocation issues in the preupdate hook so that the hook.test script runs clean in valgrind. (check-in: [bd94f4c8] user: drh branch: sessions, size: 102206)
12:35
[ce48afec] part of check-in [94fd5bb6] Merge all the latest trunk enhancements into the sessions branch. (check-in: [94fd5bb6] user: drh branch: sessions, size: 102192)
2011-03-16
19:59
[896844f9] part of check-in [526545c4] Add the sqlite3_preupdate_new() API, for retrieving the new.* values from within a pre-update callback. (check-in: [526545c4] user: dan branch: sessions, size: 102037)
09:49
[f789da7d] part of check-in [b0015a1c] Remove the sqlite3_transaction_hook() API. (check-in: [b0015a1c] user: dan branch: sessions, size: 101616)
2011-03-08
19:22
[9ba08ed7] part of check-in [269a81a3] Add start of sessions feature. (check-in: [269a81a3] user: dan branch: sessions, size: 101961)
2011-03-06
21:54
[00439455] part of check-in [3bfbf026] Another minor simplification brought to light by clang. (check-in: [3bfbf026] user: drh branch: trunk, size: 100458)
2011-03-05
13:54
[3ce2588f] part of check-in [04abab71] Fix an instance of signed arithmetic overflow and an one bit-shift overflow. Mark six other signed arithmetic overflow locations that need fixing. (check-in: [04abab71] user: drh branch: trunk, size: 100470)
2011-03-03
20:06
[cc817d85] part of check-in [093d8cd8] Add the experimental sqlite3_transaction_hook() API. (check-in: [093d8cd8] user: dan branch: sessions, size: 101854)
2011-03-01
18:42
[874e1696] part of check-in [6145d7b8] Add the experimental sqlite3_preupdate_hook() API. (check-in: [6145d7b8] user: dan branch: sessions, size: 101509)
2011-02-12
05:34
[157d62a6] part of check-in [9d2b0af2] Fix problems in the backport, reducing the number of errors in the TCL tests to just a few dozen. Most of the remaining errors seem to be real and desirable changes of behavior. (check-in: [9d2b0af2] user: drh branch: branch-3.7.2, size: 99968)
2011-02-11
22:54
[5936a596] part of check-in [f7e2ea33] Add a NEVER() around a test that is believed to always be false. (check-in: [f7e2ea33] user: drh branch: trunk, size: 100331)
2011-01-24
16:00
[521b954f] part of check-in [8063197e] Ensure that if a deferred FK constraint is violated by a statement that creates its own implicit transaction, the statement is not an "active-write" after sqlite3_step() returns. (check-in: [8063197e] user: dan branch: deferred-fk-quirk, size: 100324)
2010-12-08
18:30
[33448d23] part of check-in [9c19b7ae] Update the sqlite3_stmt_readonly() interface so that its output is well-defined for all prepared statements, and so that it gives the correct result for VACUUM. (check-in: [9c19b7ae] user: drh branch: trunk, size: 100140)
2010-12-01
08:04
[b810a669] part of check-in [119ffe95] Avoid recursive calls to sqlite3VdbeMemRelease() when deleting VM frames used by trigger programs. (check-in: [119ffe95] user: dan branch: trunk, size: 100117)
2010-11-08
19:01
[762c2b14] part of check-in [f4747eb8] Experimental changes to EXPLAIN QUERY PLAN. (check-in: [f4747eb8] user: dan branch: experimental, size: 99984)
2010-08-31
01:09
[de0b06b1] part of check-in [86bcb9aa] Remove unreachable branches to facilitate test coverage. (check-in: [86bcb9aa] user: drh branch: trunk, size: 100023)
2010-08-12
11:25
[c73bcefc] part of check-in [228c5b16] Add coverage tests for pager.c. (check-in: [228c5b16] user: dan branch: trunk, size: 100007)
2010-07-30
18:40
[e18a42d0] part of check-in [83395a3d] If a database becomes corrupted such that an index is out of sync with its table, make sure the corruption is detected and reported back. Do not assume that indices always contain rowids for valid table rows. (check-in: [83395a3d] user: drh branch: trunk, size: 99478)
10:09
[8a443e73] part of check-in [cbbaf8e6] Add the test cases for bug [f3e5abed55]. (check-in: [cbbaf8e6] user: dan branch: experimental, size: 99554)
10:02
[bb14feb1] part of check-in [50c0f220] Make sure a connection has an exclusive lock on all database files involved in a multi-file transaction before writing the master-journal pointer into any journal files. Fix for [f3e5abed55]. (check-in: [50c0f220] user: dan branch: experimental, size: 99523)
2010-07-26
14:20
[77442ab4] part of check-in [934cda29] Further fixes to the P4_MEM size measurement logic. (check-in: [934cda29] user: drh branch: experimental, size: 99444)
13:58
[7564dc5c] part of check-in [8166f338] Fix an issue with P4_MEM and the schema size measurement logic. Also fix a compiler warning. (check-in: [8166f338] user: drh branch: experimental, size: 99392)
12:38
[30fa2472] part of check-in [56f11f88] Make sure sqlite3_free() is not called for P4_MPRINTF during a size measurement. (check-in: [56f11f88] user: drh branch: experimental, size: 99270)
12:05
[41a4b2f9] part of check-in [00e55102] Change the way SubProgram objects are deleted so that the code is the same for deletion and measurement. (check-in: [00e55102] user: dan branch: experimental, size: 99244)
11:07
[1616d797] part of check-in [629e38a8] Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: [629e38a8] user: drh branch: experimental, size: 100150)
2010-07-24
16:34
[e102e50a] part of check-in [ac1f37a6] Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: [ac1f37a6] user: drh branch: malloc-enhancement, size: 99176)
11:28
[9f18d228] part of check-in [9aa30342] Experimental code to measure memory consumed by database schemas and prepared statements. (check-in: [9aa30342] user: dan branch: experimental, size: 100093)
2010-07-02
18:44
[7f99c1f0] part of check-in [452ccaa9] Take out the incomplete initializer on the constant "dummy" in sqlite3VdbeGetOp(). Add a comment that the MSVC warning there should be ignored. (check-in: [452ccaa9] user: drh branch: mistake, size: 99119)
18:15
[10d14b40] part of check-in [26bc27e3] Fix a couple more compiler warnings under MSVC. (check-in: [26bc27e3] user: shaneh branch: mistake, size: 98929)
2010-06-03
12:09
[4e96a516] part of check-in [dd10a547] Remove global variables when compiled with SQLITE_OMIT_WSD (check-in: [dd10a547] user: drh branch: trunk, size: 98921)
09:17
[834a5519] part of check-in [eb80ddc6] If an error (OOM or SQLITE_FULL error) occurs while executing an SQL statement and a statement-transaction is automatically rolled back as a result, if a second error occurs during the statement rollback do a full transaction rollback instead. Otherwise the client can be left with an inconsistent cache. This can affect both WAL and rollback modes. (check-in: [eb80ddc6] user: dan branch: trunk, size: 98732)
2010-05-06
21:37
[69f58879] part of check-in [c3520460] The PRAGMA journal_mode=WAL; command now makes WAL the default journal mode for new databases added with ATTACH, so the behavior is consistent with the other journal modes. (check-in: [c3520460] user: drh branch: trunk, size: 98511)
2010-04-30
05:57
[395d21a1] part of check-in [f660be61] Zero the "immediate FK constraint counter" associated with a statement object when sqlite3_reset() is called. Fix for [c39ff61c43]. (check-in: [f660be61] user: dan branch: trunk, size: 98240)
2010-04-19
18:03
[be6ca4bb] part of check-in [9bda6014] Add the sqlite3_log_hook() interface for scheduling checkpoints. (check-in: [9bda6014] user: dan branch: wal, size: 98215)
2010-04-02
12:55
[3028b2d5] part of check-in [937b931a] Take care to avoid a buffer over-read when adding a KEYINFO structure to the P4 parameter of an opcode. (check-in: [937b931a] user: drh branch: trunk, size: 98216)
2010-03-24
11:55
[863cd854] part of check-in [be278979] Attempt to suppress a warning from Borland Code Guard. (check-in: [be278979] user: drh branch: trunk, size: 98207)
2010-03-08
21:40
[0f352f63] part of check-in [ffb6596e] Add NEVER and assert macros and explanatory comments for unreachable conditions. (check-in: [ffb6596e] user: drh branch: trunk, size: 98200)
2010-02-25
14:56
[7379f5bd] part of check-in [b8fbf427] Expire pragma statements when reset, even if they were not run to completion. (check-in: [b8fbf427] user: drh branch: branch-3.6.22, size: 97915)
14:47
[9089e0cd] part of check-in [78351d28] Expire pragma statements when reset, even if they were not run to completion. (check-in: [78351d28] user: drh branch: trunk, size: 97933)
02:32
[ef5b1822] part of check-in [46f406b2] 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: [46f406b2] user: drh branch: branch-3.6.22, size: 97750)
2010-02-23
17:36
[417ee0c5] part of check-in [7c4cca6d] Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging output for CORRUPT, and CANTOPEN errors. (check-in: [7c4cca6d] user: drh branch: trunk, size: 97768)
2010-01-20
01:20
[8f30e619] part of check-in [095c74ea] Manually copy over the rebustness fixes from the apple-osx branch. (check-in: [095c74ea] user: drh branch: trunk, size: 97996)
2010-01-19
23:50
[251147ba] part of check-in [a7a0c8d6] robustness fixes for preventing a finalized statement from being reused (check-in: [a7a0c8d6] user: adam branch: apple-osx, size: 98001)
2009-12-31
20:35
[2e4a421b] part of check-in [e1ccdb93] Add comments and an assert() to help clarify the operation of the sqlite3VdbeList() routine used to implement EXPLAIN. (check-in: [e1ccdb93] user: drh branch: trunk, size: 97978)
2009-12-08
19:58
[42ed644f] part of check-in [0e5e18ea] Add comments to better explain the two-pass memory allocation approach for prepared statements. (check-in: [0e5e18ea] user: drh branch: trunk, size: 96388)
15:35
[86d43cdf] part of check-in [d6ae2751] Avoid pointer aliasing in the allocSpace() routine in vdbeaux.c. (check-in: [d6ae2751] user: drh branch: trunk, size: 95578)
13:36
[6b9da05a] part of check-in [f43e37e0] Avoid dereferencing a null pointer when doing a multi-database comment where one or more of the databases is an ATTACH-ed TEMP database. Ticket [abe728bbc311d]. (check-in: [f43e37e0] user: drh branch: trunk, size: 95410)
2009-11-16
21:28
[0981dcb5] part of check-in [15d215d6] Back out part of the change in [23ea2b700fd6d28d] since TH3 reveals some problems in OOM situations. (check-in: [15d215d6] user: drh branch: trunk, size: 95428)
03:13
[52ea13c9] part of check-in [23ea2b70] Additional optimizations in sqlite3VdbeRecordCompare(). (check-in: [23ea2b70] user: drh branch: trunk, size: 95417)
02:14
[d86062c2] part of check-in [74c76f0b] Optimizations to the sqlite3VdbeRecordCompare() routine help it to run 12.5% faster for some traces. (check-in: [74c76f0b] user: drh branch: trunk, size: 95370)
2009-11-14
23:22
[45d1e150] part of check-in [d622ac6a] Optimizations to the main loop inside sqlite3VdbeExec() to help VDBE byte code run a few percent faster. (check-in: [d622ac6a] user: drh branch: trunk, size: 94603)
2009-11-12
19:59
[ee52010d] part of check-in [b9eab885] Enhance the OP_Found and OP_NotFound opcodes so that they can accept an array of registers as an unpacked record in addition to a record built using OP_MakeRecord. Use this to avoid OP_MakeRecord calls during IN expression processing. (check-in: [b9eab885] user: drh branch: trunk, size: 94562)
2009-11-10
01:30
[e85c8c7d] part of check-in [f6c045f6] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f6] user: drh branch: trunk, size: 94051)
2009-11-04
13:17
[0fac44db] part of check-in [24a4d520] Create a new datatype "ynVar" to hold "nVar" (number of variable) values. This is normally 16-bits can can be 32-bits if SQLITE_MAX_VARIABLE_NUMBER is large enough. (check-in: [24a4d520] user: drh branch: trunk, size: 94110)
2009-11-03
19:42
[7cb0daeb] part of check-in [01c4b5b8] Fix compiler warnings on MSVC build. (check-in: [01c4b5b8] user: shane branch: trunk, size: 94108)
01:22
[a829741c] part of check-in [16a24b44] All SQLITE_MAX_VARIABLE_NUMBER to exceed 32767. The sizes of some structures increase when the compile-time parameter is configured this way. (check-in: [16a24b44] user: drh branch: trunk, size: 94099)
2009-10-26
22:32
[55f467c7] part of check-in [2eeb6ed8] Remove additional obsolete code from the sqlite3_release_memory() logic. (check-in: [2eeb6ed8] user: drh branch: trunk, size: 94104)
2009-10-19
18:11
[fc032b05] part of check-in [2c50b3d5] Remove the sqlite3_reoptimize() API. The same functionality is now provided automatically to queries prepared using prepare_v2(). (check-in: [2c50b3d5] user: dan branch: trunk, size: 94602)
2009-10-15
23:03
[04e91acf] part of check-in [f256bc07] When a forced rollback occurs, cause all active statements on the same database connection to halt immediately with an SQLITE_ABORT error code. This is a partial fix to ticket [f777251dc7]. (check-in: [f256bc07] user: drh branch: trunk, size: 93455)
18:35
[bd26b3c7] part of check-in [9bd6f3d8] Add the experimental sqlite3_reoptimize() API. (check-in: [9bd6f3d8] user: dan branch: experimental, size: 94622)
2009-09-25
17:03
[6834737c] part of check-in [519144ac] Avoid checking if an insert or delete has "fixed" an outstanding FK constraint violation if the constraint counter indicates that the database contains no such violations. (check-in: [519144ac] user: dan branch: trunk, size: 93418)
2009-09-24
00:09
[c36bb667] part of check-in [f0c56fa9] Make sure a transaction is available for rollback whenever a REDUCE conflict resolution occurs and there is the possibility to ABORT. Ticket [4a03edc4c8c] (check-in: [f0c56fa9] user: drh branch: trunk, size: 93418)
2009-09-23
17:30
[32d77382] part of check-in [1a32149c] Do not check immediate foreign key constraints until the end of the statement. This matches the postgres behaviour. (check-in: [1a32149c] user: dan branch: trunk, size: 93317)
2009-09-19
17:00
[2dc9af9b] part of check-in [d5d39981] Check in implementation of foreign key constraints. (check-in: [d5d39981] user: dan branch: trunk, size: 92941)
2009-09-10
19:09
[99399b7f] part of check-in [5588cc96] Cleanup of warnings on MSVC build. (check-in: [5588cc96] user: shane branch: trunk, size: 91651)
16:14
[c167e902] part of check-in [b3027863] Fix a problem with the sqlite3VdbeMayAbort() assert failing following an OOM. (check-in: [b3027863] user: dan branch: trunk, size: 91648)
2009-09-09
11:37
[257f9ab8] part of check-in [28aa1f4e] Add a complicated assert() to check that statement transactions are opened when required. (check-in: [28aa1f4e] user: dan branch: trunk, size: 91019)
2009-09-08
19:15
[75dff914] part of check-in [aec9dbd8] Combine the OP_Statement and OP_Transaction opcodes. (check-in: [aec9dbd8] user: dan branch: trunk, size: 88200)
01:14
[ec1545ec] part of check-in [52449a95] Code simplifications, especially to the pseudo-table logic, and comment improvements. (check-in: [52449a95] user: drh branch: trunk, size: 89516)
2009-09-07
17:41
[ea6d2f21] part of check-in [ecbe0832] Merge 1958db4493 and 26cd015c0e. (check-in: [ecbe0832] user: dan branch: trunk, size: 89590)
17:32
[d1d3fde6] part of check-in [1958db44] Fix a bug where a condition was incorrectly being compiled out when SQLITE_OMIT_VIRTUALTABLE was defined. (check-in: [1958db44] user: dan branch: trunk, size: 89565)
04:38
[f13f4bc6] part of check-in [26cd015c] Warning cleanup from the MSVC compile. (check-in: [26cd015c] user: shane branch: trunk, size: 89590)
2009-09-01
12:16
[a88ef864] part of check-in [38a9327b] More fixes and comment updates. (check-in: [38a9327b] user: dan branch: trunk, size: 89565)
2009-08-31
05:39
[1cc9dd48] part of check-in [6e09e287] Merge with main branch. (check-in: [6e09e287] user: dan branch: trunk, size: 87860)
05:23
[d8ca6816] part of check-in [31199db0] Fix another test problem and some instances where an OOM may cause a segfault. (check-in: [31199db0] user: dan branch: trunk, size: 87815)
2009-08-30
11:42
[ea92afd3] part of check-in [9eb91efd] Fixes for new triggers scheme. (check-in: [9eb91efd] user: dan branch: trunk, size: 87688)
2009-08-28
18:53
[cf440244] part of check-in [9b9c1921] Changes to support recursive triggers. (check-in: [9b9c1921] user: dan branch: trunk, size: 87740)
2009-08-25
14:24
[014a6043] part of check-in [6a623e6c] Make sure that the output of EXPLAIN is right when the P4 argument of an opcode is of type P4_MEM with the MEM having type MEM_Blob. (check-in: [6a623e6c] user: drh branch: trunk, size: 84705)
13:10
[46c85b2c] part of check-in [6e787e18] Fix an uninitialized variable in sqlite3VdbeIdxRowid(). (check-in: [6e787e18] user: drh branch: trunk, size: 84626)
12:11
[974a02fb] part of check-in [1e2c6e13] Merge together the os_unix.c fix of [aa6acfa8ca] and the trigger fix of [dee1b8eb40]. (check-in: [1e2c6e13] user: drh branch: trunk, size: 84643)
2009-08-08
18:01
[4956536a] part of check-in [257e9b57] Suppress various compiler warnings. (CVS 6963) (check-in: [257e9b57] user: drh branch: trunk, size: 84659)
2009-07-25
17:42
[e57911d2] part of check-in [04211e6a] Adjust memory size computations to avoid a conditional that is always false on 64-bit systems. (CVS 6942) (check-in: [04211e6a] user: drh branch: trunk, size: 84649)
2009-07-24
17:58
[e3943dae] part of check-in [5d9e767a] Allow virtual tables to be used in shared-cache mode. (CVS 6928) (check-in: [5d9e767a] user: danielk1977 branch: trunk, size: 84689)
2009-07-22
00:35
[a1ed07f9] part of check-in [96cfd079] Further simplifications to btree.c, especially the sqlite3BtreeKey() and sqlite3BtreeData() functions. New assert() statements added to verify that these routines are called correctly. (CVS 6917) (check-in: [96cfd079] user: drh branch: trunk, size: 84414)
2009-07-17
17:25
[017bd277] part of check-in [910df46e] Fix a subtle problem that can occur when a transaction is automatically rolled back, and afterwards a VM that had opened a statement transaction within the abandoned transaction is finalized. Fixes an assert() that was failing in rtree3.test. (CVS 6903) (check-in: [910df46e] user: danielk1977 branch: trunk, size: 84332)
2009-07-15
16:30
[5c2ad567] part of check-in [a42dc51e] Remove an assert() from vdbeaux.c that might not be true if the database file is corrupt. (CVS 6895) (check-in: [a42dc51e] user: drh branch: trunk, size: 84017)
2009-07-14
18:35
[1c3b0698] part of check-in [0c710c1b] Add comments and assert() statements to show that the return value from sqlite3BtreeKeySize() and sqlite3BtreeData() usually do not matter. Ticket #3968. Also remove a NEVER() macro that can sometimes be true - discovered while testing the previous change. (CVS 6893) (check-in: [0c710c1b] user: drh branch: trunk, size: 84069)
14:15
[5b3cacb6] part of check-in [fa49666f] Simplifications and tweaks to vdbeaux.c resulting from structural testing. (CVS 6891) (check-in: [fa49666f] user: drh branch: trunk, size: 83902)
02:33
[17b354bc] part of check-in [25dd3422] Make sure the IN operator works with zeroblobs. Ticket #3965. Other simplifications associated with structural testing. (CVS 6890) (check-in: [25dd3422] user: drh branch: trunk, size: 83689)
2009-07-13
15:52
[a032d0ec] part of check-in [1c2bfc43] Remove the SQLITE_CommitBusy flag. This was an attempt to block recursion on the sqlite3_commit_hook() interface. But such recursion is explicitly disallowed, so the flag is pointless. (CVS 6889) (check-in: [1c2bfc43] user: drh branch: trunk, size: 83752)
2009-07-08
08:05
[e70a9851] part of check-in [0cc705c2] Remove an ALWAYS clause that could be false if an IO error within a statement executed by a virtual table caused an emergency rollback. (CVS 6859) (check-in: [0cc705c2] user: danielk1977 branch: trunk, size: 83925)
2009-07-07
02:44
[67fb11db] part of check-in [fc2a40a9] Simplifications to btree.c and vdbeaux.c in support of structural coverage testing. (CVS 6853) (check-in: [fc2a40a9] user: drh branch: trunk, size: 83636)
2009-07-06
00:44
[f62c8c83] part of check-in [1636e783] Simplifications and comment cleanup in vdbeaux.c. (CVS 6849) (check-in: [1636e783] user: drh branch: trunk, size: 83776)
2009-06-26
16:32
[3773217a] part of check-in [f01a9fc3] Removed a few compiler warnings under MSVC. (CVS 6825) (check-in: [f01a9fc3] user: shane branch: trunk, size: 84041)
14:04
[338d4b43] part of check-in [fe02339c] When sqlite3VdbeAddOp() fails due to an OOM fault, return an address of 1 rather than zero so that there appears to always be a prior instruction. This prevents a negative jump-to address computation in where.c following an OOM fault. (CVS 6822) (check-in: [fe02339c] user: drh branch: trunk, size: 83856)
12:15
[569653e1] part of check-in [ac145028] Fix the new pager.c changes so that they compile with IOTRACE defined. Fix an out-of-order variable definition in vdbeaux.c. (CVS 6820) (check-in: [ac145028] user: drh branch: trunk, size: 83856)
2009-06-23
14:15
[2801d018] part of check-in [3ffc93d7] Simplifications to vdbe.c to promote better test coverage. (CVS 6802) (check-in: [3ffc93d7] user: drh branch: trunk, size: 83917)
2009-06-22
19:05
[6f0e3680] part of check-in [308f2e61] Simplifications to vdbe.c and it service routines in support of coverage testing. (CVS 6799) (check-in: [308f2e61] user: drh branch: trunk, size: 83903)
00:55
[516b7e12] part of check-in [16680f05] Simplifications to vdbe.c in support of coverage testing. (CVS 6794) (check-in: [16680f05] user: drh branch: trunk, size: 83493)
2009-06-19
00:33
[77b67343] part of check-in [1c8ec2a6] Make sure the sqlite3VdbeGetOp() subroutine works even when SQLite is compiled with SQLITE_OMIT_TRACE. (CVS 6784) (check-in: [1c8ec2a6] user: drh branch: trunk, size: 83503)
2009-06-09
18:58
[14e1c606] part of check-in [0bd84e73] Fix compiler warnings with MSVC build. (CVS 6741) (check-in: [0bd84e73] user: shane branch: trunk, size: 82918)
2009-06-05
14:17
[78ff6c35] part of check-in [38b20327] Take care that a corrupt variable-length integer does not cause 32-bit integer overflow when parsing a record format, nor cause excessively large memory allocations. (CVS 6719) (check-in: [38b20327] user: drh branch: trunk, size: 82906)
2009-05-29
19:00
[37730f22] part of check-in [ede06dac] Enhance the sqlite3VdbeGetOp() routine so that it always returns a pointer to VdbeOp, even following an OOM fault. This simplifies error handling in callers. Cleanup to the column cache logic and the expr.c source module. (CVS 6691) (check-in: [ede06dac] user: drh branch: trunk, size: 82869)
2009-05-06
18:57
[1a07329b] part of check-in [df599237] Changes to silence compiler warnings under MSVC. (CVS 6613) (check-in: [df599237] user: shane branch: trunk, size: 82328)
2009-05-05
15:46
[7ac5c358] part of check-in [300da301] Make sure the left-shift operator never overflows. (CVS 6605) (check-in: [300da301] user: drh branch: trunk, size: 82258)
2009-05-04
11:42
[02cefacf] part of check-in [cac4f3d8] Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599) (check-in: [cac4f3d8] user: danielk1977 branch: trunk, size: 82233)
2009-04-22
15:32
[34524d49] part of check-in [1c508a99] Change the OP_Rowid opcode so that a deferred OP_Seek is pending, it simply pulls the rowid from the deferred seek target and does not actually move the cursor or do a seek. Other where.c cleanups. (CVS 6536) (check-in: [1c508a99] user: drh branch: trunk, size: 81737)
02:15
[fdad66c7] part of check-in [e963bed0] Remove the rowhash object from the code. Rowset now fills its role. (CVS 6535) (check-in: [e963bed0] user: drh branch: trunk, size: 81722)
2009-04-21
09:02
[8b2ecd0e] part of check-in [f61e4cd9] Attempt to optimize virtual table queries with 'OR' expressions in the WHERE clause. (CVS 6527) (check-in: [f61e4cd9] user: danielk1977 branch: trunk, size: 81820)
2009-04-10
15:42
[5ecb4c7a] part of check-in [d619465e] Fix MSVC compiler warning in vdbeaux.c. (CVS 6485) (check-in: [d619465e] user: shane branch: trunk, size: 81724)
12:55
[b48b0af5] part of check-in [683e4bd7] Changes to ensure that when running in shared-cache mode with a non-threadsafe build, the correct busy-handler callback is always invoked. (CVS 6481) (check-in: [683e4bd7] user: danielk1977 branch: trunk, size: 81491)
00:56
[e1aa4cd6] part of check-in [2cc68272] Force 8-byte alignment of sqlite3_value objects in the sqlite3VdbeUnpackRecord() primitive. Ticket #3777. (CVS 6479) (check-in: [2cc68272] user: drh branch: trunk, size: 80409)
2009-04-06
11:11
[570aaa5e] part of check-in [8ca612c4] Check-in (6450) introduced the possibility of calling memset() with a negative 3rd argument. This fixes that bug. Ticket #3777. (CVS 6452) (check-in: [8ca612c4] user: drh branch: trunk, size: 80053)
2009-04-05
12:22
[d335ae5d] part of check-in [208382e0] Additional code to make sure and to assert that memory allocations have 8-byte alignment. Ticket #3777. (CVS 6450) (check-in: [208382e0] user: drh branch: trunk, size: 80020)
2009-03-25
15:43
[521187e1] part of check-in [de469c46] Fix a problem preventing sqlite3_extended_errcode() from working correctly. (CVS 6385) (check-in: [de469c46] user: danielk1977 branch: trunk, size: 79912)
2009-03-23
04:33
[be958dfe] part of check-in [db1d4d2f] Use the ROUND8() macro to round an integer up to the nearest multiple of 8 and ROUNDDOWN8() macro to round down to the nearest multiple of 8. This is a cosmetic change. (CVS 6372) (check-in: [db1d4d2f] user: danielk1977 branch: trunk, size: 79900)
2009-03-20
14:42
[8b3ce012] part of check-in [a08324d1] Fix an assert failure introduced by (6355). (CVS 6365) (check-in: [a08324d1] user: danielk1977 branch: trunk, size: 79899)
2009-03-18
10:33
[e9b76cf2] part of check-in [a60f4191] Fix some cases where executing SQL from within a user-function callback could cause problems related to statement-transactions. (CVS 6355) (check-in: [a60f4191] user: danielk1977 branch: trunk, size: 79883)
2009-03-16
13:19
[feeafee5] part of check-in [b649a6cc] Add the sqlite3_unlock_notify() API. (CVS 6348) (check-in: [b649a6cc] user: danielk1977 branch: trunk, size: 78622)
2009-03-05
04:20
[cf849551] part of check-in [6404afa0] Corrected typos and misspellings. Ticket #3702. (CVS 6336) (check-in: [6404afa0] user: shane branch: trunk, size: 78339)
03:48
[5b7be22d] part of check-in [5477833e] Removed compiler warnings from MSVC builds. Ticket #3701. (CVS 6335) (check-in: [5477833e] user: shane branch: trunk, size: 78338)
2009-03-01
19:42
[f6a312a2] part of check-in [ec3b18ac] Fix a critical bug in the VDBE opcode array resizer introduced by check-in (6307). Bug detected by regression testing. (CVS 6330) (check-in: [ec3b18ac] user: drh branch: trunk, size: 78328)
2009-02-20
10:58
[88160f4e] part of check-in [e43ed649] Instead of using SetNumColumns, specify the number of columns in a table or index using the P4 argument. (CVS 6310) (check-in: [e43ed649] user: danielk1977 branch: trunk, size: 78327)
01:28
[dd5fc23b] part of check-in [58a18092] Reuse space left-over opcode space at the end of the VDBE opcode array to store memory cells, VDBE cursors, and other content needed by the VDBE. This reduces the memory required by a prepared statement. (CVS 6307) (check-in: [58a18092] user: drh branch: trunk, size: 78316)
2009-02-19
14:39
[f636fd01] part of check-in [d9f6ffbc] 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: [d9f6ffbc] user: danielk1977 branch: trunk, size: 76822)
2009-02-03
16:51
[75c3ac2a] part of check-in [663479b4] Commit first version of the 'backup' feature. (CVS 6241) (check-in: [663479b4] user: danielk1977 branch: trunk, size: 75934)
2009-01-20
17:06
[30c1bbc1] part of check-in [12f7346c] Big change to make pager.c easier to follow. Unused variables removed, comments improved, etc. (CVS 6197) (check-in: [12f7346c] user: danielk1977 branch: trunk, size: 75935)
16:53
[a5db2fe6] part of check-in [1041abd6] When not compiling for an EBCDIC system, use built-in alternatives to the tolowe r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196) (check-in: [1041abd6] user: danielk1977 branch: trunk, size: 75989)
2009-01-16
16:23
[a593c4ce] part of check-in [a353c1ab] Revert (6187). (CVS 6188) (check-in: [a353c1ab] user: danielk1977 branch: trunk, size: 76022)
15:21
[2f6c3fce] part of check-in [aa67fd0c] This commit is an error. Reverted by (6188). (CVS 6187) (check-in: [aa67fd0c] user: danielk1977 branch: trunk, size: 75968)
2009-01-07
08:12
[7f3e9297] part of check-in [e5d42c69] Fix savepoint related bugs. A rollback caused by an IO error or "OR ROLLBACK" clause while one or more savepoints were open was leaving the sqlite3 structure in an invalid state. (CVS 6128) (check-in: [e5d42c69] user: danielk1977 branch: trunk, size: 76022)
2009-01-03
14:04
[f8bf57ba] part of check-in [27ae4065] When the commit_hook calls a query recursively, make sure the commit_hook is not invoked recursively. Ticket #3564. (CVS 6107) (check-in: [27ae4065] user: drh branch: trunk, size: 75940)
2008-12-16
17:20
[6f9b4387] part of check-in [8b8f6a6a] Fix a compile error in an assert() and a warning with MSVC builds. (CVS 6032) (check-in: [8b8f6a6a] user: shane branch: trunk, size: 75776)
2008-12-11
16:17
[d3a78573] part of check-in [da2ec964] Guard against attacks from deliberately corrupted database files. (CVS 6021) (check-in: [da2ec964] user: drh branch: trunk, size: 75769)
2008-12-10
19:26
[5356c9bb] part of check-in [c872d554] Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) (check-in: [c872d554] user: drh branch: trunk, size: 74372)
17:20
[2b7bfb73] part of check-in [e7e9fa4f] Remove or rename local variables that shadow other variables or parameters. (CVS 6005) (check-in: [e7e9fa4f] user: drh branch: trunk, size: 74321)
2008-12-09
02:51
[bdf1b3cd] part of check-in [1522c2c6] Suppress more silly compiler warnings. (CVS 5995) (check-in: [1522c2c6] user: drh branch: trunk, size: 74317)
2008-12-05
15:24
[9db6b1eb] part of check-in [46f2d089] Make use of sqlite3DbMallocSize to maximize the size of growable buffers after each reallocation. Added new comments and testcase() macros to where.c. (CVS 5981) (check-in: [46f2d089] user: drh branch: trunk, size: 74148)
2008-12-04
20:40
[33ba6b66] part of check-in [39a0750b] Replace the VDBE Fifo object with the new RowSet object. (CVS 5977) (check-in: [39a0750b] user: drh branch: trunk, size: 74087)
2008-11-21
16:58
[250296ad] part of check-in [891b14e1] Fix the OOM handling for explain statements so that it is the same as for regular statements if the OOM error occurs from within a call to sqlite3_column_text() or text16(). (CVS 5941) (check-in: [891b14e1] user: danielk1977 branch: trunk, size: 74030)
2008-11-17
19:18
[18dea7bb] part of check-in [8009220c] Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) (check-in: [8009220c] user: danielk1977 branch: trunk, size: 73803)
2008-11-13
18:00
[8915d236] part of check-in [eabb8b75] Avoid committing a transaction from within the xSync() method of a virtual table. Fix for #3497. (CVS 5902) (check-in: [eabb8b75] user: danielk1977 branch: trunk, size: 74050)
2008-11-05
17:41
[75258853] part of check-in [b568e325] Fix memory allocation problems when string length exceeds limits. (CVS 5865) (check-in: [b568e325] user: drh branch: trunk, size: 73999)
16:37
[ec1ee5ac] part of check-in [51f04aaf] 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: [51f04aaf] user: drh branch: trunk, size: 74008)
2008-11-04
14:25
[3c6ebfba] part of check-in [acf26cc0] Avoid a segfault when OOM on a simple EXPLAIN query. Ticket #3478. (CVS 5860) (check-in: [acf26cc0] user: drh branch: trunk, size: 74537)
2008-11-03
20:55
[68ec5b5d] part of check-in [fdb98fd8] Change the name of the Cursor object to VdbeCursor. (CVS 5857) (check-in: [fdb98fd8] user: drh branch: trunk, size: 74547)
09:39
[eb951369] part of check-in [aca6b260] Modify an assert() statement to fix #3473. No other code changes. (CVS 5856) (check-in: [aca6b260] user: danielk1977 branch: trunk, size: 74535)
2008-10-31
10:53
[16498c4d] part of check-in [bfce9142] Change the way sqlite3VdbeSetColName() is called so as to remove a few lines of code. This also fixes #3470. (CVS 5853) (check-in: [bfce9142] user: danielk1977 branch: trunk, size: 74509)
2008-10-11
17:51
[e007aa72] part of check-in [311003af] When transfering an error message from a statement handle to the database handle so that it can be accessed by sqlite3_errmsg(), a malloc may fail. If this malloc fails, it is considered benign. (CVS 5806) (check-in: [311003af] user: danielk1977 branch: trunk, size: 74382)
2008-09-19
18:32
[20a7d109] part of check-in [ce075085] Speed up releaseMemArray() a bit by handling the most common types of memory cells inline. (CVS 5726) (check-in: [ce075085] user: danielk1977 branch: trunk, size: 74316)
2008-09-16
09:09
[e1198d1e] part of check-in [5dff20f4] Set the type of the "comment" field to SQLITE_TEXT when outputing the results of an EXPLAIN query. (CVS 5704) (check-in: [5dff20f4] user: danielk1977 branch: trunk, size: 73415)
2008-08-20
22:06
[45a53a44] part of check-in [00b17798] Modify the sqlite3VdbeUnpackRecord() interface to force the temporary space to be 8-byte aligned. This might be important for Sparc. Ticket #3318. (CVS 5573) (check-in: [00b17798] user: drh branch: trunk, size: 73373)
16:35
[ba13cc1e] part of check-in [daf730d1] Refactor the name resolution procedures in the code generator. (CVS 5569) (check-in: [daf730d1] user: drh branch: trunk, size: 73373)
2008-08-13
19:11
[3e2e1f36] part of check-in [0b92cbf5] Additional changes toward fixing ticket #3292. (CVS 5562) (check-in: [0b92cbf5] user: drh branch: trunk, size: 73336)
14:07
[7b25fbbb] part of check-in [055f173a] A partial fix for ticket #3292. This fixes the original problem but there are other similar problems lurking in the code still. (CVS 5561) (check-in: [055f173a] user: drh branch: trunk, size: 74574)
2008-08-02
03:50
[21126e0d] part of check-in [f1e44eb3] Additional coverage testing. Fix a segfault following OOM in sqltie3_load_extension(). (CVS 5523) (check-in: [f1e44eb3] user: drh branch: trunk, size: 73178)
2008-08-01
20:10
[81a433ce] part of check-in [2cd6bae8] Bring test coverage up to 99%. (CVS 5522) (check-in: [2cd6bae8] user: drh branch: trunk, size: 73196)
17:37
[78c9d641] part of check-in [007359b7] Test that virtual table methods xBestIndex, xOpen, xFilter, xNext, xColumn, xRowid, xUpdate, xSync and xBegin can all return error messages using the sqlite3_vtab.zErrMsg variable. (CVS 5519) (check-in: [007359b7] user: danielk1977 branch: trunk, size: 73436)
2008-07-31
01:43
[dbd2756c] part of check-in [820c37ec] Fixed comment to use right function names for sqlite3VdbeSerialPut() and sqlite3VdbeSerialGet(). (CVS 5507) (check-in: [820c37ec] user: shane branch: trunk, size: 73409)
2008-07-28
19:34
[706d7220] part of check-in [e48f9697] 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: [e48f9697] user: drh branch: trunk, size: 73410)
2008-07-26
18:26
[0d221c85] part of check-in [7aecabac] Fix a case where database corruption was causing an invalid reference. (CVS 5484) (check-in: [7aecabac] user: danielk1977 branch: trunk, size: 73127)
2008-07-22
05:18
[05330c21] part of check-in [16f51f9b] Changed a few loop counters to unsigned ints to remove compiler warnings. (CVS 5449) (check-in: [16f51f9b] user: shane branch: trunk, size: 73000)
2008-07-18
08:10
[2ef92c02] part of check-in [c94318b9] Speed up sqlite3_finalize() by removing redundant code. (CVS 5436) (check-in: [c94318b9] user: danielk1977 branch: trunk, size: 72956)
2008-07-11
21:02
[25d562cd] part of check-in [c80a5d09] Detect and handles the case where a row is modified or deleted while it is being read during SELECT processing. (CVS 5399) (check-in: [c80a5d09] user: drh branch: trunk, size: 72936)
16:15
[24ecae4e] part of check-in [d7e2f0d2] Additional test coverage for the btree module. Remove the failsafe() macro and replace it with ALWAYS() and NEVER(). (CVS 5395) (check-in: [d7e2f0d2] user: drh branch: trunk, size: 72720)
2008-07-08
22:28
[734d27d1] part of check-in [6cdb6841] Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378) (check-in: [6cdb6841] user: shane branch: trunk, size: 72624)
19:34
[c037e327] part of check-in [8ed04b1e] Completely rework the sqlite3SetString() primitive so that it honors the SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374) (check-in: [8ed04b1e] user: drh branch: trunk, size: 72608)
2008-06-25
00:12
[3f41742b] part of check-in [8bbfa978] The compound-select merge optimization passes quick.test with no errors. (CVS 5299) (check-in: [8bbfa978] user: drh branch: trunk, size: 72590)
2008-06-23
13:57
[3db1f037] part of check-in [0421c099] Fix a compilation problem with SQLITE_OMIT_VIRTUAL_TABLE is defined. (CVS 5277) (check-in: [0421c099] user: danielk1977 branch: trunk, size: 72481)
2008-06-22
12:37
[eff4eed7] part of check-in [663a590e] Fix a bug in the KEYINFO handling within select.c. Change the OP_Move opcode to take a count and to move multiple registers. Initial code for the compound-select merge optimization is added but is incomplete and is commented out. (CVS 5272) (check-in: [663a590e] user: drh branch: trunk, size: 72473)
2008-06-20
18:13
[5645351a] part of check-in [08311365] Add new Compare and Jump codes to the virtual machine. Use them in the implementation of aggregate queries. (CVS 5257) (check-in: [08311365] user: drh branch: trunk, size: 72783)
14:59
[c61240e6] part of check-in [56c8af14] Add a mode to the sqlite3_test_control() interface to register hooks called at the beginning and end of "benign malloc failure" blocks. This allows malloc() failure testing to be done using public APIs only. (CVS 5254) (check-in: [56c8af14] user: danielk1977 branch: trunk, size: 72174)
2008-06-18
15:34
[09d7a692] part of check-in [70c6739f] Make sure aggregate functions can take any number of arguments up to the limit imposed by SQLITE_LIMIT_FUNCTION_ARGS. Ticket #3179. Modify the group_concat() function to take an unlimited number of arguments in order to facilitate testing this behavior. (CVS 5233) (check-in: [70c6739f] user: drh branch: trunk, size: 72218)
2008-06-15
02:51
[34b9478e] part of check-in [65fe7b62] Continuing work on the new memory allocation subsystem. Added routines for temporary memory allocation. Right the btree balance mechanism to only do one temporary allocation at a time. (CVS 5220) (check-in: [65fe7b62] user: drh branch: trunk, size: 72231)
2008-06-06
15:04
[08ec9a7d] part of check-in [ef1956ee] Remove the subroutine return stack from the VDBE. Return addresses for subroutines are now stored in registers. (CVS 5191) (check-in: [ef1956ee] user: drh branch: trunk, size: 72232)
11:11
[433be5e2] part of check-in [5173b3e8] Remove the xGetTempname() method from the vfs structure. Temp files are now opened by passing a NULL pointer as the filename to xOpen(). (CVS 5190) (check-in: [5173b3e8] user: danielk1977 branch: trunk, size: 72262)
2008-06-05
11:39
[8ca11894] part of check-in [4226ac54] Modify the signatures of the sqlite3_vfs.xAccess and sqlite3_vfs.xCheckReservedLock functions. (CVS 5188) (check-in: [4226ac54] user: danielk1977 branch: trunk, size: 72245)
2008-05-13
13:27
[7823f1db] part of check-in [a9d1d931] Make the benign-fault setting recursive. Make all malloc failures during a rollback benign since there is nothing we can do about them. (CVS 5128) (check-in: [a9d1d931] user: drh branch: trunk, size: 72237)
2008-05-08
15:18
[b98643ab] part of check-in [0a4d26de] Use a 6-byte rather than an 8-byte encoding for integers between 17592186044416 and 140737488355327. Ticket #3100. (CVS 5105) (check-in: [0a4d26de] user: drh branch: trunk, size: 72235)
2008-04-29
00:15
[aae523de] part of check-in [9b07e59e] Always convert IEEE NaN into NULL. Ticket #3060. Add test cases to verify that this is happening. (CVS 5066) (check-in: [9b07e59e] user: drh branch: trunk, size: 72235)
2008-04-27
18:40
[7a0d0f02] part of check-in [6a94d197] Remove all references to sqlite3_intptr_t. (CVS 5051) (check-in: [6a94d197] user: drh branch: trunk, size: 72200)
2008-04-24
19:15
[e742b654] part of check-in [0d04ccd9] Consolidated varint macro usage from btreeInt.h, vdbe.c, and vdbeaux.c into sqliteInt.h and made their use consistent. Slight improvements to varint32 macros. (CVS 5045) (check-in: [0d04ccd9] user: shane branch: trunk, size: 72220)
08:36
[f18c0d2c] part of check-in [3cba1166] Remove redundant assert() statement from vdbeaux.c. Ticket #3065. (CVS 5039) (check-in: [3cba1166] user: danielk1977 branch: trunk, size: 72863)
08:31
[0aa45610] part of check-in [d667add4] Add version comment to vdbeaux.c. No code changes. Ticket #3066. (CVS 5038) (check-in: [d667add4] user: danielk1977 branch: trunk, size: 72889)
2008-04-18
09:01
[ca70c67f] part of check-in [c448f15a] Allow OP_MoveGt and similar to use an array of registers instead of a serialized record. Modify one type of index range scan to use this. (CVS 5028) (check-in: [c448f15a] user: danielk1977 branch: trunk, size: 72822)
2008-04-17
14:16
[54fc53ee] part of check-in [8efb7f4f] In exclusive locking mode, commit by zeroing the first 28 bytes of the journal file, not by truncating the journal. Overwriting is much faster than truncating. (CVS 5023) (check-in: [8efb7f4f] user: drh branch: trunk, size: 72710)
2008-04-11
17:15
[f7460fac] part of check-in [03c0279d] Remove a recently added assert() that is failing with certain compilers on 32-bit platforms. Ticket #3043. (CVS 4990) (check-in: [03c0279d] user: danielk1977 branch: trunk, size: 72598)
15:36
[c44aeac1] part of check-in [38746c54] Additional reductions in the use of memset(). (CVS 4988) (check-in: [38746c54] user: drh branch: trunk, size: 72709)
14:56
[2d17d5bf] part of check-in [25899555] Speed improvements by removing unnecessary memset() operations. Also: do not resize the opcode array of a virtual machine to its minimum size after code generation completes. The extra resize merely uses time. (CVS 4987) (check-in: [25899555] user: drh branch: trunk, size: 72732)
2008-04-10
14:57
[0aa2d8ed] part of check-in [d11e8e30] Make sure all memory allocations are 8-byte aligned. Ticket #3040. Note that the mem3.c memory allocator returns 4-byte aligned memory allocations. But as mem3.c is intended for use in 32-bit embedded systems, we are not going to change that. (CVS 4978) (check-in: [d11e8e30] user: drh branch: trunk, size: 72690)
2008-03-28
15:44
[519ec819] part of check-in [d0bf73d8] Changes to the Mem structure to reduce the frequency of freeing and reallocating the dynamic buffer. (CVS 4928) (check-in: [d0bf73d8] user: danielk1977 branch: trunk, size: 72554)
2008-03-27
22:42
[bb810c1c] part of check-in [3cb704c4] Allow the xAccess method in the VFS to return -1 to signal an I/O error, and in particular an SQLITE_IOERR_NOMEM. (CVS 4925) (check-in: [3cb704c4] user: drh branch: trunk, size: 72507)
17:59
[0bdcfad8] part of check-in [1a58a870] Allow creation of ephemeral pseudo-tables - pseudo-tables that copy a pointer to a row when inserted instead of copying the row data. (CVS 4924) (check-in: [1a58a870] user: danielk1977 branch: trunk, size: 72415)
2008-03-26
18:34
[c77a88c9] part of check-in [8c2f6952] Changes to delay freeing buffers associated with vdbe memory cells until either sqlite3_finalize() or sqlite3_release_memory() is called. (CVS 4922) (check-in: [8c2f6952] user: danielk1977 branch: trunk, size: 72377)
2008-03-25
17:23
[e45929a3] part of check-in [ee381b43] Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather than a record formed using {quote: MakeRecord.} This avoids a needless packing and unpacking of the record to be deleted. (CVS 4916) (check-in: [ee381b43] user: drh branch: trunk, size: 71781)
09:47
[c071014d] part of check-in [04715364] Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912) (check-in: [04715364] user: danielk1977 branch: trunk, size: 75433)
00:22
[f3ee532b] part of check-in [0e1d84f2] Removed the direct btree tests - part of the ongoing effort to test by calling only public interfaces. Modify the sqlite3VdbeRecordCompare interface to used a pre-parsed second key - resulting in a 13% performance improvement on speed1p.test. (CVS 4911) (check-in: [0e1d84f2] user: drh branch: trunk, size: 74923)
2008-03-19
14:15
[82f3c891] part of check-in [15110ea0] Add a new api sqlite3_randomness() for providing access to SQLite's internal PRNG. Add sqlite3_test_control() verbs for controlling the PRNG. (CVS 4882) (check-in: [15110ea0] user: drh branch: trunk, size: 68956)
2008-03-06
09:58
[83e34e38] part of check-in [e2a9f5f1] Handle non-autoconf build correctly with new changes (CVS 4832) (check-in: [e2a9f5f1] user: mlcreech branch: trunk, size: 68955)
07:35
[e88a296b] part of check-in [54839a84] Use intptr_t definition to silence warnings about ptr-int casts (CVS 4824) (check-in: [54839a84] user: mlcreech branch: trunk, size: 68947)
2008-03-04
17:45
[376b9926] part of check-in [9c6694bb] Various renames & cleanups to limit exported symbols on amalgamation build (CVS 4819) (check-in: [9c6694bb] user: mlcreech branch: trunk, size: 68819)
2008-02-19
18:28
[bf20bbb4] part of check-in [68f5dddd] Remove an instance of sprintf() from the VM implementation. SQLite should not use sprintf() from the C library - it has its own implementation. (CVS 4800) (check-in: [68f5dddd] user: drh branch: trunk, size: 68835)
2008-02-18
22:24
[628751c5] part of check-in [63da5d97] Add the memory fault simulator to mem5.c. Enable soft heap limit on mem5.c. Limit the size of hash tables and the vdbefifo when using mem5.c. (CVS 4795) (check-in: [63da5d97] user: drh branch: trunk, size: 68815)
2008-02-14
23:44
[758e5f4e] part of check-in [4df62a55] Fix a bug in EXPLAIN growing out of the new Mem implementation. (CVS 4790) (check-in: [4df62a55] user: drh branch: trunk, size: 68696)
2008-02-13
18:25
[36d4db24] part of check-in [990237e2] Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783) (check-in: [990237e2] user: danielk1977 branch: trunk, size: 68640)
2008-01-23
03:03
[771b9ffd] part of check-in [5375ad6b] Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when compiling without -DSQLITE_DEBUG=1. (CVS 4744) (check-in: [5375ad6b] user: drh branch: trunk, size: 68065)
2008-01-22
01:48
[4a0c75af] part of check-in [2a0bc1e1] Changes to lemon to generate additional comments in the output file and to remove unreachable code. Additional test cases for improved test coverage. (CVS 4736) (check-in: [2a0bc1e1] user: drh branch: trunk, size: 68029)
2008-01-19
20:11
[e73c4ca5] part of check-in [af129b6d] Miscellaneous code simplifications and cleanup and test coverage enhancements. (CVS 4730) (check-in: [af129b6d] user: drh branch: trunk, size: 67891)
2008-01-17
16:22
[0d2a9730] part of check-in [706b41b7] Registerification of the VDBE is complete. The operand stack has been removed from the code. All instructions operate out of registers only. (CVS 4718) (check-in: [706b41b7] user: drh branch: trunk, size: 67581)
02:36
[e5b40125] part of check-in [b3a141b2] Registerification of the WHERE clause logic. (CVS 4716) (check-in: [b3a141b2] user: drh branch: trunk, size: 68352)
2008-01-15
02:22
[1bf7dbab] part of check-in [a13d3e95] Fix for a couple of minor memory leaks. (CVS 4712) (check-in: [a13d3e95] user: drh branch: trunk, size: 68262)
2008-01-12
21:35
[ac5d274b] part of check-in [110c000d] The sqlite3_trace() callback now prints a message as each trigger fires within a statement. (CVS 4709) (check-in: [110c000d] user: drh branch: trunk, size: 68217)
2008-01-10
23:50
[db33a4c2] part of check-in [8cbd4651] More work toward converting the VM into a register-based machine. (CVS 4704) (check-in: [8cbd4651] user: drh branch: trunk, size: 68247)
2008-01-09
23:04
[53cc9e2d] part of check-in [e3cf1c1c] All essential opcodes can now operate out of registers and completely avoid the stack. Many still optionally use the stack to support legacy code generation, but the stack is not required. The next step is to update all code generation to avoid using the stack. (CVS 4700) (check-in: [e3cf1c1c] user: drh branch: trunk, size: 68267)
2008-01-08
23:54
[2f716ebd] part of check-in [8862ce9c] Registerify the comparison opcodes. (CVS 4697) (check-in: [8862ce9c] user: drh branch: trunk, size: 68130)
02:57
[b6241be0] part of check-in [b9bf509e] Progress toward registerification of the constraint checking logic for INSERT and UPDATE. (CVS 4693) (check-in: [b9bf509e] user: drh branch: trunk, size: 68124)
2008-01-05
18:44
[75b7d3e4] part of check-in [2b98b0fc] Fix a memory leak introduced with #4687. (CVS 4688) (check-in: [2b98b0fc] user: danielk1977 branch: trunk, size: 68097)
05:20
[b5437d3a] part of check-in [3e8a07dd] Register-ify the OP_AddImm and all casting opcodes. Omit the OP_MemIncr opcode. (CVS 4683) (check-in: [3e8a07dd] user: drh branch: trunk, size: 68071)
2008-01-04
22:01
[ae45ffee] part of check-in [fe057a88] Implement the out2-prerelease opcode design pattern. (CVS 4681) (check-in: [fe057a88] user: drh branch: trunk, size: 67961)
19:33
[83262e81] part of check-in [717bcd11] Allow the P2 operand to be negative on opcodes that are not jumps. (CVS 4680) (check-in: [717bcd11] user: drh branch: trunk, size: 67960)
16:50
[02fef605] part of check-in [042dcb96] Replace the NOPUSH_MASKs with a bit-vector mechanism that can contain several different properties about each opcode. (CVS 4677) (check-in: [042dcb96] user: drh branch: trunk, size: 67908)
2008-01-03
18:56
[eaf5bef9] part of check-in [e97e4578] Fix typo in comment. Ticket #2870. (CVS 4672) (check-in: [e97e4578] user: danielk1977 branch: trunk, size: 69473)
18:39
[2b5aa582] part of check-in [253ed40a] Modify VFilter and VRename to use registers instead of the vdbe stack for inputs. (CVS 4670) (check-in: [253ed40a] user: danielk1977 branch: trunk, size: 69473)
18:03
[54b7ad5d] part of check-in [0b849805] Registers (aka memory cells) in the VM are now numbered starting with 1 instead of 0. A register number of 0 means "no such register". (CVS 4669) (check-in: [0b849805] user: drh branch: trunk, size: 69474)
11:50
[85e5dd39] part of check-in [7e8330c8] Change the VdbeOp.p4 union to include specific pointer types for the various values of VdbeOp.p4type. (CVS 4667) (check-in: [7e8330c8] user: danielk1977 branch: trunk, size: 69385)
09:51
[077854f4] part of check-in [46501f49] Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666) (check-in: [46501f49] user: danielk1977 branch: trunk, size: 69432)
08:18
[8c8901e4] part of check-in [76f2040b] Change the output of vdbe_trace etc. to include operands p3 and p5. (CVS 4665) (check-in: [76f2040b] user: danielk1977 branch: trunk, size: 69237)
07:54
[f31d1dbb] part of check-in [35da261d] Change OP_OpenRead and OP_OpenWrite so that the database number is read from the P3 operand, not the stack. (CVS 4663) (check-in: [35da261d] user: danielk1977 branch: trunk, size: 69207)
07:09
[5d04881c] part of check-in [b166c33a] Fix EXPLAIN and EXPLAIN query plan to work with new opcode format. (CVS 4662) (check-in: [b166c33a] user: danielk1977 branch: trunk, size: 68895)
01:28
[cd0a3f70] part of check-in [4dc507d8] Revamp sqlite3VdbeAddOpList() so that the structure holds integer values for P1, P2, and P3. (CVS 4661) (check-in: [4dc507d8] user: drh branch: trunk, size: 68374)
00:01
[5601e73e] part of check-in [027875e4] 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: [027875e4] user: drh branch: trunk, size: 68356)
2008-01-02
11:50
[9c2ce05e] part of check-in [f1966a8a] Take advantage of the fact that b-tree cursors need not be closed while other cursors modify their tables to simplify trigger program generation code. (CVS 4654) (check-in: [f1966a8a] user: danielk1977 branch: trunk, size: 68441)
00:34
[bca64691] part of check-in [051ec01f] 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: [051ec01f] user: drh branch: trunk, size: 68414)
2007-12-04
16:54
[5bc14ff3] part of check-in [bf34284f] Make sure statement journals are initiated when doing DROP operations (since the DROP might fail after sqlite_master changes). Also make sure statement journals are initiated if there are pending SELECT statements. Ticket #2820. (CVS 4591) (check-in: [bf34284f] user: drh branch: trunk, size: 67064)
2007-11-29
17:05
[285f1133] part of check-in [56d0e326] Optimisations for expressions of the form "<value> IN (SELECT <column> FROM )". (CVS 4579)
(check-in: [56d0e326] user: danielk1977 branch: trunk, size: 66899)
2007-11-24
10:23
[ecda6d92] part of check-in [94f25fc1] Declare the invalidateCursorsOnModifiedBtrees function to be static. Ticket #2792. (CVS 4559) (check-in: [94f25fc1] user: drh branch: trunk, size: 66847)
2007-11-14
06:48
[ffc2610c] part of check-in [d31f1e0d] Add an experimental API for retrieving the SQL source from a compiled statement: sqlite3_sql(). Ticket #2769. (CVS 4543) (check-in: [d31f1e0d] user: danielk1977 branch: trunk, size: 66840)
2007-11-13
10:30
[4b6fb200] part of check-in [7bb00c7d] Modify the Tcl interface to use sqlite3_prepare_v2(). (CVS 4542) (check-in: [7bb00c7d] user: danielk1977 branch: trunk, size: 66820)
2007-10-23
15:39
[7bb91382] part of check-in [7e30fd6a] Floating point and 64-bit integer constants store in the virtual machine opcodes in binary, not as text. Performance improvement. Ticket #2733. (CVS 4507) (check-in: [7e30fd6a] user: drh branch: trunk, size: 66723)
2007-10-20
15:41
[99534543] part of check-in [ca51b2f5] Simplify the mem3.c memory allocator. Have it call sqlite3_release_memory() automatically, without having to specify the soft heap limit. (CVS 4496) (check-in: [ca51b2f5] user: drh branch: trunk, size: 66478)
2007-10-03
18:45
[5f1e5e98] part of check-in [b59f7bcb] Simplify the vdbeHalt logic slightly. (CVS 4459) (check-in: [b59f7bcb] user: drh branch: trunk, size: 66742)
15:30
[9bb437cb] part of check-in [0fb6d5a5] Rollback the transaction if an SQLITE_FULL error is encountered. This is a preliminary fix for ticket #2686. More testing and analysis is needed before we close the ticket. (CVS 4458) (check-in: [0fb6d5a5] user: drh branch: trunk, size: 67363)
2007-08-30
15:05
[e35c851e] part of check-in [71ab92e9] Fix the SQLITE_MIXED_ENDIAN_64BIT_FLOAT option so that it works on goofy linux kernels that employ CONFIG_FPE_FASTFPE. Patch from Frank van Vugt. (CVS 4339) (check-in: [71ab92e9] user: drh branch: trunk, size: 67982)
01:19
[0e92ed38] part of check-in [e40d40a5] Fix for the sqlite3AbortOtherActiveVdbes() problem. (CVS 4328) (check-in: [e40d40a5] user: drh branch: trunk, size: 67272)
2007-08-29
17:43
[77db8967] part of check-in [2732af0e] Improvements to mutex asserts. The quick test runs to completion without assertion faults. (CVS 4324) (check-in: [2732af0e] user: drh branch: trunk, size: 66984)
12:31
[7cc1e0b3] part of check-in [e38ef81b] Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) (check-in: [e38ef81b] user: danielk1977 branch: trunk, size: 66801)
2007-08-28
23:28
[347d2c1d] part of check-in [f84550be] The shared_err test runs with no errors. But a potential deadlock has been discovered and is still unfixed. (CVS 4317) (check-in: [f84550be] user: drh branch: trunk, size: 66835)
22:24
[0bbc8fbb] part of check-in [967ab229] Clean up the locking in the btree logic. (CVS 4316) (check-in: [967ab229] user: drh branch: trunk, size: 66645)
02:27
[bffdf7b6] part of check-in [b8cc493b] Work toward correct btree locking in a multithreaded environment. (CVS 4307) (check-in: [b8cc493b] user: drh branch: trunk, size: 66541)
2007-08-27
23:26
[2889abf9] part of check-in [dc80b2e1] Work around problem with forward declarations of constants in MSVC in the amalgamation. Ticket #2574. (CVS 4304) (check-in: [dc80b2e1] user: drh branch: trunk, size: 66366)
2007-08-24
11:52
[692f0a76] part of check-in [13dda2e8] Select the default page size for new databases based on the sector-size and IOCAP flags. (CVS 4286) (check-in: [13dda2e8] user: danielk1977 branch: trunk, size: 66367)
03:51
[b040c378] part of check-in [3a68fcdd] The win32 driver compiles but does not yet work well. Many bugs fixed. (CVS 4282) (check-in: [3a68fcdd] user: drh branch: trunk, size: 66213)
2007-08-23
02:47
[8b418029] part of check-in [21f6b310] Improvements to memory leak detection. The --backtrace=NNN option is now recognized by tester.tcl. Memory leak summaries are automatically written to the file ./memleak.txt and each leak is tagged with the test in which it occurred. The quick.test script runs on Linux with no errors and no leaks. (CVS 4273) (check-in: [21f6b310] user: drh branch: trunk, size: 66233)
2007-08-21
19:33
[b0aeed4f] part of check-in [92872761] 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: [92872761] user: drh branch: trunk, size: 66174)
10:44
[14b48bfc] part of check-in [fbbd5bda] Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) (check-in: [fbbd5bda] user: drh branch: trunk, size: 65989)
2007-08-20
14:23
[d2e8a63e] part of check-in [40f66ada] Changes to crash-test io backend (test6.c) so that it works with the sqlite3_vfs interface. (CVS 4247) (check-in: [40f66ada] user: danielk1977 branch: trunk, size: 66005)
05:36
[93724b68] part of check-in [cb24cda1] Fix full_fsync() related functionality broken as part of the migration to sqlite3_vfs. (CVS 4243) (check-in: [cb24cda1] user: danielk1977 branch: trunk, size: 66002)
2007-08-18
10:59
[c155bc8e] part of check-in [a258c4ec] Further progress on migration to sqlite3_vfs. (CVS 4242) (check-in: [a258c4ec] user: danielk1977 branch: trunk, size: 66091)
2007-08-17
15:53
[6468d566] part of check-in [af3e3c7a] Begin migration to using sqlite3_vfs interface. (CVS 4240) (check-in: [af3e3c7a] user: danielk1977 branch: trunk, size: 66844)
2007-08-16
12:24
[c6d50887] part of check-in [ba80ee59] Combine sqlite3DbOfVdbe() and sqlite3VdbeDb() into a single function. (CVS 4236) (check-in: [ba80ee59] user: drh branch: trunk, size: 66494)
10:09
[aa079bb6] part of check-in [77b16713] More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) (check-in: [77b16713] user: danielk1977 branch: trunk, size: 66611)
04:30
[e59e5065] part of check-in [deb7ecd6] 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: [deb7ecd6] user: drh branch: trunk, size: 66503)
2007-08-15
17:08
[8e6dbe3d] part of check-in [af9503da] Modify the crash-recovery test code in test6.c for 3.5. Also change some other code to use the new sqlite3_io_methods interface. Lots of things are broken now. (CVS 4228) (check-in: [af9503da] user: danielk1977 branch: trunk, size: 66224)
2007-08-13
11:10
[d626e0f8] part of check-in [578da247] Remove a memory allocation from sqlite3VdbeIOTraceSql(). This means that when doing I/O tracing, the text of an SQL statement is truncated to the first 1000 characters. But it also means tracing works in an out-of-memory situation. (CVS 4210) (check-in: [578da247] user: drh branch: trunk, size: 66142)
2007-08-07
17:13
[6a29a0e3] part of check-in [7550dd1d] Remove all tabs from source code files. Ticket #2556. (CVS 4198) (check-in: [7550dd1d] user: drh branch: trunk, size: 66130)
2007-08-03
07:33
[e28c03db] part of check-in [61de5b52] Avoid reloading the schema when an expired statement is finalized or reset. This is only necessary when the in-memory schema does not match the file-system schema. (CVS 4194) (check-in: [61de5b52] user: danielk1977 branch: trunk, size: 66123)
2007-06-27
15:53
[ca1d673f] part of check-in [37d1f9f3] Allow ALTER TABLE on virtual tables. (CVS 4142) (check-in: [37d1f9f3] user: danielk1977 branch: trunk, size: 66196)
2007-06-20
11:56
[c580d360] part of check-in [79debf95] Additional changes for ticket #2426. (CVS 4098) (check-in: [79debf95] user: drh branch: trunk, size: 65992)
2007-06-15
14:53
[b4eda47b] part of check-in [115e19fe] Fix for #2415. The progress handler should abandon only the current query, not all active queries. (CVS 4067) (check-in: [115e19fe] user: danielk1977 branch: trunk, size: 65971)
2007-06-13
16:49
[97dcf965] part of check-in [33454b56] Have queries interrupted by the progress-handler return SQLITE_INTERRUPT. Rollback any active transaction if a DML statement returns SQLITE_INTERRUPT. (CVS 4061) (check-in: [33454b56] user: danielk1977 branch: trunk, size: 65315)
15:22
[85b374b6] part of check-in [ce2c9925] Fix for #2409. Return SQLITE_IOERR_BLOCKED instead of SQLITE_BUSY in cases where failure to obtain a database lock leaves the cache in an inconsistent state. See additional information at CorruptionFollowingBusyError. (CVS 4060) (check-in: [ce2c9925] user: danielk1977 branch: trunk, size: 65281)
2007-05-23
07:20
[a978d170] part of check-in [dd48a31e] Additional comments ono the SQLITE_MIXED_ENDIAN_64BIT_FLOAT issue. (CVS 4029) (check-in: [dd48a31e] user: drh branch: trunk, size: 65141)
2007-05-16
17:50
[47f483c3] part of check-in [d5db8be3] Avoid passing a negative value to isspace() in a couple places. (CVS 4016) (check-in: [d5db8be3] user: danielk1977 branch: trunk, size: 64418)
2007-05-08
20:59
[62011e2c] part of check-in [5a0fe985] Disable tracing pragmas when not in debug mode. This eliminates an external dependency on stdout. (CVS 3959) (check-in: [5a0fe985] user: drh branch: trunk, size: 64388)
2007-05-04
13:15
[c432e17f] part of check-in [ba4845b3] Eliminate all uses of sprintf() and strcpy(). These were not being misused. But getting rid of them removes a library dependency. And it avoids warnings from the OpenBSD compiler. Ticket #2336. (CVS 3916) (check-in: [ba4845b3] user: drh branch: trunk, size: 64361)
12:05
[966d166f] part of check-in [641e5528] Test cases and corrections to IO and malloc() error handling in incremental blob IO functions. (CVS 3915) (check-in: [641e5528] user: danielk1977 branch: trunk, size: 64321)
11:59
[51acaab4] part of check-in [2a178d0c] Add compile-time option -DSQLITE_MIXED_ENDIAN_64BIT_FLOAT=1 that uses mixed-endian doubles. This is needed on ARM7 to make database file formats compatible with all other processors. Tickets #2278 and #2335. (CVS 3913) (check-in: [2a178d0c] user: drh branch: trunk, size: 64282)
2007-05-02
13:30
[8c7f22e2] part of check-in [e6d560dd] Add support for zero-blobs to the OP_MakeRecord opcode. First test cases of zeroblob functionality. (CVS 3897) (check-in: [e6d560dd] user: drh branch: trunk, size: 63592)
2007-04-18
14:24
[ef59545f] part of check-in [175156d1] Minor changes (mainly to assert() macros) to handle malloc failure in vtab operations. (CVS 3851) (check-in: [175156d1] user: danielk1977 branch: trunk, size: 62587)
2007-04-05
11:25
[0bae26de] part of check-in [38af156d] Improvements to coverage testing. (CVS 3810) (check-in: [38af156d] user: drh branch: trunk, size: 62527)
2007-04-04
01:27
[2d58a815] part of check-in [25f49acc] Test coverage improvements. (CVS 3807) (check-in: [25f49acc] user: drh branch: trunk, size: 62663)
2007-04-01
23:49
[464df661] part of check-in [18aec1dd] Fix some warnings about unused and uninitialized variables. (CVS 3788) (check-in: [18aec1dd] user: drh branch: trunk, size: 62830)
2007-03-30
18:42
[a77bf702] part of check-in [28c7ed1e] Fix a memory leak in multi-database commit. Also enhance a comment that explains why a particular valgrind error is harmless. (CVS 3771) (check-in: [28c7ed1e] user: drh branch: trunk, size: 62822)
14:06
[5efa6d0f] part of check-in [66b3ad09] Refactoring the btree and pager routines into distinct two-phase commit routines. We've always done a two-phase commit - this change is just making that more apparent in the code. (CVS 3762) (check-in: [66b3ad09] user: drh branch: trunk, size: 62822)
11:23
[d768c22c] part of check-in [6b995259] Remove the anonymous union from the sqlite3_value structure since some compilers are unable to deal with it. (CVS 3758) (check-in: [6b995259] user: drh branch: trunk, size: 62735)
2007-03-29
05:51
[2cf328d4] part of check-in [ad4a6b1a] Change BtreeMoveto so that it can be biased to the right or to the center. Use a right bias when appending and a center bias when searching. This gives about a 15% reduction in calls to sqlite3VdbeRecordCompare. (CVS 3741) (check-in: [ad4a6b1a] user: drh branch: trunk, size: 62709)
2007-03-27
16:19
[1a50dce8] part of check-in [b24a6e7b] Test handling of IO errors that occur in OsDelete() or OsTruncate() operations. Also use an anonymous file for temporary storage during a VACUUM. (CVS 3729) (check-in: [b24a6e7b] user: danielk1977 branch: trunk, size: 62702)
13:36
[b9817708] part of check-in [c8a8a189] More strict aliasing fixes. The single source file library now runs successfully with -fstrict-alias. (CVS 3725) (check-in: [c8a8a189] user: drh branch: trunk, size: 62395)
2007-03-26
22:05
[b196911d] part of check-in [0b832e21] 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: [0b832e21] user: drh branch: trunk, size: 62348)
2007-03-01
00:29
[666f0753] part of check-in [ed915f57] Additional I/O Tracing support. (CVS 3667) (check-in: [ed915f57] user: drh branch: trunk, size: 62151)
2007-01-09
14:01
[c5324d62] part of check-in [43fe7fc1] When an automatic re-prepare occurs, take care not to reset the internal schema symbol table. Ticket #2156. This change also includes some debugging enhancements. (CVS 3578) (check-in: [43fe7fc1] user: drh branch: trunk, size: 61447)
2007-01-08
21:07
[5085f15a] part of check-in [3401388d] Fix a critical bug in sqlite3_prepare_v2 that can lead to segfaults when the schema changes and the statement is recompiled automatically. Ticket #2154. (CVS 3576) (check-in: [3401388d] user: drh branch: trunk, size: 61599)
2006-11-09
00:24
[05cc6f0f] part of check-in [f1efae92] 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: [f1efae92] user: drh branch: trunk, size: 61464)
2006-10-27
14:06
[78c744f1] part of check-in [4d336e9e] Changes directed toward optimizing IS NULL terms in WHERE clauses. (CVS 3492) (check-in: [4d336e9e] user: drh branch: trunk, size: 60822)
2006-09-23
21:44
[6fcc4798] part of check-in [20d7b294] Fix a bug in the handling of I/O errors introduced by the addition of extended error codes in check-in (3422). (CVS 3438) (check-in: [20d7b294] user: drh branch: trunk, size: 61001)
2006-09-15
07:28
[7d15dcf0] part of check-in [ba579ddc] 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: [ba579ddc] user: drh branch: trunk, size: 60931)
2006-09-14
16:57
[736d6d07] part of check-in [3564b07c] Minor build fixes. (CVS 3419) (check-in: [3564b07c] user: adamd branch: trunk, size: 60892)
2006-08-13
19:04
[9fab6142] part of check-in [dfc833ac] Add vdbeaux.c to the list of files that must be compiled with -DSQLITE_TEST=1 in order to generate testfixture. Do not require sqlit3OsDelete() to succeed on a multi-database commit. (Ticket #1917) (CVS 3351) (check-in: [dfc833ac] user: drh branch: trunk, size: 60866)
2006-08-08
15:42
[d56304b5] part of check-in [73ff3452] Fix an reference to an undefined variable introduced by the previous checkin. (CVS 3343) (check-in: [73ff3452] user: drh branch: trunk, size: 60858)
13:51
[e850cdfa] part of check-in [76e4d418] 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: [76e4d418] user: drh branch: trunk, size: 60832)
2006-07-26
13:43
[f3d25be0] part of check-in [e431131d] More work toward getting sqlite3_interrupt() to work from separate threads. Ticket #1897. (CVS 3336) (check-in: [e431131d] user: drh branch: trunk, size: 60824)
01:39
[10479446] part of check-in [35fd67d7] Initial attempt at making sqlite3_interrupt() work even when called from a separate thread. (CVS 3335) (check-in: [35fd67d7] user: drh branch: trunk, size: 60854)
2006-07-25
15:14
[0088120c] part of check-in [d5a608d0] Allow database writes from within virtual table module xSync() callbacks. (CVS 3334) (check-in: [d5a608d0] user: danielk1977 branch: trunk, size: 60868)
2006-07-08
17:06
[51722bb3] part of check-in [12cc7af4] Allow virtual table implementations to overload function that use a column of the virtual table as their first argument. Untested. (CVS 3322) (check-in: [12cc7af4] user: drh branch: trunk, size: 60197)
2006-06-26
19:10
[bb0a7b80] part of check-in [74a3961f] Remove the sqlite3_module.zName field which was used only for debugging. (CVS 3297) (check-in: [74a3961f] user: drh branch: trunk, size: 59800)
11:17
[d957835c] part of check-in [3538beac] Fix trivial compiler warnings. (CVS 3295) (check-in: [3538beac] user: danielk1977 branch: trunk, size: 59802)
2006-06-24
11:51
[bac87915] part of check-in [255aa912] A few more test cases to improve coverage of virtual table module related code. (CVS 3292) (check-in: [255aa912] user: danielk1977 branch: trunk, size: 59848)
2006-06-23
11:34
[1144cee0] part of check-in [b56cc035] Fix some memory leaks that occur when malloc() fails. (CVS 3286) (check-in: [b56cc035] user: danielk1977 branch: trunk, size: 59877)
08:05
[d8cf95bc] part of check-in [5d1d9071] Add tests and fixes for handling malloc() failures related to the virtual table feature. (CVS 3285) (check-in: [5d1d9071] user: danielk1977 branch: trunk, size: 59811)
2006-06-20
11:01
[2e4cb97e] part of check-in [c6ea353b] Modifications so that compilation and testing with the various OMIT macros defined works. (CVS 3276) (check-in: [c6ea353b] user: danielk1977 branch: trunk, size: 59686)
2006-06-16
16:08
[dc5cfd11] part of check-in [61251402] Add code to invoke the virtual table transaction interface. Untested at this point. (CVS 3261) (check-in: [61251402] user: danielk1977 branch: trunk, size: 59685)
2006-06-15
13:22
[85f2184f] part of check-in [d145dc1c] Asserts added that verify that the code works correctly that ticket #1849 claims is wrong. (CVS 3254) (check-in: [d145dc1c] user: drh branch: trunk, size: 59519)
2006-06-14
15:14
[de49c194] part of check-in [e5fff87d] Fix segfault introduced in (3243). (CVS 3245) (check-in: [e5fff87d] user: danielk1977 branch: trunk, size: 59447)
13:03
[ba6e06a6] part of check-in [418f3ca8] Add the opcode OP_VUpdate and replace the xInsert/xDelete members of sqlite3_module with xUpdate. (CVS 3242) (check-in: [418f3ca8] user: danielk1977 branch: trunk, size: 59447)
2006-06-13
23:51
[c9474fd2] part of check-in [29199eee] The echo module test is now running. Added the tclvar module test but have not yet done anything with it. (CVS 3234) (check-in: [29199eee] user: drh branch: trunk, size: 59361)
10:24
[0168d770] part of check-in [1f20e183] Add implementations for opcodes required for linear scans of virtual tables. (CVS 3223) (check-in: [1f20e183] user: danielk1977 branch: trunk, size: 59103)
01:04
[bcad5264] part of check-in [3532f134] Progress toward getting the virtual-table code generator to work. (CVS 3220) (check-in: [3532f134] user: drh branch: trunk, size: 59097)
2006-06-12
21:59
[60f84a2d] part of check-in [01096543] Added code to iterate through virtual tables. All regression tests pass but the new code is completely untested. (CVS 3219) (check-in: [01096543] user: drh branch: trunk, size: 58994)
2006-03-17
13:56
[4002e6b1] part of check-in [8f60139f] Miscellaneous code cleanup. (CVS 3143) (check-in: [8f60139f] user: drh branch: trunk, size: 58741)
2006-03-15
22:44
[2ee7d951] part of check-in [6bcbe8fc] Performance improvement in sqlite3VdbeAddOp(). (CVS 3138) (check-in: [6bcbe8fc] user: drh branch: trunk, size: 58469)
2006-03-13
12:54
[db9dc285] part of check-in [a69f697d] Additional changes due to Coverity scans. (CVS 3130) (check-in: [a69f697d] user: drh branch: trunk, size: 58433)
2006-03-03
21:38
[e7f448c5] part of check-in [34b560e8] EXPLAIN sets the length of its text return values correctly. Ticket #1583. (CVS 3123) (check-in: [34b560e8] user: drh branch: trunk, size: 58409)
2006-02-24
03:09
[8d572693] part of check-in [a359b181] Additional compiler warnings suppressed. (CVS 3111) (check-in: [a359b181] user: drh branch: trunk, size: 58378)
02:53
[43385085] part of check-in [4b22e4b8] Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) (check-in: [4b22e4b8] user: drh branch: trunk, size: 58318)
2006-02-10
02:27
[95f4ed0b] part of check-in [82f502cd] Add the column_origin_name() etc. APIs. (CVS 3069) (check-in: [82f502cd] user: danielk1977 branch: trunk, size: 58333)
2006-01-26
10:35
[9bf50cdb] part of check-in [5cecb452] Handle a malloc() failure in resizeOpArray(). (CVS 3030) (check-in: [5cecb452] user: danielk1977 branch: trunk, size: 58259)
2006-01-25
22:50
[f2ffd1fd] part of check-in [9e55dcd1] Minor comment changes and code optimizations. (CVS 3029) (check-in: [9e55dcd1] user: drh branch: trunk, size: 58001)
2006-01-24
16:37
[bc901377] part of check-in [5df9f022] Handle errors in saving cursor positions during a rollback by aborting all active statements. (CVS 3027) (check-in: [5df9f022] user: danielk1977 branch: trunk, size: 57976)
2006-01-23
21:44
[0c27d3b3] part of check-in [b52674e5] More progress toward getting SQLITE_OMIT_FLOATING_POINT to pass tests. Ticket #1621. (CVS 3014) (check-in: [b52674e5] user: drh branch: trunk, size: 57944)
15:25
[2f12c17b] part of check-in [a9ec5ee4] Further coverage improvements for pager.c and another IO error bug fix. (CVS 3001) (check-in: [a9ec5ee4] user: danielk1977 branch: trunk, size: 57898)
2006-01-20
17:56
[1dce6e5f] part of check-in [b7bdac0a] Fix some compiler warnings. (CVS 2983) (check-in: [b7bdac0a] user: drh branch: trunk, size: 57797)
16:32
[9d926400] part of check-in [7e34163a] Fix another couple of IO or malloc() failure problems in a shared-cache context. (CVS 2982) (check-in: [7e34163a] user: danielk1977 branch: trunk, size: 57909)
10:55
[d9a757ed] part of check-in [97491d4e] Handle some of the IO error conditions that may occur in a shared-cache context. (CVS 2980) (check-in: [97491d4e] user: danielk1977 branch: trunk, size: 57742)
2006-01-18
16:51
[1b3fe25f] part of check-in [ac090f2a] Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972) (check-in: [ac090f2a] user: danielk1977 branch: trunk, size: 55678)
2006-01-16
15:14
[723e0ec7] part of check-in [0d5d83bc] Fix some of the issues raised in #1615. (CVS 2959) (check-in: [0d5d83bc] user: danielk1977 branch: trunk, size: 55798)
2006-01-15
13:13
[bfad18ca] part of check-in [66252221] Fix a buffer-overrun that could occur after a malloc() failure. (CVS 2948) (check-in: [66252221] user: danielk1977 branch: trunk, size: 55780)
2006-01-13
06:33
[1d765d67] part of check-in [dd705955] Minor modification to restoreOrClearCursorPosition() to improve efficiency. Do not allocate the extra 8-bytes if memory-management is not enabled. (CVS 2936) (check-in: [dd705955] user: danielk1977 branch: trunk, size: 55775)
2006-01-12
20:28
[23ff1260] part of check-in [14c42307] Performance boost in sqlite3VdbeRecordCompare. (CVS 2929) (check-in: [14c42307] user: drh branch: trunk, size: 55776)
12:43
[b3ac0058] part of check-in [0caa1994] About a 2.5% speed improvement by reducing the number of sqlite3ThreadData calls in the parser. (CVS 2924) (check-in: [0caa1994] user: drh branch: trunk, size: 55178)
2006-01-11
21:41
[fca3a799] part of check-in [5d9c6aa9] 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: [5d9c6aa9] user: drh branch: trunk, size: 55197)
2006-01-09
06:29
[e4b8f492] part of check-in [82b81f69] Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) (check-in: [82b81f69] user: danielk1977 branch: trunk, size: 55130)
2006-01-07
18:48
[cb57a0b6] part of check-in [0ae46131] Invalidate all VDBE cursor row caches in between calls to sqlite3_step() since the emphemeral content that those caches point to might change if the statement is READ UNCOMMITTED. (CVS 2886) (check-in: [0ae46131] user: drh branch: trunk, size: 55081)
2006-01-06
14:32
[a4eea656] part of check-in [2529c2e1] 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: [2529c2e1] user: drh branch: trunk, size: 55051)
2006-01-02
18:24
[7d55232a] part of check-in [2622c524] Additional tests for descending indices. Comment changes. (CVS 2850) (check-in: [2622c524] user: drh branch: trunk, size: 55069)
2005-12-30
16:28
[e7c116d4] part of check-in [2afcad99] Add part of the btree layer of the shared-cache feature. (CVS 2848) (check-in: [2afcad99] user: danielk1977 branch: trunk, size: 54943)
2005-12-29
19:23
[9dc10a70] part of check-in [ae301db8] Add serial-types 8 and 9 for integer constants of 0 and 1 that use zero bytes of storage. Make the default file format 4. Add the SQLITE_DEFAULT_FILE_FORMAT compile-time option to lower the default file format number so that newly created databases can be read and written by older versions of SQLite. (CVS 2845) (check-in: [ae301db8] user: drh branch: trunk, size: 54955)
2005-12-21
18:36
[8fd4f36d] part of check-in [5638a11e] Bug fixes and additional testing of descending indices. (CVS 2841) (check-in: [5638a11e] user: drh branch: trunk, size: 54620)
2005-12-16
15:24
[c38276e0] part of check-in [83c8ae5b] Verify that the rollback-hook is invoked correctly when a malloc() failure occurs. (CVS 2824) (check-in: [83c8ae5b] user: danielk1977 branch: trunk, size: 54604)
06:54
[c878807f] part of check-in [3baa3ff3] Add the sqlite3_rollback_hook() API. Still requires further testing. (CVS 2823) (check-in: [3baa3ff3] user: danielk1977 branch: trunk, size: 54830)
01:06
[722736cd] part of check-in [cd110aa2] Initial infrastructure for recognizing DESC indices and being able to read and write older databases that specify DESC indices but do not really use them. Nothing is close to working yet. (CVS 2822) (check-in: [cd110aa2] user: drh branch: trunk, size: 54593)
2005-12-09
20:02
[f714ee9e] part of check-in [83a59151] Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) (check-in: [83a59151] user: drh branch: trunk, size: 54606)
14:25
[b0a4a4b1] part of check-in [601c3354] Many small changes to ensure memory is not leaked after malloc() fails. (CVS 2808) (check-in: [601c3354] user: danielk1977 branch: trunk, size: 54586)
2005-12-06
12:52
[90143aaf] part of check-in [e1606658] 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: [e1606658] user: danielk1977 branch: trunk, size: 54526)
2005-11-30
03:20
[0c4af4af] part of check-in [bd8740d1] 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: [bd8740d1] user: drh branch: trunk, size: 53035)
2005-11-29
03:13
[09b9bcfe] part of check-in [058f3175] Make the OsFile structure opaque with its internal structure known only to the appropriate os_*.c implementation. Omit the os_unix.h and os_win.h include files. The crash tests are broken by this patch. (CVS 2791) (check-in: [058f3175] user: drh branch: trunk, size: 53049)
2005-11-26
00:25
[3dca9c04] part of check-in [1f69aec2] Modify the OS layer so that I/O routines are called through a virtual function table. The os_test.c module has been replaced by test6.c. The crash tests are busted now and need to be fixed. (CVS 2785) (check-in: [1f69aec2] user: drh branch: trunk, size: 53096)
2005-11-24
22:22
[eb5f7185] part of check-in [2dfc9863] Reduce the number of distinct token symbols in the parser so that the parser can store tokens in a single byte and thus be smaller in size. (CVS 2776) (check-in: [2dfc9863] user: drh branch: trunk, size: 53064)
2005-10-05
11:35
[eb1ce3a4] part of check-in [533a85ee] Fix an assert or memory leak that occurs when trying to EXPLAIN a statement other than a SELECT that outputs results. Examples of such statements include PRAGMA integrity_check or INSERT/DELETE/UPDATE with PRAGMA count_changes=ON. (CVS 2743) (check-in: [533a85ee] user: drh branch: trunk, size: 53034)
2005-09-20
17:42
[2b728d82] part of check-in [2471957f] Code cleanup and simplification. Three new Mem opcodes added. The sqlite3VdbeJumpHere function added. (CVS 2730) (check-in: [2471957f] user: drh branch: trunk, size: 52988)
2005-09-17
17:58
[57a6ced8] part of check-in [85b931bf] Fix a memory leak that occurs after malloc fails. (CVS 2713) (check-in: [85b931bf] user: drh branch: trunk, size: 52777)
15:20
[b1db8b87] part of check-in [c0733000] Changes to make corruption errors easier to track down. (CVS 2709) (check-in: [c0733000] user: drh branch: trunk, size: 52671)
2005-09-16
02:38
[e3a815a8] part of check-in [4686d649] Fix a whole host of newly discovered memory leaks the occur after a failure of realloc(). (CVS 2696) (check-in: [4686d649] user: drh branch: trunk, size: 52666)
00:27
[df2bda6f] part of check-in [714254cb] Fix a memory leak: a failure to deallocate the P3 parameter on a call to sqlite3VdbeChangeP3. (CVS 2695) (check-in: [714254cb] user: drh branch: trunk, size: 52638)
2005-09-10
16:46
[670264f8] part of check-in [986efb7b] Add the experimental EXPLAIN QUERY PLAN diagnostic capability. (CVS 2685) (check-in: [986efb7b] user: drh branch: trunk, size: 52685)
2005-09-08
12:38
[a0aaf135] part of check-in [3c555a87] While doing a transaction comment, use fdatasync() instead of fsync() in cases there the file size is unchanged. (CVS 2673) (check-in: [3c555a87] user: drh branch: trunk, size: 52588)
2005-09-07
21:22
[11db0de9] part of check-in [17039ec3] Rewrite the aggregate handling logic so that it runs in O(1) space. This is the first cut at the code. Many regression tests fail. (CVS 2662) (check-in: [17039ec3] user: drh branch: trunk, size: 52576)
2005-09-06
20:36
[2cfc66b3] part of check-in [7ecf3654] Cleanup the processing of MEM_Agg elements. (CVS 2660) (check-in: [7ecf3654] user: drh branch: trunk, size: 56811)
2005-09-05
20:06
[b23bb870] part of check-in [7b56763a] Fix bugs introduced by checkin (2656) and do some modest code enhancements. (CVS 2657) (check-in: [7b56763a] user: drh branch: trunk, size: 57125)
2005-09-01
12:16
[afb689d2] part of check-in [81259a01] All regression tests now pass with the new bounded-memory sort code. There is still lots of opportunity for optimization, however. (CVS 2654) (check-in: [81259a01] user: drh branch: trunk, size: 57107)
03:07
[68d5d088] part of check-in [09db0a24] Sorting is now done using a sorting index rather than loading the entire result set into memory and doing a merge sort. The old merge sort technique was a carry-over from SQLite version 1. The new method uses a bounded amount of memory and scales to much larger result sets. There are still errors: some 39 regression tests fail. (CVS 2653) (check-in: [09db0a24] user: drh branch: trunk, size: 56865)
2005-08-28
01:38
[192e0dbe] part of check-in [73b430de] Improvements to the formatting and layout of the code in the previous checkin. (CVS 2636) (check-in: [73b430de] user: drh branch: trunk, size: 57218)
01:34
[bbed7e89] part of check-in [07b48921] Add an assert to verify that floating point values and integers use the same byte order. Add a comment to the SELECT code generator. (CVS 2635) (check-in: [07b48921] user: drh branch: trunk, size: 57211)
2005-08-27
16:36
[ae051fd1] part of check-in [644b96aa] Disable synchronous writes to the master journal when PRAGMA synchronous=OFF for all database files. Ticket #1375. (CVS 2630) (check-in: [644b96aa] user: drh branch: trunk, size: 56953)
2005-08-19
01:07
[87462469] part of check-in [0b6cd5ac] More test coverage enhancements. (CVS 2600) (check-in: [0b6cd5ac] user: drh branch: trunk, size: 56826)
2005-08-18
18:15
[6b2e54ac] part of check-in [b865e243] Comment fixes. No changes to the underlying code. (CVS 2598) (check-in: [b865e243] user: drh branch: trunk, size: 57206)
2005-08-14
01:20
[c7ea38ba] part of check-in [72ee21c0] The case_sensitive_like pragma added. Test cases added for the LIKE optimization. (CVS 2592) (check-in: [72ee21c0] user: drh branch: trunk, size: 57206)
2005-08-12
22:56
[d53139d8] part of check-in [3edbe8d6] Optimize LIKE and GLOB operators in the WHERE clause. Code passes all regression tests but still needs additional tests. (CVS 2581) (check-in: [3edbe8d6] user: drh branch: trunk, size: 57188)
2005-07-08
13:08
[3732a865] part of check-in [94c120bb] Replace OP_List with OP_Fifo. This is the first step toward allowing recursive delete triggers and later foreign keys with cascading deletes. (CVS 2538) (check-in: [94c120bb] user: drh branch: trunk, size: 57974)
2005-06-14
17:47
[38332d91] part of check-in [833c0160] Fix an NDEBUG versus SQLITE_DEBUG confusion issue. (CVS 2516) (check-in: [833c0160] user: drh branch: trunk, size: 58172)
2005-06-12
21:35
[c99e32ab] part of check-in [36f2da1f] Update older opcode names to be more meaningful in light of the latest code design. (CVS 2506) (check-in: [36f2da1f] user: drh branch: trunk, size: 58167)
2005-06-07
01:43
[d078d96e] part of check-in [989573a5] Do not open a statement journal unless absolutely necessary. (CVS 2499) (check-in: [989573a5] user: drh branch: trunk, size: 58159)
2005-05-27
09:41
[84a13810] part of check-in [3ac4a212] Minor changes to help build and test SSE. (CVS 2487) (check-in: [3ac4a212] user: danielk1977 branch: trunk, size: 56891)
2005-05-26
12:37
[73b11986] part of check-in [3516ca29] Fix minor problems with the SSE hooks. (CVS 2483) (check-in: [3516ca29] user: danielk1977 branch: trunk, size: 56857)
2005-05-21
18:32
[78704946] part of check-in [3fa177c5] Speed improvements as described by tickets #1257 and #1258. These changes help some but are nowhere near the 23% claimed in the tickets. (CVS 2469) (check-in: [3fa177c5] user: drh branch: trunk, size: 56784)
2005-05-19
08:43
[77dc2e0f] part of check-in [79a41674] Always use a more specific type (P3_FUNCDEF) instead of P3_POINTER as the P3 type of a vdbe instruction. (CVS 2463) (check-in: [79a41674] user: danielk1977 branch: trunk, size: 56005)
2005-04-15
12:04
[b4d9b9a9] part of check-in [00e20690] Correctly store large integers. Ticket #1212. (CVS 2445) (check-in: [00e20690] user: drh branch: trunk, size: 55838)
2005-04-01
10:47
[3efd3cff] part of check-in [e8391491] Make the ORDER BY clause return equal elements in the same order they were seen (a stable sort). It was returning them in exactly the reverse order. (CVS 2439) (check-in: [e8391491] user: drh branch: trunk, size: 55838)
2005-03-31
22:26
[482ae822] part of check-in [67aaa269] Add a "const" declaration to a constant. Fix a typo in a comment. (CVS 2438) (check-in: [67aaa269] user: drh branch: trunk, size: 55818)
2005-03-29
13:07
[f07ea8a5] part of check-in [7e54d3c7] Change 'stack' to the more descriptive 'no-push' in vdbe.c. (CVS 2429) (check-in: [7e54d3c7] user: danielk1977 branch: trunk, size: 55812)
08:26
[b28883d9] part of check-in [7d6818da] Reduce the space allocated for the runtime virtual machine stack. (CVS 2428) (check-in: [7d6818da] user: danielk1977 branch: trunk, size: 55809)
2005-03-28
08:44
[0932f570] part of check-in [0fd5ce4e] Modifications to reduce memory consumption. (CVS 2422) (check-in: [0fd5ce4e] user: danielk1977 branch: trunk, size: 53922)
2005-03-19
14:45
[91013922] part of check-in [90a00e90] Preparations for the release of version 3.2.0. (CVS 2400) (check-in: [90a00e90] user: drh branch: trunk, size: 52759)
2005-03-16
12:15
[3c2f1d5d] part of check-in [9a358fc3] Fix some memory leaks that can occur if a memory allocation fails. (CVS 2388) (check-in: [9a358fc3] user: danielk1977 branch: trunk, size: 52752)
2005-03-09
12:26
[30a9a6f6] part of check-in [9d5abc1d] Support for a future ALTER TABLE command to add columns with default values. (CVS 2367) (check-in: [9d5abc1d] user: danielk1977 branch: trunk, size: 52664)
2005-01-29
08:32
[8d8cc899] part of check-in [b1b50f31] Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) (check-in: [b1b50f31] user: danielk1977 branch: trunk, size: 52465)
2005-01-26
21:55
[083c5fcd] part of check-in [2c54aba5] Propagate detected database corruption up through the call stack. (CVS 2279) (check-in: [2c54aba5] user: drh branch: trunk, size: 52135)
17:47
[82e2c87e] part of check-in [db367738] An optimization to sqlite3VdbeSerialType(). (CVS 2278) (check-in: [db367738] user: drh branch: trunk, size: 52035)
2005-01-24
10:25
[30cd8af3] part of check-in [d5233e07] Modifications and bugfixes so that the test suite passes with the TCL statement cache turned on. (CVS 2271) (check-in: [d5233e07] user: danielk1977 branch: trunk, size: 52083)
00:28
[acf9fe56] part of check-in [8db6bfef] Change the TCL interface so that it can cache VMs and reuse them without recompiling. But for now leave the cache turned off by default. (CVS 2269) (check-in: [8db6bfef] user: drh branch: trunk, size: 51811)
2005-01-23
19:04
[f37d3dde] part of check-in [1a64295e] Fix a bug in change counting that comes up when sqlite3_finalize() is called right after sqlite3_reset(). (CVS 2266) (check-in: [1a64295e] user: drh branch: trunk, size: 51570)
13:14
[442782a4] part of check-in [6c631b86] ATTACH and DETACH cause prepared statements to expire. sqlite3_finalize() can now be called right after sqlite3_reset(). (CVS 2265) (check-in: [6c631b86] user: drh branch: trunk, size: 51558)
2005-01-22
03:03
[fcadffa6] part of check-in [df648d50] Add the experimental sqlite3_expired() API. (CVS 2263) (check-in: [df648d50] user: drh branch: trunk, size: 51533)
2005-01-20
22:48
[d01eff90] part of check-in [38401dfb] Bug fixes and enhancements entered while on jury recess. (CVS 2246) (check-in: [38401dfb] user: drh branch: trunk, size: 50988)
2005-01-13
11:07
[6c294f73] part of check-in [0428a148] Test cases to improve coverage of pager.c. (CVS 2205) (check-in: [0428a148] user: danielk1977 branch: trunk, size: 50950)
2005-01-12
09:10
[0675db9f] part of check-in [2b3e21ce] Tests to improve coverage of vdbeaux.c. (CVS 2201) (check-in: [2b3e21ce] user: danielk1977 branch: trunk, size: 50950)
2005-01-11
16:54
[60c24559] part of check-in [3f46cd77] Improved test coverage for vdbeaux.c. (CVS 2195) (check-in: [3f46cd77] user: drh branch: trunk, size: 51093)
2004-12-07
12:29
[a7c4c907] part of check-in [7b20f2b7] Remove the unused sqlite3_context.isStep element. (CVS 2156) (check-in: [7b20f2b7] user: drh branch: trunk, size: 51031)
2004-11-22
05:26
[dc06bbb8] part of check-in [9df837c0] Have tests pass when SQLITE_OMIT_MEMORYDB is defined. (CVS 2131) (check-in: [9df837c0] user: danielk1977 branch: trunk, size: 51059)
2004-11-05
17:17
[c6da55e0] part of check-in [b0506bdd] Create table now works with sqlite3NestedParse. This changed uncovered a latent bug in xprintf which is also fixed. (CVS 2069) (check-in: [b0506bdd] user: drh branch: trunk, size: 50948)
2004-10-31
02:22
[544ff663] part of check-in [be661acf] Insert #ifdefs that can optionally remove features at compiletime resulting in a database engine with a smaller footprint. (CVS 2034) (check-in: [be661acf] user: drh branch: trunk, size: 50948)
2004-10-06
15:41
[73928b98] part of check-in [d790c84c] Convert many constants to have type "const". (CVS 2006) (check-in: [d790c84c] user: drh branch: trunk, size: 50769)
2004-10-05
17:37
[edf87d36] part of check-in [f623d6e7] Rearrange memory allocation in sqlite3VdbeMakeReady to try to work around some byte-alignment problems on Sparc. (CVS 2002) (check-in: [f623d6e7] user: drh branch: trunk, size: 50763)
2004-09-30
13:43
[a43a2989] part of check-in [d0f1dc58] Allow functions to be created when there are outstanding VMs. (Ticket #926) Fix problems with sqlite3_errcode(). Add tests for sqlite3_errcode(). (CVS 1989) (check-in: [d0f1dc58] user: drh branch: trunk, size: 50803)
2004-09-25
14:39
[598af6c2] part of check-in [9ef4c24a] Code cleanup: get rid of the sqlite3SetNString utility function. (CVS 1984) (check-in: [9ef4c24a] user: drh branch: trunk, size: 50809)
2004-09-24
22:32
[dc384820] part of check-in [eabc77c9] Optimizations to vdbeaux.c and printf.c (CVS 1980) (check-in: [eabc77c9] user: drh branch: trunk, size: 50791)
19:39
[082d63e0] part of check-in [bdc3bb07] Improvements to the debugging code. (CVS 1979) (check-in: [bdc3bb07] user: drh branch: trunk, size: 50893)
2004-09-19
02:15
[3b67c863] part of check-in [4871c77f] Add comments to unused P3 fields of selected instructions when NDEBUG is not defined. This makes VDBE program dumps more readable during debugging. (CVS 1973) (check-in: [4871c77f] user: drh branch: trunk, size: 50868)
00:50
[f312d91a] part of check-in [eb9b501a] Merge the ListPush and ListPop VDBE opcodes into ContextPush and ContextPop. (CVS 1972) (check-in: [eb9b501a] user: drh branch: trunk, size: 50509)
2004-09-15
13:38
[0fbc50cf] part of check-in [0cc2f40e] 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: [0cc2f40e] user: drh branch: trunk, size: 50594)
2004-09-08
15:09
[066766b0] part of check-in [a1f53252] Always cast 0 to (char*)0 when it is an argument in a varargs function. (CVS 1948) (check-in: [a1f53252] user: drh branch: trunk, size: 50701)
2004-09-06
17:24
[4080a616] part of check-in [3ddf5a9d] 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: [3ddf5a9d] user: drh branch: trunk, size: 50694)
2004-09-02
14:57
[77eaaf62] part of check-in [d1b29156] Transactions commit on the last sqlite3_step(), not on sqlite3_finalize(). This allows the sqlite3_step() to return SQLITE_BUSY if the commit is blocked by a lock. Ticket #885. (CVS 1928) (check-in: [d1b29156] user: drh branch: trunk, size: 50687)
2004-08-21
17:54
[022c484d] part of check-in [bd6649c5] Optimizations to the code generator. (CVS 1899) (check-in: [bd6649c5] user: drh branch: trunk, size: 50006)
2004-08-20
16:02
[cc86e59c] part of check-in [d3be0b7c] Add support for named wildcards in SQL statements. (CVS 1897) (check-in: [d3be0b7c] user: drh branch: trunk, size: 49836)
2004-08-08
20:22
[892a49f7] part of check-in [b0659738] Make sure the argument to ctype.h macros is always an unsigned character. Ticket #839. (CVS 1881) (check-in: [b0659738] user: drh branch: trunk, size: 49706)
2004-07-24
14:35
[daf40a29] part of check-in [6db3f122] Fix more problems with deferred execution of CREATE. Still need to do DROP. There is now a memory leak. (CVS 1865) (check-in: [6db3f122] user: drh branch: trunk, size: 49701)
2004-06-30
11:41
[4de85e30] part of check-in [42553001] Add the crashtest target to Makefile.in. Add LL suffix to long long constants in the vdbe. Comment changes to vdbeaux.c. (CVS 1780) (check-in: [42553001] user: drh branch: trunk, size: 49340)
11:14
[f97b4b5e] part of check-in [0fedf74e] When a statement causes a ROLLBACK due to an ON CONFLICT clause, other active VMs abort. (CVS 1778) (check-in: [0fedf74e] user: drh branch: trunk, size: 49162)
2004-06-28
01:11
[f9b1b3d4] part of check-in [fae7c6e0] Fix a bunch of harmless warnings. (CVS 1749) (check-in: [fae7c6e0] user: danielk1977 branch: trunk, size: 48697)
2004-06-27
23:50
[1e3d0e72] part of check-in [95015879] Fix unitialised variable in sqlite3VdbeFinalize(). (CVS 1747) (check-in: [95015879] user: danielk1977 branch: trunk, size: 48764)
21:31
[8b6d2558] part of check-in [792b3c75] Remove unused routines from vdbeaux.c. Improve test coverage. (CVS 1746) (check-in: [792b3c75] user: drh branch: trunk, size: 48756)
2004-06-26
14:40
[14ff0eb6] part of check-in [a4a25708] Fold in changes submitted by the PHP developers. (CVS 1742) (check-in: [a4a25708] user: drh branch: version_2, size: 27587)
13:51
[e7201e3f] part of check-in [3c8512bc] Fix a problem where a file was not being closed after a malloc() failure. (CVS 1741) (check-in: [3c8512bc] user: danielk1977 branch: trunk, size: 50182)
08:38
[51f23399] part of check-in [4e207209] Remove the 'nMaster' argument from various pager and btree functions. (CVS 1737) (check-in: [4e207209] user: danielk1977 branch: trunk, size: 50136)
2004-06-22
22:04
[f28f7fbc] part of check-in [e17ea666] Be careful to initialize the Mem.xDel field to zero for static Mems. (CVS 1671) (check-in: [e17ea666] user: drh branch: trunk, size: 50086)
13:22
[a7831608] part of check-in [80151e72] Fix some segfaults that could have occurred after a malloc() failure. (CVS 1661) (check-in: [80151e72] user: drh branch: trunk, size: 50066)
11:29
[9fe01087] part of check-in [d16b8638] Add os_test.c. Not activated yet. (CVS 1655) (check-in: [d16b8638] user: danielk1977 branch: trunk, size: 50050)
2004-06-21
18:14
[bf1f5a48] part of check-in [afc398c2] Fix an uninitialized variable. The variable was harmless, but pedantic error checking in MSVC raised an exception on it. (CVS 1651) (check-in: [afc398c2] user: drh branch: trunk, size: 50058)
10:45
[b89e05d8] part of check-in [4d02df63] Avoid opening a temp table for aggregate queries with no GROUP BY clause. (CVS 1649) (check-in: [4d02df63] user: danielk1977 branch: trunk, size: 50021)
08:18
[4e0d90a7] part of check-in [7a33daef] Ensure sqlite3ErrorMsg() is used to report errors during compilation, sqlite3Error() during execution. Also remove unused param from sqlite3VdbeReset() and Finalize(). (CVS 1647) (check-in: [7a33daef] user: danielk1977 branch: trunk, size: 49689)
06:50
[fa9f0b17] part of check-in [ae2f4a09] Update sqlite3_changes() to match the documentation and add sqlite3_total_changes(). (CVS 1645) (check-in: [ae2f4a09] user: danielk1977 branch: trunk, size: 50051)
2004-06-19
15:40
[d2d95f1b] part of check-in [70680a34] Clear up another zero-length array. This seems to fix the segfault in func-13.4 too. (CVS 1641) (check-in: [70680a34] user: drh branch: trunk, size: 49375)
14:49
[cf9caac1] part of check-in [99d0436e] Omit the sqlite3VdbeCode() routine. Use sqlite3NameFromToken() more to reduce the amount of code. (CVS 1639) (check-in: [99d0436e] user: drh branch: trunk, size: 48991)
09:35
[82074da2] part of check-in [c94a9759] Remove the unused 'next_cookie' mechanism. (CVS 1634) (check-in: [c94a9759] user: danielk1977 branch: trunk, size: 49354)
03:33
[b3c13f05] part of check-in [61819740] Update sqlite3_close() API to match documentation. (CVS 1630) (check-in: [61819740] user: danielk1977 branch: trunk, size: 49356)
2004-06-16
07:45
[dc0e7d3b] part of check-in [98b48704] Fix two more memory leaks. (CVS 1603) (check-in: [98b48704] user: danielk1977 branch: trunk, size: 49426)
2004-06-15
16:51
[3476058d] part of check-in [07b90f36] Assorted memory leak fixes. (CVS 1600) (check-in: [07b90f36] user: danielk1977 branch: trunk, size: 49380)
13:36
[475fb88c] part of check-in [59db58eb] Memory leak fixes for tests in file select1.test. (CVS 1599) (check-in: [59db58eb] user: danielk1977 branch: trunk, size: 49350)
11:40
[765ffa64] part of check-in [e21a1813] Minor bugfixes and test case adjustments for version 2 test cases to work with version 3. (CVS 1598) (check-in: [e21a1813] user: danielk1977 branch: trunk, size: 49584)
2004-06-14
13:14
[9484c890] part of check-in [4cfc5a36] Schema modifications are committed internally when a statement transaction is committed. (CVS 1592) (check-in: [4cfc5a36] user: danielk1977 branch: trunk, size: 49573)
09:41
[79b0dc52] part of check-in [2737505f] Bugfix for previous checkin. (CVS 1587) (check-in: [2737505f] user: danielk1977 branch: trunk, size: 49484)
09:35
[71f78da2] part of check-in [cb3cbe00] Ensure master journal file is deleted when a transaction is committed. (CVS 1586) (check-in: [cb3cbe00] user: danielk1977 branch: trunk, size: 49484)
06:03
[d792de3b] part of check-in [73cd0aab] Ensure the master journal directory is synced. Also, change the master journal format to store journal file names. (CVS 1583) (check-in: [73cd0aab] user: danielk1977 branch: trunk, size: 48730)
2004-06-13
00:54
[7b45d493] part of check-in [c5ebc1c0] More speed improvements. (CVS 1580) (check-in: [c5ebc1c0] user: drh branch: trunk, size: 48407)
2004-06-12
20:42
[f5fc39d6] part of check-in [8029f1e4] The VDBE aggregate functions use an in-memory btree instead of a disk-based btree for improved performance. (CVS 1579) (check-in: [8029f1e4] user: drh branch: trunk, size: 48404)
20:12
[ff7c66b7] part of check-in [e42316f5] Speed up in the handling of VDBE cursors. (CVS 1578) (check-in: [e42316f5] user: drh branch: trunk, size: 48395)
09:25
[1d0dbaf7] part of check-in [5903f538] (1) Modifications to the user-function interface and (2) Internal changes to automatically created indices. (CVS 1575) (check-in: [5903f538] user: danielk1977 branch: trunk, size: 48423)
00:42
[fefea411] part of check-in [9b84f2f4] Use the SQLITE_UTF* symbols instead of the old internal TEXT_Utf* symbols. (CVS 1572) (check-in: [9b84f2f4] user: danielk1977 branch: trunk, size: 49784)
2004-06-11
13:19
[117d0d0a] part of check-in [8d56118f] Have the vdbe aggregator use a btree table instead of a hash table. (CVS 1569) (check-in: [8d56118f] user: danielk1977 branch: trunk, size: 49776)
2004-06-10
04:32
[73764dad] part of check-in [adb2bd61] When in PAGER_RESERVED state, don't write to the main file when rolling back a statement transaction. (CVS 1560) (check-in: [adb2bd61] user: danielk1977 branch: trunk, size: 46330)
01:30
[6f5b26a6] part of check-in [28c3cc08] Add the vdbe_listing and sql_trace pragmas used for debugging. (CVS 1558) (check-in: [28c3cc08] user: drh branch: trunk, size: 46307)
2004-06-09
21:01
[ca11b435] part of check-in [39b4ba95] If a commit fails due to lock contention right after the COMMIT command, take the database back out of autocommit mode. Do not rollback. This gives the user the chance to try the COMMIT again. (CVS 1551) (check-in: [39b4ba95] user: drh branch: trunk, size: 46259)
20:03
[6412cbc4] part of check-in [3674b25e] Turn on the atomic multifile commit logic. It does not work right yet, but it has at least stopped failing asserts. (CVS 1550) (check-in: [3674b25e] user: drh branch: trunk, size: 45655)
17:37
[5efecdaf] part of check-in [dc076345] Fixes to the file locking. 109 tests are now failing. (CVS 1548) (check-in: [dc076345] user: drh branch: trunk, size: 45406)
14:01
[136442a4] part of check-in [428b685b] Change the MEMORY_DEBUG macro to SQLITE_DEBUG. (CVS 1546) (check-in: [428b685b] user: drh branch: trunk, size: 45415)
09:55
[8547c18b] part of check-in [c634e71f] Some progress on user-defined collation sequences. (CVS 1544) (check-in: [c634e71f] user: danielk1977 branch: trunk, size: 45415)
00:48
[ab8c99fd] part of check-in [10861964] Start all transactions and verify all schema cookies near the beginning of of each vdbe program. (CVS 1543) (check-in: [10861964] user: drh branch: trunk, size: 45367)
2004-06-07
16:27
[cd1be846] part of check-in [0c2d169c] More work on windows locking. Fix some problems with unix locking. There is still an assertion failure on windows locking in attach2.test. (CVS 1539) (check-in: [0c2d169c] user: drh branch: trunk, size: 45145)
2004-06-06
09:44
[c47fd543] part of check-in [92337d8f] 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: [92337d8f] user: danielk1977 branch: trunk, size: 44910)
2004-06-05
</