SQLite

All files named "src/vdbe.c"
Login

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

History for src/vdbe.c

2024-04-22
00:42
[3b1793c5] part of check-in [e1040e51] Continuation of the fix at [8c0f69e0e4ae0a44]: If a viaCoroutine FROM clause term is participating in a RIGHT or FULL JOIN, we have to create an always-NULL pseudo-cursor for that term when processing the RIGHT join. dbsqlfuzz 6fd1ff3a64bef4a6c092e8d757548e95698b0df5. (check-in: [e1040e51] user: drh branch: trunk, size: 311739)
2024-04-18
16:11
[298e8bf3] part of check-in [8c0f69e0] Correct handling of OUTER JOIN when on or the other operand is a subquery implemented using the VALUES-as-coroutine optimization. dbsqlfuzz bde3bf80aedf25afa56e2997a0545a314765d3f8. (check-in: [8c0f69e0] user: drh branch: trunk, size: 311654)
2024-03-26
10:48
[6aa0fe7d] part of check-in [e469b022] Merge all recent trunk enhancements into the reuse-schema branch. (check-in: [e469b022] user: drh branch: reuse-schema, size: 311543)
10:45
[db42104a] part of check-in [33d3453f] Merge all recent trunk enhancements into the bedrock branch. (check-in: [33d3453f] user: drh branch: bedrock, size: 313507)
10:42
[5fedb254] part of check-in [c2139d82] Merge all recent trunk enhancements into the wal2 branch. (check-in: [c2139d82] user: drh branch: wal2, size: 311948)
10:42
[51a9781e] part of check-in [9b854e54] Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: [9b854e54] user: drh branch: begin-concurrent, size: 313103)
2024-03-22
10:32
[651aa0f3] part of check-in [8eda4797] Fix incorrect boundary assert()s on the new OP_IfSizeBetween opcode. (check-in: [8eda4797] user: drh branch: trunk, size: 311543)
2024-03-13
18:00
[3827b8b6] part of check-in [5c8e80f4] Merge the latest trunk enhancements into the bedrock branch. (check-in: [5c8e80f4] user: drh branch: bedrock, size: 313556)
17:55
[e25d2c86] part of check-in [2b12da72] Merge the latest trunk enhancements into the wal2 branch. (check-in: [2b12da72] user: drh branch: wal2, size: 311997)
17:51
[7031ddbc] part of check-in [238fa84a] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [238fa84a] user: drh branch: begin-concurrent, size: 313152)
15:59
[9ec10717] part of check-in [70ef3784] Merge the latest trunk enhancements into the reuse-schema branch. Fix the reuse-schema build of the CLI so that it works again. (check-in: [70ef3784] user: drh branch: reuse-schema, size: 311592)
2024-03-11
23:28
[6df53db6] part of check-in [e22e0e1e] Merge the latest branch-3.45 patches into the reuse-schema-3.45 subbranch. (check-in: [e22e0e1e] user: drh branch: reuse-schema-3.45, size: 310592)
23:26
[6d495a3b] part of check-in [516b7e13] Merge the latest branch-3.45 changes into the bedrock-3.45 subbranch. (check-in: [516b7e13] user: drh branch: bedrock-3.45, size: 312556)
23:23
[df29f80c] part of check-in [f8cee91f] Merge the branch-3.45 patches into the wal2 branch. (check-in: [f8cee91f] user: drh branch: wal2-3.45, size: 310997)
23:18
[b237b214] part of check-in [98ea2ca2] Merge the latest branch-3.45 changes into the begin-concurrent branch. (check-in: [98ea2ca2] user: drh branch: begin-concurrent-3.45, size: 312152)
2024-03-08
15:39
[da8407be] part of check-in [166d1e5d] Add new assert() statements, which if they had existed three years ago, would have detected the code generator problem fixed by the previous check-in. (check-in: [166d1e5d] user: drh branch: trunk, size: 311592)
2024-03-06
20:54
[b2a45392] part of check-in [6d385ccd] When doing a text-affinity comparison between two values where one or both have both a text and a numeric type, make sure the numeric type does not confuse the answer. This is a deeper fix to the problem observed by forum post 3776b48e71. The problem bisects to [25f2246be404f38b] on 2014-08-24, prior to version 3.8.7. (check-in: [6d385ccd] user: mistachkin branch: branch-3.45, size: 310592)
2024-03-05
17:48
[7a33c5bb] part of check-in [4784a92e] Fix a problem with large values clauses and named variables. (check-in: [4784a92e] user: dan branch: exp-values-clause, size: 311488)
2024-02-27
15:33
[523a88b3] part of check-in [6d02fb23] Remove unreachable branches from the PRAGMA integrity_check enhancement of [b736519d3d2e93c7]. (check-in: [6d02fb23] user: drh branch: trunk, size: 311693)
11:03
[f1097e0a] part of check-in [b736519d] Have "PRAGMA quick_check" compare the number of entries in tables and indexes. (check-in: [b736519d] user: dan branch: trunk, size: 311633)
2024-02-19
16:22
[805af8be] part of check-in [e147b189] If a table has one or more rows and it has a partial index has zero rows, still make an entry in the sqlite_stat1 table for the partial index, so that we know that "PRAGMA optimize" does not need to redo the whole table. (check-in: [e147b189] user: drh branch: better-pragma-optimize, size: 311626)
2024-02-17
16:39
[6d2aecc9] part of check-in [dd449706] Add new MASK bits to PRAGMA optimize: 0x70000. (check-in: [dd449706] user: drh branch: better-pragma-optimize, size: 311587)
01:12
[a9b83d5e] part of check-in [40532ffb] The PRAGMA optimize command invokes ANALYZE if a table shrinks by 25 times in addition to if it grows by 25 times. (check-in: [40532ffb] user: drh branch: better-pragma-optimize, size: 311222)
2024-02-02
16:51
[c91a1555] part of check-in [cc294c04] Have "PRAGMA quick_check" compare the number of entries in tables and indexes. (check-in: [cc294c04] user: dan branch: quick-check-counts, size: 310889)
11:37
[dd340f5a] part of check-in [62010ba4] Fix typo in vdbe.c comment. No changes to code. (check-in: [62010ba4] user: dan branch: trunk, size: 310882)
2024-01-20
15:13
[92910d53] part of check-in [709841f8] When doing a text-affinity comparison between two values where one or both have both a text and a numeric type, make sure the numeric type does not confuse the answer. This is a deeper fix to the problem observed by forum pose 3776b48e71. The problem bisects to [25f2246be404f38b] on 2014-08-24, prior to version 3.8.7. (check-in: [709841f8] user: drh branch: trunk, size: 310882)
2024-01-16
15:04
[4a42916b] part of check-in [05d2cf5e] Clutter the code with "fall-through" comments in order to suppress nuisance compiler warnings. No logic changes. (check-in: [05d2cf5e] user: drh branch: trunk, size: 310738)
2023-12-28
14:07
[afc1fc6b] part of check-in [3d1b0403] Merge the latest trunk changes into the reuse-schema branch. (check-in: [3d1b0403] user: drh branch: reuse-schema, size: 310448)
14:01
[4fa94f3c] part of check-in [5a17b972] Merge the latest trunk changes into the bedrock branch. (check-in: [5a17b972] user: drh branch: bedrock, size: 312412)
13:44
[72a82930] part of check-in [1f592dd3] Merge the latest trunk enhancements into the wal2 branch. (check-in: [1f592dd3] user: drh branch: wal2, size: 310853)
13:40
[fc13ee58] part of check-in [b3a2adfd] Merge recent trunk enhancements into the begin-concurrrent branch. (check-in: [b3a2adfd] user: drh branch: begin-concurrent, size: 312008)
2023-12-14
13:58
[96ac876e] part of check-in [3536f403] Pass subtype information through the aggregate ORDER BY sorter for aggregate functions that use subtype information. (check-in: [3536f403] user: drh branch: agg-orderby-subtype, size: 310448)
2023-12-06
22:22
[ebd78a92] part of check-in [5c36819c] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [5c36819c] user: drh branch: reuse-schema, size: 309519)
21:18
[085653e0] part of check-in [c2e53000] Merge the latest trunk changes into the bedrock branch. (check-in: [c2e53000] user: drh branch: bedrock, size: 311483)
21:11
[308ea511] part of check-in [457724e7] Merge the latest trunk enhancements into the wal2 branch. (check-in: [457724e7] user: drh branch: wal2, size: 309924)
21:05
[da661c00] part of check-in [b1c58f48] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [b1c58f48] user: drh branch: begin-concurrent, size: 311079)
2023-11-29
12:18
[f73bead1] part of check-in [1a59fcab] Merge all the latest trunk enhancements into the jsonb branch. (check-in: [1a59fcab] user: drh branch: jsonb, size: 309519)
02:50
[b0617c32] part of check-in [79e6496b] Reference count the Table passed into the OP_VCheck opcode. (check-in: [79e6496b] user: drh branch: branch-3.44, size: 309384)
02:45
[c7a5a1b2] part of check-in [cad269d5] The assertion change at check-in [7946c79567b0ccd3] is insufficient to fix the problem of a Table object being deleted out from under the OP_VCheck opcode. We need to reference count the Table, which is accomplished here. (check-in: [cad269d5] user: drh branch: trunk, size: 309397)
2023-11-28
17:47
[4684ee8e] part of check-in [bead0d8f] Update this branch with latest changes from trunk. (check-in: [bead0d8f] user: dan branch: begin-concurrent, size: 310976)
17:32
[f8689104] part of check-in [7f1b61a3] Update this branch with latest changes from trunk. (check-in: [7f1b61a3] user: dan branch: wal2, size: 309821)
2023-11-24
12:48
[3b63a707] part of check-in [2b9d5ff7] Merge 3.44.2 changes into the reuse-schema-3.44 sub-branch. (check-in: [2b9d5ff7] user: drh branch: reuse-schema-3.44, size: 309403)
12:42
[947bf915] part of check-in [1d9dfad0] Merge 3.44.2 changes into the bedrock-3.44 sub-branch. (check-in: [1d9dfad0] user: drh branch: bedrock-3.44, size: 311367)
12:38
[7bd1c830] part of check-in [0118e8c9] Merge 3.44.2 changes into the wal2-3.44 sub-branch. (check-in: [0118e8c9] user: drh branch: wal2-3.44, size: 309808)
12:33
[6e1b937b] part of check-in [6d97426f] Merge 3.44.2 changes into the begin-concurrent-3.44 sub-branch. (check-in: [6d97426f] user: drh branch: begin-concurrent-3.44, size: 310963)
2023-11-23
11:45
[1cfb61c5] part of check-in [db40272c] Fix harmless compiler warnings in debugging code. (check-in: [db40272c] user: drh branch: branch-3.44, size: 309403)
2023-11-22
16:32
[7ccecf0e] part of check-in [24fc47af] Merge the 3.44.1 patches into a new sub-branch of reuse-schema. (check-in: [24fc47af] user: drh branch: reuse-schema-3.44, size: 309322)
16:15
[b5eab144] part of check-in [84f42157] Merge the version 3.44.1 patch into a new sub-branch of bedrock. (check-in: [84f42157] user: drh branch: bedrock-3.44, size: 311286)
15:34
[368941ee] part of check-in [2672572c] Merge the 3.44.1 patches into a sub-branch of wal2. (check-in: [2672572c] user: drh branch: wal2-3.44, size: 309727)
15:29
[60d470c2] part of check-in [7a1a114b] Merge the 3.44.1 patches into a new sub-branch of begin-concurrent. (check-in: [7a1a114b] user: drh branch: begin-concurrent-3.44, size: 310882)
2023-11-21
17:54
[a5bf636e] part of check-in [6d78d50e] Merge all recent trunk fixes and enhancements into the jsonb branch. (check-in: [6d78d50e] user: drh branch: jsonb, size: 309538)
2023-11-20
13:12
[60f7b6b2] part of check-in [0d5f6871] Convert an assert in OP_VCheck into a branch that aborts the opcode, as this can happen on some very obscure conditions, as discovered by dbsqlfuzz. (check-in: [0d5f6871] user: drh branch: branch-3.44, size: 309322)
13:06
[319af2cf] part of check-in [7946c795] Convert an assert in OP_VCheck into a branch that aborts the opcode, as this can happen on some very obscure conditions, as discovered by dbsqlfuzz. Test case in TH3. (check-in: [7946c795] user: drh branch: trunk, size: 309416)
2023-11-17
17:03
[8b8e0c68] part of check-in [162f0509] Merge the latest trunk enhancements and fixes into the jsonb branch. (check-in: [162f0509] user: drh branch: jsonb, size: 309536)
12:22
[04b827a4] part of check-in [ce6a7562] Fix harmless compiler warnings in debugging code. (check-in: [ce6a7562] user: drh branch: trunk, size: 309414)
2023-11-10
18:59
[44bccc33] part of check-in [091a5f05] Merge recent trunk enhancements and fixes into the jsonb branch. (check-in: [091a5f05] user: drh branch: jsonb, size: 309455)
2023-11-08
17:11
[5f7432b2] part of check-in [72393b00] Merge recent trunk enhancements into the jsonb branch, and especially the finer-grain characterization of JSON function properties. (check-in: [72393b00] user: drh branch: jsonb, size: 309409)
00:45
[7034cf3e] part of check-in [b0594383] Suppress harmless UBSAN warnings about memory overflow in OP_AddImm. The exact same machine code is generated by GCC. (check-in: [b0594383] user: drh branch: trunk, size: 309333)
2023-11-01
14:12
[4c761113] part of check-in [a420a4f7] Bring the jsonb branch up-to-date with version 3.44.0 changes. (check-in: [a420a4f7] user: drh branch: jsonb, size: 309396)
2023-10-30
23:05
[6726140a] part of check-in [28f9a559] Merge the latest 3.44.0 release candidate changes into the reuse-schema branch. (check-in: [28f9a559] user: drh branch: reuse-schema, size: 309320)
22:57
[2a5e7b83] part of check-in [956b03a4] Merge the latest 3.44.0 release candidate patches into the bedrock branch. (check-in: [956b03a4] user: drh branch: bedrock, size: 311284)
21:46
[ddf76d04] part of check-in [4f65ae2d] Merge the latest 3.44.0 changes into wal2 branch. (check-in: [4f65ae2d] user: drh branch: wal2, size: 309725)
21:39
[eec1baca] part of check-in [9fa405eb] Merge the latest trunk changes into the begin-concurrent branch. (check-in: [9fa405eb] user: drh branch: begin-concurrent, size: 310880)
2023-10-25
10:37
[14479441] part of check-in [bc8afa3f] Enhance the new xIntegrity method of the sqlite3_module object with new parameters that provide the name of the table being checked and a flag to indicate a "quick_check". Based on feedback in forum post 965c0d02ea. (check-in: [bc8afa3f] user: drh branch: trunk, size: 309320)
2023-10-24
16:16
[af7eace7] part of check-in [688c6279] New #ifdefs to fix certain compile-time options. (check-in: [688c6279] user: drh branch: trunk, size: 309110)
2023-10-23
19:27
[5e83214a] part of check-in [52262ac9] Merge the latest trunk enhancments into the reuse-schema branch. (check-in: [52262ac9] user: drh branch: reuse-schema, size: 308946)
16:08
[d3b02730] part of check-in [c9c9bc09] Merge latest changes from wal2 into this branch. (check-in: [c9c9bc09] user: dan branch: bedrock, size: 310910)
16:00
[f4c10417] part of check-in [3a6479d3] Merge latest trunk changes into this branch. (check-in: [3a6479d3] user: dan branch: wal2, size: 309351)
15:48
[cc1c7517] part of check-in [c5ef898a] Merge latest trunk changes into this branch. (check-in: [c5ef898a] user: dan branch: begin-concurrent, size: 310506)
2023-10-19
21:05
[654cdbf0] part of check-in [d4bfa8d2] Ensure that when an ephemeral cursor is reopened with a second invocation of to OP_OpenEphemeral, the sequence counter is reset and the cache marked as stale. Fix for [9cdc5c46]. (check-in: [d4bfa8d2] user: drh branch: branch-3.28, size: 265633)
20:46
[b48fb188] part of check-in [f47a8d0a] Merge recent trunk enhancements into the jsonb branch. (check-in: [f47a8d0a] user: drh branch: jsonb, size: 309022)
2023-10-17
19:33
[300b1ac9] part of check-in [37ff0d8e] Fix a harmless compiler warning about variant types for a pointer function. (check-in: [37ff0d8e] user: drh branch: trunk, size: 308946)
18:59
[fb7697e9] part of check-in [023ad470] Make a new branch in the SqlExec opcode reachable by tests. (check-in: [023ad470] user: drh branch: trunk, size: 308978)
2023-10-13
22:19
[ae873b02] part of check-in [348fa7aa] Earlier detection of a host of errors in CREATE TABLE, such the CREATE TABLE statement itself fails, rather than generating an error on the first attempted use of the created table. (check-in: [348fa7aa] user: drh branch: trunk, size: 308978)
13:49
[4c688500] part of check-in [3237bf96] Immediately fail a CREATE TABLE statement that attempts to create a table that has a generated column loop. Legacy allows the table to be created but the table would not be usable for anything. (check-in: [3237bf96] user: drh branch: trunk, size: 308665)
2023-10-09
12:10
[6d79ae3d] part of check-in [53d5c504] In the VDBE trace output (available under -DSQLITE_DEBUG only), identify register values that hold a refernce-counted string. (check-in: [53d5c504] user: drh branch: mistake, size: 308651)
2023-09-30
16:50
[03e66cfa] part of check-in [15ffd932] Restore the trunk version of sqlite3_user_data(). Fix the xColumn for virtual tables so that the sqlite3_context contains a valid but NULL user data pointer. (check-in: [15ffd932] user: drh branch: jsonb, size: 308632)
2023-09-14
16:02
[cd112eb0] part of check-in [d88f41b2] Document the use of OPFLAG_ISNOOP as the P2 argument on OP_Delete. No functional code changes. (check-in: [d88f41b2] user: drh branch: trunk, size: 308556)
2023-09-07
02:13
[2849053c] part of check-in [52bbf44f] Fix a problem with the new xIntegrity method for virtual tables, and also fix a bad assert() in FTS3 that was found by the new xIntegrity method. (check-in: [52bbf44f] user: drh branch: trunk, size: 308258)
2023-09-06
14:00
[697f4a44] part of check-in [f1d4024a] Change the xIntegrity virtual table method signature so that it returns an integer error code and writes the error message into a parameter. (check-in: [f1d4024a] user: drh branch: vtab-integrity-check, size: 308135)
12:52
[d1ae563f] part of check-in [17bede8c] Add the xIntegrity method to the sqlite3_module object. Implement this method in RTREE, FTS3/4, and FTS5 so that "PRAGMA integrity_check" also verifies the correctness of shadow tables associated with those virtual tables. (check-in: [17bede8c] user: drh branch: vtab-integrity-check, size: 308057)
2023-09-02
19:35
[5f49afa4] part of check-in [2aef9af3] Performance optimization to the OP_MakeRecord opcode. (check-in: [2aef9af3] user: drh branch: trunk, size: 306974)
2023-08-12
12:16
[3ef6fd63] part of check-in [d2b0ddcc] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [d2b0ddcc] user: drh branch: reuse-schema, size: 306623)
2023-08-11
11:46
[3ef180ba] part of check-in [859932eb] Merge all the latest trunk enhancements into the bedrock branch. (check-in: [859932eb] user: drh branch: bedrock, size: 308587)
11:34
[ed1b8487] part of check-in [7cb2b4e3] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [7cb2b4e3] user: drh branch: begin-concurrent, size: 308183)
2023-08-10
17:03
[11f1a004] part of check-in [72f7807b] Merge latest trunk changes into this branch. (check-in: [72f7807b] user: dan branch: wal2, size: 307028)
2023-08-05
19:15
[346d848a] part of check-in [8ede5008] Tiny doc typo fixes from forum post 31eb707250. No code changes. (check-in: [8ede5008] user: stephan branch: trunk, size: 306623)
2023-08-03
23:26
[6db2c0f0] part of check-in [877ffece] Merge the latest trunk enhancements into the bedrock branch. (check-in: [877ffece] user: drh branch: bedrock, size: 308576)
23:22
[291ce57d] part of check-in [6fa71e11] Merge the latest trunk enhancements into the wal2 branch. (check-in: [6fa71e11] user: drh branch: wal2, size: 307017)
18:14
[e7567960] part of check-in [65a8716d] Fix harmless scan-build warnings. (check-in: [65a8716d] user: drh branch: trunk, size: 306612)
2023-07-31
22:03
[fe09ed1f] part of check-in [659284ab] Restrict the new column cache to table-btree, which is the common case anyhow. That way, writes to indexes do not need to clear the column cache. (check-in: [659284ab] user: drh branch: trunk, size: 306620)
20:02
[49b0c386] part of check-in [ec95e970] The original column-cache implementation from check-in [ab1edcc7fedcf279] (merged to trunk at [771fe35074b50b8d]) is unsound. This check-in fixes the issue. Had to give back a little performance, the optimization is still a overall win. (check-in: [ec95e970] user: drh branch: trunk, size: 306445)
2023-07-28
19:00
[3b010072] part of check-in [b8731493] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [b8731493] user: drh branch: reuse-schema, size: 305985)
18:52
[017239fc] part of check-in [1d6ded32] Merge the latest trunk enhancements into the bedrock branch. (check-in: [1d6ded32] user: drh branch: bedrock, size: 307949)
18:47
[cf9dbbe0] part of check-in [c1fa1cb5] Merge the latest trunk enhancements into the wal2 branch. (check-in: [c1fa1cb5] user: drh branch: wal2, size: 306390)
18:43
[906cfa41] part of check-in [7407dda8] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [7407dda8] user: drh branch: begin-concurrent, size: 307545)
00:54
[cd039675] part of check-in [d3f458dc] Remove some unnecessary and incorrect code that was mistakenly added in the previous check-in. (check-in: [d3f458dc] user: drh branch: json-opt, size: 305985)
2023-07-27
19:39
[2465f86f] part of check-in [ab1edcc7] The OP_Column opcode caches large column values coming from overflow pages. (check-in: [ab1edcc7] user: drh branch: json-opt, size: 306137)
2023-07-24
13:30
[ba77c689] part of check-in [e0e7b01e] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [e0e7b01e] user: drh branch: reuse-schema, size: 303365)
13:24
[6e54b2bf] part of check-in [a6f34439] Merge the latest trunk enhancements into the bedrock branch. (check-in: [a6f34439] user: drh branch: bedrock, size: 305329)
13:20
[f9f2dab3] part of check-in [b2e56f62] Merge the latest trunk enhancements into the wal2 branch. (check-in: [b2e56f62] user: drh branch: wal2, size: 303770)
13:15
[c0c9aaf8] part of check-in [967be041] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [967be041] user: drh branch: begin-concurrent, size: 304925)
2023-07-21
15:01
[4cda877d] part of check-in [d0278cde] Multiple optimizations that try to preserve or infer the zero-terminated property of TEXT values. Avoid unnecessary copying of text values destined to become function parameters. All changes help improve performance of doing UPDATEs on large JSON values that are indexed multiple ways. (check-in: [d0278cde] user: drh branch: big-function-text, size: 303365)
2023-07-08
19:28
[a5a67c8d] part of check-in [7a9cb6f4] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [7a9cb6f4] user: drh branch: reuse-schema, size: 303201)
19:16
[2b97ccb8] part of check-in [35bfb5bf] Merge the latest trunk enhancements into the bedrock branch. (check-in: [35bfb5bf] user: drh branch: bedrock, size: 305165)
19:09
[64803a8e] part of check-in [f0793653] Merge all the latest trunk enhancements into the wal2 branch. (check-in: [f0793653] user: drh branch: wal2, size: 303606)
19:00
[e83a0e93] part of check-in [3d0823c4] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [3d0823c4] user: drh branch: begin-concurrent, size: 304761)
2023-06-30
17:14
[74282a94] part of check-in [796eadcc] Add support for sqlite3_stmt_scanstatus_v2() profiling of GROUP BY clauses that use a temp b-tree. (check-in: [796eadcc] user: dan branch: scanstatus-exp, size: 303201)
2023-06-22
21:19
[c993304c] part of check-in [8b8ea4e3] Optimize the argument to the octet_length() function so that it does not attempt to read content from disk. (check-in: [8b8ea4e3] user: drh branch: octet_length, size: 303168)
14:50
[c36238e0] part of check-in [905c6c9d] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [905c6c9d] user: drh branch: reuse-schema, size: 303115)
14:40
[5cfca43a] part of check-in [0551b79b] Merge the latest trunk enhancements into the bedrock branch. (check-in: [0551b79b] user: drh branch: bedrock, size: 305079)
14:20
[e3af5562] part of check-in [80ac494f] Merge the latest trunk enhancements into the wal2 branch. (check-in: [80ac494f] user: drh branch: wal2, size: 303520)
13:28
[786a0cc7] part of check-in [5bd26fea] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [5bd26fea] user: drh branch: begin-concurrent, size: 304675)
2023-06-12
13:49
[6c0de640] part of check-in [56d9bb7a] Fix a problem causing bloom filters to be used less efficiently than they might be. Problem reported by forum post 06c3f01da6. (check-in: [56d9bb7a] user: dan branch: trunk, size: 303115)
2023-06-07
08:40
[c3b6d8d6] part of check-in [26c1bb4b] Add a C-source spell-checking facility. make misspell (on Nix) (check-in: [26c1bb4b] user: larrybr branch: spell-check, size: 303107)
2023-05-13
15:21
[222f4cfc] part of check-in [515bb26e] Merge the latest 3.42.0 changes into the reuse-schema branch. (check-in: [515bb26e] user: drh branch: reuse-schema, size: 303354)
15:17
[ff263dbc] part of check-in [18c5e16b] Merge the latest 3.42.0 changes from trunk into the begin-concurrent branch. (check-in: [18c5e16b] user: drh branch: begin-concurrent, size: 304913)
15:10
[fb5e47fc] part of check-in [d55ba8bb] Merge the latest 3.42.0 beta changes into the bedrock branch. (check-in: [d55ba8bb] user: drh branch: bedrock, size: 305312)
15:07
[6ca6350f] part of check-in [3bbfbdcd] Merge the latest 3.42.0 beta from trunk into the wal2 branch. For some reason, the previous merge didn't work. Probably a PEBKAC. (check-in: [3bbfbdcd] user: drh branch: wal2, size: 303753)
2023-05-10
10:03
[fedd2dfa] part of check-in [7e2c2b1c] Add a missing comma to the documentation for the OP_Jump opcode. No changes to code. (check-in: [7e2c2b1c] user: drh branch: trunk, size: 303354)
2023-05-04
14:41
[fe7fa949] part of check-in [b2e0800b] Merge latest wal2 changes into this branch. (check-in: [b2e0800b] user: dan branch: bedrock, size: 305311)
2023-05-02
21:26
[4b67aa77] part of check-in [d08fa7d4] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [d08fa7d4] user: drh branch: reuse-schema, size: 303353)
21:10
[c96ce4f6] part of check-in [6f22c767] Update this branch with latest changes from trunk. (check-in: [6f22c767] user: dan branch: begin-concurrent, size: 304912)
19:58
[4c2c3da5] part of check-in [0215dcc7] Merge the latest trunk enhancements into the wal2 branch. (check-in: [0215dcc7] user: drh branch: wal2, size: 303752)
2023-04-27
23:40
[94d5520d] part of check-in [d85880e4] Remove an ALWAYS() macro that can in fact sometimes be false. Forum post f0e872fcee. (check-in: [d85880e4] user: drh branch: trunk, size: 303353)
2023-04-26
18:23
[1d3e3b10] part of check-in [3e2da8a7] When changing a large integer into a floating point value, cancel the string representation. Fix for forum post 5c74a3bc4a. (check-in: [3e2da8a7] user: drh branch: trunk, size: 303361)
2023-03-29
17:26
[61cb236a] part of check-in [d8b17615] Back out elements (1) and (2) from [96ec8306457eebf5]. (check-in: [d8b17615] user: drh branch: nan-inf, size: 303444)
16:28
[c62c3fe9] part of check-in [248bf629] Merge recent trunk fixes into the nan-inf branch. (check-in: [248bf629] user: drh branch: nan-inf, size: 303425)
11:40
[7415af77] part of check-in [fbc27e18] Enhance PRAGMA integrity_check so that it can detect that a NOT NULL column contains a NaN value and report that as an error. (check-in: [fbc27e18] user: drh branch: branch-3.41, size: 302938)
11:36
[a6c52ba6] part of check-in [7638d975] Enhance PRAGMA integrity_check so that it can detect that a NOT NULL column contains a NaN value and report that as an error. dbsqlfuzz f144b642fe6f1a1c196f258ac6e60118a0cb59b2. (check-in: [7638d975] user: drh branch: trunk, size: 303351)
00:05
[2fb5cace] part of check-in [242cb36c] Modify the OP_IsType opcode so that it does not need to distinguish between NaN and other floating point values. Later: This branch causes an unnecessary slowdown of PRAGMA integrity_check. Check-in [7638d9755dc90fd3] does a better job of detecting when a NaN value occurs in a NOT NULL column. (check-in: [242cb36c] user: drh branch: istype-opcode-refactor, size: 301717)
2023-03-24
21:27
[b8be091e] part of check-in [b95e6933] Fix an error in the OP_SeekScan opcode. (check-in: [b95e6933] user: drh branch: branch-3.41, size: 302561)
21:24
[2bb4694b] part of check-in [651a13fc] Fix an error in the OP_SeekScan opcode added by check-in [4a43430fd23f8835]. Problem reported by forum post 8cc1dc0fe9. (check-in: [651a13fc] user: drh branch: trunk, size: 302974)
2023-03-22
20:21
[1838a916] part of check-in [96ec8306] Add the SQLITE_ENABLE_NAN_INF compile-time option which makes the following behavior changes: (1) sqlite3_value_double(NULL) returns NaN, (2) SQLite preserves NaN values rather than converting them to NULL. (3) CAST statements understand "NaN" and "Inf" and make the right conversions. (4) Non-standard JSON is never generated by SQLite JSON routines, but those routines will accept floating point literals "NaN", "Inf", and "-Inf". (check-in: [96ec8306] user: drh branch: nan-inf, size: 303013)
2023-03-10
12:47
[b3c81401] part of check-in [2780cc9f] Merge the 3.41.1 patches into the bedrock branch. (check-in: [2780cc9f] user: drh branch: bedrock-3.41, size: 304484)
00:59
[d3b37b63] part of check-in [af08bd3e] Merge the branch-3.41 patches into the reuse-schema branch. (check-in: [af08bd3e] user: drh branch: reuse-schema-3.41, size: 302526)
00:21
[10f6a010] part of check-in [e67bfc76] Merge the latest 3.41 patches into a new branch called wal2-3.41. (check-in: [e67bfc76] user: drh branch: wal2-3.41, size: 302925)
2023-03-08
17:09
[80a64921] part of check-in [ca89daef] Small performance improvement in the OP_MakeRecord opcode. (check-in: [ca89daef] user: drh branch: trunk, size: 302939)
2023-03-04
12:57
[0cf4c72a] part of check-in [35f10a06] Show the output value from OP_AggFinal when doing byte-code tracing. (check-in: [35f10a06] user: drh branch: trunk, size: 302939)
2023-02-28
19:39
[1ddcb8a7] part of check-in [0f5579be] Add an sqlite3_db_config() option - SQLITE_DBCONFIG_STMT_SCANSTATS - for enabling and disabling the collection of sqlite3_stmt_scanstats() statistics in SQLITE_ENABLE_STMT_SCANSTATUS builds. Collection of statistics is disabled by default. (check-in: [0f5579be] user: dan branch: trunk, size: 302897)
18:06
[523fbe20] part of check-in [5916705c] Only use a Bloom filter on an automatic index if one or more of the key columns in the index can take on non-TEXT values. (check-in: [5916705c] user: drh branch: trunk, size: 302730)
14:28
[b3fd04b0] part of check-in [090304b8] In the Bloom filter optimization, hash all strings and blobs into the same value, because we do not know if two different strings might compare equal even if they have different byte sequences, due to collating functions. Formerly, the hash of a string or blob was just its length. This could all be improved. Fix for the issue reported by forum post 0846211821. (check-in: [090304b8] user: drh branch: trunk, size: 302526)
2023-02-21
21:26
[7e862efc] part of check-in [bbd35706] Update the reuse-schema branch to version 3.41.0. (check-in: [bbd35706] user: drh branch: reuse-schema, size: 302574)
21:22
[ff9be733] part of check-in [dc1d8570] Update the bedrock branch to version 3.41.0 (check-in: [dc1d8570] user: drh branch: bedrock, size: 304532)
21:19
[4bac271b] part of check-in [7bb1f6dc] Update the wal2 branch to version 3.41.0. (check-in: [7bb1f6dc] user: drh branch: wal2, size: 302973)
21:19
[7c1da079] part of check-in [918aea50] Update the begin-concurrent branch to version 3.41.0 (check-in: [918aea50] user: drh branch: begin-concurrent, size: 304133)
12:34
[0bf4804f] part of check-in [7981671d] Fix a minor typo in a comment. No changes to working code. (check-in: [7981671d] user: drh branch: trunk, size: 302574)
2023-02-07
15:29
[63365ccd] part of check-in [4d21640c] Merge latest trunk changes into this branch. (check-in: [4d21640c] user: dan branch: reuse-schema, size: 302575)
2023-02-06
17:35
[db91678c] part of check-in [46e79167] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [46e79167] user: drh branch: begin-concurrent, size: 304134)
2023-02-02
14:27
[2d5efbc8] part of check-in [5a22010c] Merge latest enhancments into this branch from branch wal2. (check-in: [5a22010c] user: dan branch: begin-concurrent-pnu-wal2, size: 304533)
14:21
[8a50be4b] part of check-in [c9b01802] Merge trunk enhancements into this branch. (check-in: [c9b01802] user: dan branch: wal2, size: 302974)
2023-01-25
16:56
[47d3b78e] part of check-in [144326dc] Enhance the sqlite3_vtab_in_first() and sqlite3_vtab_in_next() interfaces so that they reliably return SQLITE_ERROR (and not SQLITE_MISUSE) if they are invoked on a parameter that did not have multi-value IN processing enabled via a prior call to sqlite3_vtab_in(). See forum thread a823d4a3d5f73def. (check-in: [144326dc] user: drh branch: trunk, size: 302575)
2023-01-17
19:00
[da2963a1] part of check-in [517b2c4c] Change an now unreachable testcase() into an assert(). (check-in: [517b2c4c] user: drh branch: trunk, size: 302563)
2023-01-16
20:33
[574598c7] part of check-in [906caf89] Another version of the debug-only logging on this branch. (check-in: [906caf89] user: dan branch: schema-version-instr, size: 298924)
2023-01-12
19:43
[c2a219e1] part of check-in [deb26d03] Merge latest trunk changes, including fixes for RBU pass-through mode, with this branch. (check-in: [deb26d03] user: dan branch: reuse-schema, size: 302551)
2023-01-11
17:50
[238635c1] part of check-in [33fd9997] If OP_Rewind has P2 of zero, that is an assertion that the table is never empty. This fixes a false-positive in the out-of-subroutine jump detection logic added in version 3.39.0, and which was causing the assertion on the previous check-in. (check-in: [33fd9997] user: drh branch: code-generator-20230111, size: 302551)
16:44
[813c7895] part of check-in [b8f99441] Add an assert() to the byte-code engine that goes off if the OP_Halt opcode is invoked with SQLITE_INTERNAL. This causes the RIGHT JOIN error "Opcode jumps to ... which is outside the subroutine ..." to fail immediately, causing it to come more readily to tester's attention. There is at least one testcase in test/fuzzdata8.db that asserts due to this change. (check-in: [b8f99441] user: drh branch: code-generator-20230111, size: 302404)
16:17
[6b11efa7] part of check-in [6db42780] Improved progress-handler and interrupt detection during PRAGMA integrity_check. (check-in: [6db42780] user: drh branch: trunk, size: 302133)
2023-01-05
14:41
[d05e97e6] part of check-in [a6251d72] Changes a testcase() into an assert() due to the [e58bba93717cd6ff] change. (check-in: [a6251d72] user: drh branch: trunk, size: 302097)
13:41
[cc5a3035] part of check-in [d28d9398] Fix a problem with applying integer affinity to a MEM_IntReal value. Forum post d270125fae. (check-in: [d28d9398] user: drh branch: branch-3.40, size: 300929)
13:35
[5146547a] part of check-in [e58bba93] Fix a problem with applying integer affinity to a MEM_IntReal value. Forum post d270125fae. (check-in: [e58bba93] user: dan branch: trunk, size: 302120)
2022-12-23
14:49
[b2f2cbaa] part of check-in [c14bbe16] Fix lots of harmless, nuisance compiler warnings, mostly unused parameter warnings in extensions. (check-in: [c14bbe16] user: drh branch: trunk, size: 302106)
11:46
[b51ec343] part of check-in [7d3772f0] Additional fixes for yet more completely harmless compiler warnings. (check-in: [7d3772f0] user: drh branch: trunk, size: 302070)
11:32
[b0a0fcf1] part of check-in [a02e19dd] Squelch a new (and, in this case, harmless) compiler warning. (check-in: [a02e19dd] user: stephan branch: trunk, size: 302051)
2022-12-22
21:32
[61fccece] part of check-in [7b5900a1] Asserts added to ensure that the iCompare variable in the bytecode engine is correctly initialized before it is used. (check-in: [7b5900a1] user: drh branch: trunk, size: 302053)
19:12
[65097b1b] part of check-in [6a00d67f] Avoid having to reinitialize Vdbe.pResultRow upon each call to sqlite3_step() for a small size reduction and performance increase. (check-in: [6a00d67f] user: drh branch: trunk, size: 301716)
18:44
[6be002bb] part of check-in [1fd6211e] Rename the Vdbe.pResultSet field to pResultRow in order to better distinguish it from other variables with similar names. (check-in: [1fd6211e] user: drh branch: trunk, size: 301737)
18:35
[2cb6f6b3] part of check-in [3181331c] Small performance optimization associated with shared cache in the byte-code engine. (check-in: [3181331c] user: drh branch: trunk, size: 301737)
17:36
[03185a27] part of check-in [781fdcb9] Small performance optimization on the OP_Insert opcode. (check-in: [781fdcb9] user: drh branch: trunk, size: 301670)
14:29
[addae813] part of check-in [b9efbc53] Different version of "PRAGMA schema_version" instrumentation. (check-in: [b9efbc53] user: dan branch: schema-version-instr, size: 299108)
2022-12-21
21:01
[71321d44] part of check-in [1bfae9b3] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [1bfae9b3] user: drh branch: reuse-schema, size: 301581)
20:43
[29630d69] part of check-in [bcab19d2] Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [bcab19d2] user: drh branch: begin-concurrent-pnu-wal2, size: 303539)
20:28
[b56f5233] part of check-in [21ebd4cf] Merge the latest trunk enhancements into the wal2 branch. (check-in: [21ebd4cf] user: drh branch: wal2, size: 301980)
20:17
[02978bda] part of check-in [397fb07b] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [397fb07b] user: drh branch: begin-concurrent-report, size: 304037)
20:07
[69bfbf1f] part of check-in [0c198aee] Update the begin-concurrent branch with the latest enhancements on trunk. (check-in: [0c198aee] user: drh branch: begin-concurrent, size: 303140)
2022-12-19
18:42
[0aebfd43] part of check-in [44dd01e3] Hack for special gettimeofday() instrumentation of "PRAGMA schema_version". (check-in: [44dd01e3] user: dan branch: schema-version-instr, size: 299313)
2022-12-17
12:49
[5c66a10b] part of check-in [b4281db4] Add NEVER/ALWAYS to branches that have become unreachable due to recent enhancements. (check-in: [b4281db4] user: drh branch: trunk, size: 301581)
2022-12-15
20:03
[c1a65b1b] part of check-in [44135d6e] Create a new affinity called FLEXNUM that works like NUMERIC except that it never tries to convert integer to real or real to integer. The affinity is only used internally - it is not possible to create a table column with this affinity. This affinity is used on subqueries and views that are built off of a compound SELECT and where the datatype is controlled by a CAST expression. dbsqlfuzz c9ee6f9a0a8b8fefb02cf69de2a8b67ca39525c8 (check-in: [44135d6e] user: drh branch: trunk, size: 301574)
2022-12-14
09:06
[705df5b0] part of check-in [fe5a77bc] Back out the part of the change in [88a05141c28e5ff1] that adds affinity to the materialization of a view, as the affinity can be undefined for a compound query. This passes all TCL tests, but shows failures in the TH3 tests derived from forum post 6f842bc5b2dadcb2, presumably because the WHERE clause of the query uses constraints of the form "source_crs_code='8675'" instead of "source_crs_code=8675". Perhaps further changes on this branch should reimplement affinity on joins in cases where the affinity is unambiguous. (check-in: [fe5a77bc] user: drh branch: refactor-subquery-types, size: 301347)
2022-12-07
20:09
[df9ff3fc] part of check-in [212927e9] Reduce the overhead of SQLITE_ENABLE_STMT_SCANSTATUS some. (check-in: [212927e9] user: dan branch: trunk, size: 301385)
2022-12-06
18:48
[8fdef91d] part of check-in [9499b2f5] Have sqlite3_stmt_scanstatus_v2() return an NCYCLE value for all loops, not just virtual tables ones. The value returned is the sum of the NCYCLE counts for the various opcodes that move or read data from the table or index cursor associated with the loop. (check-in: [9499b2f5] user: dan branch: trunk, size: 301914)
2022-12-05
18:19
[e7442590] part of check-in [41a0e05e] Add loops and rows counters to "USE TEMP B-TREE FOR ORDER BY" records. Also fix the sqliteHwtime() function so that it returns a 64-bit value. (check-in: [41a0e05e] user: dan branch: scanstatus_v2, size: 301414)
2022-12-02
20:32
[5f5cc749] part of check-in [55800833] Enhance the sqlite3_stmt_scanstatus() API and add sqlite3_stmt_scanstatus_v2(). For creation of easier to read query performance reports. (check-in: [55800833] user: dan branch: scanstatus_v2, size: 301279)
2022-11-29
17:52
[00648bd7] part of check-in [f64a2242] Change the handling of hwtime.h to make it easier to compile performance measurement builds that make use of hwtime.h. This should not affect productions builds. (check-in: [f64a2242] user: drh branch: trunk, size: 300807)
2022-11-19
20:10
[c2d6d0c0] part of check-in [f40bf2c6] New assert()s confirm that BTREE_PREFORMAT must be the same value as OPFLAG_PREFORMAT. (check-in: [f40bf2c6] user: drh branch: trunk, size: 300962)
2022-11-05
15:31
[0cae5da9] part of check-in [224eaf26] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [224eaf26] user: drh branch: reuse-schema, size: 300915)
2022-11-04
19:09
[687a642e] part of check-in [aa2e247b] Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [aa2e247b] user: drh branch: begin-concurrent-pnu-wal2, size: 302873)
18:58
[eb09089c] part of check-in [ca63a1be] Merge the latest trunk enhancements into the wal2 branch. (check-in: [ca63a1be] user: drh branch: wal2, size: 301314)
18:47
[8d54e280] part of check-in [d8568a84] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [d8568a84] user: drh branch: begin-concurrent-report, size: 303371)
18:33
[40ccde92] part of check-in [b361ee98] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [b361ee98] user: drh branch: begin-concurrent, size: 302474)
2022-10-13
15:09
[0c7cb1b9] part of check-in [cb943501] Optimize the IS NULL and IS NOT NULL operators so that they avoid loading large strings or blobs off of disk if all it needs to know is whether or not the string or blob is NULL. (check-in: [cb943501] user: drh branch: trunk, size: 300915)
14:54
[581496d8] part of check-in [5e9c67ba] Improvements to the description of the OPFLAG_TYPEOFARG option to OP_Column. (check-in: [5e9c67ba] user: drh branch: isnull-opt, size: 300915)
14:01
[76c40285] part of check-in [043e76e6] Fix a typo in the documentation of the OP_Column opcode. Forum post a2b5bd6d43. (check-in: [043e76e6] user: drh branch: trunk, size: 300791)
2022-10-11
13:57
[4e51ba30] part of check-in [846f863e] Enhance the OP_IsType opcode so that it is slightly smaller and faster and so that it works correctly with invalid serial-type codes 10 and 11. (check-in: [846f863e] user: drh branch: trunk, size: 300791)
2022-10-10
21:21
[387270d5] part of check-in [a1401731] Code clean-up for the integrity_check enhancement. (check-in: [a1401731] user: drh branch: integrity_check_datatypes, size: 300030)
18:25
[af03458e] part of check-in [8b1e7f05] An attempt to enhance PRAGMA integrity check so that it does data type checking on non-STRICT tables. Specifically: (1) Columns with TEXT affinity should not contain numeric values, and (2) columns with numeric affinity should not contain text values that can be converted to numeric. (check-in: [8b1e7f05] user: drh branch: integrity_check_datatypes, size: 300017)
2022-10-07
19:11
[08494341] part of check-in [b6be4ce6] Fix a problem causing the seek-scan optimization to skip over valid rows that could occur when it is used with expressions of the form (a IN (?,?..) AND b >= ?). dbsqlfuzz ab1db6dc0efb04cba1cd3431ee6da4894fdc4520. (check-in: [b6be4ce6] user: drh branch: branch-3.39, size: 297897)
18:57
[a26eef5a] part of check-in [63d9efe2] Fix a problem causing the seek-scan optimization to skip over valid rows that could occur when it is used with expressions of the form (a IN (?,?..) AND b >= ?). dbsqlfuzz ab1db6dc0efb04cba1cd3431ee6da4894fdc4520. (check-in: [63d9efe2] user: dan branch: trunk, size: 298502)
15:55
[34846c9e] part of check-in [0aa6dee7] Improved tracing output for showing all registers used by the OP_SeekGE opcode. This applies to debugging builds only. (check-in: [0aa6dee7] user: drh branch: trunk, size: 296735)
2022-10-01
12:00
[5ea5f28e] part of check-in [7812aea6] Merge the latest trunk enhancements into the stmt-cache branch. (check-in: [7812aea6] user: drh branch: stmt-cache, size: 296812)
2022-09-30
14:14
[fbfb1361] part of check-in [b119a5e8] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [b119a5e8] user: drh branch: reuse-schema, size: 296645)
14:04
[be71256d] part of check-in [68a61513] Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [68a61513] user: drh branch: begin-concurrent-pnu-wal2, size: 298603)
13:54
[ef8651d2] part of check-in [c22c7c87] Merge recent trunk enhancements into the wal2 branch. (check-in: [c22c7c87] user: drh branch: wal2, size: 297044)
13:42
[bc36bd69] part of check-in [4d6141f3] Merge the latest trunk changes into the begin-concurrent-report branch (check-in: [4d6141f3] user: drh branch: begin-concurrent-report, size: 299101)
13:29
[79a7cf50] part of check-in [ba2539f6] Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: [ba2539f6] user: drh branch: begin-concurrent, size: 298204)
2022-09-28
17:10
[57004f80] part of check-in [cf0999d4] Prototype implementation of "PRAGMA reset_database". This pragma differs from SQLITE_DBCONFIG_RESET_DATABASE in that the pragma only works if the database is reasonably well-formed, whereas the dbconfig works regardless. (check-in: [cf0999d4] user: drh branch: reset-database, size: 296813)
2022-09-20
19:22
[0d1e3c65] part of check-in [1292d68c] Modify the OP_IfNotOpen opcode so that the jump is taken if the cursor is open but was previously set to a NULL row using OP_NullRow. (check-in: [1292d68c] user: drh branch: flattener-omit-restriction-29, size: 296645)
2022-08-25
18:29
[ec513585] part of check-in [7763b98b] Fix the bytecode engine so that it is able to handle an incoming SQLITE_TOOBIG error, which is now possible using the statement cache. (check-in: [7763b98b] user: drh branch: stmt-cache, size: 296687)
17:12
[cbf9c38a] part of check-in [8f6a1f77] Do not attempt to cache DDL statement. (check-in: [8f6a1f77] user: drh branch: stmt-cache, size: 296550)
14:31
[710b82c1] part of check-in [bc988ce7] Merge changes from trunk into the stmt-cache branch. (check-in: [bc988ce7] user: drh branch: stmt-cache, size: 296535)
13:32
[d27ec9a5] part of check-in [b573e2cf] Remove a NEVER() macro for a condition that is actually reachable following an OOM. dbsqlfuzz crash-6ef3cd3b18ccc5de86120950a0498641acd90a33.txt. (check-in: [b573e2cf] user: dan branch: trunk, size: 296520)
13:09
[635b426b] part of check-in [f27d919f] If a perpared statement runs the Expire opcode, then disqualify it from being cached. (check-in: [f27d919f] user: drh branch: stmt-cache, size: 296521)
2022-08-23
17:51
[0150d16d] part of check-in [4e0a07fc] Enhance assert() statements to enforce tighter bounds on the P5 operand of the OP_Next and OP_Prev opcodes. (check-in: [4e0a07fc] user: drh branch: trunk, size: 296506)
2022-08-22
16:30
[1894d00e] part of check-in [9c05a48e] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [9c05a48e] user: drh branch: reuse-schema, size: 296352)
16:08
[a315ff40] part of check-in [dde76e91] Merge all recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: [dde76e91] user: drh branch: begin-concurrent-pnu-wal2, size: 298310)
15:57
[9ce0e231] part of check-in [0b7578bf] Merge all recent trunk enhancements into the wal2 branch. (check-in: [0b7578bf] user: drh branch: wal2, size: 296751)
15:48
[2d665f33] part of check-in [2ec6e9e1] Merge all recent trunk enhancements into the begin-concurrent-report branch. (check-in: [2ec6e9e1] user: drh branch: begin-concurrent-report, size: 298808)
15:42
[164b4ec2] part of check-in [7eac6136] Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: [7eac6136] user: drh branch: begin-concurrent, size: 297911)
2022-08-10
18:40
[4e57ac96] part of check-in [bb084adb] Fix another harmless comment typo that causes a typo in the documentation. (check-in: [bb084adb] user: drh branch: trunk, size: 296352)
2022-08-08
16:25
[81e2febe] part of check-in [3518cd7c] Avoid trying to cast an over-sized floating point value into an integer. (check-in: [3518cd7c] user: drh branch: trunk, size: 296351)
13:04
[6bca2e52] part of check-in [a99cc008] Remove an unreachable branch in the numericType() helper routine. (check-in: [a99cc008] user: drh branch: trunk, size: 296421)
12:19
[e0517ef4] part of check-in [6c4fc838] Do not attempt to convert an oversized floating point value into an integer. (check-in: [6c4fc838] user: drh branch: trunk, size: 296320)
2022-08-04
14:02
[796fbae3] part of check-in [64348d0b] Fix a typo on a comment used to generate bytecode documentation. (check-in: [64348d0b] user: drh branch: trunk, size: 296230)
2022-08-03
19:53
[34f76cbb] part of check-in [597347d9] Performance optimization to the math opcodes of the bytecode engine. (check-in: [597347d9] user: drh branch: trunk, size: 296227)
2022-06-28
21:52
[2c4a04ba] part of check-in [77fe7376] Merge latest fixes from begin-concurrent-pnu-wal2 branch. (check-in: [77fe7376] user: dan branch: begin-concurrent-report-wal2, size: 298984)
2022-06-25
20:32
[1266f3a4] part of check-in [58caa50a] Put an ALWAYS() on an unreachable branch. (check-in: [58caa50a] user: drh branch: trunk, size: 296202)
19:43
[ba1018c5] part of check-in [2cf373b1] Allow flattening of a subquery that is the right operand of a LEFT JOIN in an aggregate query as long as there is no GROUP BY clause. (The GROUP BY clause will interfere with the operation of the TK_IF_NULL_ROW expression nodes.) (check-in: [2cf373b1] user: drh branch: trunk, size: 296194)
2022-06-24
16:15
[e8793796] part of check-in [506a3e6f] Merge the 3.39.0 release candidate 1 changes into the reuse-schema branch. (check-in: [506a3e6f] user: drh branch: reuse-schema, size: 296129)
15:26
[5233a61e] part of check-in [d3fa6921] Merge the latest changes into the begin-concurrent-pnu-wal2 branch. (check-in: [d3fa6921] user: drh branch: begin-concurrent-pnu-wal2, size: 298087)
15:15
[8c68f32a] part of check-in [5a5e6e36] Merge 3.39.0 release candidate 1 into the wal2 branch. (check-in: [5a5e6e36] user: drh branch: wal2, size: 296528)
15:04
[492e9b2c] part of check-in [1b28ad2c] Merge the version 3.39.0 release candidate 1 changes into the begin-concurrent-report branch. (check-in: [1b28ad2c] user: drh branch: begin-concurrent-report, size: 298585)
14:55
[2c7aaff8] part of check-in [5ae706a4] Merge 3.39.0 release candidate 1 changes into the begin-concurrent branch. (check-in: [5ae706a4] user: drh branch: begin-concurrent, size: 297688)
12:56
[3df15f0f] part of check-in [e93fd170] Fix a harmless UBSAN warning associated with PRAGMA schema_version found by OSSFuzz. (check-in: [e93fd170] user: drh branch: trunk, size: 296129)
2022-06-23
15:15
[c3038750] part of check-in [f8fe936a] Add back the ability to flatten a LEFT JOIN subquery - previously removed due to ticket [cad1ab4cb7b0fc344]. (check-in: [f8fe936a] user: drh branch: flatten-left-join, size: 296178)
2022-06-22
14:25
[d7a10fd2] part of check-in [d9a32044] Additional enhancements to comments. No changes to code. (check-in: [d9a32044] user: drh branch: trunk, size: 296113)
2022-06-17
21:31
[555620fb] part of check-in [5eb2c236] Fix the OP_Concat operator such that when concatenating a BLOB with an odd number of bytes on a database that is UTF16, the size of the resulting string is reduced to a multiple of two. (check-in: [5eb2c236] user: drh branch: trunk, size: 296114)
2022-06-16
13:57
[0e1db512] part of check-in [7f405fe2] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [7f405fe2] user: drh branch: reuse-schema, size: 296096)
13:56
[8a8debbc] part of check-in [82e7e836] Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [82e7e836] user: drh branch: begin-concurrent-pnu-wal2, size: 298054)
13:44
[4842b98a] part of check-in [c8ad8699] Merge the latest trunk enhancements into the wal2 branch. (check-in: [c8ad8699] user: drh branch: wal2, size: 296495)
13:44
[e43c2cc1] part of check-in [8b446d0b] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [8b446d0b] user: drh branch: begin-concurrent-report, size: 298552)
13:37
[f93cc564] part of check-in [221e07ed] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [221e07ed] user: drh branch: begin-concurrent, size: 297655)
2022-06-14
22:21
[1c254d8a] part of check-in [0e925654] Fix the OP_NullRow opcode so that it works even if it applied to an ephemeral cursor that has not yet been created. (check-in: [0e925654] user: drh branch: trunk, size: 296096)
2022-06-10
10:10
[1da334a0] part of check-in [1f132bb0] Fix a faulty assert() statement identified by forum post 0b91a75039. (check-in: [1f132bb0] user: drh branch: trunk, size: 296090)
2022-06-09
17:17
[388ced8d] part of check-in [9e51a6c0] Prevent subtype values from slipping across a subquery boundry when the subquery is implemented as a co-routine. (check-in: [9e51a6c0] user: drh branch: subtype-subquery, size: 296090)
16:19
[9959b20b] part of check-in [08af1fe2] The subtype of a value should not propagate across a subquery boundary. Proposed fix for the problem reported by forum post 3d9caa45cbe38c78. Additional works is needed as not all cases are covered. (check-in: [08af1fe2] user: drh branch: subtype-subquery, size: 295708)
2022-06-08
18:20
[d4c46579] part of check-in [09c8f9f1] Avoid zeroing the value returned by sqlite3_changes() when a DML statement is automatically reprepared in sqlite3_step(). (check-in: [09c8f9f1] user: dan branch: trunk, size: 295496)
2022-05-10
13:06
[92f69aac] part of check-in [9f6d6e61] Merge all recent trunk changes into the reuse-schema branch. (check-in: [9f6d6e61] user: drh branch: reuse-schema, size: 295269)
12:45
[4b5440d6] part of check-in [d28af1f8] Merge the latest trunk enhancements into theh begin-concurrent-pnu-wal2 branch. (check-in: [d28af1f8] user: drh branch: begin-concurrent-pnu-wal2, size: 297227)
12:39
[e2ce1c8c] part of check-in [33d77fea] Merge recent trunk enhancements into the wal2 branch. (check-in: [33d77fea] user: drh branch: wal2, size: 295668)
12:24
[09719cde] part of check-in [e6b5224d] Merge the latest trunk enhancements into the begin-concurrent-report branch. Had to restore the sqlite3VdbeSerialPut() routine that was removed in check-in [6f4d6f212a3558c2] when it was inlined because that routine is used again in a different place by this branch. (check-in: [e6b5224d] user: drh branch: begin-concurrent-report, size: 297725)
12:00
[507acc3a] part of check-in [f65bd767] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [f65bd767] user: drh branch: begin-concurrent, size: 296828)
2022-05-09
21:57
[be85c298] part of check-in [c0135441] Update this branch with latest changes from trunk, and the fts5 fix for "BEGIN CCONCURRENT" transactions. (check-in: [c0135441] user: dan branch: begin-concurrent-report-wal2, size: 294876)
2022-05-04
16:46
[35c770de] part of check-in [d5b0fd84] Merge version-3.38.4 into the reuse-schema-3.38 subbranch. (check-in: [d5b0fd84] user: drh branch: reuse-schema-3.38, size: 291296)
16:36
[1aca09e6] part of check-in [8473718d] Merge the version 3.38.4 fixes into the begin-concurrent-wal2-3.38 branch. (check-in: [8473718d] user: drh branch: begin-concurrent-wal2-3.38, size: 293254)
2022-05-03
14:25
[dafb1c9c] part of check-in [3dc9fc2f] Fix the Bloom filter pull-down optimization so that it jumps to the correct place if it encounters a NULL key. Fix for the bug described by forum thread 2482b32700384a0f. (check-in: [3dc9fc2f] user: drh branch: branch-3.38, size: 291296)
12:11
[a6a20956] part of check-in [8f8a58fe] Add assert()s to show that jumps always land an an instruction that is between 1 and Vdbe.nOp-1. Had these assert()s been in place before, they would have caused an assertion fault for the byte-code error reported by forum post 2482b32700. (check-in: [8f8a58fe] user: drh branch: trunk, size: 295269)
2022-04-21
19:25
[9527ab7f] part of check-in [29255664] Fix harmless compiler warnings. (check-in: [29255664] user: drh branch: right-join, size: 295133)
19:20
[a4d710ef] part of check-in [b870d2a2] Fix a harmless uninitialized variable warning in MSVC. (check-in: [b870d2a2] user: drh branch: trunk, size: 293714)
2022-04-18
14:15
[e82071ff] part of check-in [1b2c5cef] Improved comment field in the bytecode generated for OP_Column and OP_Rowid. (check-in: [1b2c5cef] user: drh branch: trunk, size: 293612)
13:57
[4efdce17] part of check-in [009bbf80] Improved comment field in the bytecode generated for OP_Column and OP_Rowid. (check-in: [009bbf80] user: drh branch: right-join, size: 295130)
2022-04-17
20:30
[1b48646c] part of check-in [c9060232] Change OP_Return such that if P3 is 1, the Return is a no-op when the P1 register contains a NULL. (check-in: [c9060232] user: drh branch: right-join, size: 295101)
2022-04-14
19:48
[841057c1] part of check-in [12645f10] Cherry pick subroutine indentation improvements and the hardening of OP_Gosub from the right-join branch back into trunk. (check-in: [12645f10] user: drh branch: trunk, size: 293583)
18:19
[b72147e7] part of check-in [647211e0] Check for interrupts and invoke the progress handler following a Gosub opcode, to avoid and recover from infinite subroutine loops. (check-in: [647211e0] user: drh branch: right-join, size: 294091)
14:19
[85a13807] part of check-in [5ec4f806] Previous check-in accidentally inverted a test on an assert(). Fix that. (check-in: [5ec4f806] user: drh branch: right-join-fix, size: 294064)
12:59
[df6107a3] part of check-in [f5bce5f1] Fix assert() statements associated with artifical null-value cursors created by RIGHT JOIN. (check-in: [f5bce5f1] user: drh branch: right-join-fix, size: 294064)
2022-04-13
19:00
[3ad67541] part of check-in [63b04c63] Fix a harmless (false-positive) unused variable compiler warning on MSVC. (check-in: [63b04c63] user: drh branch: right-join, size: 294024)
18:20
[18da8347] part of check-in [371ddc97] Fix an assert() in OP_Column so that it accounts for the new type of pseudo-cursor that always returns NULL for any column. (check-in: [371ddc97] user: drh branch: right-join, size: 294036)
17:41
[6d0790dd] part of check-in [4526c5d3] If the OP_NullRow opcode is given a cursor that has not yet been opened, then go automatically open it to a special pseudo-cursor that allows returns NULL for every column. Used by the new RIGHT JOIN implementation. (check-in: [4526c5d3] user: drh branch: right-join, size: 293974)
2022-04-11
17:27
[871c55b7] part of check-in [b6e773a2] Fix handling of "continue" and "break" from inside the loop for the right operand of a RIGHT JOIN. (check-in: [b6e773a2] user: drh branch: right-join, size: 293749)
2022-04-07
19:06
[eefc5a96] part of check-in [c2965fea] Enhance the EXPLAIN output formatting in the CLI so that the subroutine that implements the loop body for the multi-index OR optimization is indented. (check-in: [c2965fea] user: drh branch: trunk, size: 293556)
2022-04-04
20:20
[4d8f5b01] part of check-in [81587a18] Small performance and size improvement to OP_Found. (check-in: [81587a18] user: drh branch: trunk, size: 293103)
19:43
[61ff67a2] part of check-in [5c3357ad] Optimizations to the OP_Found opcode save about 600K cycles in speedtest1. (check-in: [5c3357ad] user: drh branch: trunk, size: 293105)
11:38
[c6e546c9] part of check-in [e0305e64] Performance optimization and stronger assert()s in the comparison opcodes. (check-in: [e0305e64] user: drh branch: trunk, size: 292943)
2022-04-03
22:35
[b34327e7] part of check-in [9564d72a] Performance optimization in the sqlite3VdbeHalt() routine. (check-in: [9564d72a] user: drh branch: trunk, size: 292784)
20:39
[1d839d17] part of check-in [21948e6e] Performance optimization and size reduction in the OP_Halt opcode. (check-in: [21948e6e] user: drh branch: trunk, size: 292661)
10:42
[17c49fe3] part of check-in [7bee8c19] Performance optimization and slight size reduction in the OP_Transaction opcode. (check-in: [7bee8c19] user: drh branch: trunk, size: 292674)
2022-04-02
22:47
[52b9afb8] part of check-in [cd4fe34b] Expand the getVarint32() macro in a few places, as the C-compiler seems to be able to optimize better when that macro is expanded manually. (check-in: [cd4fe34b] user: drh branch: trunk, size: 292666)
20:08
[dbe88250] part of check-in [8a3a3486] Fix harmless compiler warnings. (check-in: [8a3a3486] user: drh branch: trunk, size: 292574)
19:21
[7154f67e] part of check-in [35441eb5] Ensure that a zero-blob does not cause in invocation of memcpy() with a zero length and a NULL source pointer. (check-in: [35441eb5] user: drh branch: trunk, size: 292579)
15:19
[9dca2919] part of check-in [4350983b] Minor loop optimization in OP_MakeRecord. (check-in: [4350983b] user: drh branch: trunk, size: 292473)
14:30
[3500a7eb] part of check-in [6f4d6f21] In-line the sqlite3VdbeSerialPut() routine into the OP_MakeRecord opcode. This allows some duplicate comparisons to be omitted, resulting in a size reduction and performance increase. (check-in: [6f4d6f21] user: drh branch: trunk, size: 292430)
2022-04-01
21:01
[ced0c7b4] part of check-in [390c239e] The putVarint32() macro does not optimize well. So expand it into in-line code in places were performance is an issue. (check-in: [390c239e] user: drh branch: trunk, size: 291735)
20:39
[0e54be9a] part of check-in [47a61fbd] Loop optimization in the OP_MakeRecord opcode. (check-in: [47a61fbd] user: drh branch: trunk, size: 291621)
20:19
[c8f0fc51] part of check-in [8a07745a] It is not necessary to de-ephermeralize the output registers in the OP_ResultRow opcode. Omit that step for a size reduction and performance increase. (check-in: [8a07745a] user: drh branch: trunk, size: 291579)
19:04
[8f837346] part of check-in [e93297a9] Omit the Vdbe.doingRerun field for a slight size reduction and performance gain. (check-in: [e93297a9] user: drh branch: trunk, size: 291954)
18:45
[297ff0e5] part of check-in [d126f304] New macro ROUND8P() which works like ROUND8() but assumes that the input is already a multiple of the size of a pointer. It becomes a no-op for 64-bit machines, giving a small size reduction and speed boost. (check-in: [d126f304] user: drh branch: trunk, size: 291921)
18:19
[0ea2adc2] part of check-in [cb5e6f8e] Provide and use a version of sqlite3VdbeFreeCursor() that guarantees the cursor pointer is not NULL. This saves a few bytes of code space and a few CPU cycles. (check-in: [cb5e6f8e] user: drh branch: trunk, size: 291919)
17:01
[aa8751fb] part of check-in [5a50a42f] Refactor the Vdbe.iVdbeMagic field into Vdbe.eVdbeState. Split the RUNNING state into separate RUNNING and READY. This gives a size reduction and performance increase. (check-in: [5a50a42f] user: drh branch: trunk, size: 291917)
15:31
[0245de62] part of check-in [d4e19314] Have the sqlite3_context object carry the encoding for the prepared statement that it represents, so that sqlite3_result() and similar can set the encoding according to the prepared statement, even if the database encoding has changed. dbsqlfuzz c409b10d0a6bccf78ab00f47e1d29d42ee5b3565 (check-in: [d4e19314] user: drh branch: trunk, size: 291917)
2022-03-31
20:04
[c7982c46] part of check-in [ff91191d] Rename Vdbe.iVdbeMagic to eVdbeState. Remove unnecessary states. This is a preliminary step toward splitting RUN_STATE out into several other states. (check-in: [ff91191d] user: drh branch: vdbe-state-refactor, size: 291840)
2022-03-29
01:43
[af4a5e9d] part of check-in [d50b162b] Fix the sqlite3_result_xxxxx() routines so that they all check for and perform any necessary text encoding conversions and check for oversize strings and BLOBs. Thus those checks can be done where they are most efficient and avoided in cases like OP_Function where they are more expensive. (check-in: [d50b162b] user: drh branch: trunk, size: 291840)
2022-03-26
17:39
[198a24d3] part of check-in [73a15377] Merge the version 3.38.2 patches with the begin-concurrent-pnu-wal2 branch to create this new sub-branch. (check-in: [73a15377] user: drh branch: begin-concurrent-wal2-3.38, size: 293118)
2022-03-12
15:30
[f8509ed4] part of check-in [934276d1] Merge the version 3.38.1 patches into a sub-branch of reuse-schema. (check-in: [934276d1] user: drh branch: reuse-schema-3.38, size: 291160)
15:21
[33d600be] part of check-in [f3fa8196] Merge the latest trunk changes into the reuse-schema branch. (check-in: [f3fa8196] user: drh branch: reuse-schema, size: 292021)
15:11
[5c13e234] part of check-in [0071d9da] Merge the latest trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: [0071d9da] user: drh branch: begin-concurrent-pnu-wal2, size: 293979)
15:04
[63349898] part of check-in [bafaefc6] Merge the lates trunk enhancements into the wal2 branch. (check-in: [bafaefc6] user: drh branch: wal2, size: 292420)
14:54
[85ed5469] part of check-in [c4a61135] Merge trunk enhancements, including 3.38.1 patches, into the begin-concurrent-report branch. (check-in: [c4a61135] user: drh branch: begin-concurrent-report-3.28, size: 294477)
14:47
[d74984cb] part of check-in [aa8b5e95] Merge the latest trunk enhancements, including the 3.38.1 patches plus additional performance enhancements, into the begin-concurrent branch. (check-in: [aa8b5e95] user: drh branch: begin-concurrent, size: 293580)
2022-03-06
00:01
[8239c69f] part of check-in [bf2501e2] Remove a NEVER() associated with sqlite_offset()> (check-in: [bf2501e2] user: drh branch: branch-3.38, size: 291160)
2022-03-05
23:52
[b1830c6d] part of check-in [e29dffcd] Remove a NEVER() associated with sqlite_offset()> (check-in: [e29dffcd] user: drh branch: trunk, size: 292021)
19:39
[9dc667ab] part of check-in [45a5d5ac] Cherry-pick all bug fix changes since the 3.38.0 release. (check-in: [45a5d5ac] user: drh branch: branch-3.38, size: 291167)
19:36
[17ac5ed0] part of check-in [4230e2f5] Further improvements to the sqlite_offset() function. (check-in: [4230e2f5] user: drh branch: trunk, size: 292028)
14:44
[2ea24e2b] part of check-in [6029514b] Fix the sqlite_offset() function so that it gives the correct answer even if the argument is a virtual column in an index-only query. Test cases in TH3. (check-in: [6029514b] user: drh branch: trunk, size: 291973)
2022-03-03
15:00
[62282c97] part of check-in [b8226748] Add the new OP_BeginSubrtn opcode (which is really an alias for OP_Integer) and make other changes so that the span of a subroutine that implements a subquery is more readily apparent in bytecode listings. (check-in: [b8226748] user: drh branch: trunk, size: 291815)
2022-03-02
17:50
[d2cf2ef6] part of check-in [86c5fa2f] Faster version of sqlite3VdbeMemRelease(). (check-in: [86c5fa2f] user: drh branch: trunk, size: 291270)
2022-02-26
23:01
[4b969ebe] part of check-in [9bda611f] Remove an unnecessary local variable for a small performance increase and size reduction. (check-in: [9bda611f] user: drh branch: trunk, size: 291264)
14:39
[2dd9dc73] part of check-in [1bf48489] Allow the OP_Column opcode to read rows that are larger than SQLITE_LIMIT_LENGTH as long as the specific field being read out is less than or equal to SQLITE_LIMIT_LENGTH. (check-in: [1bf48489] user: drh branch: trunk, size: 291356)
2022-02-25
20:11
[e3947ae7] part of check-in [3b7259eb] Revise the initialization processing for OP_Column to make it about 1.8 million cycles faster. (check-in: [3b7259eb] user: drh branch: trunk, size: 291329)
18:51
[52995564] part of check-in [4e269902] Fix the OP_NullRow documentation so that it accurately describes what it actually does for a pseudo-cursor. (check-in: [4e269902] user: drh branch: trunk, size: 290692)
18:15
[7778e0f5] part of check-in [09a47f32] Dead branch: Superseded by [3b7259ebd5b9b1f7] (check-in: [09a47f32] user: drh branch: simplify-cursor-state, size: 292837)
15:44
[588de992] part of check-in [7953716c] This branch proposes to consolidate various state fields of VdbeCursor (specifically, nullRow, deferredMoveto, and cacheStatus) into a single eCurState field. This first check-in adds the new eCurState field while retaining and continuing to use the legacy state fields. (check-in: [7953716c] user: drh branch: simplify-cursor-state, size: 292291)
2022-02-24
14:44
[5ff8a23c] part of check-in [9d13cbbe] Change the OP_Next and OP_Prev opcodes so that they invoke sqlite3BtreeNext() and sqlite3BtreePrevious() directly rather than through a function pointer, for improved performance and a decrease in code size. (check-in: [9d13cbbe] user: drh branch: trunk, size: 290501)
2022-02-22
19:56
[fb10f584] part of check-in [8387e4f3] Merge version 3.38.0 into the begin-concurrent-pnu-wal2 branch. (check-in: [8387e4f3] user: drh branch: begin-concurrent-pnu-wal2, size: 292721)
19:46
[5d48a024] part of check-in [de24c8ee] Merge version 3.38.0 into the wal2 branch. (check-in: [de24c8ee] user: drh branch: wal2, size: 291162)
19:37
[836387e6] part of check-in [0bbf7be2] Merge version 3.38.0 into the begin-concurrent-report branch. (check-in: [0bbf7be2] user: drh branch: begin-concurrent-report, size: 293219)
19:30
[61739ae1] part of check-in [c5998c43] Merge version 3.38.0 into the begin-concurrent branch. (check-in: [c5998c43] user: drh branch: begin-concurrent, size: 292322)
2022-02-21
16:49
[d396236d] part of check-in [b3c26f4a] Merge the latest trunk changes into the reuse-schema branch. (check-in: [b3c26f4a] user: drh branch: reuse-schema, size: 290763)
14:30
[e179d2d6] part of check-in [5c188243] Fix compiler warnings for older compilers (ex: gcc 4.0.1 powerpc-apple-darwin). (check-in: [5c188243] user: drh branch: trunk, size: 290763)
2022-02-04
18:12
[d2c9c725] part of check-in [5744e102] Merge trunk enhancements into the reuse-schema branch. (check-in: [5744e102] user: drh branch: reuse-schema, size: 290761)
18:02
[d34d07ae] part of check-in [cb045aba] Merge recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: [cb045aba] user: drh branch: begin-concurrent-pnu-wal2, size: 292719)
17:52
[1e9bdd13] part of check-in [d2de02f3] Merge trunk enhancements into the wal2 branch. (check-in: [d2de02f3] user: drh branch: wal2, size: 291160)
17:51
[805dfba1] part of check-in [1c88bcff] Merge all recent trunk enhancements into the begin-concurrent-report branch. (check-in: [1c88bcff] user: drh branch: begin-concurrent-report, size: 293217)
17:40
[c3f0c0e7] part of check-in [85054a86] Merge trunk enhancements into the begin-concurrent branch. (check-in: [85054a86] user: drh branch: begin-concurrent, size: 292320)
2022-02-02
14:36
[13a4de20] part of check-in [8965929b] Refactor sqlite3_vtab_in() to make use of the existing sqlite3_value_pointer() mechanism for passing the list of IN operator RHS values into xFilter, for improved memory safety. (check-in: [8965929b] user: drh branch: batch-in-operator, size: 290761)
2022-02-01
14:58
[d6694187] part of check-in [eb84b80e] Add new interfaces to enable virtual table to process IN operator constraints all at once, rather than one element at a time. (check-in: [eb84b80e] user: drh branch: batch-in-operator, size: 290351)
2022-01-25
16:28
[a6f4474a] part of check-in [6e4154d4] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [6e4154d4] user: drh branch: reuse-schema, size: 289734)
16:05
[1b1e8ebe] part of check-in [3d949775] Merge the latest trunk changes into begin-concurrent-pnu-wal2 (check-in: [3d949775] user: drh branch: begin-concurrent-pnu-wal2, size: 291692)
15:57
[f3a24a17] part of check-in [84f737ab] Merge the latest trunk changes into the wal2 branch. (check-in: [84f737ab] user: drh branch: wal2, size: 290133)
15:48
[80935b36] part of check-in [42e6d842] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [42e6d842] user: drh branch: begin-concurrent-report, size: 292190)
15:20
[d2f53c56] part of check-in [dae81f45] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [dae81f45] user: drh branch: begin-concurrent, size: 291293)
2022-01-20
12:58
[cfe1980f] part of check-in [ab160e8b] Fix harmless scan-build warnings. (check-in: [ab160e8b] user: drh branch: trunk, size: 289734)
2022-01-17
23:53
[8c2f37ac] part of check-in [b6fb223d] Allow an "IntReal" value to count as a REAL when checking types for insertion into a generated column on a STRICT table. Forum post fa012c77796d9399. (check-in: [b6fb223d] user: drh branch: branch-3.37, size: 286945)
23:37
[71fbbf8d] part of check-in [1ec44d55] Allow an "IntReal" value to count as a REAL when checking types for insertion into a generated column on a STRICT table. Forum post fa012c77796d9399. (check-in: [1ec44d55] user: drh branch: trunk, size: 289749)
20:01
[851550df] part of check-in [769ff857] Merge the latest trunk changes into the reuse-schema branch. (check-in: [769ff857] user: drh branch: reuse-schema, size: 289588)
19:46
[e120656d] part of check-in [45fa7efe] Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [45fa7efe] user: drh branch: begin-concurrent-pnu-wal2, size: 291546)
19:36
[5f16cc95] part of check-in [82f031b4] Merge the latest trunk enhancements into the wal2 branch. (check-in: [82f031b4] user: drh branch: wal2, size: 289987)
19:24
[8746410d] part of check-in [ef6fc895] Bring the begin-concurrent-report branch up to date with all the latest trunk enhancements. (check-in: [ef6fc895] user: drh branch: begin-concurrent-report, size: 292044)
19:17
[5b4d4914] part of check-in [02daae7a] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [02daae7a] user: drh branch: begin-concurrent, size: 291147)
2022-01-14
21:34
[93b2403c] part of check-in [7ac91b53] Fix a NEVER() in the byte-code engine that can sometimes be true. Test case in TH3. (check-in: [7ac91b53] user: drh branch: trunk, size: 289588)
2022-01-07
14:09
[5bf3a2db] part of check-in [e525892d] Merge 3.37.2 changes into the begin-concurrent-pnu branch. (check-in: [e525892d] user: drh branch: begin-concurrent-3.37, size: 288343)
2022-01-06
14:16
[eaf40ef5] part of check-in [d7ec5a2b] Merge the 3.37.2 patches into the reuse-schema branch. (check-in: [d7ec5a2b] user: drh branch: reuse-schema-3.37, size: 286784)
2022-01-03
01:43
[23116cc5] part of check-in [23f04266] Small performance and size optimization to allocateCursor(). (check-in: [23f04266] user: drh branch: trunk, size: 289595)
2022-01-02
18:10
[84cc51ed] part of check-in [4f1313c6] Clear the cache of triggers used to implement CASCADE foreign key constraints whenever the schema changes. Fix for the problem identified by forum post 2831335356. (check-in: [4f1313c6] user: drh branch: branch-3.37, size: 286784)
12:01
[05c8fd95] part of check-in [5232c977] Clear the cache of triggers used to implement CASCADE foreign key constraints whenever the schema changes. Fix for the problem identified by forum post 2831335356. (check-in: [5232c977] user: drh branch: trunk, size: 289611)
2021-12-13
00:02
[b6359483] part of check-in [b98b24f2] Remove unused code. (check-in: [b98b24f2] user: drh branch: trunk, size: 289566)
2021-12-09
19:42
[5c05b114] part of check-in [ce42039f] Remove unused code and fix comments. Final cleanup before merging. (check-in: [ce42039f] user: drh branch: bloom-filter, size: 289588)
01:28
[855ee903] part of check-in [88b43d79] Add SQLITE_TESTCTRL_LOGEST and enhance the LogEst utility program. Improvements to testability of bloom filters. (check-in: [88b43d79] user: drh branch: bloom-filter, size: 289922)
2021-12-06
21:45
[fd8542b7] part of check-in [24ba535d] Add SQLITE_STMTSTATUS_FILTER_HIT and _MISS for tracking the effectiveness of Bloom filters. (check-in: [24ba535d] user: drh branch: bloom-filter, size: 289955)
20:16
[9cc221eb] part of check-in [8a9036ee] Omit the OP_FilterInit opcode. Use OP_Blob to initialize each Bloom filter instead. Size the Bloom filter based on sqlite_stat1 size estimates rather than a run-time measurement for improved testability. (check-in: [8a9036ee] user: drh branch: bloom-filter, size: 289856)
13:07
[6176125e] part of check-in [a7adcf69] Attempt to vary the size of Bloom filters based on an estimate of how many keys the filter will hold. (check-in: [a7adcf69] user: drh branch: bloom-filter, size: 290855)
2021-12-04
18:45
[94af4eba] part of check-in [629ee2e3] Add VdbeCoverage() macros. Adjust the Bloom-filter hash function so that it correctly deals with zero-blobs. (check-in: [629ee2e3] user: drh branch: bloom-filter, size: 289746)
2021-12-01
21:07
[d4435e88] part of check-in [0864bfbf] Merge trunk fixes into the bloom-filter branch. (check-in: [0864bfbf] user: drh branch: bloom-filter, size: 289625)
19:17
[f25438ea] part of check-in [a818ba2e] Check for foreign key constraint errors prior to returning the results from a RETURNING clause. See forum post 793beaf322. (check-in: [a818ba2e] user: drh branch: trunk, size: 286636)
16:31
[a77525dd] part of check-in [50ac4de1] Add a Bloom filter to the automatic-index mechanism. (check-in: [50ac4de1] user: drh branch: bloom-filter, size: 289728)
2021-11-22
17:08
[b0694000] part of check-in [9b2ffa84] Merge trunk enhancements into the begin-concurrent-report-wal2 branch. (check-in: [9b2ffa84] user: drh branch: begin-concurrent-report-wal2, size: 289594)
17:01
[280f2449] part of check-in [8a9fad0f] Merge trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [8a9fad0f] user: drh branch: begin-concurrent-pnu-wal2, size: 288697)
16:47
[2e2fd664] part of check-in [135133b7] Merge trunk enhancements into the wal2 branch. (check-in: [135133b7] user: drh branch: wal2, size: 287138)
16:39
[9cc0092e] part of check-in [ddc11f55] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [ddc11f55] user: drh branch: begin-concurrent-report, size: 289195)
16:14
[c019c274] part of check-in [8f3e6842] Merge the latest trunk changes into the begin-concurrent branch. (check-in: [8f3e6842] user: drh branch: begin-concurrent, size: 288298)
16:05
[53e94ef8] part of check-in [d08832cb] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [d08832cb] user: drh branch: reuse-schema, size: 286739)
2021-11-17
14:21
[5c59b21d] part of check-in [8eef8782] Apply the begin-concurrent-report patch to the wal2 branch. (check-in: [8eef8782] user: dan branch: begin-concurrent-report-wal2, size: 288973)
2021-11-15
19:10
[e98f1baf] part of check-in [bd66ab8a] Strengthen the sticky-CORRUPT idea of check-in [3feb0f1c3840904d] by automatically changing the first COMMIT after an SQLITE_CORRUPT error into a ROLLBACK. (check-in: [bd66ab8a] user: drh branch: trunk, size: 286739)
13:22
[bd1cd776] part of check-in [c7776369] Improved context shown for the "ABORT-due-to-error" output line when using "PRAGMA vdbe_debug=on" in an SQLITE_DEBUG build. (check-in: [c7776369] user: drh branch: trunk, size: 286802)
2021-11-11
23:52
[bd7efb29] part of check-in [150b5be5] Make sure the rowid value returned by the VUpdate opcode is always initialized. (check-in: [150b5be5] user: drh branch: trunk, size: 286617)
11:23
[81edf086] part of check-in [7cee62f7] New assert() statements to help prove correct usage of VdbeCursor objects. (check-in: [7cee62f7] user: drh branch: trunk, size: 286613)
2021-11-10
10:59
[34a0bc8b] part of check-in [3feb0f1c] Make SQLITE_CORRUPT sticky: If a CORRUPT error is returned, all subsequent write statements within the same transaction also fail early with SQLITE_CORRUPT. (check-in: [3feb0f1c] user: drh branch: trunk, size: 286550)
2021-11-09
15:36
[4f1ea2cb] part of check-in [122f4a76] Merge all recent trunk changes into the begin-concurrent-report branch. (check-in: [122f4a76] user: drh branch: begin-concurrent-report, size: 288574)
15:18
[c403995a] part of check-in [07bc1339] Merge all recent trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [07bc1339] user: drh branch: begin-concurrent-pnu-wal2, size: 288076)
15:06
[f03a831f] part of check-in [2d0c8f30] Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: [2d0c8f30] user: drh branch: begin-concurrent, size: 287677)
2021-11-06
16:46
[03227424] part of check-in [700876b7] Merge further changes from trunk into this branch. (check-in: [700876b7] user: dan branch: wal2, size: 286517)
2021-11-05
23:32
[99eef8f9] part of check-in [ca09148e] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [ca09148e] user: drh branch: reuse-schema, size: 286118)
2021-11-04
14:04
[f2b30e31] part of check-in [9147390d] Show the preferred schema table names in the output of "PRAGMA table_list". (check-in: [9147390d] user: drh branch: trunk, size: 286118)
2021-11-03
14:02
[460bed0a] part of check-in [24285d91] Fix INSERT into STRICT table with STATIC generated columns. (check-in: [24285d91] user: drh branch: trunk, size: 286116)
2021-10-29
16:19
[54089e5e] part of check-in [8ba73b3c] Reorder a test add earlier today to OP_Transaction for easier testing. (check-in: [8ba73b3c] user: drh branch: trunk, size: 285781)
14:04
[e0e54845] part of check-in [7623132e] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [7623132e] user: drh branch: reuse-schema, size: 285781)
09:59
[daa876fb] part of check-in [5374226d] Fix the OP_Transaction opcode so that if an error other than SQLITE_SCHEMA occurs first, the original error is not overwritten by SQLITE_SCHEMA. dbsqlfuzz 85bf7e262017c6c7bddb03ff6d8541511985d36c. (check-in: [5374226d] user: drh branch: trunk, size: 285781)
2021-10-21
14:37
[e0b372a3] part of check-in [0770f320] Merge all recent trunk changes into the begin-concurrent-report branch. (check-in: [0770f320] user: drh branch: begin-concurrent-report, size: 288190)
14:24
[2f180b06] part of check-in [1958e6fa] Merge trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [1958e6fa] user: drh branch: begin-concurrent-pnu-wal2, size: 287692)
14:13
[4faf394e] part of check-in [ae4eed0b] Merge recent trunk enhancements into begin-concurrent branch. (check-in: [ae4eed0b] user: drh branch: begin-concurrent, size: 287293)
14:10
[7c39b91e] part of check-in [cd15fc3c] Merge recent trunk enhancements into the reuse-schema branch (check-in: [cd15fc3c] user: drh branch: reuse-schema, size: 285734)
14:01
[12a68a73] part of check-in [7e2bc836] Merge recent trunk enhancements into the wal2 branch. (check-in: [7e2bc836] user: drh branch: wal2, size: 286133)
2021-10-20
12:52
[a80943ed] part of check-in [69911715] Ensure that valid bytecode is generated for RETURNING clauses even if the schema is corrupt and PRAGMA writable_schema is set so that the schema parse returns no errors. dbsqlfuzz cb21825bdcd6fdb4b686ce4f6e2f45e781d2f220 (check-in: [69911715] user: drh branch: trunk, size: 285734)
2021-10-05
11:11
[b42cf4c8] part of check-in [91e3b98e] Simplifications to the preupdate_hook logic to make it easier to reason about, and reduce static analyzer warnings. (check-in: [91e3b98e] user: drh branch: trunk, size: 285701)
2021-10-04
22:34
[e4ed1897] part of check-in [32f33f35] Fix harmless static-analyzer warnings. (check-in: [32f33f35] user: drh branch: trunk, size: 285793)
12:16
[2f5ac225] part of check-in [71b10294] Merge recent trunk changes into the begin-concurrent-report branch. (check-in: [71b10294] user: drh branch: begin-concurrent-report, size: 288283)
12:02
[b515546f] part of check-in [bce02eaa] Merge recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: [bce02eaa] user: drh branch: begin-concurrent-pnu-wal2, size: 287732)
11:54
[62660b3d] part of check-in [4f5ef7aa] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [4f5ef7aa] user: drh branch: begin-concurrent, size: 287333)
11:49
[571042c5] part of check-in [64234c5c] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [64234c5c] user: drh branch: reuse-schema, size: 285774)
11:44
[2d66521c] part of check-in [127173e0] Merge recent trunk enhancements into the wal2 branch. (check-in: [127173e0] user: drh branch: wal2, size: 286173)
2021-10-01
21:01
[f2a83da7] part of check-in [94b59691] Fix harmless compiler warnings. (check-in: [94b59691] user: drh branch: trunk, size: 285774)
2021-09-16
12:33
[a4b6736b] part of check-in [7e3d6810] Under SQLITE_DEBUG with PRAGMA vdbe_trace=ON, show an output line if the VDBE aborts for any reason. (check-in: [7e3d6810] user: drh branch: trunk, size: 285796)
2021-08-23
10:28
[39755f46] part of check-in [d8fd1a2b] Back out the change that allows typeless columns in strict tables. Replace that capability with an ANY type for strict tables that will accept any datatype with BLOB affinity. (check-in: [d8fd1a2b] user: drh branch: trunk, size: 285678)
2021-08-21
20:54
[b228d775] part of check-in [1e2dcc2d] Allow typeless columns in STRICT tables that are able to accept any data type. (check-in: [1e2dcc2d] user: drh branch: trunk, size: 285661)
2021-08-20
08:05
[bf2d58ee] part of check-in [39abca01] Improved error messages for the SQLITE_CONSTRAINT_DATATYPE error. (check-in: [39abca01] user: drh branch: strict-tables, size: 285625)
2021-08-19
16:29
[d2e39527] part of check-in [4ee57fb5] Improved comments. Fewer opcodes for integrity_check on strict tables. (check-in: [4ee57fb5] user: drh branch: strict-tables, size: 285215)
02:58
[db203346] part of check-in [97c9248b] Enhance PRAGMA integrity_check so that it verifies the datatype of all columns in STRICT tables. (check-in: [97c9248b] user: drh branch: strict-tables, size: 284902)
2021-08-18
19:22
[0e70bef8] part of check-in [a19305e5] Trying to insert an incorrect datatype into a STRICT table raises an SQLITE_CONSTRAINT_DATATYPE error. Seems to work, though lots more testing is needed. (check-in: [a19305e5] user: drh branch: strict-tables, size: 284421)
2021-08-11
18:43
[e5cdac52] part of check-in [19e56291] During DELETE, if an index entry is missing, do not raise the SQLITE_CORRUPT_INDEX error (added by [f339f31f9e9a856b]) if in "PRAGMA writable_schema=ON" mode. (check-in: [19e56291] user: drh branch: trunk, size: 281737)
2021-08-03
17:05
[aa6648a1] part of check-in [385e3b4e] Merge recent trunk enhancements into the begin-concurrent-report branch. (check-in: [385e3b4e] user: drh branch: begin-concurrent-report, size: 284119)
16:44
[d1e0f264] part of check-in [5b6f6514] Merge recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: [5b6f6514] user: drh branch: begin-concurrent-pnu-wal2, size: 283568)
16:31
[d17e7a89] part of check-in [8d806cf9] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [8d806cf9] user: drh branch: begin-concurrent, size: 283169)
16:11
[7c72ebe8] part of check-in [d71adc3f] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [d71adc3f] user: drh branch: reuse-schema, size: 281610)
2021-08-02
20:29
[63362d3d] part of check-in [f615d7ba] Merge recent trunk enhancements into the wal2 branch. (check-in: [f615d7ba] user: drh branch: wal2, size: 282009)
2021-07-19
20:52
[b73a5ec9] part of check-in [f9c6426d] More precision in comparing integers and floating point values while processing the integer primary key for OP_SeekGE and similar. Forum post 2bdb86a068. (check-in: [f9c6426d] user: drh branch: trunk, size: 281610)
2021-07-09
13:29
[001e4d32] part of check-in [0e968f9d] Merge latest trunk changes into this branch. (check-in: [0e968f9d] user: dan branch: reuse-schema, size: 281588)
2021-06-25
14:48
[27149413] part of check-in [d4bf5243] The OP_ReopenIdx opcode should clear the cursor if the cursor is being reused. This prevents leaving the cursor in an initialized state which could cause problems for a subsequent OP_SeekScan opcode. Fix for ticket [6dcbfd11cf666e21] and the OP_SeekScan optimization of check-in [4a43430fd23f8835]. (check-in: [d4bf5243] user: drh branch: trunk, size: 281588)
2021-06-22
23:27
[120a8a90] part of check-in [956bafb6] This is an alternative fix to the covering index on WHERE_MULTI_OR in a LEFT JOIN problem that is fixed nearby. This one works by having the OP_NullRow opcode create the index if it does not already exist. That is slightly more complex. This patch is saved for historical reference only. (check-in: [956bafb6] user: drh branch: multi-or-covidx-fix2, size: 281569)
18:32
[e8689446] part of check-in [48fdec22] Add the sqlite3_changes64() and sqlite3_total_changes64() API functions. (check-in: [48fdec22] user: dan branch: trunk, size: 281496)
2021-06-19
18:32
[226deb5b] part of check-in [3b0d34e5] Split the sqlite3BtreeMovetoUnpacked() routine into two separate routines sqlite3BtreeTableMoveto() and sqlite3BtreeIndexMoveto(), since we usually know the type of btree in advance. This results in less branching and better performance. (check-in: [3b0d34e5] user: drh branch: trunk, size: 281496)
2021-06-14
14:35
[4f3ff64f] part of check-in [f21a53fb] Update this branch with latest changes from trunk. (check-in: [f21a53fb] user: dan branch: reuse-schema, size: 281541)
14:25
[1911efc9] part of check-in [0ab89901] Update this branch with latest changes from wal2. (check-in: [0ab89901] user: dan branch: begin-concurrent-pnu-wal2, size: 283499)
14:12
[17d8e3ce] part of check-in [b38c2b8b] Update this branch with latest changes from trunk. (check-in: [b38c2b8b] user: dan branch: wal2, size: 281940)
14:01
[9e932e19] part of check-in [a485d1a1] Update this branch with latest changes from begin-concurrent-pnu. (check-in: [a485d1a1] user: dan branch: begin-concurrent-report, size: 284050)
12:23
[6a7ca429] part of check-in [d8199634] Update this branch with latest trunk changes. (check-in: [d8199634] user: dan branch: begin-concurrent, size: 283100)
2021-06-13
19:14
[6ece0ee9] part of check-in [d6803ed8] The opcode that preceeds OP_SeekScan is usually OP_IdxGT but can sometimes be OP_IdxGE. Adjust asserts accordingly. Follow-up to [9a2ab6092d644fc3]. dbsqlfuzz e41762333a4d6e90a49e628f488d0873b2dba4c5 (check-in: [d6803ed8] user: drh branch: trunk, size: 281541)
2021-06-07
11:50
[87d29d76] part of check-in [10801f65] Fix an assert() in the OP_ParseSchema opcode that might fail on a corrupt database file when running with PRAGMA writable_schema=ON. dbsqlfuzz e7d743ca65f2767e415095f0c5a49166a0f55eea. (check-in: [10801f65] user: drh branch: trunk, size: 281459)
2021-06-04
12:29
[a51f4947] part of check-in [d9e85fe8] Merge recent trunk enchancements into the seekscan-improvements branch. (check-in: [d9e85fe8] user: drh branch: seekscan-improvements, size: 281380)
2021-06-03
18:51
[c42799bc] part of check-in [820ae3b1] Fix the truncate optimization so that PRAGMA count_changes and changes() return correct values even for a WITHOUT ROWID table. Forum post 07dedbf9a1. (check-in: [820ae3b1] user: drh branch: trunk, size: 281462)
2021-06-02
17:32
[bcb074ce] part of check-in [dbc33d3a] Tighten assert() restrictions on the OP_SeekScan opcode. (check-in: [dbc33d3a] user: drh branch: seekscan-improvements, size: 281500)
2021-05-22
15:05
[2e9552a6] part of check-in [dbc65a69] Merge latest trunk changes into this branch. (check-in: [dbc65a69] user: dan branch: reuse-schema, size: 281582)
2021-05-21
17:31
[52918feb] part of check-in [4efefb59] Merge latest changes from wal2 into this branch. (check-in: [4efefb59] user: dan branch: begin-concurrent-pnu-wal2, size: 283540)
16:42
[d36e7d1d] part of check-in [95cc7783] Merge the latest trunk enhancements into the wal2 branch. (check-in: [95cc7783] user: drh branch: wal2, size: 281981)
16:32
[40921370] part of check-in [1dc6cf51] Merge the latest trunk changes into begin-concurrent-report branch via the begin-concurrent-pnu branch. (check-in: [1dc6cf51] user: drh branch: begin-concurrent-report, size: 284091)
15:33
[897ee680] part of check-in [0dba9010] Merge all recent trunk changes into the begin-concurrent branch. (check-in: [0dba9010] user: drh branch: begin-concurrent, size: 283141)
2021-05-20
11:42
[73e5a8b6] part of check-in [67bde016] Ensure the required b-tree mutexes are held for "CREATE TABLE IF NOT EXISTS" and "DROP TABLE IF EXISTS" statements on attached databases. (check-in: [67bde016] user: dan branch: trunk, size: 281582)
2021-05-18
19:10
[74491791] part of check-in [4a55f725] In the MULTI-INDEX OR query plan, code for sub-expressions can sometimes be generated twice. But for some subqueries, generating code off of the same tree twice causes problems. So now MULTI-INDEX OR makes a copy of the sub-expressions it uses to avoid code-generating them more than once. dbsqlfuzz 9ebd2140e7206ff724e665f172faea28af801635. (check-in: [4a55f725] user: drh branch: trunk, size: 281541)
00:52
[50d998eb] part of check-in [304739d2] Add a CORRUPT_DB term to an assert() added earlier today. (check-in: [304739d2] user: drh branch: trunk, size: 281536)
2021-05-17
16:54
[d84dd30f] part of check-in [4221f41a] Enhance the integer-comparison optimization on the OP_Eq and similar opcodes so that it avoids a lot of useless work. (check-in: [4221f41a] user: drh branch: trunk, size: 281522)
2021-05-15
19:36
[b26c70a3] part of check-in [9d16323d] Performance optimization in the memory allocation of allocateCursor. (check-in: [9d16323d] user: drh branch: trunk, size: 281048)
2021-05-07
14:16
[f784966e] part of check-in [c5e2de1d] This was suppose to be a merge from trunk. But something went wrong. (check-in: [c5e2de1d] user: dan branch: bad-merge, size: 280415)
2021-05-05
19:46
[b51cd7b4] part of check-in [5ac24179] Provide the sqlite3PrintMem() routine on SQLITE_DEBUG builds, which can be invoked from a debugger to get a summary of the status of an sqlite3_value or Mem object. (check-in: [5ac24179] user: drh branch: trunk, size: 280415)
2021-04-29
13:58
[12fa2500] part of check-in [68395000] Enhanced "PRAGMA vdbe_trace=on" output associated with the seekHit flag. (check-in: [68395000] user: drh branch: trunk, size: 280323)
2021-04-21
20:52
[ff3ccdd9] part of check-in [b5564a6f] Add the experimental sqlite3session_changeset_size() API. (check-in: [b5564a6f] user: dan branch: session-changeset-size, size: 279904)
2021-04-12
22:39
[04508832] part of check-in [79b88353] Fix an assert() in OP_ParseSchema so that it works even after an OOM. (check-in: [79b88353] user: drh branch: trunk, size: 279902)
2021-04-10
15:34
[c98340e8] part of check-in [780412f2] Avoid invoking sqlite3Atoi64() will a null pointer following an error from ExpandBlob(). (check-in: [780412f2] user: drh branch: trunk, size: 279882)
2021-04-07
17:46
[2a0a30c6] part of check-in [655c2841] Merge latest changes into this branch. (check-in: [655c2841] user: dan branch: begin-concurrent-report, size: 282405)
17:32
[24932887] part of check-in [1f3f7e4b] Merge latest trunk changes into this branch. (check-in: [1f3f7e4b] user: dan branch: begin-concurrent-pnu, size: 281392)
2021-04-05
22:30
[1e0c8407] part of check-in [82f92d79] Add a missing CORRUPT_DB to an assert in the OP_ResultRow opcode. (check-in: [82f92d79] user: drh branch: trunk, size: 279833)
2021-04-02
20:53
[e5023454] part of check-in [a2216259] Merge latest trunk changes with this branch. (check-in: [a2216259] user: dan branch: begin-concurrent-report, size: 282391)
20:29
[619f5a46] part of check-in [98420842] Merge latest trunk changes into this branch. (check-in: [98420842] user: dan branch: begin-concurrent, size: 281378)
2021-03-29
18:53
[c2990a6f] part of check-in [380b4605] Omit the SQLITE_STOREP2 and SQLITE_KEEPNULL options from the comparison opcodes, allowing them to run faster. This required refactoring the vector comparison logic, which in turn required changing OP_ElseNotEq into OP_ElseEq. (check-in: [380b4605] user: drh branch: compare-opcode-opt, size: 279819)
14:40
[0defb934] part of check-in [93781b6f] Add the OP_ZeroOrNull opcode and use it to compute boolean values for scalar comparisons, rather than the SQLITE_STOREP2 parameter to the comparison opcode. (check-in: [93781b6f] user: drh branch: compare-opcode-opt, size: 281901)
13:47
[ea4ab60e] part of check-in [bd00df8f] The comparison opcodes (ex: OP_Eq) now set the iCompare flag so that the result of comparison can be used by subsequent OP_Jump or OP_ElseNotEq opcodes. (check-in: [bd00df8f] user: drh branch: compare-opcode-opt, size: 281372)
2021-03-28
23:37
[c626ed23] part of check-in [afb18f64] Alternative implementation of the comparison opcode speed-up of check-in [4a8805d9a66dc888] that should pass muster with UBSAN. (check-in: [afb18f64] user: drh branch: trunk, size: 281202)
2021-03-27
20:45
[a9fbdae2] part of check-in [4a8805d9] Performance improvement in the comparison opcodes by rewriting an array lookup using pointer arithmetic. This makes gcc 5.4.0 builds with -Os both faster and smaller. Though I suspect that in newer compilers with better optimizers in will probably make no difference at all in the generated machine code. Later: Even though the new code is perfectly valid, and generates correct machine code that is both smaller and faster, UBSAN complains about it in OSSFuzz. So we will take it out. So here was have an example of OSSFuzz coercing a widely used application to become bigger and slower. (check-in: [4a8805d9] user: drh branch: gcc-opt, size: 281470)
2021-03-26
14:04
[cb96a589] part of check-in [4d425e64] Merge up all the 3.35.3 changes into the begin-concurrent-pnu-wal2 branch. (check-in: [4d425e64] user: drh branch: begin-concurrent-pnu-wal2, size: 283416)
13:58
[db4a104f] part of check-in [a1b8d9d2] Merge the 3.35.3 enhancements into the wal2 branch. (check-in: [a1b8d9d2] user: drh branch: wal2, size: 281857)
13:47
[655b748e] part of check-in [4ba9fc34] Merge patch 3.35.3 into the begin-concurrent-report branch. (check-in: [4ba9fc34] user: drh branch: begin-concurrent-report, size: 284030)
13:31
[830e04d6] part of check-in [988da36c] Merge from 3.35.3 into the begin-concurrent branch. (check-in: [988da36c] user: drh branch: begin-concurrent, size: 283017)
13:16
[6d430291] part of check-in [76f19f4b] Merge in changes for 3.35.3 (check-in: [76f19f4b] user: drh branch: reuse-schema, size: 281458)
2021-03-20
01:00
[5001a0d3] part of check-in [1805b9aa] Fix a faulty assert() in the OP_SkipScan opcode. dbsqlfuzz a15a9b2ca82e812ad52f62c86cc93dca0dc72f01. Test cases in TH3. (check-in: [1805b9aa] user: drh branch: trunk, size: 281458)
2021-03-18
16:47
[95105c16] part of check-in [bcbe5308] Fix the OP_OpenDup opcode so that it is able to duplicate a cursor that was itself opened by OP_OpenDup. Add additional verification of ephemeral tables. Fix for ticket [bb8a9fd4a9b7fce5]. (check-in: [bcbe5308] user: drh branch: trunk, size: 281361)
15:42
[cba3e495] part of check-in [0ec71cf1] Further sanity checking of the OpenDup cursors. (check-in: [0ec71cf1] user: drh branch: opendup-fix, size: 281288)
14:31
[81986062] part of check-in [39b5af18] Automatically close ephemeral b-trees when their last cursor is closed. (check-in: [39b5af18] user: dan branch: opendup-fix, size: 281502)
13:42
[ae4ebb87] part of check-in [b8de980b] Allow instruction OP_OpenDup to duplicate cursors created by OP_OpenDup, as well as by OP_OpenEphemeral. (check-in: [b8de980b] user: dan branch: opendup-fix, size: 281445)
13:19
[2cdbdb1e] part of check-in [a8ce73e2] New assert statements associated with Ephemeral cursors in the bytecode engine. (check-in: [a8ce73e2] user: drh branch: trunk, size: 281503)
2021-03-11
20:07
[1d5f1b54] part of check-in [88c3c173] Merge latest wal2 changes into this branch. (check-in: [88c3c173] user: dan branch: begin-concurrent-pnu-wal2, size: 283388)
19:42
[5e4328bb] part of check-in [30f912d0] Merge latest trunk changes into this branch. (check-in: [30f912d0] user: dan branch: wal2, size: 281829)
19:26
[00fe8c8b] part of check-in [6994a2d8] Merge latest changes from begin-concurrent-pnu into this branch. (check-in: [6994a2d8] user: dan branch: begin-concurrent-report, size: 284002)
18:52
[ef675ccd] part of check-in [79d44ebd] Update this branch with latest changes from trunk. (check-in: [79d44ebd] user: dan branch: begin-concurrent, size: 282989)
10:55
[be0a9ba0] part of check-in [ef8c6e06] Merge latest trunk changes into this branch. (check-in: [ef8c6e06] user: dan branch: reuse-schema, size: 281430)
2021-03-09
20:58
[b79b222f] part of check-in [1c017457] Fix a bad comment (copy-paste error) in the byte code engine. No code changes. (check-in: [1c017457] user: drh branch: trunk, size: 281430)
2021-03-03
19:54
[9278c551] part of check-in [73bf458e] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [73bf458e] user: drh branch: reuse-schema, size: 281427)
19:41
[c3daebc1] part of check-in [b0fc8ca1] Merge in recent enhancements. (check-in: [b0fc8ca1] user: drh branch: begin-concurrent-pnu-wal2, size: 283385)
19:32
[8b3af649] part of check-in [0ae81039] Merge recent trunk enhancements into the wal2 branch. (check-in: [0ae81039] user: drh branch: wal2, size: 281826)
19:17
[025b55eb] part of check-in [acdafef8] Merge recent trunk changes into the begin-concurrent branch. (check-in: [acdafef8] user: drh branch: begin-concurrent, size: 282986)
2021-02-22
14:25
[d8d2f2a1] part of check-in [ace54c5b] Add an ALWAYS() on a branch that is now unreachable. (check-in: [ace54c5b] user: drh branch: as-materialize-redux, size: 281427)
2021-02-17
20:08
[9766281c] part of check-in [10538ec6] Fix various issues with the changes on this branch. Add test cases for the same. (check-in: [10538ec6] user: dan branch: alter-table-drop-column, size: 281419)
2021-02-10
20:20
[6396a90a] part of check-in [d29c41bd] Merge latest trunk changes into this branch. (check-in: [d29c41bd] user: dan branch: reuse-schema, size: 281431)
2021-02-04
21:19
[50350d7d] part of check-in [e73dbce8] Initial commit (check-in: [e73dbce8] user: shearer branch: selective-debug, size: 283404)
11:14
[88ae06e3] part of check-in [e1eb6213] Work toward handling interleaved RETURNING statements. Trunk does not handle that case correctly. This branch is a partial implementation of ideas that might, however. (check-in: [e1eb6213] user: drh branch: interleaved-returning, size: 283118)
2021-02-03
18:32
[b3c9a3f9] part of check-in [6b29e549] Change the name of Vdbe.magic to Vdbe.iVdbeMagic to disambiguate with sqlite3.magic. (check-in: [6b29e549] user: drh branch: trunk, size: 281431)
2021-01-31
15:50
[9b9a7143] part of check-in [154fc2b1] New opcode OP_ChngCntRow used to output the result of PRAGMA change_count. Only this new opcode, and not OP_ResultRow, checks for foreign key errors. Faster performance, and now also works with RETURNING. (check-in: [154fc2b1] user: drh branch: returning, size: 281426)
2021-01-30
14:17
[d715b1ee] part of check-in [fea91e3a] Change the OP_ResultRow opcode so that it does not cancel pending statement transactions. (check-in: [fea91e3a] user: drh branch: returning, size: 281118)
12:07
[5761ca99] part of check-in [138b10d5] Fix a obsolete assert() in the bytecode engine. Improved OOM detection in sqlite3AddReturning(). (check-in: [138b10d5] user: drh branch: returning, size: 282168)
2021-01-25
21:24
[102d2126] part of check-in [0571c241] Add an extra log message in the case of an SQLITE_CORRUPT_INDEX error. (check-in: [0571c241] user: drh branch: trunk, size: 282071)
2021-01-18
19:28
[fd3ae827] part of check-in [dc7938d2] Fix harmless compiler warnings seen with MSVC. (check-in: [dc7938d2] user: mistachkin branch: trunk, size: 282021)
2020-12-29
15:06
[67de2006] part of check-in [eef070a4] Do not set the P3 parameter on OP_RowCell when copying an index btree, as P3 is not used in that case. (check-in: [eef070a4] user: drh branch: trunk, size: 281980)
2020-12-17
11:30
[f7079a16] part of check-in [9f41f604] Merge latest trunk changes into this branch. (check-in: [9f41f604] user: dan branch: reuse-schema, size: 281871)
2020-12-14
16:26
[8b21e2d0] part of check-in [a1708e84] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [a1708e84] user: drh branch: begin-concurrent, size: 283430)
2020-12-10
19:20
[808c1503] part of check-in [f7fa76d0] Fix minor issues with new code on this branch. (check-in: [f7fa76d0] user: dan branch: vacuum-lomem, size: 281871)
18:06
[b8ac132f] part of check-in [101cef14] Better integrate the changes on this branch with OP_Insert and OP_IdxInsert. (check-in: [101cef14] user: dan branch: vacuum-lomem, size: 281333)
2020-12-09
20:33
[334c2626] part of check-in [dfd4ca68] Transfer large index or WITHOUT ROWID records between b-trees when vacuuming without loading them into memory. (check-in: [dfd4ca68] user: dan branch: vacuum-lomem, size: 281525)
2020-12-08
20:19
[77fd09a7] part of check-in [c90e063c] Experimental changes to vacuum to avoid loading large records entirely into memory. Currently only works in limited cases only - for rowid tables when the page-size does not change. (check-in: [c90e063c] user: dan branch: vacuum-lomem, size: 281511)
2020-11-26
18:41
[31c984a6] part of check-in [b451bb72] Merge latest changes from wal2 branch. (check-in: [b451bb72] user: dan branch: begin-concurrent-pnu-wal2, size: 282673)
18:08
[e73ad83b] part of check-in [cb1f6f18] Merge latest trunk changes into this branch. (check-in: [cb1f6f18] user: dan branch: wal2, size: 281114)
17:54
[0426161e] part of check-in [d2de81a2] Merge latest changes from begin-concurrent-pnu into this branch. (check-in: [d2de81a2] user: dan branch: begin-concurrent-report, size: 283287)
11:37
[85a1acd0] part of check-in [ddb97eee] Update this branch with latest changes from trunk. (check-in: [ddb97eee] user: dan branch: begin-concurrent, size: 282274)
2020-11-25
20:29
[05d7dbe2] part of check-in [f4b7c100] Merge trunk changes into this branch. (check-in: [f4b7c100] user: dan branch: reuse-schema, size: 280715)
2020-11-19
19:43
[d24a43b6] part of check-in [842c4327] Use an ephemeral table rather than a RowSet to remember rowids in the two-pass UPDATE algorithm, as this uses much less memory for large UPDATEs. (check-in: [842c4327] user: drh branch: trunk, size: 280715)
2020-11-18
21:50
[0f4402a3] part of check-in [b887c750] Improvements to the mechanism that attempts to report SQLITE_CORRUPT if pread() says that the underlying filesystem is corrupt. (check-in: [b887c750] user: drh branch: detect-corrupt-fs, size: 280098)
21:15
[b7a71294] part of check-in [6004de52] Merge trunk changes into this branch. (check-in: [6004de52] user: dan branch: reuse-schema, size: 280017)
2020-11-17
21:26
[59e8caad] part of check-in [df8ce267] Claw back most of the performance lost in the previous commit. (check-in: [df8ce267] user: drh branch: lowmem-update-exp, size: 280634)
2020-10-12
13:24
[6f3fb4f0] part of check-in [2fa08c39] Fix BEGIN IMMEDIATE and BEGIN EXCLUSIVE so that they work even if one or more of the database files in the connection are read-only. Test cases for this are in TH3. (check-in: [2fa08c39] user: drh branch: trunk, size: 280017)
2020-10-02
13:57
[c80fd12d] part of check-in [c144d640] Import further corner-case fixes for the in-scan-vs-index or OP_SeekScan optimization from trunk. (check-in: [c144d640] user: drh branch: branch-3.28, size: 265515)
12:49
[8893576d] part of check-in [c0400f8c] Remove an incorrect assert() from the OP_SeekScan opcode. (check-in: [c0400f8c] user: drh branch: trunk, size: 279914)
12:11
[d5d60829] part of check-in [ec37744c] For the OP_SeekScan optimization, the OP_IdxGT does not necessarily come right after the OP_SeekGE. So use the P2 operand of OP_SeekScan to point to the first instruction after OP_IdxGT. Problem found by dbsqlfuzz. (check-in: [ec37744c] user: drh branch: branch-3.28, size: 265561)
11:55
[4bfad895] part of check-in [091d7193] For the OP_SeekScan optimization, the OP_IdxGT does not necessarily come right after the OP_SeekGE. So use the P2 operand of OP_SeekScan to point to the first instruction after OP_IdxGT. Problem found by dbsqlfuzz. (check-in: [091d7193] user: drh branch: trunk, size: 279960)
2020-10-01
15:46
[21064a27] part of check-in [7a78274a] Fix the OP_SeekScan opcode so that its variable names do not cause problems for the test/vdbe-compress.tcl script. (check-in: [7a78274a] user: drh branch: trunk, size: 279834)
2020-09-30
18:22
[8b2799c5] part of check-in [f07ac3fb] Improved query optimization for multi-column indexes where the second or later columns are constrained by an IN operator and the earlier index columns limit the search to a small number of rows. Use the new OP_SeekScan opcode which does scanning of the relevant range of the index but gives up and falls back to doing a seek if the number of rows scanned grows to large, in order to guard against pathological cases where the estimated number of rows to be scanned is far too small. (check-in: [f07ac3fb] user: drh branch: branch-3.28, size: 265435)
00:10
[d3030d83] part of check-in [61fbe7aa] In the OP_SeekScan opcode, changes to pOp must occur after the call to VdbeBranchTaken() so that the VdbeBranchTaken() attributes the branch to the correct opcode. (check-in: [61fbe7aa] user: drh branch: in-scan-vs-index, size: 279806)
2020-09-29
23:52
[015caaa6] part of check-in [4afc96b5] The OP_SeekScan opcode is a no-op if the cursor is not pointing to a valid row upon entry. (check-in: [4afc96b5] user: drh branch: in-scan-vs-index, size: 279806)
20:22
[a5f9dbd6] part of check-in [9e57e758] Coverage testing of the OP_SeekScan opcode. Fix a problem that comes up when OP_SeekScan reaches the end of the table. (check-in: [9e57e758] user: drh branch: in-scan-vs-index, size: 279867)
17:29
[f1dfd1fc] part of check-in [6110fdd5] Improved comments on the new OP_SeekScan opcode. (check-in: [6110fdd5] user: drh branch: in-scan-vs-index, size: 279464)
16:05
[72fa5727] part of check-in [2206a2c8] Improved performance by manually in-lining the sqlite3VdbeIdxKeyCompare() routine for the OP_IdxGT opcode and its kin. (check-in: [2206a2c8] user: drh branch: in-scan-vs-index, size: 278964)
01:48
[f13b70fa] part of check-in [f3c36b84] The OP_SeekScan opcode works, but using it requires disabling the IN-earlyout optimization because the OP_IfNoHope opcode might move the cursor. (check-in: [f3c36b84] user: drh branch: in-scan-vs-index, size: 278256)
2020-09-28
19:51
[17584029] part of check-in [d720b698] Revisiting the IN-scan optimization to try to fix it for the corner case where the statistics deceive the query planner into using a scan when an indexed lookup would be better. This check-in changes the code generation to do the IN-scan using a new OP_SeekScan opcode. That new opcode is designed to abandon the scan and fall back to a seek if it doesn't find a match quickly enough. For this work-in-progress check-in, OP_SeekScan is still a no-op and OP_SeekGE still ends up doing all the work. (check-in: [d720b698] user: drh branch: in-scan-vs-index, size: 276941)
2020-09-04
17:40
[eedd0e3c] part of check-in [ca8deb44] Update this branch with latest changes from trunk. (check-in: [ca8deb44] user: dan branch: reuse-schema, size: 274817)
2020-09-01
02:02
[2263fce9] part of check-in [49b7631e] Improvements to the IN-early-out optimization so that it works more efficiently when there are two or more indexed IN clauses on a single table. (check-in: [49b7631e] user: drh branch: branch-3.28, size: 260453)
01:52
[6430a540] part of check-in [35505c68] Improvements to the IN-early-out optimization so that it works more efficiently when there are two or more indexed IN clauses on a single table. (check-in: [35505c68] user: drh branch: trunk, size: 274817)
00:09
[bc2a53bf] part of check-in [07222dce] Minor changes - fix a compiler warning and add an assert(). (check-in: [07222dce] user: drh branch: in-early-out-fail, size: 276914)
2020-08-31
19:19
[8ca4a5aa] part of check-in [8301da31] An attempt to improve the performance of the IN-early-out optimization (see check-in [09fffbdf9f2f6ce3]) by avoiding unnecessary calls to the b-tree search algorithm in OP_IfNoHope when the index key is at hand and the same answer can be obtained by doing a quick key comparison. Update: Experiment did not work out. (check-in: [8301da31] user: drh branch: branch-3.28-in-early-out-fail, size: 262705)
16:31
[a0ce31a5] part of check-in [e9d983c6] An attempt to improve the performance of the IN-early-out optimization (see check-in [09fffbdf9f2f6ce3]) by avoiding unnecessary calls to the b-tree search algorithm in OP_IfNoHope when the index key is at hand and the same answer can be obtained by doing a quick key comparison. Update 2020-08-31: This experiment did not work out. A better approach is now on trunk. (check-in: [e9d983c6] user: drh branch: in-early-out-fail, size: 276873)
12:29
[c5da1456] part of check-in [62f7d2a6] Fix the documentation for the OP_IdxGT family of opcodes to show that the P5 operand is not used. (check-in: [62f7d2a6] user: drh branch: trunk, size: 274046)
2020-08-25
19:09
[e88c94a5] part of check-in [ad195e3d] Add support for the sqlite3_txn_state() interface. (check-in: [ad195e3d] user: drh branch: trunk, size: 274088)
2020-08-17
21:03
[9f449f47] part of check-in [0ecda433] When doing an UPDATE or DELETE using a multi-column index where only a few of the earlier columns of the index are useful for the index lookup, postpone doing the main table seek until after all WHERE clause constraints have been evaluated, in case those constraints can be covered by unused later terms of the index, thus avoiding unnecessary main table seeks. (check-in: [0ecda433] user: dan branch: branch-3.28, size: 259682)
2020-08-11
14:55
[9ae5113f] part of check-in [b1a77b7e] Merge all changes since the 3.32.0 release into the reuse-schema branch. (check-in: [b1a77b7e] user: drh branch: reuse-schema, size: 274057)
14:06
[c45eb006] part of check-in [3ee73880] Update this branch with latest from begin-concurrent-pnu. (check-in: [3ee73880] user: dan branch: begin-concurrent-report, size: 276629)
13:22
[6b86ee94] part of check-in [ebefcb86] Merge all the latest changes into the begin-concurrent-pnu-wal2 branch. (check-in: [ebefcb86] user: drh branch: begin-concurrent-pnu-wal2, size: 276015)
11:34
[d4caea3c] part of check-in [91262e66] Merge latest trunk changes into this branch. (check-in: [91262e66] user: dan branch: wal2, size: 274456)
2020-08-10
21:16
[7b7d4bdb] part of check-in [ed4c742c] Merge recent trunk enhancements into begin-concurrent. (check-in: [ed4c742c] user: drh branch: begin-concurrent, size: 275616)
14:18
[e9f7f818] part of check-in [9d670a31] Fix harmless compiler warnings that surface in newer versions of GCC. (check-in: [9d670a31] user: drh branch: trunk, size: 274057)
2020-08-04
16:11
[332717db] part of check-in [af07d845] Fix compilation issues with MSVC. (check-in: [af07d845] user: mistachkin branch: msvcWarn, size: 273863)
2020-07-31
17:08
[01909cb3] part of check-in [ebd39665] Merge latest wal2 changes into this branch. (check-in: [ebd39665] user: dan branch: begin-concurrent-pnu-wal2, size: 275800)
16:01
[a8a69553] part of check-in [0c0d0a77] Merge latest trunk changes into this branch. (check-in: [0c0d0a77] user: dan branch: wal2, size: 274241)
2020-07-30
19:56
[e6ece05b] part of check-in [fd01e788] Merge begin-concurrent-pnu changes into this branch. (check-in: [fd01e788] user: dan branch: begin-concurrent-report, size: 276414)
19:19
[dd83e5f9] part of check-in [e8a66515] Merge latest trunk changes into this branch. (check-in: [e8a66515] user: dan branch: begin-concurrent, size: 275401)
2020-07-29
16:18
[dec49069] 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: 273919)
12:23
[aeb19f08] part of check-in [1d69eee8] Fix signed/unsigned compiler warnings. (check-in: [1d69eee8] user: drh branch: larger-databases, size: 273842)
2020-07-22
18:03
[120fdb1a] part of check-in [6c3a2727] When parsing the schema, detect out-of-bounds rootpage values and throw an error. (check-in: [6c3a2727] user: drh branch: rootpage-bounds-check, size: 273832)
13:38
[44ac1776] part of check-in [9ce1710a] Continuing work toward supporting unsigned 32-bit page numbers. (check-in: [9ce1710a] user: drh branch: larger-databases, size: 273770)
2020-07-17
11:07
[edc60524] part of check-in [12a909fb] Bring this branch up to date with begin-concurrent-pnu. (check-in: [12a909fb] user: dan branch: begin-concurrent-report, size: 275658)
2020-07-16
20:57
[a6133920] part of check-in [2160ede1] Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: [2160ede1] user: dan branch: begin-concurrent-pnu-wal2, size: 275044)
20:10
[03054bb2] 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: 274645)
2020-07-09
14:05
[981666c4] part of check-in [610ee8d5] Fix a comment typo. No changes to code. (check-in: [610ee8d5] user: drh branch: trunk, size: 273919)
2020-07-06
12:13
[b48b332a] part of check-in [612eb590] Increase the resolution of the vdbe opcode counters to 64 bits, as apparently some users run single prepared statements that go for longer than 4 billion instructions. See forum post "Possible freeze in the progress loop" (check-in: [612eb590] user: drh branch: trunk, size: 273918)
2020-07-01
16:19
[1208cbee] part of check-in [27d4a9a7] Ensure that the "PRAGMA schema_version" command causes the schema to be reparsed and reloaded. (check-in: [27d4a9a7] user: drh branch: trunk, size: 273906)
2020-06-29
20:09
[b9ff6800] part of check-in [a73f80f2] Document the dual-use of the P5 operand to the OP_MakeRecord opcode. (check-in: [a73f80f2] user: drh branch: trunk, size: 273602)
2020-06-19
15:24
[6651629d] part of check-in [7a876209] Extend the refactoring into extensions. Clean up stray newlines. (check-in: [7a876209] user: drh branch: trunk, size: 273039)
13:33
[ab55c096] part of check-in [9536fa0a] Further refactoring of the schema table name. (check-in: [9536fa0a] user: drh branch: trunk, size: 273039)
2020-06-18
14:30
[f1502f70] part of check-in [c2d36763] Merge the 3.32.3 release into the reuse-schema branch. (check-in: [c2d36763] user: drh branch: reuse-schema-3.32, size: 273141)
2020-06-17
12:37
[907af2a6] part of check-in [d55b8e79] Merge miscellaneous fixes from trunk into the 3.32 branch. (check-in: [d55b8e79] user: drh branch: branch-3.32, size: 273141)
2020-06-16
15:19
[169b4340] part of check-in [dc081336] Merge 3.32.2 changes into the reuse-schema branch. (check-in: [dc081336] user: drh branch: reuse-schema-3.32, size: 273139)
2020-06-15
20:27
[985f92b5] part of check-in [61782a7a] Provide "sqlite_schema" as an alternative name to the table that holds the database schema. (check-in: [61782a7a] user: drh branch: trunk, size: 273039)
2020-06-14
13:40
[2f5cdcd6] part of check-in [90b1169d] Check-in [1d4f86201dab9a22] changed a testcase() to an assert() because we didn't know how to reach that condition any more. But YongHeng's fuzzer found a way. So now we change it back. Ticket [9fb26d37cefaba40]. (check-in: [90b1169d] user: drh branch: trunk, size: 273040)
2020-06-03
22:57
[133ee3a0] part of check-in [9cfefef5] Fix for ticket [810dc8038872e212]. (check-in: [9cfefef5] user: drh branch: branch-3.32, size: 273139)
19:28
[a154f278] part of check-in [89af93d7] Fix for ticket [810dc8038872e212]. Thank to user "Maxulite" for tracking down the problem! (check-in: [89af93d7] user: drh branch: trunk, size: 273038)
15:59
[0b58285c] part of check-in [43e0e59b] Simplification to the interrupt handling logic in sqlite3VdbeExec() saves a few bytes of code space. (check-in: [43e0e59b] user: drh branch: trunk, size: 272985)
2020-05-18
19:55
[92a24cea] part of check-in [5dc355cc] Merge latest trunk changes into this branch. (check-in: [5dc355cc] user: dan branch: begin-concurrent-pnu-wal2, size: 274946)
17:18
[d8a95ca5] part of check-in [16b1eca9] Merge latest trunk changes into this branch. (check-in: [16b1eca9] user: dan branch: wal2, size: 273485)
15:41
[6c2fdb92] part of check-in [9e4a7b3e] Merge latest trunk changes into this branch. (check-in: [9e4a7b3e] user: dan branch: begin-concurrent, size: 274547)
2020-05-16
19:00
[56860bb9] 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: 273086)
2020-05-05
18:42
[e3dba0de] part of check-in [f339f31f] Earlier detection of index corruption caused by missing index entries. (check-in: [f339f31f] user: drh branch: trunk, size: 273086)
2020-04-09
19:00
[9a6d025e] part of check-in [6c11b67b] Merge recent trunk changes into begin-concurrent-pnu-wal2. (check-in: [6c11b67b] user: drh branch: begin-concurrent-pnu-wal2, size: 274267)
18:51
[5eb49e06] part of check-in [d6fda470] Merge recent trunk changes into the apple-osx branch. (check-in: [d6fda470] user: drh branch: apple-osx, size: 272450)
18:46
[6e8d20b7] part of check-in [6fb87062] Merge recent trunk enhancements into the wal2 branch. (check-in: [6fb87062] user: drh branch: wal2, size: 272806)
18:29
[2375edd8] part of check-in [92f71a88] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [92f71a88] user: drh branch: begin-concurrent, size: 273868)
2020-03-31
18:41
[f55fe7db] part of check-in [c705ce26] Merge recent enhancements from trunk. (check-in: [c705ce26] user: drh branch: approximate-analyze, size: 272650)
2020-03-30
13:35
[97299939] 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: 272407)
2020-03-20
16:13
[b7b9ec1d] 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: 272685)
2020-03-19
21:17
[ca986d3f] 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: 272386)
2020-03-17
17:11
[45896ffb] part of check-in [714419fe] Provide an estimated row count to stat_init() for STAT1 analysis. (check-in: [714419fe] user: drh branch: approximate-analyze, size: 272611)
13:41
[1f5e82e7] part of check-in [a9bfa47a] Remove the SQLITE_OMIT_BTREECOUNT option. Btree count is required. (check-in: [a9bfa47a] user: drh branch: approximate-analyze, size: 272330)
2020-03-12
17:28
[c1c123c6] part of check-in [23174921] Fix comments and strengthen assert() statements associated with the OPFLAG_SEEKEQ and BTREE_SEEK_EQ flags. (check-in: [23174921] user: drh branch: trunk, size: 272368)
2020-03-11
19:41
[6d0cf7ac] part of check-in [d7f18489] Rename sqlite3ExprCodeAtInit() to sqlite3ExprCodeRunJustOnce(). Other changes to make the new code cleaner. Test cases added. (check-in: [d7f18489] user: drh branch: do-not-factor-functions, size: 272029)
2020-03-07
16:51
[3a09496d] part of check-in [d28d1739] Fix reporting cases related to UPDATE. And of WITHOUT ROWID tables. (check-in: [d28d1739] user: dan branch: begin-concurrent-report, size: 274281)
2020-03-06
20:51
[4a084f3e] part of check-in [1c1f180e] Enhancement to log logical writes as well as reads. (check-in: [1c1f180e] user: dan branch: begin-concurrent-report, size: 274276)
2020-03-05
20:59
[e8370c65] part of check-in [ab458a31] Fix reporting for indexed range scans that extend past the end of the data. (check-in: [ab458a31] user: dan branch: begin-concurrent-report, size: 273959)
16:30
[988413f3] 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: 272055)
2020-03-04
19:17
[0a930c53] part of check-in [6ec5a899] Fix cases to do with index scans. (check-in: [6ec5a899] user: dan branch: begin-concurrent-report, size: 274008)
2020-03-03
21:01
[8b62e98c] part of check-in [427e2c9d] Extend begin_concurrent_report() so that it reports on accesses to non-intkey tables as well. (check-in: [427e2c9d] user: dan branch: begin-concurrent-report, size: 273869)
20:48
[8ad7906c] part of check-in [0463576b] Fix a false-positive in the debugging logic that attempts to detect the use of uninitialized registers inside triggers. Ticket [c4c56482ced89d90] (check-in: [0463576b] user: drh branch: trunk, size: 272055)
2020-03-02
21:00
[4224e258] part of check-in [ad961aee] Fix reporting for some range scan cases. (check-in: [ad961aee] user: dan branch: begin-concurrent-report, size: 273806)
15:05
[ccc18c7d] part of check-in [b1880b18] Merge latest begin-concurrent-pnu changes with this branch. (check-in: [b1880b18] user: dan branch: begin-concurrent-report, size: 273610)
2020-02-27
15:20
[4af1cafa] part of check-in [3f5650aa] Merge latest trunk changes into this branch. (check-in: [3f5650aa] user: dan branch: reuse-schema, size: 272054)
2020-02-06
13:57
[15cae95d] part of check-in [447d71f0] Separate OP_IdxInsert and OP_SorterInsert into completely separate opcodes, helping each one to run a little faster. (check-in: [447d71f0] user: drh branch: trunk, size: 272054)
2020-02-05
18:28
[0fdca82c] 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: 271819)
2020-02-04
20:22
[46ad511d] part of check-in [76668b55] Merge latest trunk/wal2 changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, with this branch. (check-in: [76668b55] user: dan branch: begin-concurrent-pnu-wal2, size: 273667)
20:11
[a8af6d54] part of check-in [6ad4d6b7] Merge latest trunk changes into this branch. (check-in: [6ad4d6b7] user: dan branch: wal2, size: 272206)
20:08
[0e367e66] 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: 273268)
2020-02-01
21:03
[b34d430a] part of check-in [1d4f8620] On an INSERT or UPDATE, perform affinity conversions on new data prior to running CHECK constraints. Ticket [86ba67afafded936]. (check-in: [1d4f8620] user: drh branch: trunk, size: 271807)
17:38
[9a3bf747] 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: 271802)
2020-01-22
21:18
[b8e91e2c] part of check-in [9c3f4638] Merge version 3.31.0 (check-in: [9c3f4638] user: drh branch: begin-concurrent-pnu-wal2, size: 273662)
21:12
[3c109dd8] part of check-in [3bb267de] Merge version 3.31.0 (check-in: [3bb267de] user: drh branch: wal2, size: 272201)
20:56
[261df05c] part of check-in [bbbc2881] Merge version 3.31.0 (check-in: [bbbc2881] user: drh branch: begin-concurrent, size: 273263)
20:36
[e9f71d25] part of check-in [0eae87ad] Merge version 3.31.0 (check-in: [0eae87ad] user: drh branch: apple-osx, size: 271845)
2020-01-21
21:01
[507e704e] part of check-in [c39e3c14] Begin adding instrumentation to record and report on the set of key-ranges a concurrent transaction reads from the database. (check-in: [c39e3c14] user: dan branch: begin-concurrent-report, size: 273625)
2020-01-20
15:32
[bc12e1fe] part of check-in [9c920bba] Merge recent fixes from trunk. (check-in: [9c920bba] user: drh branch: reuse-schema, size: 271802)
2020-01-18
19:02
[e3dd230e] part of check-in [cd0437ba] Fix harmless compiler warning seen with MSVC. (check-in: [cd0437ba] user: mistachkin branch: trunk, size: 271802)
13:53
[562acbbe] part of check-in [a1be6ee0] Fix the VDBE so that it correctly handles the sequence of operations OP_OpenEphemeral, OP_OpenDup, OP_OpenEphemeral, and OP_OpenDup in that order on the same cursor. (check-in: [a1be6ee0] user: drh branch: trunk, size: 271806)
2020-01-17
15:24
[63db3831] part of check-in [3d13fbf2] Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. (check-in: [3d13fbf2] user: drh branch: branch-3.28, size: 259180)
2020-01-16
13:02
[bd36fa36] 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: 271857)
2020-01-15
14:26
[8877d4f3] part of check-in [f7839178] Merge all recent enhancements and fixes from trunk. (check-in: [f7839178] user: drh branch: reuse-schema, size: 271822)
14:21
[78851748] part of check-in [350627f3] Merge in the latest trunk changes via the begin-concurrent-pnu branch. (check-in: [350627f3] user: drh branch: begin-concurrent-pnu-wal2, size: 273682)
14:11
[0fe7bdf9] part of check-in [35eae71a] Merge recent enhancements and fixes from trunk. (check-in: [35eae71a] user: drh branch: wal2, size: 272221)
13:34
[cdad729e] part of check-in [95ba2f50] Merge fixes and enhancements from trunk into begin-concurrent. (check-in: [95ba2f50] user: drh branch: begin-concurrent, size: 273283)
12:49
[bb6cc5fb] part of check-in [dadedf41] Merge all recent enhancements and fixes from trunk into the apple-osx branch. (check-in: [dadedf41] user: drh branch: apple-osx, size: 271865)
2020-01-08
11:36
[35dcc7d4] part of check-in [29544288] Fix a minor formatting error in the display of BLOB values during VDBE tracing. (check-in: [29544288] user: drh branch: trunk, size: 271822)
2020-01-06
20:48
[b557ecd9] part of check-in [e1154c39] In the typeof() optimization in OP_Column, expand the size of the bogus buffer provided for data so that it is big enough to cover the increased number of bytes displayed during register tracing from check-in [54553bf16fabd72d]. This is the correct fix for ticket [bbd55a97e66ff50d], though the earlier one does not hurt and is useful to retain. (check-in: [e1154c39] user: drh branch: trunk, size: 271821)
19:23
[80598853] part of check-in [69f6a7e4] Rewrite the (debugging use only) sqlite3VdbeMemPrettyPrint() function to use the safer StrAccum interface rather than writing directly into a static string buffer. Perhaps this will address ticket [bbd55a97e66ff50d], which we are unable to reproduce. (check-in: [69f6a7e4] user: drh branch: trunk, size: 271734)
2020-01-04
19:12
[d0e32097] part of check-in [8452fe03] Fix harmless compiler warnings. (check-in: [8452fe03] user: drh branch: trunk, size: 272013)
18:33
[8a1cf75f] part of check-in [182a898b] Record when the OP_IfNotOpen branch is and is not taken. (check-in: [182a898b] user: drh branch: trunk, size: 271774)
16:55
[204a59d9] part of check-in [95ef6896] Fix a problem where the loop for the RHS of a LEFT JOIN uses values from an IN() clause as the second or subsequent field of an index. (check-in: [95ef6896] user: dan branch: trunk, size: 271730)
2020-01-02
19:50
[459a233a] part of check-in [28900e5c] Fix some test logic in the OP_Delete opcode so that it works after a cursor-trip. (check-in: [28900e5c] user: drh branch: trunk, size: 271404)
17:46
[a8c88ee0] 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: 271346)
15:02
[af35d7ad] part of check-in [5377add4] Fix the OP_Move opcode so that it correctly manages dependency tracking. This change impacts debugging builds only. (check-in: [5377add4] user: drh branch: trunk, size: 271292)
14:42
[62f0a6d1] part of check-in [9886cb4b] Enhancements to aid testing and debugging: In PRAGMA vdbe_trace=on output, show pScopyFrom dependencies on register values. Add the sqlite3VdbeRegisterDump() procedure, callable from a debugger, that shows the values of all registers. Pass the VDBE pointer into test_trace_breakpoint() so that sqlite3VdbeRegisterDump() is callable from the breakpoint. (check-in: [9886cb4b] user: drh branch: trunk, size: 271230)
13:26
[9d432abf] 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: 270878)
2019-12-31
12:18
[119ddfe1] part of check-in [1dc83c5d] The OP_ResultRow opcode releases the SCopy dependences on all its registers, as the values in those registers will not be reused. (check-in: [1dc83c5d] user: drh branch: trunk, size: 270197)
2019-12-29
22:08
[28132ce0] part of check-in [db4b7e1d] Do not allow triggers that run as part of REPLACE conflict resolution during an UPDATE to modify the the table being updated. Otherwise, those triggers might delete content out from under the update operation, leading to all kinds of problems. Ticket [314cc133e5ada126] (check-in: [db4b7e1d] user: drh branch: trunk, size: 269829)
00:52
[7235823b] 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: 269089)
2019-12-28
01:52
[4d91d635] part of check-in [6afadd3b] When an INSERT is receiving content from a SELECT, run an OP_ReleaseReg opcode at the top of each iteration of the loop in order to prevent spurious OP_SCopy misuse complaints. Ticket [de4b04149b9fdeae] (check-in: [6afadd3b] user: drh branch: trunk, size: 268551)
2019-12-24
21:42
[8b0f3445] part of check-in [76f54ee8] Fix a minor performance regression from check-in [401c9d30e06191d9] (check-in: [76f54ee8] user: drh branch: trunk, size: 268168)
01:53
[8691c41f] part of check-in [401c9d30] Allow comparison operators of a register against itself. Ticket [188f912b51cd802a], (check-in: [401c9d30] user: drh branch: trunk, size: 268150)
2019-12-23
14:20
[46695ae0] part of check-in [0b1dbd60] For expressions like (x, y) IN (SELECT ...) where the SELECT uses window-functions, require that all columns on the LHS be indexed before an index can be used. Fix for [d9ed4ebe]. (check-in: [0b1dbd60] user: dan branch: trunk, size: 268146)
13:24
[2efa3b39] part of check-in [bff38e2b] Fix a shift-overflow problem in yesterday's check-in [36fdeb4f0a66970a] that OSSFuzz helpfully discovered overnight. Thanks Google. (check-in: [bff38e2b] user: drh branch: trunk, size: 268127)
03:37
[f23ba176] part of check-in [f347744e] Fix the OP_Cast operator so that when casting to TEXT, it always leaves the result in the encoding of the database. Ticket [0911b5d161b039c6]. Test cases in TH3. (check-in: [f347744e] user: drh branch: trunk, size: 268118)
02:43
[edbd3ce5] part of check-in [2c44c734] Change the assert() back into a testcase(). See also check-ins [9ab985a9c8160b90] and [ddb17d92df194337] and other check-ins that those reference. Fix for ticket [9d708e474201c001] (check-in: [2c44c734] user: drh branch: trunk, size: 268077)
02:18
[979cb8e1] 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: 268400)
2019-12-22
18:23
[a5883b94] part of check-in [ddb17d92] Back out the asserts of check-ins [a500893b6f64aced] and [d9c9fe9f5ad3fc91] as ticket [1b06916e01c82b66] demonstrates a case that refutes them. (check-in: [ddb17d92] user: drh branch: trunk, size: 265598)
2019-12-20
17:25
[c1e35ead] part of check-in [dc5f1d28] Debugging improvement: when tracing the VDBE, output the register value for OP_Cast after the cast is completed. (check-in: [dc5f1d28] user: drh branch: trunk, size: 265921)
14:37
[d25f832b] part of check-in [c538601e] Improved assert() statements on the OP_Column opcode. (check-in: [c538601e] user: drh branch: trunk, size: 265888)
2019-12-18
02:12
[ab3f6e64] part of check-in [a96d02b4] Correctly unwind the savepoint stack if the database goes read-only in the middle of a savepoint. (check-in: [a96d02b4] user: drh branch: trunk, size: 265869)
2019-12-15
00:36
[ed52f3e6] part of check-in [672e749a] Abort the OP_Savepoint opcode early if a virtual table xSync method fails, perhaps due to an interrupt. (check-in: [672e749a] user: drh branch: trunk, size: 265794)
2019-12-14
18:08
[9195f223] part of check-in [5b4a88cd] Due to the previous change, the p5 parameter to OP_VColumn no longer ever contains extraneous bits, so change a testcase() into an assert() to show as much. (check-in: [5b4a88cd] user: drh branch: trunk, size: 265754)
2019-12-10
02:48
[30fc70ea] part of check-in [d47d66e3] Set the affinity of regular columns prior to computing the values of generated columns. Ticket [d7c3f125c925c522] (check-in: [d47d66e3] user: drh branch: trunk, size: 265762)
2019-11-15
02:52
[da91e9d3] part of check-in [2c8af352] Merge the version 3.30.1 changes into the apple-osx branch. (check-in: [2c8af352] user: drh branch: apple-osx, size: 266237)
2019-10-30
16:29
[b67d6af8] 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: 265729)
2019-10-23
15:47
[9e4ba6bb] part of check-in [30065716] Minor adjustments for clarity and test coverage. (check-in: [30065716] user: drh branch: generated-columns, size: 266211)
2019-10-11
14:21
[9a3f4c2e] part of check-in [bf875dc5] Faster response to sqlite3_interrupt() in the OP_IntegrityCk and OP_Count opcodes. (check-in: [bf875dc5] user: drh branch: trunk, size: 266244)
11:21
[c434e158] 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: 266194)
2019-10-10
15:57
[da4030a7] part of check-in [b02630fe] Fix the OP_SeekRowid opcode so that it works correctly with a Real argument without damaging the value in the register that is the argument. Ticket [b2d4edaffdc156cc]. Test cases in TH3. (check-in: [b02630fe] user: drh branch: branch-3.30, size: 266194)
2019-10-07
01:05
[6df0a99d] part of check-in [3cde82c8] Fix the OP_SeekRowid opcode so that it works correctly with a Real argument without damaging the value in the register that is the argument. Ticket [b2d4edaffdc156cc]. Test cases in TH3. (check-in: [3cde82c8] user: drh branch: trunk, size: 266198)
2019-10-05
15:28
[c988e4e2] part of check-in [d7667f65] Reorder two comparisons for a small performance gain in OP_Transaction. (check-in: [d7667f65] user: drh branch: trunk, size: 266047)
2019-10-04
16:24
[a81238e5] part of check-in [dd09f7ce] Bring the begin-concurrent-pnu-wal2 branch up-to-date with 3.30.0. (check-in: [dd09f7ce] user: drh branch: begin-concurrent-pnu-wal2, size: 267903)
16:15
[e72bbea7] part of check-in [16e1dced] Bring the wal2 branch up to date with version 3.30.0 (check-in: [16e1dced] user: drh branch: wal2, size: 266442)
15:52
[3cae92bf] part of check-in [abd1b4df] Bring the begin-concurrent branch up-to-date with the 3.30.0 release. (check-in: [abd1b4df] user: drh branch: begin-concurrent, size: 267504)
15:41
[ba31e329] part of check-in [76b26aca] Bring the apple-osx branch up-to-date with the 3.30.0 release. (check-in: [76b26aca] user: drh branch: apple-osx, size: 266086)
15:31
[a70a294f] part of check-in [6e09afec] Bring the reuse-schema branch up-to-date with version 3.30.0. (check-in: [6e09afec] user: drh branch: reuse-schema, size: 266043)
2019-10-03
14:51
[7f43ed8e] part of check-in [a561a656] Increase the precision of floating point value display in VDBE debugging output. No changes to normally deployed code. (check-in: [a561a656] user: drh branch: trunk, size: 266043)
2019-09-30
16:57
[95df858e] part of check-in [06796124] Merge in the 3.30.0 beta 1 changes. (check-in: [06796124] user: drh branch: reuse-schema, size: 266040)
16:49
[ca8912c3] part of check-in [ebf88726] Merge in the 3.30.0 beta 1 enhancements. (check-in: [ebf88726] user: drh branch: begin-concurrent-pnu-wal2, size: 267900)
16:44
[0e5124a3] part of check-in [918bd97d] Merge 3.30.0 beta 1 changes from trunk. (check-in: [918bd97d] user: drh branch: wal2, size: 266439)
16:14
[cdfafd2d] part of check-in [a003818f] Merge the 3.30.0 beta 1 changes from trunk. (check-in: [a003818f] user: drh branch: begin-concurrent, size: 267501)
16:13
[71769977] part of check-in [9ce4c791] Merge the 3.30.0 beta 1 changes from trunk. (check-in: [9ce4c791] user: drh branch: apple-osx, size: 266083)
2019-09-17
21:28
[a3ff3898] part of check-in [8efd6259] Do not change the OP_String8 opcode into OP_String until *after* any necessary encoding conversions are accomplished. Otherwise, a rerun of the prepared statement after an OOM can result in errors. Test case in TH3. (check-in: [8efd6259] user: drh branch: trunk, size: 266040)
2019-09-16
20:16
[9108e2e6] part of check-in [ee83d8e3] Improved type information display when tracing VDBE execution. (check-in: [ee83d8e3] user: drh branch: trunk, size: 266040)
12:35
[968f911f] part of check-in [27eb2236] Merge all recent trunk enhancements into the reuse-schema branch. (check-in: [27eb2236] user: drh branch: reuse-schema, size: 266019)
12:29
[a6e8b7c5] part of check-in [15593bf3] Bring the begin-concurrent-pnu-wal2 branch up to date with all the latest enhancements on trunk. (check-in: [15593bf3] user: drh branch: begin-concurrent-pnu-wal2, size: 267879)
12:23
[2b019ff8] part of check-in [da8bc974] Merge recent trunk enhancements into the wal2 branch. (check-in: [da8bc974] user: drh branch: wal2, size: 266418)
12:08
[1f015e2e] part of check-in [93b9ef3f] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [93b9ef3f] user: drh branch: begin-concurrent, size: 267480)
12:02
[3167d8ff] part of check-in [a95191de] Merge the latest changes from trunk into the apple-osx branch. (check-in: [a95191de] user: drh branch: apple-osx, size: 266062)
2019-09-01
23:36
[145e417f] part of check-in [f6d8956c] Remove an obsolete paragraph from the OP_Column documentation. No code changes. (check-in: [f6d8956c] user: drh branch: trunk, size: 266019)
2019-08-30
21:52
[351129b4] part of check-in [54553bf1] Improvements to VDBE tracing. No changes to code in normal deliverables. (check-in: [54553bf1] user: drh branch: trunk, size: 266300)
2019-08-27
19:59
[fca0f376] part of check-in [94085fb3] Add support for "ORDER BY ... NULLS FIRST" and "ORDER BY ... NULLS LAST". Use this to fix ticket [f8a7060e]. (check-in: [94085fb3] user: dan branch: trunk, size: 266246)
17:01
[cdd90f4c] part of check-in [7f5168a7] Omit the "x IN (y)" to "x==y" optimization of check-in [e68b427afbc82e20] (and ticket [e39d032577df6942]) as it causes difficult affinity problems as demonstrated by ticket [dbaf8a6820be1ece] and the original assertion fault is no longer a factor due to countless other changes of the previous 5 years. (check-in: [7f5168a7] user: drh branch: trunk, size: 266036)
2019-08-22
19:35
[237b6c27] 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: 266185)
00:53
[7cd09c6c] part of check-in [81b9f0f5] Fix the OP_SeekGE, OP_SeekGT, OP_SeekLE, and OP_SeekLT opcodes so that they preserve the datatype of the value in the register used as the key. Ticket [d9f584e936c7a8d0] (check-in: [81b9f0f5] user: drh branch: trunk, size: 265975)
2019-08-13
15:22
[a1962622] part of check-in [5b4689d8] Merge latest trunk changes with this branch. (check-in: [5b4689d8] user: dan branch: reuse-schema, size: 265753)
2019-08-12
16:36
[bc43c994] 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: 265963)
00:08
[10416102] part of check-in [724f4df9] Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. (check-in: [724f4df9] user: drh branch: trunk, size: 265753)
2019-08-06
14:37
[d0c302d9] part of check-in [e8234f69] Use 0x40 (ASCII '@') instead of 0x00 to mean "no affinity" so that columns with no affinity can appear in a zero-terminated string. Use the new SQLITE_AFF_NONE macro for this new magic number. (check-in: [e8234f69] user: drh branch: pending, size: 265772)
2019-07-30
21:00
[4d542e9f] part of check-in [b9eda224] Fix the build for when -DSQLITE_SMALL_STACK is used. (check-in: [b9eda224] user: drh branch: trunk, size: 265752)
2019-07-29
06:06
[8e9afa99] part of check-in [2b221bb1] Fix the OP_Affinity operator so that when applying REAL affinity, it only sets MEM_IntReal if the integer value will fit in 6 bytes or less. Fix for ticket [ba2f4585cf495231] (check-in: [2b221bb1] user: drh branch: trunk, size: 265733)
05:23
[a6ee4cdf] part of check-in [cea8a892] Fix a minor typo in a comment. (check-in: [cea8a892] user: drh branch: trunk, size: 265194)
2019-07-26
20:54
[c6c38a31] part of check-in [7f1e4e4b] Merge latest changes from trunk into this branch. (check-in: [7f1e4e4b] user: dan branch: reuse-schema, size: 265194)
2019-07-13
16:15
[e9493a76] part of check-in [0d7287e1] Remove unreachable "break" statements to silence harmless compiler warnings from ICC. (check-in: [0d7287e1] user: drh branch: trunk, size: 265194)
2019-07-11
19:50
[0f2927b8] part of check-in [18bfb217] Improved comments and extra testcase() macros on the serial-type computation logic in the OP_MakeRecord opcode. (check-in: [18bfb217] user: drh branch: trunk, size: 265182)
19:22
[6747c7db] 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: 263854)
2019-07-08
21:32
[ca5c7d05] part of check-in [fae92fee] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [fae92fee] user: drh branch: reuse-schema, size: 262264)
21:25
[617a6a71] part of check-in [08dcb459] Merge enhancments from wal2, which also merges trunk enhancements. (check-in: [08dcb459] user: drh branch: begin-concurrent-pnu-wal2, size: 264124)
21:19
[2c7d64b3] part of check-in [dcbcbc2a] Merge all enhancements from trunk into the wal2 branch. (check-in: [dcbcbc2a] user: drh branch: wal2, size: 262663)
21:06
[2aa04772] part of check-in [7fff0803] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [7fff0803] user: drh branch: begin-concurrent, size: 263725)
20:59
[78bf0030] part of check-in [de88ed86] Merge recent enhancements from trunk into apple-osx. (check-in: [de88ed86] user: drh branch: apple-osx, size: 262307)
2019-06-26
21:04
[aaa36d1a] part of check-in [5fd20e09] Ensure that when an ephemeral cursor is reopened with a second invocation of to OP_OpenEphemeral, the sequence counter is reset and the cache marked as stale. Fix for [9cdc5c46]. (check-in: [5fd20e09] user: dan branch: trunk, size: 262264)
2019-06-10
18:33
[42a79668] part of check-in [c0c90961] Make sure a CAST to "NUMERIC" results in an integer if the value can be losslessly expressed as an integer, as the documentation requires. Ticket [dd6bffbfb6e61db9]. (check-in: [c0c90961] user: drh branch: trunk, size: 262207)
2019-06-07
22:26
[51989be8] part of check-in [67a68af5] When casting string values into numeric and the string has a prefix that looks like a number but total string is not a well-formed number, then take extra care that the result is either integer or real depending on what the prefix looks like. Fix for tickets [e8bedb2a184001] and [4c2d7639f076aa]. (check-in: [67a68af5] user: drh branch: trunk, size: 262610)
2019-05-29
21:18
[e6fb674e] part of check-in [c1d8a3f6] Much faster implementation of applyNumericAffinity() by avoiding some unnecessary calls to sqlite3Atoi64(). (check-in: [c1d8a3f6] user: drh branch: trunk, size: 262609)
2019-05-24
13:04
[2a543ecb] part of check-in [ff9f3e09] Merge recent enhancements from trunk. (check-in: [ff9f3e09] user: drh branch: reuse-schema, size: 261743)
2019-05-17
15:59
[0380e947] part of check-in [14c00b10] Always store a REAL value in a column with REAL affinity if the integer equivalent would require 8 bytes of storage. Fix for [3c27b97e3]. (check-in: [14c00b10] user: dan branch: trunk, size: 261743)
2019-05-16
20:13
[41d8cc6e] part of check-in [915388ab] Fix an assert() in the OP_Delete opcode that could fail with a corrupt database. (check-in: [915388ab] user: dan branch: trunk, size: 261594)
01:22
[27fe1628] part of check-in [d612fb78] Make sure the OP_Concat opcode always correctly zero-terminates a UTF16 string, even if the input strings are ill-formed. This is a followup to check-in [3a16ddf91f0c9c516a7] that fixes a case the previous check-in missed. Also add assert()s to prove correct zero termination. (check-in: [d612fb78] user: drh branch: trunk, size: 261580)
2019-05-14
22:25
[28d2d2a8] 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: 261556)
22:07
[5399f07c] part of check-in [3deaa6e2] Merge the latest trunk and wal2 enhancements. (check-in: [3deaa6e2] user: drh branch: begin-concurrent-pnu-wal2, size: 263416)
22:02
[e2c3aee0] part of check-in [23ec34e4] Merge the latest trunk enhancements into the wal2 branch. (check-in: [23ec34e4] user: drh branch: wal2, size: 261955)
21:51
[aaf959e1] part of check-in [5d3a6e18] Merge the latest trunk enhancements into begin-concurrent. (check-in: [5d3a6e18] user: drh branch: begin-concurrent, size: 263017)
20:25
[d14841dc] part of check-in [bc7d2c16] Fix a problem with the fix for [9cf6c9bb51] (commit [658b84d7]) that could cause a cursor to be left in an invalid state following a (rowid < text-value) search. (check-in: [bc7d2c16] user: dan branch: trunk, size: 261556)
19:39
[af557399] part of check-in [40362d51] Merge recent enhancements from trunk into apple-osx. (check-in: [40362d51] user: drh branch: apple-osx, size: 261599)
2019-05-10
14:03
[4ab7c36d] part of check-in [e80b2d9f] Improved comments and extra assert() statements on the OP_Savepoint opcode, just to make the code a little easier to read and reason about. (check-in: [e80b2d9f] user: drh branch: trunk, size: 261556)
2019-05-09
16:22
[d4efd6e5] part of check-in [ac790729] Improved debugging output from the OP_MakeRecord opcode. (check-in: [ac790729] user: drh branch: trunk, size: 261339)
11:19
[5612b064] part of check-in [7ccf2e7d] Fix a problem in the new code introduced by [658b84d7] causing corruption and other errors to be ignored. (check-in: [7ccf2e7d] user: dan branch: trunk, size: 261264)
2019-05-08
11:42
[02d6df64] part of check-in [a870c196] Fix VDBE opcodes OP_SeekLT and OP_SeekLE so that they work on intkey tables with non-numeric text values. (check-in: [a870c196] user: dan branch: tkt-9cf6c9bb, size: 261204)
2019-05-04
01:41
[20e60985] part of check-in [5a8a23ee] In the sqlite3_value or Mem object, make the MEM_IntReal type completely independent from MEM_Int and MEM_Real. This helps avoid problems when inserting non-float values into a "REAL" column. (check-in: [5a8a23ee] user: drh branch: trunk, size: 261167)
01:29
[b0c87760] 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: 261076)
2019-05-03
18:50
[81aa6fe0] part of check-in [a9b90aa1] Fix a memory-leak/segfault caused by using OP_OpenDup and OP_OpenEphemeral on the same VM cursor. (check-in: [a9b90aa1] user: dan branch: trunk, size: 260391)
2019-05-02
21:36
[ddb6bb72] 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: 260581)
00:52
[36993059] part of check-in [3e897702] Fix an issue (discovered by OSSFuzz) in the enhanced OP_Concat operator from check-in [713caa382cf7dd] earlier today. (check-in: [3e897702] user: drh branch: trunk, size: 260300)
2019-05-01
18:59
[c15d6a10] part of check-in [5997d075] When values have real affinity and are converted into strings for CHECK constraints or index expressions, do the conversions into a real-number format even if the values are stored as integers for efficiency. This appears to fix ticket [ae0f637bddc5290b446]. (check-in: [5997d075] user: drh branch: trunk, size: 260152)
15:32
[57b0b697] part of check-in [713caa38] Avoid unwelcomed side effects on the input operands in the OP_Concat operator. Fix for ticket [3be1295b264be2fac49b681] (check-in: [713caa38] user: drh branch: trunk, size: 259762)
14:41
[74ee707e] part of check-in [56604bb6] In "PRAGMA vdbe_trace" output, show the results of OP_Affinity opcodes. (check-in: [56604bb6] user: drh branch: trunk, size: 259231)
2019-04-30
01:08
[2782da51] part of check-in [3bdce7ef] Slightly smaller and faster implementation of the OP_MakeRecord opcode. (check-in: [3bdce7ef] user: drh branch: trunk, size: 259187)
2019-04-15
15:35
[47d08dda] part of check-in [5c6c9e7f] Merge recent changes from trunk into reuse-schema (check-in: [5c6c9e7f] user: drh branch: reuse-schema, size: 259199)
15:28
[9c5a4921] part of check-in [1cd536ec] Merge all recent enhancements. (check-in: [1cd536ec] user: drh branch: begin-concurrent-pnu-wal2, size: 261059)
15:17
[8e6ec9ee] part of check-in [8950f119] Merge the latest trunk enhancements. (check-in: [8950f119] user: drh branch: wal2, size: 259598)
14:59
[aa390c70] part of check-in [7c328e88] Merge the latest enhancements from trunk. (check-in: [7c328e88] user: drh branch: begin-concurrent, size: 260660)
2019-04-02
00:34
[694e81e2] part of check-in [0b35aebb] Merge enhancements from trunk. (check-in: [0b35aebb] user: drh branch: apple-osx, size: 259242)
00:28
[711ef421] part of check-in [b3f2c320] Add the sqlite3_value_frombind() interface. Use that interface to improve fts3_tokenizer(). (check-in: [b3f2c320] user: drh branch: trunk, size: 259199)
2019-04-01
20:57
[09a2d9b2] part of check-in [1dc7993b] Performance improvement on the OP_Variable opcode. (check-in: [1dc7993b] user: drh branch: value_frombind, size: 258285)
14:01
[eeaf0af9] part of check-in [8681750e] Improved comments on the VDBE branch coverage testing logic. Fix the VDBE branch coverage measurement on the OP_MustBeInt opcode. (check-in: [8681750e] user: drh branch: trunk, size: 259078)
13:06
[1528ce3b] part of check-in [1fcf3307] Fix a defect in the VDBE branch coverage testing logic. (check-in: [1fcf3307] user: drh branch: trunk, size: 257933)
2019-03-29
15:21
[75d5ccb1] part of check-in [c2edbf3b] Remove the unused P5 flag from the OP_Rewind opcode. (check-in: [c2edbf3b] user: drh branch: trunk, size: 257932)
11:13
[bc3632f4] part of check-in [98da62df] Initial implementation of the sqlite3_value_frombind() interface. (check-in: [98da62df] user: drh branch: value_frombind, size: 258195)
2019-03-19
11:56
[8f824b42] part of check-in [c02f77b1] Revert the OP_MustBeInt opcode implementation on this branch so that it again matches trunk. The extra functionality is no longer required. (check-in: [c02f77b1] user: dan branch: window-functions, size: 258164)
2019-03-18
18:55
[26da7a98] part of check-in [2879a691] Always evaluate window functions using the alternative path usually only used by EXCLUDE frames if the SQLITE_QueryFlattener test flag is set. (check-in: [2879a691] user: dan branch: window-functions, size: 258427)
16:51
[1bad4337] part of check-in [723c84be] Fixes for RANGE windows and NULL values. (check-in: [723c84be] user: dan branch: window-functions, size: 258386)
2019-03-14
16:36
[ec26b53c] part of check-in [7d66cd20] Add things to this branch that will be required to support the EXCLUDE clause. (check-in: [7d66cd20] user: dan branch: window-functions, size: 258414)
2019-03-12
18:28
[6e7a279e] part of check-in [25ff7091] Allow real values to be used in PRECEDING and FOLLOWING expressions for RANGE window frames. (check-in: [25ff7091] user: dan branch: window-functions, size: 258377)
2019-03-08
16:06
[df9ad6a3] part of check-in [543ecb30] Merge the latest enhancements and fixes from trunk. (check-in: [543ecb30] user: drh branch: begin-concurrent-pnu-wal2, size: 259974)
15:57
[9043f116] part of check-in [bf20d4ff] Merge the latest enhancements and fixes from trunk. (check-in: [bf20d4ff] user: drh branch: wal2, size: 258513)
15:30
[2abbb53b] part of check-in [667cce3d] Merge all the latest enhancements from trunk. (check-in: [667cce3d] user: drh branch: begin-concurrent-pnu, size: 259575)
2019-03-01
18:27
[52a36c07] part of check-in [e64ded7b] Merge the latest enhancements from trunk. (check-in: [e64ded7b] user: drh branch: apple-osx, size: 258157)
2019-02-25
18:07
[e172d158] part of check-in [5c1cf308] Merge latest trunk changes into this branch. (check-in: [5c1cf308] user: dan branch: reuse-schema, size: 258114)
2019-02-23
00:56
[2c61090f] part of check-in [0e64ac12] Import from trunk the new fix to ticket [df46dfb631f75694] in which all ephemeral tables used as the RHS of an IN operator be index btrees and never table btrees so that they can always be reused. (check-in: [0e64ac12] user: drh branch: branch-3.27, size: 258085)
2019-02-22
23:29
[f1e7b532] part of check-in [c2d50df8] Make all ephemeral tables built to hold the RHS of an IN operator be index-btrees, never table-btrees, regardless of whether or not they are used as IN_INDEX_LOOP or IN_INDEX_MEMBERSHIP. That way, the same ephmerial table can be reused for both cases. (check-in: [c2d50df8] user: drh branch: tkt-df46dfb631, size: 258114)
17:44
[c89fcead] part of check-in [001771af] Merge latest trunk changes into this branch. (check-in: [001771af] user: dan branch: reuse-schema, size: 258465)
2019-02-21
16:41
[c2ebe27a] part of check-in [c13d5639] Detect oversized strings in the OP_String opcode even if the P4 argument is originally UTF8 and has to be converted to UTF16 to match the database file and that conversion causes the string to become shorter and cross below SQLITE_LIMIT_LENGTH threshold. This might fix an OSSFuzz problem that we have been so far unable to reproduce. (check-in: [c13d5639] user: drh branch: trunk, size: 258465)
2019-02-20
18:44
[fbf91457] part of check-in [ba0ab042] Further test cases and fixes for SQLITE_OPEN_SHARED_SCHEMA. (check-in: [ba0ab042] user: dan branch: reuse-schema, size: 258445)
13:55
[f11f5b93] part of check-in [0c5db18d] Progress handler improvements: (1) Invoke the callback after OP_Program opcodes (2) Invoke the callback multiple times in a row to catch up after a long run of no progress checks. (check-in: [0c5db18d] user: drh branch: trunk, size: 258471)
13:23
[2a2b4cf4] part of check-in [be71d1e2] Merge the latest performance enhancements and fixes from trunk. (check-in: [be71d1e2] user: drh branch: apple-osx, size: 258488)
2019-02-14
15:56
[33953552] part of check-in [577d1638] Merge latest trunk into this branch. (check-in: [577d1638] user: dan branch: reuse-schema, size: 258996)
2019-02-13
19:17
[361c8525] part of check-in [53220ad7] Fix for sqlite3_table_column_metadata() on REUSE_SCHEMA databases. (check-in: [53220ad7] user: dan branch: reuse-schema, size: 258987)
13:48
[5f0e3dc9] part of check-in [e002666a] Performance optimization in the VDBE, and a fix for a harmless compiler warning. (check-in: [e002666a] user: drh branch: reuse-schema-vdbe-opt, size: 259268)
2019-02-12
22:58
[c67c8c46] part of check-in [167b91df] Ensure that the nProgressLimit variable is always initialized in sqlite3VdbeExec(), even if the routine jumps to its exit processing early. (check-in: [167b91df] user: drh branch: trunk, size: 258445)
21:04
[f72cc550] part of check-in [68cce272] Enhancement the progress callback mechanism so that the progress callback is always invoked at least once at the end of a prepared statement if the opcode count has been exceeded. This makes the progress callback more effective at limiting run times. This check-in also includes and unrelated performance enhancement to OP_Column. (check-in: [68cce272] user: drh branch: trunk, size: 258445)
19:20
[a9a47fee] part of check-in [ea611d7c] Share schemas between databases attached to the same database handle. (check-in: [ea611d7c] user: dan branch: reuse-schema, size: 258791)
2019-02-08
19:30
[4b593855] part of check-in [2b2e9f81] Add test cases and fix problems on this branch. (check-in: [2b2e9f81] user: dan branch: reuse-schema, size: 258747)
2019-01-29
19:17
[1e83f448] part of check-in [31efcc37] Merge enhancements from trunk. (check-in: [31efcc37] user: drh branch: apple-osx, size: 258479)
2019-01-26
16:34
[e5f6b9a3] 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: 258448)
2019-01-25
20:09
[b7b6f965] part of check-in [13f6942e] Do not accidently truncate zeroblob values when doing an arithmetic operation. Fix for ticket [bb4bdb9f7f654b0bb9f34cfba]. (check-in: [13f6942e] user: drh branch: trunk, size: 258436)
19:29
[2c99f790] part of check-in [98b3b975] Reinitialize debugging information on registers of a trigger prior to each invocation of the trigger. This prevents false-positives from the sqlite3VdbeMemAboutToChange() test logic. (check-in: [98b3b975] user: drh branch: trunk, size: 258416)
2019-01-18
17:53
[090d40c6] part of check-in [048add13] Handle oversize floating point values carefully when converting to integers for the '%' binary operator. (check-in: [048add13] user: drh branch: trunk, size: 258039)
2019-01-17
15:47
[a369d426] part of check-in [475a179a] Sync up with the latest enhancements on trunk. (check-in: [475a179a] user: drh branch: apple-osx, size: 258046)
2019-01-05
21:09
[1919d490] part of check-in [598d7358] If the OP_ParseSchema opcode with a non-NULL P4 operand does not parse any rows out of the sqlite_master table, that indicates that the sqlite_master table is corrupt, so raise an SQLITE_CORRUPT error. (check-in: [598d7358] user: drh branch: trunk, size: 258003)
2019-01-04
12:35
[66d07754] part of check-in [ccc4f742] Fix a typo in a comment used to generate documentation. No functional changes. (check-in: [ccc4f742] user: drh branch: trunk, size: 257680)
2019-01-02
16:30
[3a60858c] part of check-in [c31eeb3c] Merge latest wal2 changes into this branch. (check-in: [c31eeb3c] user: dan branch: begin-concurrent-wal2, size: 259539)
16:15
[fd859022] part of check-in [87ef68f9] Merge latest trunk changes into this branch. (check-in: [87ef68f9] user: dan branch: wal2, size: 258078)
16:08
[fcfecea4] part of check-in [5bf212f1] Merge latest trunk changes into this branch. (check-in: [5bf212f1] user: dan branch: begin-concurrent, size: 259140)
2019-01-01
18:00
[98c7a06d] part of check-in [5c188361] Ensure that when a new cursor is opened by OP_OpenDup, any existing cursor with the same id opened by a previous OP_OpenDup is closed first. (check-in: [5c188361] user: dan branch: trunk, size: 257679)
2018-12-31
18:30
[0be19a62] part of check-in [9fb646f2] Merge enhancements and bug fixes from trunk. (check-in: [9fb646f2] user: drh branch: reuse-subqueries, size: 257385)
17:58
[5c3d05e7] part of check-in [f856676c] Small changes to the OP_OpenEphemeral opcode to improve testability. (check-in: [f856676c] user: drh branch: trunk, size: 257348)
16:36
[0321eb48] part of check-in [4678cb10] Fix the OP_OpenEphemeral opcode in the bytecode engine so that if it is called a second or subsequent time, it merely clears the existing table rather than creating a new one. Proposed fix for ticket [d0866b26f83e9c55e30de0821f5d]. (check-in: [4678cb10] user: drh branch: trunk, size: 257292)
2018-12-28
19:23
[14952143] part of check-in [da53f3d3] Merge patches and enhancements from trunk. (check-in: [da53f3d3] user: drh branch: reuse-subqueries, size: 256887)
17:45
[8869a60f] 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: 256785)
2018-12-27
17:11
[ba573da2] part of check-in [ea96001e] Merge latest wal2 changes with this branch. (check-in: [ea96001e] user: dan branch: begin-concurrent-wal2, size: 258585)
2018-12-26
19:10
[f71d8ca9] part of check-in [404f9d99] Merge latest trunk changes with this branch. (check-in: [404f9d99] user: dan branch: wal2, size: 257124)
2018-12-24
02:34
[8d11da49] part of check-in [6c44838a] Experimental code that tries to put the computation of subqueries inside a subroutine, and reuse that subroutine if the same subquery is evaluated more than once. Current code does not work for CHECK constraints. (check-in: [6c44838a] user: drh branch: reuse-subqueries, size: 256827)
2018-12-22
00:34
[1f8e6c71] part of check-in [a3fdb2c7] The OP_Eq and OP_Ne operators have a special P5 value SQLITE_NOTNULL that asserts that the values are not null. Except that is not always true for a corrupt database. Adjust the assert() and add a testcase() to make this point clear. (check-in: [a3fdb2c7] user: drh branch: trunk, size: 256725)
2018-12-20
22:08
[8ced1263] part of check-in [98f34307] Do not set the Cursor.seekOp test variable in the OP_NotExists opcode. This is a change to test logic only and does not affect deliverable builds. (check-in: [98f34307] user: drh branch: trunk, size: 256659)
2018-12-18
17:20
[256dbfc0] part of check-in [123cbb33] Merge latest trunk changes into this branch. (check-in: [123cbb33] user: dan branch: begin-concurrent, size: 258061)
2018-12-15
20:59
[80b4a906] part of check-in [06bb80ee] Merge latest wal2 changes into this branch. (check-in: [06bb80ee] user: dan branch: begin-concurrent-wal2, size: 258460)
2018-12-14
21:58
[2f53edc4] part of check-in [33a1924e] Experimental support for new sqlite3_bind_blob() and sqlite3_bind_text() interfaces that take an extra void* argument that is passed into the destructor in front of the object that is to be destroyed. (check-in: [33a1924e] user: drh branch: custom-destructors, size: 256622)
20:20
[6ea32aa0] 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: 216985)
2018-12-11
13:44
[c173ac2c] part of check-in [d8dd98a3] Merge latest trunk changes into this branch. (check-in: [d8dd98a3] user: dan branch: wal2, size: 256999)
2018-12-10
02:00
[b686909f] part of check-in [b1bbc718] Merge enhancements from trunk. (check-in: [b1bbc718] user: drh branch: apple-osx, size: 256643)
2018-12-08
00:43
[55bafc42] part of check-in [af172b53] Allow the INTO clause of VACUUM to be a text-valued expression. (check-in: [af172b53] user: drh branch: vacuum-into, size: 256600)
2018-12-07
17:28
[872bdd34] part of check-in [036e3320] Prototype implementation for the VACUUM INTO command. (check-in: [036e3320] user: drh branch: vacuum-into, size: 256568)
2018-12-06
17:06
[c7312c90] 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: 256343)
2018-12-03
20:49
[accf8663] part of check-in [b7281a1c] Merge the wal2 and begin-concurrent code. Both features work, but not at the same time. (check-in: [b7281a1c] user: dan branch: begin-concurrent-wal2, size: 258198)
2018-12-01
20:14
[ee46b31b] part of check-in [7a44fa5a] Sync this branch with the latest trunk. (check-in: [7a44fa5a] user: dan branch: wal2, size: 256737)
2018-11-15
21:20
[10391332] part of check-in [31b6aee7] Fix some problems with the feature on this branch. Many problems remain. (check-in: [31b6aee7] user: dan branch: reuse-schema1, size: 256517)
2018-10-09
22:58
[6659e80c] part of check-in [1b60e7a9] Merge enhancements from trunk. (check-in: [1b60e7a9] user: drh branch: apple-osx, size: 256381)
22:50
[fdddd07e] part of check-in [ddf6a54e] Merge changes for the 3.25.0 release. (check-in: [ddf6a54e] user: drh branch: apple-osx, size: 255764)
2018-10-01
11:00
[b1b21424] part of check-in [31ac8dba] Ensure that the OP_VColumn opcode does set sqlite3_vtab_nochange() unless the OPFLAG_NOCHNG bit is set in P5. Fix for ticket [69d642332d25aa3b7315a6d385] (check-in: [31ac8dba] user: drh branch: branch-3.25, size: 255993)
2018-09-28
20:58
[d2672a54] part of check-in [86750c92] Merge latest trunk into this branch. (check-in: [86750c92] user: dan branch: begin-concurrent, size: 257799)
2018-09-27
20:20
[005e691e] part of check-in [322ab1fc] Ensure that the OP_VColumn opcode does set sqlite3_vtab_nochange() unless the OPFLAG_NOCHNG bit is set in P5. Fix for ticket [69d642332d25aa3b7315a6d385] (check-in: [322ab1fc] user: drh branch: trunk, size: 256338)
00:04
[35844c26] part of check-in [bd250533] Minor simplification: In OP_ParseSchema, read the p1 register once. (check-in: [bd250533] user: mistachkin branch: trunk, size: 256220)
2018-09-21
13:07
[c7416f6b] part of check-in [d10e6362] Optimization to the OP_MakeRecord opcode makes speed-check.sh run about 1.1 million cycles faster, and results in a slightly smaller library. (check-in: [d10e6362] user: drh branch: trunk, size: 256224)
2018-09-20
17:21
[7433ac76] part of check-in [71947337] By default, make all "ALTER TABLE RENAME" statements executed within a virtual table xRename() method exhibit the legacy behaviour. (check-in: [71947337] user: dan branch: legacy-alter-table, size: 255875)
2018-09-07
11:08
[80603eb6] part of check-in [725808d4] Fix an uninitialized variable in the OP_ParseSchema opcode that comes up only if the schema is corrupt. (check-in: [725808d4] user: drh branch: trunk, size: 255721)
2018-09-01
15:49
[dea0115a] part of check-in [589186c0] Merge fixes and enhancements from trunk. (check-in: [589186c0] user: drh branch: alter-table-rename-table, size: 255692)
2018-08-29
20:24
[74671dff] 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: 255365)
18:47
[a44a1cd2] 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: 255277)
2018-08-24
17:55
[7a8fc343] part of check-in [a0e06d2c] After modifying and reparsing the schema as part of an ALTER TABLE RENAME COLUMN, check that no new schema errors have been introduced (e.g. ambiguous column names in views) before committing the operation. (check-in: [a0e06d2c] user: dan branch: alter-table-rename-column, size: 255411)
2018-08-14
19:27
[18482b9a] part of check-in [37d11b8e] Improved error messages when an ALTER TABLE RENAME COLUMN fails due to a duplicate column name. (check-in: [37d11b8e] user: drh branch: alter-table-rename-column, size: 255391)
2018-08-11
18:34
[a8dbb4ce] part of check-in [520c1c75] Avoid an assert() sometimes triggered by ALTER TABLE RENAME COLUMN in non-debug builds. (check-in: [520c1c75] user: dan branch: alter-table-rename-column, size: 255330)
13:40
[9cb95e16] part of check-in [f4497b01] Reload the entire schema after renaming a column in order to ensure that the schema for any tables for which parent key definitions were changed are reloaded. (check-in: [f4497b01] user: dan branch: alter-table-rename-column, size: 255287)
2018-08-06
01:21
[b11baa48] part of check-in [d9c9fe9f] Fix an overzealous assert() statement discovered by OSSFuzz. (check-in: [d9c9fe9f] user: drh branch: trunk, size: 255084)
2018-08-04
20:12
[8744e9e8] part of check-in [a500893b] Remove a testcase() that is no longer reachable without the column cache. Provide an assert() to help prove that the testcase is no longer reachable. (check-in: [a500893b] user: drh branch: omit-column-cache, size: 255310)
16:54
[7ab5a3cb] 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: 254790)
2018-08-03
15:58
[8fbefa50] part of check-in [fa94b49e] Fix the OP_SeekRowid opcode so that it has no type-change side-effects on the key register in P3. This fixes an obcure problem that arises when doing equi-joins between a table with a TEXT column against another table with an INTEGER PRIMARY KEY. The original problem was discovered when OSSFuzz created such a query and hit an assert() in OP_VerifyTabCol that was specifically designed to catch these kinds of errors at run-time. Test cases for this fix are in TH3. (check-in: [fa94b49e] user: drh branch: trunk, size: 256245)
13:56
[259a0c17] part of check-in [0f881955] Improve "PRAGMA vdbe_trace=ON" to always show the key values for the OP_IdxGT and related opcodes. (check-in: [0f881955] user: drh branch: trunk, size: 255864)
2018-07-25
15:12
[f6358d39] part of check-in [6ee2950b] Keep generated opcode values grouped together when required, even when they do not correspond to a token. (check-in: [6ee2950b] user: mistachkin branch: trunk, size: 255790)
2018-07-24
22:02
[f5e6c0ea] 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: 255666)
2018-07-12
19:28
[c8b095bc] part of check-in [6a00a34e] Merge latest trunk changes into this branch. (check-in: [6a00a34e] user: dan branch: begin-concurrent, size: 256728)
2018-07-10
17:10
[9933ec03] part of check-in [76e42b70] Further improvements to bytecode branch testing. Fix cases where the macros said a branch could not be taken when in fact it could be. Alter some window function branch coverage macros to indicate that comparison operands cannot be NULL. (check-in: [76e42b70] user: drh branch: trunk, size: 255267)
16:04
[d8b06bfa] part of check-in [cd2da7e1] Enhancements and improved documentation to the byte-code branch coverage testing logic. Provide new macros that allow the code to specify that some branch instructions can never take the NULL path and that the OP_Jump opcode is only interested in equal/not-equal. The SQLITE_TESTCTRL_VDBE_COVERAGE file control callback now works slightly differently (it provides the callback with a bitmask of the branch action, rather than an integer). (check-in: [cd2da7e1] user: drh branch: trunk, size: 255236)
15:45
[5040613b] part of check-in [e9a3e864] Merge latest trunk changes into this branch. (check-in: [e9a3e864] user: dan branch: begin-concurrent, size: 255431)
2018-07-07
19:36
[800c69a8] part of check-in [42138891] Add an assert() to help verify that OP_AggInverse is never called on an accumulator that has not previously been processed by OP_AggStep. (check-in: [42138891] user: drh branch: trunk, size: 253970)
2018-07-05
21:22
[4e2768e8] part of check-in [fa653805] Use separate opcodes, OP_AggValue and OP_AggInverse, for the new callbacks associated with Window Functions, for improved readability of EXPLAIN output. (check-in: [fa653805] user: drh branch: trunk, size: 253538)
20:05
[ff748307] part of check-in [916cdc83] Get the json_group_array() and json_group_object() SQL functions working as window functions. (check-in: [916cdc83] user: drh branch: trunk, size: 252679)
2018-06-22
20:51
[37b942cc] part of check-in [5f04b016] Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. (check-in: [5f04b016] user: dan branch: exp-window-functions, size: 252690)
2018-06-18
16:55
[16385bc8] part of check-in [da03fb43] Add new API function sqlite3_create_window_function(), for creating new aggregate window functions. (check-in: [da03fb43] user: dan branch: exp-window-functions, size: 252540)
2018-06-14
19:06
[55bc870d] part of check-in [43eb1e75] Fix problem with window functions min() and max() when used with a PARTITION clause and a frame starting point other than "UNBOUNDED PRECEDING". (check-in: [43eb1e75] user: dan branch: exp-window-functions, size: 252513)
14:30
[f68624da] part of check-in [5cf5f180] Merge latest trunk changes into this branch. (check-in: [5cf5f180] user: dan branch: exp-window-functions, size: 252121)
2018-06-13
11:11
[f1bf4e51] part of check-in [e9a7e4d5] Check that malloc() has not already failed when invoking the xUpdate() method of a virtual table implementation. This fixes an assert() failure in FTS5 that could occur following an OOM condition. (check-in: [e9a7e4d5] user: dan branch: trunk, size: 251929)
2018-06-12
13:52
[7509cbda] part of check-in [b2973f23] Improvements to SCopy correctness tracking when SQLITE_DEBUG is enabled. (check-in: [b2973f23] user: drh branch: trunk, size: 251891)
13:16
[eb958898] part of check-in [acd78df6] Fix the "Synopsis" on the OP_BitNot opcode. (check-in: [acd78df6] user: drh branch: trunk, size: 251824)
2018-06-11
17:35
[e0ac1d7c] 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: 251824)
2018-06-07
20:35
[ed57efaa] part of check-in [25102203] Merge latest trunk changes with this branch. (check-in: [25102203] user: dan branch: exp-window-functions, size: 250588)
18:01
[d7a475ce] part of check-in [4b0b4e14] Fix the assert()s in the byte-code engine that prove that cursors are unidirectional. (check-in: [4b0b4e14] user: drh branch: multikey-opt-idea, size: 250396)
17:32
[3b8517d4] 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: 250250)
14:32
[ed88889c] part of check-in [e9d7bf4f] Merge recent trunk enhancements. (check-in: [e9d7bf4f] user: drh branch: multikey-opt-idea, size: 250871)
2018-06-06
17:45
[ffa02701] part of check-in [d80077ae] Another minor optimization to OP_Transaction. (check-in: [d80077ae] user: drh branch: trunk, size: 248940)
17:03
[e74bd748] 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: 250471)
16:28
[6d399cc8] part of check-in [a10662aa] Change sqlite3BtreeBeginTrans() to return the BTREE_SCHEMA_COOKIE, for a small speed improvement when starting new transactions. (check-in: [a10662aa] user: drh branch: trunk, size: 249010)
2018-06-05
20:45
[1c429876] part of check-in [6bf251af] Add the OP_IfNoHope and OP_SeekHit opcodes used to reduce the number of unnecessary sqlite3BtreeMovetoUnpacked() calls when checking for an early exit on IN-operator loops. Futher optimizations are likely possible here. (check-in: [6bf251af] user: drh branch: multikey-opt-idea, size: 251020)
13:43
[fcec6e9a] part of check-in [8a0b730d] Update and correct the documentation on the OP_OpenRead, OP_OpenWrite, and OP_ReopenIdx opcodes. No code changes other than the addition of an assert(). (check-in: [8a0b730d] user: drh branch: trunk, size: 249089)
2018-06-04
14:10
[e0164a0f] part of check-in [95fbac39] Merge changes from trunk. (check-in: [95fbac39] user: drh branch: apple-osx, size: 248521)
08:28
[29f34031] part of check-in [83d6416a] Merge latest trunk changes into this branch. (check-in: [83d6416a] user: dan branch: exp-window-functions, size: 248670)
2018-05-31
19:14
[71e5a72d] part of check-in [66c24513] More documentation typo fixes. No code changes. (check-in: [66c24513] user: drh branch: trunk, size: 248478)
19:00
[68ecba9c] part of check-in [5a2a88cb] Fix a harmless typo in a comment used to generate documentation. (check-in: [5a2a88cb] user: drh branch: trunk, size: 248481)
2018-05-28
17:31
[3771a25d] 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: 248482)
2018-05-25
09:36
[976746c8] part of check-in [62325198] Merge latest trunk changes into this branch. (check-in: [62325198] user: dan branch: exp-window-functions, size: 247620)
2018-05-24
17:25
[565f7ccc] part of check-in [36cdfbf2] Fix a typo in a comment used to generate VDBE opcode documentation. No code changes. (check-in: [36cdfbf2] user: drh branch: trunk, size: 247428)
2018-05-23
20:55
[89c76c95] part of check-in [3a203660] Add support for "ROWS BETWEEN <expr> PRECEDING AND <expr> FOLLOWING" window frames. (check-in: [3a203660] user: dan branch: exp-window-functions, size: 247680)
17:53
[b67ec60f] part of check-in [06674269] Remove a branch that is no longer used due to the fix to the sqlite_sequence schema problem, ticket [d8dc2b3a58cd5dc2918a1d4acbba4676a23ada4c] (check-in: [06674269] user: drh branch: trunk, size: 247428)
2018-05-16
20:58
[d83cfec9] part of check-in [3781e520] Start of experimental implementation of SQL window functions. Does not yet work. (check-in: [3781e520] user: dan branch: exp-window-functions, size: 247590)
2018-04-10
18:05
[41eafba4] part of check-in [e20fcb51] Merge all version 3.23.1 changes and enhancements from trunk. (check-in: [e20fcb51] user: drh branch: apple-osx, size: 247531)
2018-03-28
15:41
[6a454c0f] part of check-in [df52e89f] Update this branch with latest trunk changes. (check-in: [df52e89f] user: dan branch: server-process-edition, size: 248317)
2018-03-20
13:52
[6f4b0624] part of check-in [b0c2f760] Merge all recent enhancements from trunk. (check-in: [b0c2f760] user: drh branch: begin-concurrent, size: 248949)
2018-03-16
23:59
[066a4e1d] part of check-in [525deb7a] Detect corruption in the form of the sqlite_sequence table pointing to the wrong type of btree. (check-in: [525deb7a] user: drh branch: trunk, size: 247488)
2018-03-14
17:17
[13dc41a8] part of check-in [a658f80c] Merge the latest enhancements from trunk. (check-in: [a658f80c] user: drh branch: apple-osx, size: 247446)
2018-03-02
17:40
[21309721] part of check-in [36801eff] Merge latest trunk changes into this branch. (check-in: [36801eff] user: dan branch: begin-concurrent, size: 248864)
2018-03-01
18:09
[88d8e079] part of check-in [1293d4f6] Typo fixes in comments. No changes to code. (check-in: [1293d4f6] user: mistachkin branch: trunk, size: 247403)
2018-02-27
14:49
[99a0f275] part of check-in [6445519e] Clean up comments and variable names prior to merge. (check-in: [6445519e] user: drh branch: is-true-operator, size: 247401)
2018-02-26
18:49
[39675332] part of check-in [cf2abd59] Refactor for correct NULL handling in the IS TRUE, IS FALSE, IS NOT TRUE, and IS NOT FALSE operators. (check-in: [cf2abd59] user: drh branch: is-true-operator, size: 247347)
15:31
[2d133827] part of check-in [003dc140] Merge the fix for determining truth of floating point values from trunk. (check-in: [003dc140] user: drh branch: is-true-operator, size: 246406)
15:27
[bf51a88d] part of check-in [a983fa85] Always interpret non-zero floating-point values as true even if their integer part is zero. Fix for ticket [36fae083b450e3af857a459e20]. (check-in: [a983fa85] user: drh branch: trunk, size: 246405)
03:20
[d221ab77] part of check-in [40314bc9] Experimental implementation of IS TRUE and IS FALSE operators. All TRUE and FALSE to act like constants if the names do not resolve to a column name. (check-in: [40314bc9] user: drh branch: is-true-operator, size: 246602)
2018-02-12
20:27
[72f5a4b9] part of check-in [d44d5936] When compiling with VDBE_PROFILE, add the sqlite3NProfileCnt global variable which can be used to measure per-opcode values other than elapse time, if non-zero. (check-in: [d44d5936] user: drh branch: trunk, size: 246600)
2018-02-01
01:13
[a6892805] part of check-in [88e2ce91] When an index is based on a text representation of a numeric column in the original table, make sure the indexed value uses the canonical text representation of the numeric value in the table. Proposed fix for ticket [343634942dd54ab57b70]. (check-in: [88e2ce91] user: drh branch: trunk, size: 246516)
2018-01-30
18:33
[619d385f] part of check-in [71e3b715] If a virtual table xColumn method sets an error message using sqlite3_result_error(), use that message in preference to any error message left in the sqlite3_vtab object. (check-in: [71e3b715] user: dan branch: trunk, size: 246192)
2018-01-25
01:20
[0e13b8c3] part of check-in [6ab42934] Slightly smaller and faster implementation of OP_If and OP_IfNot. (check-in: [6ab42934] user: drh branch: trunk, size: 246134)
2018-01-24
12:14
[d4684bd5] part of check-in [61a44961] Prevent a harmless unused variable warning when compiling with SQLITE_OMIT_TRACE. (check-in: [61a44961] user: drh branch: trunk, size: 246143)
2018-01-23
03:44
[5aa6fb85] part of check-in [edd4e687] Slightly faster function dispatch in the virtual machine by avoiding unnecessary reinitialization of variables that are already correctly initialized. (check-in: [edd4e687] user: drh branch: trunk, size: 246110)
2018-01-15
21:59
[0537452b] part of check-in [c9d2ec51] Merge the enhancements associated with the first 3.22.0 beta. (check-in: [c9d2ec51] user: drh branch: apple-osx, size: 245796)
2018-01-12
23:18
[ccc1e17a] part of check-in [a1b3f285] Improved comments. Slightly tighter implementation, but no big changes. (check-in: [a1b3f285] user: drh branch: sqlite3_value_nochange, size: 245753)
21:00
[07dd1909] 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: 245361)
19:33
[e660530c] part of check-in [6acbdba5] Simplification to the implementation of OP_Insert. (check-in: [6acbdba5] user: drh branch: trunk, size: 245079)
18:46
[a7d0f831] part of check-in [ec96707e] Avoid an unnecessary branch when not using pre-update hooks. (check-in: [ec96707e] user: drh branch: trunk, size: 245172)
16:44
[5d83f28a] 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: 245117)
2018-01-11
17:04
[4d066674] part of check-in [d444b1ff] Add the sqlite3_vtab_nochange() method which virtual table implementations can use to optimize UPDATEs. (check-in: [d444b1ff] user: drh branch: sqlite3_vtab_nochange, size: 245024)
2017-12-29
17:21
[c7026761] part of check-in [4f1f1f52] Add support for the sqlite_unsupported_offset() SQL function if and only if compiled using -DSQLITE_ENABLE_OFFSET_SQL_FUNC. Use that definition when compiling the command-line shell. (check-in: [4f1f1f52] user: drh branch: trunk, size: 244623)
15:04
[cb3b5035] part of check-in [7a7f826e] Change the function name to sqlite_unsupported_offset(X). Only enable the function if compiled with -DSQLITE_ENABLE_OFFSET_SQL_FUNC. The makefiles add that definition to shell builds. (check-in: [7a7f826e] user: drh branch: location-function, size: 244616)
14:33
[42e79ef2] part of check-in [dd94d6a8] Enhance location(X) so that it works with indexes and WITHOUT ROWID tables. The function might return an offset to the main table or to an index, depending on whether the column X would be loaded from the main table or from the index. (check-in: [dd94d6a8] user: drh branch: location-function, size: 244417)
13:35
[74281243] part of check-in [6251e438] Merge recent enhancements from trunk. (check-in: [6251e438] user: drh branch: location-function, size: 244157)
2017-12-27
20:38
[e0a1ca75] part of check-in [fe3d2b97] Show the text of individual statements within a trigger, as they execute, as comments in the output from sqlite3_trace() and sqlite3_trace_v2(). (check-in: [fe3d2b97] user: drh branch: span-refactor, size: 243582)
2017-12-16
20:20
[beed55b5] part of check-in [51be9558] Add an experimental location(X) SQL function that attempt to return the location of the payload within the database for the record that contains column X. location(X) returns NULL if X is not an ordinary table column or if SQLite cannot figure out the location because it is using a covering index. (check-in: [51be9558] user: drh branch: location-function, size: 243894)
2017-11-06
20:02
[1834769e] part of check-in [7f217eda] Merge latest trunk changes into this branch. (check-in: [7f217eda] user: dan branch: begin-concurrent, size: 244780)
10:04
[8b7313c7] part of check-in [0fb6d91c] Allow "BEGIN CONCURRENT" transactions to modify the temp schema. (check-in: [0fb6d91c] user: dan branch: begin-concurrent, size: 244866)
2017-10-24
19:12
[bdf4118f] part of check-in [13be3a44] Merge all enhancements and fixes from the 3.21.0 release. (check-in: [13be3a44] user: drh branch: apple-osx, size: 243362)
2017-10-23
16:03
[3393b508] part of check-in [58e5bb49] Avoid passing a NULL value as the second argument to memcpy(). (check-in: [58e5bb49] user: dan branch: branch-3.21, size: 243319)
2017-10-04
20:57
[c3c3fe95] part of check-in [e2fc5c81] Add experimental mode that uses two wal files. Activated using "PRAGMA journal_mode = wal2". (check-in: [e2fc5c81] user: dan branch: wal2, size: 243804)
2017-09-22
20:18
[1c0a8c8e] part of check-in [8d2a1cca] Merge in all the trunk enhancements of the previous 7 months. The LIKE optimization has stopped working when there is an ESCAPE - that problem will be addressed in a subsequent check-in. (check-in: [8d2a1cca] user: drh branch: est_count_pragma, size: 244118)
10:49
[96467c73] part of check-in [307b802e] Merge latest trunk changes into this branch. (check-in: [307b802e] user: dan branch: begin-concurrent, size: 244838)
2017-09-21
00:49
[176c0897] 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: 243405)
2017-09-20
10:47
[2664b89e] part of check-in [7f2bd4ff] Improved resolution of large integer values in "CAST(x AS NUMERIC)". (check-in: [7f2bd4ff] user: drh branch: trunk, size: 243401)
2017-09-13
00:13
[0a0ef7f0] part of check-in [81f62e99] PRAGMA integrity_check returns SQLITE_OK even if it encounters corruption while scanning indexes. (check-in: [81f62e99] user: drh branch: improved-integrity-check, size: 243409)
2017-09-09
06:10
[c0ec6e73] part of check-in [6a0b9d9d] Merge trunk enhancements (check-in: [6a0b9d9d] user: drh branch: apple-osx, size: 243266)
2017-08-28
17:19
[5d1f7944] part of check-in [d53108e7] Merge recent enhancements from trunk. (check-in: [d53108e7] user: drh branch: begin-concurrent, size: 244656)
2017-08-18
14:34
[82fc4553] 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: 243223)
2017-08-16
19:20
[711a1b2c] 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: 243772)
17:06
[0db0d75f] part of check-in [380a7b7a] Update this branch with the latest changes from trunk. (check-in: [380a7b7a] user: dan branch: server-process-edition, size: 244178)
14:16
[c8e7bec8] part of check-in [39543903] Remove an unnecessary local variable from OP_Column, for a small size reduction and performance increase. (check-in: [39543903] user: drh branch: trunk, size: 243349)
11:04
[8530c38f] part of check-in [dc98a92f] Performance improvement in the OP_Column opcode. (check-in: [dc98a92f] user: drh branch: trunk, size: 243394)
2017-08-15
14:14
[ebfc41ca] part of check-in [2cf3f3de] Small size and performance improvement in the OP_Column opcode. (check-in: [2cf3f3de] user: drh branch: trunk, size: 242746)
2017-08-11
19:16
[1fdd90ce] part of check-in [47e71695] Merge the latest enhancements from trunk. (check-in: [47e71695] user: drh branch: begin-concurrent, size: 244318)
2017-08-07
14:15
[d410ca56] part of check-in [17bc7ded] Update this branch with latest trunk changes. (check-in: [17bc7ded] user: dan branch: server-process-edition, size: 243714)
2017-08-03
00:29
[821b3edd] part of check-in [654935c7] Optimization to the comparison opcodes in the byte-code engine. (check-in: [654935c7] user: drh branch: trunk, size: 242885)
2017-08-02
22:43
[54dfa970] 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: 242304)
2017-08-01
19:53
[5752a157] part of check-in [3e02474c] Split the OP_Last opcode into OP_Last and OP_SeekEnd. Use OP_SeekEnd to position a cursor prior to appending. Ticket [cb91bf4290c211d]. (check-in: [3e02474c] user: drh branch: trunk, size: 242316)
13:54
[6dd23d2c] part of check-in [aafe1fec] Merge recent enhancements from trunk. (check-in: [aafe1fec] user: drh branch: begin-concurrent, size: 243737)
2017-07-29
17:10
[708d45a5] part of check-in [b42c8779] Merge latest trunk changes with this branch. (check-in: [b42c8779] user: dan branch: server-process-edition, size: 243133)
2017-07-27
03:48
[d8437d81] 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: 242418)
2017-07-26
19:59
[ac9cc205] part of check-in [3808a00f] Add the new sqlite3.mDbFlags field. Factor out bits of sqlite3.flags that do not interact with PRAGMA statements into sqlite3.mDbFlags. (check-in: [3808a00f] user: drh branch: trunk, size: 242304)
2017-07-24
19:43
[69eafa03] part of check-in [d0719ad7] Update this branch with latest changes from trunk. (check-in: [d0719ad7] user: dan branch: server-process-edition, size: 243140)
2017-07-20
17:47
[1fd60b07] part of check-in [213c61cb] Merge all the latest trunk enhancements. (check-in: [213c61cb] user: drh branch: begin-concurrent, size: 243744)
16:55
[53f3f4d1] part of check-in [10556ee4] Experimental API sqlite3_stmt_refresh() to force a prepared statement to recompile if it needs to due to a schema change or other factor. (check-in: [10556ee4] user: drh branch: sqlite3_stmt_refresh, size: 242396)
2017-07-19
19:48
[1e541ec7] 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: 242311)
2017-07-13
21:06
[51a564dd] part of check-in [dcc40797] Make the freelist format a separate feature from the page-level locking. Freelist format is now configure using "PRAGMA freelist_format". (check-in: [dcc40797] user: dan branch: server-process-edition, size: 243026)
2017-07-08
20:46
[e4493b09] part of check-in [5a043aa8] Support read-only MVCC transactions in server-mode. Started using "BEGIN READONLY". (check-in: [5a043aa8] user: dan branch: server-process-edition, size: 242296)
2017-07-07
22:58
[2a79b738] part of check-in [7f48f6ab] Merge in all the latest trunk enhancements. (check-in: [7f48f6ab] user: drh branch: apple-osx, size: 242240)
2017-07-05
16:20
[1e2abdae] 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: 216346)
2017-06-29
12:49
[adc8a378] 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: 242197)
2017-06-26
13:57
[50f4f47b] 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: 242157)
2017-06-23
21:05
[992ca8b1] part of check-in [53b14a38] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [53b14a38] user: drh branch: apple-osx, size: 242203)
2017-06-08
16:10
[aa018a14] part of check-in [e2d38d51] Merge 3.19.3 changes with this branch. (check-in: [e2d38d51] user: dan branch: begin-concurrent, size: 243261)
15:54
[3cffe073] part of check-in [0f59bb94] Merge changes for version 3.19.0 with this branch. (check-in: [0f59bb94] user: dan branch: begin-concurrent, size: 243227)
2017-06-02
15:44
[6783778d] part of check-in [ab33d299] Change the name of the OP_Seek opcode into OP_DeferredSeek for better clarity of function. No functional code changes. (check-in: [ab33d299] user: drh branch: trunk, size: 242160)
2017-05-30
18:34
[cce462ad] part of check-in [e972a386] Change sqlite3BtreeNext() and sqlite3BtreePrevious() so that they return SQLITE_DONE if they have already reached the end (or beginning) of the table. This gives a performance increase and size reduction. (check-in: [e972a386] user: drh branch: trunk, size: 242024)
2017-05-25
17:36
[b10b07d8] part of check-in [12964240] Merge all fixes from the 3.19.2 release. (check-in: [12964240] user: drh branch: apple-osx, size: 241871)
2017-05-23
01:21
[70f1c27d] part of check-in [92c17850] When flattening a query, make sure iTable attribute of TK_IF_NULL_ROW operators (that result from a prior flattening of a LEFT JOIN) are updated correctly. Fix for ticket [cad1ab4cb7b0fc344]. (check-in: [92c17850] user: drh branch: trunk, size: 241828)
2017-05-22
19:24
[60cf5013] part of check-in [bbd2d0e1] Pull in all changes from the 3.19.0 release. (check-in: [bbd2d0e1] user: drh branch: apple-osx, size: 241837)
2017-05-19
22:51
[b24b9806] part of check-in [c2de178f] Prevent a possible NULL pointer dereference in the OP_Found opcode that can follow an OOM error. Problem found by OSS-Fuzz. (check-in: [c2de178f] user: drh branch: trunk, size: 241794)
2017-05-15
17:34
[bf4d2b29] part of check-in [14ea8400] Merge the latest changes from trunk. (check-in: [14ea8400] user: drh branch: begin-concurrent, size: 243153)
2017-05-11
18:49
[68581144] part of check-in [b55c0f14] Merge recent enhancements from trunk. (check-in: [b55c0f14] user: drh branch: apple-osx, size: 241763)
2017-05-02
19:45
[356042d1] part of check-in [a7dcf6a7] Merge the latest enhancements from trunk. (check-in: [a7dcf6a7] user: drh branch: schemalint, size: 241666)
17:54
[9bac2bc2] part of check-in [9e35c89d] Reuse the same materialization of a view when that view appears in a query more than once, such as in a self-join. (check-in: [9e35c89d] user: drh branch: trunk, size: 241720)
2017-05-01
15:15
[7c37c36f] 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: 241519)
14:25
[a4e1810c] part of check-in [11f4761c] Update this branch with latest trunk changes. (check-in: [11f4761c] user: dan branch: schemalint, size: 240526)
2017-04-29
18:02
[349eb678] part of check-in [e54c9f8d] Improvements to opcode documentation in the bytecode engine. No changes to code. (check-in: [e54c9f8d] user: drh branch: trunk, size: 240580)
2017-04-24
16:14
[b96842a8] part of check-in [031feebc] Bring in all the latest enhancements from trunk. (check-in: [031feebc] user: drh branch: apple-osx, size: 240658)
2017-04-20
17:35
[857fd5fe] part of check-in [b1533bc4] Merge latest trunk changes into this branch. (check-in: [b1533bc4] user: dan branch: schemalint, size: 240561)
2017-04-18
11:20
[1eba07ff] part of check-in [41c27bc0] Improved optimizations of views as the right operand of a LEFT JOIN. (check-in: [41c27bc0] user: drh branch: trunk, size: 240615)
2017-04-17
23:23
[11604e6c] part of check-in [56845256] Defer checking for null in the comparison operators, since that is an uncommon case. (check-in: [56845256] user: drh branch: trunk, size: 240098)
20:50
[51c6e166] part of check-in [e698db19] Do not allow a Mem object to be both NULL and some other type at the same time. (check-in: [e698db19] user: drh branch: trunk, size: 240087)
17:03
[314f0a70] part of check-in [159e8022] Add support for analyzing trigger programs to the sqlite3_expert code. (check-in: [159e8022] user: dan branch: schemalint, size: 239983)
2017-04-14
19:03
[ef0fd44a] part of check-in [3a5860d8] Add the TK_IF_NULL_ROW opcode to deal with non-NULL result columns in the result set of a view or subquery on the RHS of a LEFT JOIN that gets flattened. (check-in: [3a5860d8] user: drh branch: left-join-view, size: 240554)
2017-04-08
18:24
[94a909c5] part of check-in [c23ef5e2] Merge all recent changes from trunk. (check-in: [c23ef5e2] user: drh branch: apple-osx, size: 240080)
14:11
[808fda3d] part of check-in [b9a8c2b9] Expand on the comment above OP_Destroy to explain why it throws an error if there are any active reader VMs. (check-in: [b9a8c2b9] user: dan branch: trunk, size: 240037)
00:25
[ca1e58fc] part of check-in [dd16439e] Merge the latest trunk changes. (check-in: [dd16439e] user: drh branch: apple-osx, size: 239680)
2017-04-05
12:39
[b070c9c8] 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: 239637)
2017-04-03
13:17
[1be564c6] part of check-in [777b43e6] Fix typos in the documentation for OP_Column. (check-in: [777b43e6] user: drh branch: trunk, size: 239633)
2017-04-01
20:44
[d275c79e] part of check-in [e6e36b28] Remove an unnecessary setting of the Mem.enc field for the output of the OP_Record opcode, for a performance improvement and size reduction. (check-in: [e6e36b28] user: drh branch: trunk, size: 239633)
20:14
[73ddbad8] part of check-in [c45cd3b9] Minor performance enhancements to the OP_Affinity opcode. (check-in: [c45cd3b9] user: drh branch: trunk, size: 239710)
2017-03-30
20:35
[839999e0] part of check-in [785c37d9] Merge changes from the 3.18.0 release. (check-in: [785c37d9] user: drh branch: begin-concurrent, size: 241185)
20:26
[316eae26] part of check-in [ed28f15e] Merge all changes from the 3.18.0 release. (check-in: [ed28f15e] user: drh branch: apple-osx, size: 239795)
2017-03-24
18:38
[f1acf574] part of check-in [8194dd28] Previous check-in was not correct. This is a better fix for the OP_Once problem of ticket [06796225f59c057cd120f1]. (check-in: [8194dd28] user: drh branch: trunk, size: 239752)
17:59
[e59bd341] part of check-in [25560145] Fix the OP_Once opcode so that it works correctly for recursive triggers. Ticket [06796225f59c057cd120f1]. (check-in: [25560145] user: drh branch: trunk, size: 239703)
15:09
[9a6b75f8] part of check-in [fd5676fe] Merge all recent enhancements from trunk. (check-in: [fd5676fe] user: drh branch: begin-concurrent, size: 240217)
2017-03-20
15:29
[89a12451] part of check-in [673a7b67] Ensure that a "--" prefix is added to sqlite3_trace_v2() output for nested SQL statements. (check-in: [673a7b67] user: drh branch: trunk, size: 238784)
2017-03-17
13:59
[3b422147] part of check-in [f336fba7] Fix a buffer overread in debugging routine sqlite3VdbeMemPrettyPrint(). Problem discovered by OSS-Fuzz. (check-in: [f336fba7] user: dan branch: trunk, size: 238607)
2017-03-16
13:30
[0e6e5e01] part of check-in [e3d48716] Fix an uninitialized variable reference in the text generator for "PRAGMA vdbe_trace=ON" output. Problem discovered by OSS-Fuzz. (check-in: [e3d48716] user: drh branch: trunk, size: 238375)
2017-03-06
20:00
[b6dfec95] part of check-in [1650c3f4] Merge all pending 3.18 enhancements from trunk. (check-in: [1650c3f4] user: drh branch: apple-osx, size: 238553)
2017-02-23
00:58
[f520378e] part of check-in [188300a3] Do a single OP_Expire at the very end of "PRAGMA optimize", and omit the OP_Expire on ANALYZE commands invoked by the pragma. (check-in: [188300a3] user: drh branch: auto-analyze, size: 238510)
2017-02-22
19:49
[37e95d52] part of check-in [fe073905] Merge integrity_check and other improvements from trunk. (check-in: [fe073905] user: drh branch: auto-analyze, size: 238474)
18:04
[83f387d9] part of check-in [5af7d72e] Cleanup and simplification of the output row count limit control of PRAGMA integrity_check. (check-in: [5af7d72e] user: drh branch: integrity-check-improvements, size: 237592)
2017-02-21
15:27
[16542e32] part of check-in [3c3228ed] Very small enhancement to dispatch speed for SQL functions. (check-in: [3c3228ed] user: drh branch: trunk, size: 237572)
14:04
[aab9f3ca] part of check-in [7a62fc6a] The VDBE cycle counts for the sqlite3_progress_handler() callback are now cumulative. Leftovers from the previous statement are applied to the next statement. (check-in: [7a62fc6a] user: drh branch: cumulative-progress-count, size: 237748)
2017-02-18
20:05
[33742908] 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: 238016)
15:58
[02f9db52] part of check-in [d386015f] Add the OP_SqlExec opcode and use it to implement "PRAGMA analyze_as_needed", invoking ANALYZE subcommands as necessary. This simplifies the implementation. (check-in: [d386015f] user: drh branch: auto-analyze, size: 238496)
2017-02-17
19:24
[ac8538b9] part of check-in [bfbdd074] The analyze_as_needed pragma now responds to table size growth and will automatically rerun the analysis after each 10x size increase. (check-in: [bfbdd074] user: drh branch: auto-analyze, size: 238281)
2017-02-16
14:02
[35a632d4] part of check-in [325ccfa9] Merge recent enhancements from trunk. (check-in: [325ccfa9] user: drh branch: est_count_pragma, size: 238327)
2017-02-13
13:35
[16f37864] 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: 237614)
2017-02-04
15:29
[2830f9c2] part of check-in [6c3f0902] Merge recent trunk enhancements. (check-in: [6c3f0902] user: drh branch: apple-osx, size: 237654)
2017-02-01
23:03
[e7b1e860] part of check-in [aaae74d0] Backout the change in [02f6293f27] as it causes MSVC to complain. (check-in: [aaae74d0] user: mistachkin branch: trunk, size: 237611)
14:10
[ec059d33] part of check-in [964bdc27] Changes so that the pre-update hook and the sessions module work with WITHOUT ROWID tables. (check-in: [964bdc27] user: dan branch: trunk, size: 237611)
2017-01-31
16:49
[d3765f4d] part of check-in [91eb6b62] Remove a C99-style comment. Fixes to the kvtest-speed.sh script. (check-in: [91eb6b62] user: drh branch: micro-optimizations, size: 237513)
16:43
[c0e9bd3f] part of check-in [2361b03b] Remove another unnecessary local variable initialization from sqlite3VdbeExec() (check-in: [2361b03b] user: drh branch: micro-optimizations, size: 237536)
16:34
[7c53c4b6] part of check-in [02f6293f] Remove an unnecessary initialization of the pOp variable in sqlite3VdbeExec(). (check-in: [02f6293f] user: drh branch: micro-optimizations, size: 237534)
15:27
[a5bcdb61] part of check-in [bd22bf9c] Fix a typo in a comment. (check-in: [bd22bf9c] user: drh branch: trunk, size: 237534)
2017-01-30
19:44
[57f41c8c] 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: 237631)
2017-01-27
16:39
[761edd8f] part of check-in [0e14fe1b] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [0e14fe1b] user: drh branch: apple-osx, size: 237576)
16:24
[bf7274a1] part of check-in [fe86ff54] Merge all recent enhancements from trunk. (check-in: [fe86ff54] user: drh branch: est_count_pragma, size: 238246)
2017-01-26
18:00
[c27cc34b] part of check-in [b4a98f65] Improvement to the OP_Permutation opcode to prevent it from using CPU cycles for initialization in prepared statements that do not use that opcode. (check-in: [b4a98f65] user: drh branch: trunk, size: 237533)
17:26
[96f16393] part of check-in [b4803184] Remove the obsolete lastRowid cache from the sqlite3VdbeExec() for a size reduction and performance improvement. (check-in: [b4803184] user: drh branch: trunk, size: 237302)
2017-01-25
20:55
[1fa3e8f3] part of check-in [4801bd59] Trim NULL values off the end of records when the SQLITE_ENABLE_NULL_TRIM compile-time option is used. Increase the size of the P5 operand to 16 bits. Fix a problem with short records in the sessions extension. (check-in: [4801bd59] user: drh branch: trunk, size: 237562)
14:58
[b1f24481] 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: 237524)
2017-01-21
16:21
[132f5520] part of check-in [74ad80eb] Fix problems in the previous commit. (check-in: [74ad80eb] user: dan branch: trigger-trace, size: 238131)
15:58
[a2e8ea84] part of check-in [ffda1d1e] Add extra (somewhat inefficient) trace callbacks for triggers if SQLITE_TRACE_TRIGGER is defined. (check-in: [ffda1d1e] user: dan branch: trigger-trace, size: 238308)
2017-01-10
20:04
[c7add597] part of check-in [46db23cc] Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. (check-in: [46db23cc] user: dan branch: onepass-update, size: 237052)
2017-01-09
20:57
[efd0792e] part of check-in [ff9eab95] Merge latest changes from trunk, and also move the perf-counter into the inner loop of sqlite3BtreeMovetoUnpacked(). (check-in: [ff9eab95] user: drh branch: vdbe-aux-perf, size: 237078)
19:55
[4c239b73] part of check-in [a5fa0965] Remove a redundant assignment statement. (check-in: [a5fa0965] user: drh branch: trunk, size: 237034)
19:27
[51f0fb39] part of check-in [237aa974] Performance optimization and size reduction in the OP_Variable opcode. (check-in: [237aa974] user: drh branch: trunk, size: 237063)
18:22
[5c7338cc] part of check-in [d38fd229] Fix typo in a comment. No changes to code. (check-in: [d38fd229] user: mistachkin branch: trunk, size: 237071)
15:44
[b7f39cec] part of check-in [6e106acd] Modify the OP_RowData opcode so that when P3!=0 it is allowed to hold an ephemeral copy of the content. This avoids unnecessary memcpy() operations in the xfer-optimization and VACUUM. (check-in: [6e106acd] user: drh branch: trunk, size: 237069)
06:33
[0254dc5b] 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: 237957)
2017-01-07
00:42
[2d97b195] part of check-in [746b1836] This hack illustrates how to use the VDBE_PROFILE mechanism to show which bytecode operators are using resources other than time. In this case, the number of loops through the binary search code in sqlite3BtreeMovetoUnpacked() is measured, for the purpose of helping to identify unnecessary btree searches. (check-in: [746b1836] user: drh branch: vdbe-aux-perf, size: 236568)
2017-01-03
20:20
[5870d9f6] part of check-in [dcbec226] Merge changes from the 3.16.1 release (check-in: [dcbec226] user: drh branch: apple-osx, size: 236567)
2016-12-30
00:09
[88bd6c32] part of check-in [f57952ba] Encode a 64-bit integer literal in date.c as a constant expression so that it works on older compilers. Also fix a harmless compiler warning in vdbe.c. (check-in: [f57952ba] user: drh branch: trunk, size: 236524)
2016-12-27
12:35
[a35ad517] part of check-in [a54e619e] Disable new test modules nockpt.test and interrupt2.test for incompatible permutations. Add a CORRUPT_DB term to an assert() in vdbe.c. (check-in: [a54e619e] user: drh branch: trunk, size: 236538)
2016-12-23
16:05
[73ded9a6] part of check-in [2940661b] Fill in missing opcode documentation entries for OP_SorterNext and OP_SorterSort. (check-in: [2940661b] user: drh branch: trunk, size: 236510)
03:59
[54b12d95] 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: 235902)
2016-12-21
19:45
[0106e0d4] 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: 235881)
2016-12-18
17:42
[4537452b] part of check-in [165c0446] Change the OP_IfNotZero opcode so that it decrements register P1 by 1 rather than the value in P3, and so that it only decrements if originally positive. This avoids decrementing the smallest 64-bit signed integer. (check-in: [165c0446] user: drh branch: trunk, size: 235968)
2016-12-16
21:29
[6521a150] part of check-in [4b1e7804] Merge recent enhancements from trunk, and especially the pragma-as-vtab change. (check-in: [4b1e7804] user: drh branch: apple-osx, size: 235949)
15:57
[accfa787] part of check-in [74a0ca1f] Merge recent trunk enhancements. (check-in: [74a0ca1f] user: drh branch: est_count_pragma, size: 236619)
01:00
[64c34268] part of check-in [8d646905] All temp.sqlite_master to be used as an alias for sqlite_temp_master. (check-in: [8d646905] user: drh branch: trunk, size: 235906)
2016-12-12
16:15
[3e4ca5a3] part of check-in [a24f805b] Merge all the latest performance enhancements from trunk. (check-in: [a24f805b] user: drh branch: apple-osx, size: 235955)
12:58
[d631e04a] part of check-in [dc006e08] Merge recent enhancements from trunk. (check-in: [dc006e08] user: drh branch: est_count_pragma, size: 236625)
2016-12-10
12:58
[2d90c42f] 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: 235912)
04:06
[74a0b006] part of check-in [c9bdf7ad] Avoid signed integer overflow when dealing with a LIMIT and OFFSET whose sum exceeds the maximum integer value. (check-in: [c9bdf7ad] user: drh branch: trunk, size: 235912)
2016-12-07
15:49
[3986f226] part of check-in [f3608187] Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE. (check-in: [f3608187] user: drh branch: trunk, size: 235349)
2016-11-30
16:39
[ae5d86ad] part of check-in [7ca58a07] Merge all the latest changes from trunk. (check-in: [7ca58a07] user: drh branch: est_count_pragma, size: 236069)
05:08
[336a3e56] part of check-in [9d0d8c2e] Change the OP_DecrJumpZero opcode back to its old behavior of always decrementing, except top the decrementing when it reaches the largest negative number. (check-in: [9d0d8c2e] user: drh branch: trunk, size: 235356)
01:05
[1802a109] part of check-in [96106d56] Prevent a warning about integer overflow when using a very large negative LIMIT. (check-in: [96106d56] user: drh branch: trunk, size: 235382)
2016-11-26
20:44
[87cfd557] part of check-in [41a3af54] Merge all recent trunk changes, and especially the new sqlite3_snapshot_recover() interface. (check-in: [41a3af54] user: drh branch: apple-osx, size: 235378)
2016-11-25
19:32
[4a3ff567] part of check-in [6ac7b07a] Remove the OP_RowKey opcode. Use OP_RowData in its place. (check-in: [6ac7b07a] user: drh branch: trunk, size: 235335)
19:18
[e8802d83] 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: 235732)
17:03
[54a1d3e1] part of check-in [a9498407] Small performance increase and size reduction in the OP_Column opcode. (check-in: [a9498407] user: drh branch: trunk, size: 235916)
2016-11-15
04:00
[e76ee960] part of check-in [66347385] Change the OP_Last opcode so that it is a no-op if the cursor is already pointing at the end of the b-tree. (check-in: [66347385] user: drh branch: trunk, size: 235857)
2016-11-10
21:19
[d9e17f98] 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: 235348)
2016-11-09
20:14
[f1a8e5bf] part of check-in [345b46be] Comment changes that attempt to better explain the behavior of the "seekResult" field on VdbeCursor objects and the seekResult parameter to sqlite3BtreeInsert() and the OPFLAG_USESEEKRESULT flag on insert opcodes. No changes to code. (check-in: [345b46be] user: drh branch: unpacked-IdxInsert, size: 235372)
01:19
[e6bf36b1] part of check-in [e4acd982] Fix a typo on the OP_IdxInsert documentation. No code changes. (check-in: [e4acd982] user: drh branch: unpacked-IdxInsert, size: 235466)
00:10
[8044db96] part of check-in [89d958ab] Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. (check-in: [89d958ab] user: drh branch: unpacked-IdxInsert, size: 235465)
2016-11-08
19:22
[20307c93] part of check-in [bec5b6d4] Avoid superfluous cursor seeks in "INSERT OR REPLACE" statements. (check-in: [bec5b6d4] user: dan branch: trunk, size: 235114)
2016-11-04
19:09
[682df010] part of check-in [0e5ffd91] Merge recent trunk changes, including all the fixes that appeared in version 3.15.1. (check-in: [0e5ffd91] user: drh branch: apple-osx, size: 235113)
2016-11-02
13:18
[2edc4fa8] part of check-in [d18f61b7] Fix a requirement mark. No changes to code. (check-in: [d18f61b7] user: drh branch: trunk, size: 235070)
2016-10-21
17:25
[55ea5eb9] part of check-in [affc2ef5] Add the btree_sample(INDEX,LOCATION,LIMIT) pragma. (check-in: [affc2ef5] user: drh branch: est_count_pragma, size: 235783)
2016-10-20
22:02
[c07f9a77] part of check-in [340822af] Experimental est_count pragma. (check-in: [340822af] user: drh branch: est_count_pragma, size: 235705)
2016-10-18
16:36
[c93ae647] part of check-in [56474ebc] Minor simplification of the comparison opcodes. (check-in: [56474ebc] user: drh branch: trunk, size: 235070)
2016-10-17
23:44
[4cddfd42] part of check-in [29997f79] Fix SQLITE_DBCONFIG_REQUIRE_TXN so that it allows BEGIN IMMEDAITE and BEGIN EXCLUSIVE to run outside of a transaction. (check-in: [29997f79] user: drh branch: require-write-txn, size: 231542)
15:28
[6aa65e22] part of check-in [c88d36e2] Changes to support interrupting a checkpoint using sqlite3_interrupt(). (check-in: [c88d36e2] user: dan branch: trunk, size: 235094)
2016-10-15
18:37
[ad4b4df4] part of check-in [16d88a90] Add documentation for the OP_SorterInsert opcode, formerly omitted by mistake. No changes to code. (check-in: [16d88a90] user: drh branch: trunk, size: 235090)
2016-10-04
00:47
[f43aa96f] part of check-in [b10d0f93] Do not bother to initialize unused fields in the BtreePayload object. (check-in: [b10d0f93] user: drh branch: trunk, size: 234864)
2016-09-30
17:46
[51e754ee] part of check-in [47ae1cda] Avoid unnecessary Mem initializations when generating a new sqlite3_stmt object. (check-in: [47ae1cda] user: drh branch: trunk, size: 234915)
2016-09-28
16:15
[5860e52c] part of check-in [06014163] Merge recent enhancements from trunk. (check-in: [06014163] user: drh branch: apple-osx, size: 234926)
16:05
[67813297] part of check-in [40c0fb0a] Two more typo fixes in comments. (check-in: [40c0fb0a] user: drh branch: trunk, size: 234883)
16:04
[8b2e9f88] part of check-in [5bbd071d] Fix typos in comments. No code changes. (check-in: [5bbd071d] user: drh branch: trunk, size: 234886)
2016-09-27
00:09
[8ceb2069] part of check-in [bf903b2e] Update requirements marks due to improvements in the wording of documentation. No changes to code. (check-in: [bf903b2e] user: drh branch: trunk, size: 234885)
2016-09-20
17:49
[0f879945] part of check-in [72429063] Fix harmless compiler warning. (check-in: [72429063] user: mistachkin branch: trunk, size: 234993)
01:19
[373b186a] part of check-in [5e196fd1] Avoid unnecessary calls to ExpandBlob() for smaller and faster code. (check-in: [5e196fd1] user: drh branch: trunk, size: 234993)
2016-09-19
23:39
[c21ff59f] part of check-in [46002511] Very small optimization in the bytecode engine. (check-in: [46002511] user: drh branch: trunk, size: 234991)
2016-09-18
16:08
[cdac9f8c] 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: 234981)
2016-09-17
17:39
[bd7e890b] part of check-in [e011435e] Improved description of the ElseNotEq opcode in comments. No changes to code. (check-in: [e011435e] user: drh branch: trunk, size: 235048)
2016-09-16
17:50
[108964db] part of check-in [e3d9efa2] Merge recent changes from trunk. (check-in: [e3d9efa2] user: drh branch: apple-osx, size: 235125)
2016-09-15
14:54
[31a17090] part of check-in [b9f5bdbf] Remove no-op code (adding an assert() to prove that the code was no-op) in the text affinity logic of the bytecode engine comparison operators. (check-in: [b9f5bdbf] user: drh branch: trunk, size: 235082)
2016-09-10
19:51
[bac0b2ed] part of check-in [711c5917] Changes to give a warning-free build with SQLITE_OMIT_INCRBLOB and SQLITE_OMIT_SHARED_CACHE. (check-in: [711c5917] user: drh branch: trunk, size: 235152)
2016-09-09
19:33
[2087dfd6] part of check-in [37803b19] Performance improvements to the comparison operators in the bytecode engine. (check-in: [37803b19] user: drh branch: trunk, size: 235134)
2016-09-07
19:47
[326034bf] part of check-in [c844f3da] Fix the extra comments (added with -DSQLITE_ENABLE_EXPLAIN_COMMENTS) so that the sense of <, <=, >, and >= tests is correct and so that the SQLITE_STOREP2 version is shown correctly. Cherrypick of [4d43c4698eef4e3d]. (check-in: [c844f3da] user: mistachkin branch: branch-3.14, size: 232295)
18:20
[4581775c] part of check-in [00759af0] Merge recent enhancements from trunk. (check-in: [00759af0] user: drh branch: apple-osx, size: 232344)
2016-09-05
15:02
[3148d5d4] part of check-in [96269f01] Simplifications to the SQLITE_KEEPNULL flag on VDBE comparison operators. (check-in: [96269f01] user: drh branch: rowvalue, size: 234813)
2016-09-03
01:46
[d8fb59a3] part of check-in [f1d06c49] Performance optimizations. (check-in: [f1d06c49] user: drh branch: rowvalue, size: 234242)
2016-08-27
14:05
[751dd0a1] part of check-in [4d43c469] Fix the extra comments (added with -DSQLITE_ENABLE_EXPLAIN_COMMENTS) so that the sense of <, <=, >, and >= tests is correct and so that the SQLITE_STOREP2 version is shown correctly. These changes are already in the rowvalue branch but are added here since they are technically unrelated to rowvalue. (check-in: [4d43c469] user: drh branch: trunk, size: 232301)
01:41
[4be39068] part of check-in [f51248dc] Fix the "Synopsis" on the OP_Lt, OP_Le, OP_Gt, and OP_Ge opcodes, which has been backwards for time out of mind. (check-in: [f51248dc] user: drh branch: rowvalue, size: 234144)
2016-08-24
21:24
[68d56c11] 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: 234144)
2016-08-19
15:41
[766d363e] part of check-in [b1787236] Merge recent enhancements from trunk. (check-in: [b1787236] user: drh branch: rowvalue, size: 234215)
14:20
[15376952] part of check-in [29d63059] Add the capability to VACUUM an attached database by specifying the schema name as an argument to the VACUUM command. Since version 2.0, VACUUM has accepted an argument which was silently ignored. Now it has meaning. (check-in: [29d63059] user: drh branch: vacuum-attached-db, size: 232349)
2016-08-18
15:21
[9a1c5a2d] part of check-in [4768a106] Merge recent enhancements from trunk. (check-in: [4768a106] user: drh branch: rowvalue, size: 234221)
14:33
[6242a21f] part of check-in [92a22f01] Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. (check-in: [92a22f01] user: drh branch: zDbSName, size: 232355)
2016-08-13
14:17
[1b66646c] part of check-in [c54bd9c8] Remove an unnecessary stack variable from sqlite3VdbeExec(). (check-in: [c54bd9c8] user: drh branch: vector-compare, size: 234209)
13:03
[3961408d] part of check-in [18f5a3be] Improvements to commits. No code changes. (check-in: [18f5a3be] user: drh branch: vector-compare, size: 234266)
10:02
[9816bc4f] part of check-in [dfc028cf] Attempt to simplify the logic and generated code for vector comparisons. Basic comparison operators are working, but there are many indexing test failures still to be worked through. (check-in: [dfc028cf] user: drh branch: vector-compare, size: 234153)
2016-08-12
16:21
[94c114b3] part of check-in [8a5f41c7] Have wal file checkpoints exit early if the sqlite3_interrupt() API function is called. (check-in: [8a5f41c7] user: dan branch: interruptible-checkpoint, size: 232347)
2016-08-11
19:12
[75556e9c] 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: 233776)
2016-07-30
21:02
[9f151292] part of check-in [059d0d05] Fix problems with vector == comparisons and NULL values. (check-in: [059d0d05] user: dan branch: rowvalue, size: 234683)
2016-07-26
18:15
[44d75e35] part of check-in [d4f3d52c] Merge latest trunk changes into this branch. (check-in: [d4f3d52c] user: dan branch: rowvalue, size: 233520)
2016-07-25
17:31
[52600257] part of check-in [e98cefb1] Merge 3.14 alpha changes from trunk. (check-in: [e98cefb1] user: drh branch: apple-osx, size: 232386)
02:42
[ea260b61] part of check-in [e1e02238] Evidence marks and code reformatting for SQLITE_TRACE_STMT operation. (check-in: [e1e02238] user: drh branch: trunk, size: 232343)
02:31
[7718d724] part of check-in [163e1522] Change SQLITE_TRACE_STMT to return unexpanded SQL text in the X argument. Add documentation on how and when to use sqlite3_expanded_sql(P) to compute the expanded text for legacy sqlite3_trace() compatibility. (check-in: [163e1522] user: drh branch: trunk, size: 232045)
2016-07-14
01:09
[7b5570f7] 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: 231815)
2016-07-13
22:55
[c6bb62aa] part of check-in [cb0062fe] First cut at implementing the new sqlite3_trace_v2() interface. (check-in: [cb0062fe] user: drh branch: sqlite3_trace_v2, size: 232024)
2016-07-09
20:23
[680c118a] part of check-in [b2204215] Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch. (check-in: [b2204215] user: dan branch: rowvalue, size: 232616)
2016-06-25
11:43
[22b46c3b] part of check-in [507014e4] Fix the handling of OP_Eq opcodes that compare a register against itself and that require an affinity change. (check-in: [507014e4] user: drh branch: trunk, size: 231439)
2016-06-15
10:21
[ed526904] part of check-in [0f707d15] Merge changes from trunk. (check-in: [0f707d15] user: drh branch: apple-osx, size: 231420)
2016-06-04
20:58
[e23a15d3] part of check-in [aa53a36e] Fix a C99-ism and a compiler warning for MSVC. (check-in: [aa53a36e] user: drh branch: btree-refactor, size: 231377)
20:37
[f6d37b36] 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: 231372)
2016-05-26
20:56
[45e4da73] part of check-in [ffe80a1b] Add a new OP_SeekRowid opcode, that combines the functions of OP_MustBeInt and OP_NotExists. This makes the code slightly smaller and faster. (check-in: [ffe80a1b] user: drh branch: trunk, size: 232659)
2016-05-23
02:57
[b7ab0953] part of check-in [815cc2bb] Merge changes from trunk. (check-in: [815cc2bb] user: drh branch: apple-osx, size: 231126)
2016-05-21
20:03
[f2706d55] part of check-in [55f348cd] Simplify the sqlite3BtreeInsert() interface by gathering the five arguments describing the content to be inserted into the new BtreePayload structure, and thus reducing the number of parameters from eight to four. (check-in: [55f348cd] user: drh branch: trunk, size: 231083)
2016-05-20
21:40
[975ac1d3] part of check-in [1765672c] Another optimization on the OP_Column opcode. (check-in: [1765672c] user: drh branch: trunk, size: 231133)
19:51
[9d0872c7] part of check-in [5c157474] Slight performance improvement in the OP_Column opcode. (check-in: [5c157474] user: drh branch: trunk, size: 231135)
2016-05-19
17:51
[d71b935d] part of check-in [cf273741] Optimization marks in vdbe.c. No logic changes. (check-in: [cf273741] user: drh branch: trunk, size: 231095)
16:58
[ee42e2b8] part of check-in [4737cadc] Performance improvement in the OP_Column opcode. (check-in: [4737cadc] user: drh branch: trunk, size: 231023)
11:12
[d9701a72] part of check-in [0d773061] Small size reduction and performance improvement in the OP_Column opcode. (check-in: [0d773061] user: drh branch: trunk, size: 230976)
2016-05-02
15:00
[c375dd8c] part of check-in [f52765ee] Merge enhancements and bug fixes from trunk. (check-in: [f52765ee] user: drh branch: apple-osx, size: 231019)
10:25
[4bad0421] part of check-in [54c63b32] Improvements to the way the LIKE optimization is implemented, resulting in slightly smaller and faster code that is easier to test. (check-in: [54c63b32] user: drh branch: trunk, size: 230976)
2016-04-30
18:10
[465bb820] part of check-in [459a0b45] Remove an unnecessary branch from the OP_String8 opcode. (check-in: [459a0b45] user: drh branch: trunk, size: 231352)
02:59
[b2067cd0] part of check-in [daf4630f] Simplifications to the OP_Halt opcode implementation. (check-in: [daf4630f] user: drh branch: trunk, size: 231360)
2016-04-29
16:01
[4f0378eb] part of check-in [91e5c07e] Merge the latest enhancements from trunk. (check-in: [91e5c07e] user: drh branch: begin-concurrent, size: 232989)
15:52
[ccc79856] part of check-in [81b76901] Merge enhancements from trunk, and in particular the TEMP file deferred I/O enhancements. (check-in: [81b76901] user: drh branch: apple-osx, size: 231599)
02:55
[08fbea00] part of check-in [e7c22e3b] Some optimization comments added to vdbe.c. No functional changes to code. (check-in: [e7c22e3b] user: drh branch: trunk, size: 231556)
2016-04-21
15:35
[4c31c327] part of check-in [a15c49ae] Merge all recent enhancements from trunk. (check-in: [a15c49ae] user: drh branch: apple-osx, size: 231336)
2016-04-20
12:16
[226c51cc] part of check-in [1f709fbf] Merge all recent enhancements from trunk. (check-in: [1f709fbf] user: drh branch: begin-concurrent, size: 232726)
2016-04-11
13:36
[d3843a66] 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: 231293)
2016-04-07
14:16
[e16e8625] part of check-in [153135bf] Avoid decrementing a pointer off the front end of the buffer in OP_MakeRecord. (check-in: [153135bf] user: drh branch: trunk, size: 231185)
2016-04-05
17:50
[260c47de] part of check-in [b7570ac1] Add the SQLITE_DBCONFIG_REQUIRE_TXN argument for sqlite3_dbconfig() which when set requires an explicit transaction before updating the database. (check-in: [b7570ac1] user: drh branch: require-write-txn, size: 231334)
2016-04-04
13:46
[936166d3] part of check-in [e375fe52] Minor performance optimization in the comparison opcodes of the VDBE. (check-in: [e375fe52] user: drh branch: trunk, size: 231160)
2016-03-30
15:30
[0f0e4a62] part of check-in [47887ef8] Simplifications and clarification to update callback handling in the OP_Delete and OP_Insert opcodes. (check-in: [47887ef8] user: drh branch: trunk, size: 231101)
12:56
[04e0606b] 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: 231061)
2016-03-29
10:36
[ada5fe38] part of check-in [d7381eff] Merge 3.12.0 changes. (check-in: [d7381eff] user: drh branch: begin-concurrent, size: 230142)
10:30
[53884a06] part of check-in [eef55744] Merge 3.12.0 changes. (check-in: [eef55744] user: drh branch: apple-osx, size: 228752)
10:19
[da8f4d04] part of check-in [ed22eb65] Merge changes for 3.12.0. (check-in: [ed22eb65] user: drh branch: sessions, size: 230791)
2016-03-25
12:10
[cd990451] part of check-in [99fd194c] Fix two instances of undefined behavior in the C code - both harmless for all current compilers. (check-in: [99fd194c] user: drh branch: trunk, size: 228709)
2016-03-21
15:54
[c96ca245] part of check-in [8ee7d346] Merge all recent changes from trunk. (check-in: [8ee7d346] user: drh branch: begin-concurrent, size: 230085)
15:32
[399bb1d3] part of check-in [3296a0ce] Merge 3.12.0 beta changes from trunk. (check-in: [3296a0ce] user: drh branch: sessions, size: 230734)
14:52
[1cdbff44] part of check-in [063f1b37] Merge the sqlite3_system_errno() change from trunk. (check-in: [063f1b37] user: drh branch: apple-osx, size: 228695)
12:28
[f19741f2] part of check-in [b4a1114f] Make sure system errors that occur durign sqlite3_step() are captured for use by sqlite3_system_errno(). (check-in: [b4a1114f] user: drh branch: sqlite_system_errno, size: 228652)
00:30
[3b542ffd] part of check-in [c5677ecd] Remove an unreachable branch. Improvements to comments. (check-in: [c5677ecd] user: drh branch: zero-base-aMem, size: 228622)
2016-03-19
23:32
[90d18d0a] 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: 228605)
2016-03-16
19:34
[1ea96d12] part of check-in [a7978ab6] Merge the latest enhancements from trunk. (check-in: [a7978ab6] user: drh branch: begin-concurrent, size: 229780)
01:16
[8e9452b8] part of check-in [6a7ee04b] Merge all recent enhancements from trunk. (check-in: [6a7ee04b] user: drh branch: sessions, size: 230429)
01:09
[3c7f4d44] part of check-in [161d91e4] Merge the SQLITE_OMIT_CODEC_FROM_TCL compile-time option from trunk. (check-in: [161d91e4] user: drh branch: apple-osx, size: 228390)
2016-03-15
22:00
[8cf45bb8] part of check-in [15e4a272] Change the OP_IntegrityCk opcode to accept the list of root pages as an intarray argument in P4. Slightly smaller and faster. (check-in: [15e4a272] user: drh branch: trunk, size: 228347)
2016-02-25
18:54
[9ccb138c] part of check-in [b8659004] Merge all the latest changes from trunk. (check-in: [b8659004] user: drh branch: sessions, size: 230673)
2016-02-22
16:32
[5c09ebeb] part of check-in [18c3ab47] Merge the master-journal optimization and other recent changes from trunk. (check-in: [18c3ab47] user: drh branch: apple-osx, size: 228634)
16:04
[87ae3a56] 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: 228591)
2016-02-19
18:54
[822e44c1] 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: 228576)
2016-02-18
01:36
[af223358] part of check-in [b7fa0fb3] Merge recent performance enhancements and the enhanced API_ARMOR from trunk. (check-in: [b7fa0fb3] user: drh branch: apple-osx, size: 228533)
2016-02-17
18:44
[4eef77da] part of check-in [a444633a] Fix up all VDBE opcodes so that they cause an immediate exit on any kind of error, and thereby eliminate the need to test "rc" at the top of the loop. Resulting code is a little smaller and faster. (check-in: [a444633a] user: drh branch: vdbe-performance, size: 228490)
2016-02-13
23:43
[ad4d5b7a] part of check-in [6a9c4a3e] Enhance ability to debug out-of-memory errors. (check-in: [6a9c4a3e] user: mistachkin branch: noMemBkpt, size: 226833)
2016-02-05
14:34
[642df098] part of check-in [332c8036] Merge PRAGMA synchronous=EXTRA and OOM performance enhancements from trunk. (check-in: [332c8036] user: drh branch: begin-concurrent, size: 228211)
14:29
[d76cf7d7] part of check-in [201fcbee] Merge OOM handling optimizations and PRAGMA synchronous=EXTRA as well as other enhancements from trunk. (check-in: [201fcbee] user: drh branch: apple-osx, size: 226856)
14:15
[830c927c] part of check-in [a533608c] Merge enhancements from trunk. (check-in: [a533608c] user: drh branch: sessions, size: 228878)
13:38
[c193299e] 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: 226813)
01:55
[2e49c5d1] part of check-in [c3ef0347] Improvements to the way that OOM errors are processed. (check-in: [c3ef0347] user: drh branch: oom-handling, size: 226805)
2016-02-03
22:14
[f0c2e2fb] part of check-in [632071ba] In the VDBE loop, only check for OOM errors at jumps rather than after every opcode, for about a 0.5% performance increase. (check-in: [632071ba] user: drh branch: trunk, size: 226863)
19:52
[16ca0c1e] part of check-in [ef252bc4] Fix markup errors in comments used to generate the documentation - specifically in the documentation on the OP_Seek opcode. (check-in: [ef252bc4] user: drh branch: trunk, size: 226813)
2016-02-02
02:53
[f4a056b9] part of check-in [347f6a80] Merge recent enhancements from trunk. (check-in: [347f6a80] user: drh branch: begin-concurrent, size: 228213)
02:30
[464142f9] part of check-in [e6a4a163] Merge recent enhancements from trunk. (check-in: [e6a4a163] user: drh branch: apple-osx, size: 226858)
02:22
[c5244f97] part of check-in [f3f92001] Merge all recent enhancements from trunk. (check-in: [f3f92001] user: drh branch: sessions, size: 228880)
00:59
[0b5df64b] part of check-in [7453790c] Add the SQLITE_DBCONFIG_REQUIRE_WRITE_TXN connection setting, which if enabled requires all write operations to be enclosed within BEGIN ... COMMIT. (check-in: [7453790c] user: drh branch: require-write-txn, size: 227304)
2016-02-01
21:48
[a0a0ada4] part of check-in [6d7d4703] Change the OP_SetCookie instruction to write the literal P3 value, not the value in register P3. (check-in: [6d7d4703] user: drh branch: trunk, size: 226815)
13:21
[755b1e21] 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: 226946)
2016-01-30
16:59
[73f0f61e] part of check-in [9bec50a1] Merge the implementation of OP_IdxRowid and OP_Seek so that OP_Seek no longer requires the rowid register and a separate OP_IdxRowid call. Shorter and faster prepared statements result. (check-in: [9bec50a1] user: drh branch: trunk, size: 226991)
15:46
[49e0a224] part of check-in [2e9fb129] A different way to clear the subtype on VDBE registers when the value of the register is overwritten with new content. To fix [[f45ac567eaa9f93]. (check-in: [2e9fb129] user: dan branch: clear-subtype-flag, size: 226455)
14:53
[dadd5775] part of check-in [ec653cbc] Take care to clear the subtype on VDBE registers when the value of the register is overwritten with new content. (check-in: [ec653cbc] user: drh branch: clear-subtype-fail, size: 226462)
14:17
[bd4d2cab] part of check-in [96b78020] Output subtype information on register traces for PRAGMA vdbe_trace. (check-in: [96b78020] user: drh branch: trunk, size: 226444)
13:32
[d9d2406d] part of check-in [85c46704] Add the BTREE_FORDELETE and BTREE_AUXDELETE flags to the b-tree layer interface and use them. Add assert() statement to verify that they are correct. (check-in: [85c46704] user: drh branch: trunk, size: 226384)
00:45
[0686ef5e] 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: 225297)
2016-01-29
19:29
[2e0c42bb] 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: 225170)
18:04
[e86e100a] part of check-in [2a055ed0] Prepend "rc!=SQLITE_OK || " to the nExtraDelete assert() condition. (check-in: [2a055ed0] user: dan branch: fordelete-assert, size: 225762)
2016-01-28
17:06
[66c42989] part of check-in [f43ff8f8] Modifications to ensure the nExtraDelete-related assert() statement does not fail. (check-in: [f43ff8f8] user: dan branch: fordelete-assert, size: 225734)
2016-01-27
16:26
[c367615f] part of check-in [1d3bf6be] Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better reflect its purpose. (check-in: [1d3bf6be] user: drh branch: fordelete-assert, size: 225923)
15:49
[a27a3fdc] part of check-in [dde1db0d] Add assert() statements on the nExtraDelete variable in vdbe.c to try to verify that the FORDELETE and IDXDELETE flags are being generated correctly. Those flags are not currently generated correctly, and so the assert()s trip on this check-in. (check-in: [dde1db0d] user: drh branch: fordelete-assert, size: 225762)
2016-01-26
23:32
[6039096e] part of check-in [9a71d56d] Merge all recent trunk enhancements. (check-in: [9a71d56d] user: drh branch: btree-fordelete-flag, size: 225096)
2016-01-25
15:57
[3ffbcc41] part of check-in [7ac017a4] Replace the OP_SetIfNotPos operator with OP_OffsetLimit in the VDBE, for simpler and smaller code. (check-in: [7ac017a4] user: drh branch: trunk, size: 224675)
2016-01-21
17:06
[e21a506d] part of check-in [ac2cbadd] Add a new hint bit on the flags parameter of sqlite3BtreeDelete(). The new BTREE_IDXDELETE bit indicates that the call is to delete an index entry corresponding to a table row that has already been deleted. (check-in: [ac2cbadd] user: drh branch: btree-fordelete-flag, size: 224490)
2016-01-20
12:18
[7013f866] part of check-in [5520f600] Merge recent enhancements from trunk. (check-in: [5520f600] user: drh branch: begin-concurrent, size: 225451)
11:40
[2a3f8fd4] part of check-in [3ed49691] Merge all recent enhancements from trunk. (check-in: [3ed49691] user: drh branch: apple-osx, size: 224112)
11:33
[1443ca69] part of check-in [327af5f6] Merge recent enhancements from trunk. (check-in: [327af5f6] user: drh branch: sessions, size: 226133)
2016-01-15
15:06
[b90d9d38] part of check-in [c52ca2c0] Work toward making the schema parsing logic simplier and more compact. (check-in: [c52ca2c0] user: drh branch: trunk, size: 224069)
2016-01-14
22:19
[4f358548] part of check-in [0d1b3d7d] Combine the xFunc and xStep pointers of the FuncDef object into a single pointer xSFunc. (check-in: [0d1b3d7d] user: drh branch: trunk, size: 224046)
15:46
[fd831237] part of check-in [fccc5f20] Merge the latest enhancements and fixes from trunk. (check-in: [fccc5f20] user: dan branch: begin-concurrent, size: 225426)
15:03
[fac06dbf] part of check-in [d85774e0] Merge the latest enhancements and fixes from trunk. (check-in: [d85774e0] user: drh branch: apple-osx, size: 224087)
14:48
[9b4da74d] part of check-in [007e5c6d] Merge the latest fixes and enhancements from trunk. (check-in: [007e5c6d] user: drh branch: sessions, size: 226108)
2016-01-11
18:05
[6572d00e] part of check-in [ecc98bef] Performance optimization on the Column opcode. (check-in: [ecc98bef] user: drh branch: trunk, size: 224044)
2016-01-06
15:49
[83c09bc7] part of check-in [e1d2ffc0] Merge changes for version 3.10.0. (check-in: [e1d2ffc0] user: drh branch: begin-concurrent, size: 225500)
14:35
[5678e937] part of check-in [77c28c2b] Merge all version 3.10.0 updates. (check-in: [77c28c2b] user: drh branch: apple-osx, size: 224161)
2016-01-04
19:02
[a479a4bd] part of check-in [c785cd78] Merge in last-minute patches for the 3.10.0 beta. (check-in: [c785cd78] user: drh branch: sessions, size: 226182)
03:48
[6ac8e5d8] part of check-in [4b404a99] Fix a harmless compiler warning. (check-in: [4b404a99] user: drh branch: trunk, size: 224118)
2016-01-02
05:00
[638c20ba] part of check-in [2047d2de] Fix a (harmless) typo in an #ifdef for SQLITE_ENABLE_CURSOR_HINTS (check-in: [2047d2de] user: drh branch: trunk, size: 224171)
2016-01-01
14:14
[7a9e7011] part of check-in [6bea792c] Merge recent trunk enhancements. (check-in: [6bea792c] user: drh branch: begin-concurrent, size: 225552)
13:31
[a01c8ccd] part of check-in [5b700f31] Merge all recent trunk enhancements. (check-in: [5b700f31] user: drh branch: apple-osx, size: 224213)
13:25
[a415f784] part of check-in [c0be246a] Merge the latest enhancements from trunk. (check-in: [c0be246a] user: drh branch: sessions, size: 226234)
2015-12-31
04:34
[39d7628b] part of check-in [7a0b9413] Small size and performance optimization to the VDBE comparison opcodes. (check-in: [7a0b9413] user: drh branch: trunk, size: 224170)
2015-12-17
19:17
[3bedca4a] 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: 224647)
17:30
[18792363] 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: 224365)
2015-12-16
21:09
[984c2be6] part of check-in [18a4c054] Fix compiler warning seen with MSVC. (check-in: [18a4c054] user: mistachkin branch: msvcWarn, size: 224250)
19:55
[75beda48] part of check-in [cb22efaf] Merge recent enhancements from trunk. (check-in: [cb22efaf] user: drh branch: begin-concurrent, size: 225555)
19:47
[c47b3bfc] part of check-in [f6c9273c] Merge recent enhancements from trunk. (check-in: [f6c9273c] user: drh branch: sessions, size: 226237)
2015-12-14
19:42
[0bc683e6] part of check-in [1a247911] Add a missing memAboutToChange() macro to vdbe.c, the lack of which was causing an assert() to fail incorrectly. Problem found by libfuzzer. (check-in: [1a247911] user: dan branch: trunk, size: 224173)
2015-12-02
20:53
[ff460358] part of check-in [9130661a] Merge recent enhancements from trunk. (check-in: [9130661a] user: drh branch: begin-concurrent, size: 225520)
20:40
[5c3dd0f4] part of check-in [d1a1278d] Merge recent enhancements from trunk. (check-in: [d1a1278d] user: drh branch: sessions, size: 226202)
20:22
[5cd1221f] part of check-in [e1fb33c7] Merge all recent trunk enhancements, especially the unix VFS changes. (check-in: [e1fb33c7] user: drh branch: apple-osx, size: 224181)
2015-12-01
21:23
[4d75375f] part of check-in [9e1d6d4c] Add the SQLITE_LIKE_DOESNT_MATCH_BLOBS compile-time option. (check-in: [9e1d6d4c] user: drh branch: trunk, size: 224138)
2015-11-21
17:53
[8694c0e6] 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: 224232)
17:27
[b56b2fc9] part of check-in [198d191b] Fix over-length source code lines. No logic changes. (check-in: [198d191b] user: drh branch: trunk, size: 224092)
2015-11-20
19:22
[9ef1b170] 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: 224049)
13:49
[6b125884] part of check-in [41c8b8e3] Merge all the latest enhancements and fixes from trunk. (check-in: [41c8b8e3] user: drh branch: begin-concurrent, size: 224511)
13:33
[7a4efb96] part of check-in [35c7f6cb] In the OP_Column opcode, only test the btree payload size for exceeding the string length limit if the payload does not fit on a single page. (check-in: [35c7f6cb] user: drh branch: trunk, size: 223129)
2015-11-07
01:57
[c9869b29] part of check-in [5429f99b] Merge recent enhancements and fixes from trunk. (check-in: [5429f99b] user: drh branch: apple-osx, size: 223174)
01:33
[9539aa0c] part of check-in [78bc42e6] Merge recent enhancements and bug fixes from trunk. (check-in: [78bc42e6] user: drh branch: sessions, size: 225196)
01:19
[7a9b1802] part of check-in [0f5b147d] The OPFLAG_SEEKEQ optimization is only applicable to equality comparisons against an index, not against a rowid table. (check-in: [0f5b147d] user: drh branch: trunk, size: 223131)
2015-11-05
22:30
[a9b0ec9f] part of check-in [997ce6c9] Improvements and simplifications to the equality seek logic. Tests are adjusted so that they all pass now. (check-in: [997ce6c9] user: drh branch: seekeq-experiment, size: 223002)
20:25
[1f9ef1ef] 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: 221769)
2015-10-30
17:17
[4ab87640] 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: 223018)
16:50
[755ebcef] part of check-in [395a153f] Merge all the latest enhancements from trunk. (check-in: [395a153f] user: drh branch: sessions, size: 223701)
16:23
[b8606b0a] 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: 221679)
2015-10-27
13:24
[dfbaae25] part of check-in [b3ec9a0d] Split out sqlite3BtreeCursorHintFlags() from sqlite3BtreeCursorHint() the interface for improved performance. (check-in: [b3ec9a0d] user: drh branch: cursor-hints, size: 221636)
2015-10-26
20:50
[cb8eee39] 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: 220894)
20:11
[1cdfa13e] part of check-in [20da0849] Merge the BTREE_FORDELETE enhancement with this branch. (check-in: [20da0849] user: dan branch: cursor-hints, size: 221643)
2015-10-22
20:54
[3f22833a] part of check-in [cdc92919] Modifications to pass a flag to internal routine sqlite3BtreeCursor() when a cursor that is used solely for deleting b-tree entries, or for obtaining the components of keys to delete from other b-trees, is opened. (check-in: [cdc92919] user: dan branch: btree-fordelete-flag, size: 220851)
2015-10-20
23:40
[ca0bbae5] part of check-in [12e869bb] Fix compiler warnings. (check-in: [12e869bb] user: mistachkin branch: noWarn, size: 220819)
2015-10-16
20:55
[80c332d7] part of check-in [bf866e6c] Merge the 3.9.1 updates from trunk. (check-in: [bf866e6c] user: drh branch: begin-concurrent, size: 222201)
20:53
[10d66354] part of check-in [26fa091d] Merge recent enhancements from trunk. Version now 3.9.1. (check-in: [26fa091d] user: drh branch: cursor-hints, size: 221611)
14:54
[e9315575] 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: 220819)
14:23
[f84d2241] 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: 220862)
13:50
[612bf3ee] part of check-in [0114b45d] Simplify the OP_Column logic slightly. One very small performance improvement added. (check-in: [0114b45d] user: drh branch: trunk, size: 220909)
12:53
[ece04358] part of check-in [8125b74c] OP_Column optimization: Do not check for an oversize row header unless the row header size is larger than the content available on the local page. (check-in: [8125b74c] user: drh branch: trunk, size: 221135)
03:34
[32865d7e] 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: 221125)
2015-10-15
21:30
[c33faa48] part of check-in [076be547] Performance optimization for the OP_Column opcode. (check-in: [076be547] user: drh branch: trunk, size: 221108)
20:17
[a0a2aea6] part of check-in [39ae92f5] Experiments with an OP_Unpack opcode that extracts multiple columns from a record without caching. (check-in: [39ae92f5] user: drh branch: unpack-opcode, size: 222431)
18:04
[61bd96c7] part of check-in [3a2f73a4] Add the OP_IntCopy opcode - an optimized version of OP_SCopy that only works for integer values. (check-in: [3a2f73a4] user: drh branch: trunk, size: 221194)
17:31
[eac08984] part of check-in [79298fe8] Optimization to the out2Prerelease() helper routine in the VDBE engine. (check-in: [79298fe8] user: drh branch: trunk, size: 220795)
07:44
[9e42ca33] part of check-in [5c3a2a6e] Merge in the 3.9.0 changes from trunk. (check-in: [5c3a2a6e] user: drh branch: begin-concurrent, size: 222010)
2015-10-14
20:09
[4d4d88a6] part of check-in [29444149] Merge in all the 3.9.0 updates from trunk. (check-in: [29444149] user: drh branch: cursor-hints, size: 221420)
2015-10-09
17:28
[1f3280cf] part of check-in [1ccae39b] Merge all changes through the first 3.9.0 beta from trunk. (check-in: [1ccae39b] user: drh branch: apple-osx, size: 220671)
2015-10-08
14:55
[fd0fba1b] part of check-in [35b1b8d4] Merge the 3.8.12 beta changes from trunk. (check-in: [35b1b8d4] user: drh branch: sessions, size: 222693)
2015-10-06
21:49
[1e0bf8d6] part of check-in [a05f903c] Fix typo in comments. No changes to code. (check-in: [a05f903c] user: mistachkin branch: trunk, size: 220628)
21:07
[d263ec6b] part of check-in [041df7c2] Simplifications to the VDBE bytecode that handles LIMIT and OFFSET. (check-in: [041df7c2] user: drh branch: trunk, size: 220628)
2015-09-15
19:16
[34fb6d59] part of check-in [fc4d1de8] Merge enhancements from trunk. (check-in: [fc4d1de8] user: drh branch: begin-concurrent, size: 221919)
17:31
[1704a79d] part of check-in [66fe0683] Merge enhancements from trunk. (check-in: [66fe0683] user: drh branch: cursor-hints, size: 221329)
17:20
[cc4a5aeb] part of check-in [f12b8a0f] Merge trunk enhancements into the apple-osx branch. (check-in: [f12b8a0f] user: drh branch: apple-osx, size: 220580)
15:55
[b61897b3] part of check-in [b7469c44] Merge the latest trunk enhancements with this branch. (check-in: [b7469c44] user: dan branch: sessions, size: 222602)
2015-09-14
19:26
[5048103a] part of check-in [d2df93f2] Testability improvements for the ONEPASS_MULTI enhancement. (check-in: [d2df93f2] user: drh branch: trunk, size: 220537)
09:23
[a8a5cb11] part of check-in [166d5af8] Avoid calling sqlite3VdbeCursorMoveto() from more than one point in vdbe.c. Doing so prevents it from being inlined as part of OP_Column. (check-in: [166d5af8] user: dan branch: onepass-delete, size: 220427)
2015-09-12
19:26
[5587d76b] part of check-in [eaeb2b80] Experimental change to use a single-pass approach for DELETE statements on non-virtual tables that do not fire triggers or require foriegn-key processing. (check-in: [eaeb2b80] user: dan branch: onepass-delete, size: 220389)
2015-09-03
15:17
[8e1d1597] 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: 221408)
2015-08-28
02:12
[30e368a0] 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: 220069)
2015-08-24
22:06
[791a2876] part of check-in [47280f2a] Remove duplicated line of code. (check-in: [47280f2a] user: mistachkin branch: begin-concurrent, size: 221410)
19:56
[84ac0688] part of check-in [ba1ab858] Change "BEGIN UNLOCKED" to "BEGIN CONCURRENT". (check-in: [ba1ab858] user: dan branch: begin-concurrent, size: 221433)
19:08
[cb555e4a] part of check-in [5b9f2721] Fix handling of attempts to modify the database schema, application_id or user_version within an UNLOCKED transaction. (check-in: [5b9f2721] user: dan branch: begin-concurrent, size: 221397)
2015-08-21
16:22
[97b07a1a] part of check-in [deaf3b18] Merge trunk changes with this branch. (check-in: [deaf3b18] user: dan branch: begin-concurrent, size: 220974)
2015-08-20
23:54
[76304f37] part of check-in [e9196d56] Merge recent trunk enhancements, include table-valued functions. (check-in: [e9196d56] user: drh branch: sessions, size: 221983)
23:45
[9d85fa72] part of check-in [b9927c87] Merge recent enhancements from trunk, including table-valued expressions. (check-in: [b9927c87] user: drh branch: cursor-hints, size: 220818)
17:18
[6d85be99] part of check-in [fd13dd95] Make SQLITE_BUSY_SNAPSHOT and SQLITE_BUSY_RECOVERY retryable, just as a plain SQLITE_BUSY is. (check-in: [fd13dd95] user: drh branch: trunk, size: 220026)
2015-08-14
23:57
[4dbcceb3] part of check-in [83a84435] Always provide the BTREE_BULKLOAD hint, even when SQLITE_ENABLE_CURSOR_HINTS is not defined, as that hint gives a 4% performance increase. (check-in: [83a84435] user: drh branch: cursor-hints, size: 220734)
20:08
[882cac44] part of check-in [bf383e66] Updated testing of cursor-hints. Remove the test_cursorhint.c file and associated logic in the core and do tests based purely on the newly enhanced EXPLAIN output. (check-in: [bf383e66] user: drh branch: cursor-hints, size: 220656)
15:05
[74561c2d] part of check-in [fc3fb5cd] Refactor the sqlite3BtreeCursorHint() interface for improved maintainability. (check-in: [fc3fb5cd] user: drh branch: cursor-hints, size: 220788)
2015-08-13
20:07
[eeef2e6e] 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: 220660)
2015-08-11
13:41
[6281c0f8] part of check-in [b09e3ea7] Add some extra timestamps to the experimental log output. (check-in: [b09e3ea7] user: dan branch: experimentalIoLog, size: 220194)
2015-08-10
20:22
[0f6fc42b] part of check-in [ac5d2e9d] Add the sqlite3_experimental_log_open() interface. This is for diagnostic use only and is not intended to ever go on trunk. (check-in: [ac5d2e9d] user: drh branch: experimentalIoLog, size: 220191)
2015-07-31
18:59
[2ab1decd] part of check-in [047d3475] Fix the sqlite3_stmt_busy() interface so that it always returns FALSE after the statement has returned SQLITE_DONE, even for ROLLBACK statements. Clarify the documentation. (check-in: [047d3475] user: drh branch: trunk, size: 219942)
2015-07-27
19:31
[fd683240] part of check-in [80794216] Add an experimental "BEGIN UNLOCKED" command. (check-in: [80794216] user: dan branch: begin-concurrent, size: 220578)
2015-07-24
22:21
[8dbffc35] part of check-in [0298a9a7] Merge test improvements and minor fixes from trunk. (check-in: [0298a9a7] user: drh branch: sessions, size: 221911)
15:49
[86be40a4] part of check-in [4e3e516a] More robust handling of zeroblob() with oversized arguments. Fix fuzzcheck so that it can be run with limited heap memory. (check-in: [4e3e516a] user: drh branch: trunk, size: 219954)
2015-06-30
16:29
[195b3231] 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: 221893)
01:25
[5ee4a2bf] part of check-in [ed54c14e] Convert several 5-year-old and older NEVER() macros into assert(). (check-in: [ed54c14e] user: drh branch: trunk, size: 219936)
2015-06-26
19:43
[3d5a78d3] part of check-in [b6bedc2e] Small size reduction and performance increase on the OP_IdxInsert opcode. (check-in: [b6bedc2e] user: drh branch: trunk, size: 220006)
18:47
[b425feab] part of check-in [eaddbf29] Further optimization of SQL function dispatch. Improvements to opcode documentation. (check-in: [eaddbf29] user: drh branch: trunk, size: 220020)
18:16
[8fde5281] 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: 219337)
13:31
[59295731] part of check-in [2f31bdd1] Cache the most recently sqlite3_context used by OP_Function and reuse it on subsequent calls, if appropriate. This gives a noticable performance boost. (check-in: [2f31bdd1] user: drh branch: function-ctx-cache, size: 216763)
2015-06-25
15:44
[60917660] part of check-in [924f4712] Merge all the latest enhancements from trunk. (check-in: [924f4712] user: drh branch: sessions, size: 218413)
2015-06-24
14:36
[3af2d06e] part of check-in [b41ef5d6] Fix the progress handler so that it does not fire too soon during an sqlite3_step() call other than the first. (check-in: [b41ef5d6] user: drh branch: trunk, size: 216456)
2015-06-17
18:18
[abef10c8] part of check-in [199bfb67] Merge all recent enhancements and fixes from trunk. (check-in: [199bfb67] user: drh branch: sessions, size: 218497)
2015-06-11
18:01
[c4fc60e1] part of check-in [c39cb0e2] Merge recent trunk enhancements and fixes. (check-in: [c39cb0e2] user: drh branch: sessions, size: 217858)
2015-06-05
15:59
[c9b8985d] 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: 216540)
2015-06-02
15:32
[0a6a1df5] part of check-in [bce3f041] Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. (check-in: [bce3f041] user: drh branch: blob-affinity-rename, size: 215901)
2015-05-21
17:24
[63f8f7b8] 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: 213189)
2015-05-20
19:53
[d4840634] part of check-in [4a08f6b8] Detect and report oversized records constructed from multiple zeroblobs. Cherrypick of [9e139afd9211]. (check-in: [4a08f6b8] user: dan branch: branch-3.8.6, size: 213450)
19:44
[93269669] part of check-in [4125477e] Ensure that comparison operators do not mess up the MEM_Dyn flag on registers when reverting affinity changes. Cherrypick of [02e3c88fbf6a]. (check-in: [4125477e] user: dan branch: branch-3.8.6, size: 213444)
2015-05-19
22:42
[e4b07dae] 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: 217858)
19:52
[163e045d] part of check-in [40f67265] Ensure that when the VM applies TEXT affinity to a value it discards any existing REAL or INTEGER value. Fix for [34cd55d6]. Increase the version number to 3.8.10.2. (check-in: [40f67265] user: drh branch: branch-3.8.10, size: 216565)
19:44
[6aee8a04] part of check-in [f5d0ce80] Ensure that when the VM applies TEXT affinity to a value it discards any existing REAL or INTEGER value. Fix for [34cd55d6]. (check-in: [f5d0ce80] user: dan branch: trunk, size: 215901)
2015-05-15
04:13
[8775967d] 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: 215861)
2015-05-07
12:29
[f3033cd2] part of check-in [0404ef88] Merge in the 3.8.10 release changes. (check-in: [0404ef88] user: drh branch: sessions, size: 218482)
2015-05-05
18:52
[d437887d] part of check-in [04afa3fe] Remove four lines of superfluous code identified by clang scan-build. (check-in: [04afa3fe] user: drh branch: trunk, size: 216525)
17:12
[9d202ac3] part of check-in [de7083cf] Merge all trunk enhancements and fixes into the sessions branch. (check-in: [de7083cf] user: drh branch: sessions, size: 218526)
2015-04-30
20:33
[ff9efff0] part of check-in [012a0c4e] Fix a harmless comment typo. (check-in: [012a0c4e] user: drh branch: trunk, size: 216569)
2015-04-28
14:00
[dca4bf7a] part of check-in [fbb06727] Fix sqlite3VdbeMakeWritable() to always clear the MEM_Ephem flag. Change the OP_Move opcode to always deephemeralize moved content. (check-in: [fbb06727] user: drh branch: trunk, size: 216567)
13:11
[f497a100] part of check-in [091cfe8e] Oops - the deephemerialization needs to occur before the move, not after. Was: Rather than try to keep track of the parent of an ephermeral register when the register moves, just deephemeralize all registers touched by the OP_Move opcode. (check-in: [091cfe8e] user: drh branch: mistake, size: 216430)
12:44
[74507905] part of check-in [add4e043] Shift the Mem.pScopyFrom pointer in the correct direction in OP_Move. Fix for a defective check-in [a2135ad13049] and ticket [d6352363751]. Debugging code only - does not affect normal operation. (check-in: [add4e043] user: drh branch: trunk, size: 216554)
2015-04-27
19:53
[519bff8a] part of check-in [ea5e0b74] Add fault-injection tests for the code in test_stat.c. (check-in: [ea5e0b74] user: dan branch: trunk, size: 216554)
2015-04-22
14:41
[4f4af723] part of check-in [658e20f5] Prototype for an sqlite3_db_log() interface. (check-in: [658e20f5] user: drh branch: sqlite3_db_log, size: 216543)
2015-04-20
01:32
[e8f00a2e] part of check-in [b8ef1cde] Merge all recent trunk enhancements and fixes into the sessions branch. (check-in: [b8ef1cde] user: drh branch: sessions, size: 218486)
01:25
[32e165d7] 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: 216563)
2015-04-18
16:25
[f0cf3cf5] part of check-in [e98d481d] Ensure that if a "ROLLBACK TO" statement is used to rollback (but not close) theoutermost transaction, the xRollbackTo() method of any virtual tables involved in the transaction is invoked. (check-in: [e98d481d] user: dan branch: trunk, size: 216529)
2015-04-16
17:31
[55650cb0] part of check-in [647495cf] Fix the VDBE so that it always uses the original opcode for profiling and debugging even after the pOp pointer has been updated due to a jump. (check-in: [647495cf] user: drh branch: trunk, size: 216503)
2015-04-15
14:14
[f3f2e466] part of check-in [e65e65f9] Merge all recent trunk fixes and enhancements into the sessions branch. (check-in: [e65e65f9] user: drh branch: sessions, size: 218220)
2015-04-13
23:11
[7b63a9df] part of check-in [e709d3b4] Merge all recent trunk enhances into the apple-osx branch. (check-in: [e709d3b4] user: drh branch: apple-osx, size: 216297)
21:39
[3f3afd12] part of check-in [d2f10c41] Omit the "pc" or "program counter" variable from the VDBE loop for 0.6% performance increase. (check-in: [d2f10c41] user: drh branch: trunk, size: 216263)
19:14
[584abb81] part of check-in [e29c7f2c] Remove the out2-prerelease VDBE opcode property and its associated code, for a 0.5% performance improvement. (check-in: [e29c7f2c] user: drh branch: trunk, size: 216007)
2015-04-12
01:33
[e09d0a77] part of check-in [5f14f34f] Merge all recent trunk enhancements into the sessions branch. (check-in: [5f14f34f] user: drh branch: sessions, size: 217716)
2015-04-11
18:45
[c4bd9691] part of check-in [cf7590f6] Merge latest trunk changes with this branch. (check-in: [cf7590f6] user: dan branch: sorter-opt, size: 215759)
02:08
[06cc2cf4] part of check-in [9e139afd] Detect and report oversized records constructed from multiple zeroblobs. (check-in: [9e139afd] user: drh branch: trunk, size: 215730)
2015-04-10
08:28
[3c28266d] part of check-in [08c0b19b] Update this branch with the latest changes from sorter-opt. (check-in: [08c0b19b] user: dan branch: insert-select-opt, size: 215935)
2015-04-01
18:22
[f6647e74] part of check-in [4621b2ee] Merge latest trunk changes with this branch. (check-in: [4621b2ee] user: dan branch: sorter-opt, size: 215753)
16:39
[503f4f93] part of check-in [aea439bd] Merge recent enhancements from trunk. (check-in: [aea439bd] user: drh branch: sessions, size: 217681)
16:18
[a9d916ab] part of check-in [592cdc5d] Reduce the CPU used by CREATE INDEX statements by taking better advantage of the fact that keys are inserted in sorted order. (check-in: [592cdc5d] user: dan branch: sorter-opt, size: 215361)
16:13
[f76aaab7] part of check-in [71b6f507] Merge all recent trunk fixes and enhancements into the apple-osx branch. (check-in: [71b6f507] user: drh branch: apple-osx, size: 215758)
2015-03-31
11:42
[86ae6f47] part of check-in [02e3c88f] Ensure that comparison operators do not mess up the MEM_Dyn flag on registers when reverting affinity changes. (check-in: [02e3c88f] user: drh branch: trunk, size: 215724)
2015-03-30
19:56
[03ed4b82] part of check-in [763d2bc7] Optimize CREATE INDEX, REINDEX and VACUUM statements by taking better advantage of the fact that index keys are being inserted into b-trees in sorted order. (check-in: [763d2bc7] user: dan branch: mistake, size: 215716)
2015-03-24
19:43
[5cb31321] part of check-in [3ccd64ef] Update this branch with latest trunk changes. (check-in: [3ccd64ef] user: dan branch: insert-select-opt, size: 215514)
19:02
[334c39a2] part of check-in [54aaa6f2] Merge all recent trunk enhancements into the sessions branch. (check-in: [54aaa6f2] user: drh branch: sessions, size: 217289)
18:49
[f2c63980] part of check-in [a2bd81e5] Merge the latest trunk enhancements into the apple-osx branch. (check-in: [a2bd81e5] user: drh branch: apple-osx, size: 215366)
14:05
[bbfede5a] 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: 215332)
13:32
[1524e1db] 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: 215214)
12:51
[884faa91] part of check-in [9faefb96] Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter. (check-in: [9faefb96] user: drh branch: nVDestroy, size: 215193)
2015-03-21
17:00
[9ece90df] part of check-in [9f1f8b33] Merge all recent trunk enhancements and especially the blocking WAL-lock fix into the apple-osx branch. (check-in: [9f1f8b33] user: drh branch: apple-osx, size: 215627)
15:04
[9976deed] part of check-in [9affe7f3] Merge latest trunk changes with this branch. (check-in: [9affe7f3] user: dan branch: insert-select-opt, size: 215775)
12:22
[bd793ed4] part of check-in [5fca41a3] Remove an unreachable branch from the OP_VCreate opcode. (check-in: [5fca41a3] user: drh branch: trunk, size: 215593)
07:16
[5d5bde86] part of check-in [35eef4dd] Merge recent trunk changes with this branch. (check-in: [35eef4dd] user: dan branch: insert-select-opt, size: 215539)
2015-03-20
20:30
[f50f3663] part of check-in [0a7f2051] Where possible insert the set of new keys for each index in sorted order within "INSERT INTO ... SELECT" statements. (check-in: [0a7f2051] user: dan branch: insert-select-opt, size: 214771)
16:34
[3d96875d] part of check-in [78df0ce1] Fix to get SQLITE_SMALL_STACK working correctly again after the previous change. (check-in: [78df0ce1] user: drh branch: seek-eq, size: 215357)
14:57
[64d8325a] part of check-in [e750830f] Provide the BTREE_SEEK_EQ hint to the b-tree layer. (check-in: [e750830f] user: drh branch: seek-eq, size: 215381)
2015-03-19
19:59
[b32dc2ef] part of check-in [9453e7da] Fix a crash that can occur following an OOM condition within a CREATE VIRTUAL TABLE statement on a utf-16 database. (check-in: [9453e7da] user: dan branch: malformed-vtab-name, size: 214589)
18:56
[33f8e0b1] part of check-in [9969cff2] Fix a problem with creating virtual table with names specified using malformed utf-8 within utf-16 databases. (check-in: [9969cff2] user: dan branch: malformed-vtab-name, size: 214525)
2015-03-17
18:54
[20dc93ea] part of check-in [1d1c57c3] Merge all recent trunk enhancements into the sessions branch. (check-in: [1d1c57c3] user: drh branch: sessions, size: 216176)
18:35
[61acaf6b] 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: 214253)
2015-03-12
05:08
[a2725107] part of check-in [08958f57] Improve the text on one of the opcode documentation comments in vdbe.c. (check-in: [08958f57] user: drh branch: trunk, size: 214219)
2015-03-09
13:18
[b817ad54] part of check-in [5e04eec8] Merge recent trunk enhancements into the apple-osx branch. (check-in: [5e04eec8] user: drh branch: apple-osx, size: 214241)
13:07
[e70e58bf] part of check-in [68c8937e] Merge recent trunk enhancements into the sessions branch. (check-in: [68c8937e] user: drh branch: sessions, size: 216164)
2015-03-07
00:57
[94cbc211] part of check-in [26cb5145] Refactor some jump opcodes in the VDBE. Add JumpZeroIncr and DecrJumpZero. Fix the LIKE optimization to work with DESC sort order. (check-in: [26cb5145] user: drh branch: like-opt-fix, size: 214207)
2015-03-06
20:49
[c9f4ad2c] part of check-in [6b993bd5] Test cases added. Comments fixed. Proposed solution for ticket [05f43be8fdda9fbd9]. (check-in: [6b993bd5] user: drh branch: like-opt-fix, size: 213156)
16:45
[6bee3b85] part of check-in [5757e803] The LIKE optimization must be applied twice, once for strings and a second time for BLOBs. Ticket [05f43be8fdda9f]. This check-in is a proof-of-concept of how that might be done. (check-in: [5757e803] user: drh branch: like-opt-fix, size: 213129)
2015-02-28
01:04
[991e9b2c] part of check-in [fc51037c] More test cases and requirements marks for pragmas. (check-in: [fc51037c] user: drh branch: trunk, size: 212668)
2015-01-29
15:53
[55f4db96] part of check-in [58cc257a] Improvements to the DELETE code generator for the one-pass case. Avoid some OP_Goto instructions. Read content from the index cursor if the index cursor is valid and was used to locate the row that is to be deleted. (check-in: [58cc257a] user: drh branch: one-writable-btree, size: 212400)
2015-01-16
12:24
[0fa93ce5] part of check-in [518621f8] Merge the 3.8.8 release changes from trunk. (check-in: [518621f8] user: drh branch: apple-osx, size: 212397)
2015-01-14
17:16
[d18d7bbe] part of check-in [0ba12454] Merge trunk 3.8.8 beta changes into the sessions branch (check-in: [0ba12454] user: drh branch: sessions, size: 214320)
2015-01-12
18:52
[ddfc9779] part of check-in [c8725fa5] Get things compiling cleanly with MSVC and W4. (check-in: [c8725fa5] user: mistachkin branch: msvcW4, size: 212363)
2014-12-04
23:42
[9f43973c] part of check-in [463ad971] Import from trunk support for SQLITE_CHECKPOINT_TRUNCATE and fixes for a couple of obscure bugs. (check-in: [463ad971] user: drh branch: apple-osx, size: 212383)
23:35
[c0221742] part of check-in [34ffa3b3] Incorporate the SQLITE_CHECKPOINT_TRUNCATE enhancement and a couple of obscure bug fixes from trunk. (check-in: [34ffa3b3] user: drh branch: sessions, size: 214306)
04:50
[1a9e671c] part of check-in [7475b90c] Add an implementation mark and fix a comment describing the OP_Checkpoint opcode. (check-in: [7475b90c] user: drh branch: trunk, size: 212349)
2014-12-02
19:04
[60217f3b] part of check-in [8e20a434] Add the SQLITE_CHECKPOINT_TRUNCATE option. (check-in: [8e20a434] user: dan branch: checkpoint-truncate, size: 212338)
16:38
[8a460939] 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: 212326)
16:31
[24e59021] part of check-in [2617d937] Merge all recent fixes and enhancements from trunk into sessions. (check-in: [2617d937] user: drh branch: sessions, size: 214249)
2014-11-20
02:18
[ec1f55ac] 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: 212292)
2014-11-19
14:31
[16914136] part of check-in [89b3c1c4] Completely remove an assert() that had previously been commented out. (check-in: [89b3c1c4] user: drh branch: trunk, size: 211878)
2014-11-18
21:27
[cb6dab39] part of check-in [ccb601f6] Merge recent trunk enhancements. (check-in: [ccb601f6] user: drh branch: apple-osx, size: 211991)
21:20
[ef0d4a46] 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: 213914)
20:49
[5563459c] part of check-in [296b0c73] Merge in all the other ROLLBACK fixes from the branch-3.8.7 branch. I don't know why I was doing them one-by-one. (check-in: [296b0c73] user: drh branch: trunk, size: 211957)
2014-11-17
19:44
[8bc291aa] part of check-in [2f2ecb99] Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state. Cherrypick of [54e7d3fcb1]. (check-in: [2f2ecb99] user: dan branch: branch-3.8.7, size: 211705)
19:42
[5d3991d7] part of check-in [54e7d3fc] Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state. (check-in: [54e7d3fc] user: dan branch: trunk, size: 211909)
17:13
[3e8f9787] part of check-in [34fc4a08] When a SELECT statement is terminated by a ROLLBACK TO operation, make the error message be "abort due to ROLLBACK" rather than "callback requested query abort". (check-in: [34fc4a08] user: drh branch: branch-3.8.7, size: 211633)
2014-11-13
13:42
[a6b60436] part of check-in [402780a9] When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation. Cherry-pick of check-in [dd03a2802f3f27] (check-in: [402780a9] user: drh branch: branch-3.8.7, size: 211585)
2014-11-12
14:56
[5e473088] part of check-in [dd03a280] When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation. (check-in: [dd03a280] user: dan branch: trunk, size: 211837)
14:07
[0b4ffa1a] part of check-in [e1017745] Make sure that NULL results from OP_Column are fully and completely NULL and do not have the MEM_Ephem bit set. Fix for ticket [094d39a4c95ee4]. (check-in: [e1017745] user: drh branch: branch-3.8.7, size: 211523)
2014-11-11
22:55
[4c77cdf1] part of check-in [d4b2d5d0] Enhance ROLLBACK so that pending queries are allowed to continue as long as the schema does not change. This is a cherry-pick of check-in [b5df5ac052]. (check-in: [d4b2d5d0] user: drh branch: branch-3.8.7, size: 211526)
01:33
[c71d819b] part of check-in [fa6e6a9a] Experimental changes that permit read operations to continue after a ROLLBACK, as long as the schema is unchanged. (check-in: [fa6e6a9a] user: drh branch: read-after-rollback, size: 211775)
2014-11-07
14:41
[d5dab222] part of check-in [ecbccd0e] Add new test file e_blobopen.test, containing tests for sqlite3_blob_open(). (check-in: [ecbccd0e] user: dan branch: trunk, size: 211616)
2014-11-05
15:57
[3fd4ebd3] part of check-in [42705fd7] Make sure that NULL results from OP_Column are fully and completely NULL and do not have the MEM_Ephem bit set. Fix for ticket [094d39a4c95ee4]. (check-in: [42705fd7] user: drh branch: trunk, size: 211593)
2014-11-03
15:33
[175a360c] 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: 211596)
2014-11-01
21:00
[ccc626d7] part of check-in [f13d6ba8] Minor performance enhancements to SQLITE_ENABLE_STMT_SCANSTATUS code. (check-in: [f13d6ba8] user: dan branch: scanstatus, size: 211508)
20:38
[69d02573] 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: 211462)
18:08
[5240bad2] part of check-in [8d8cc960] Minor fixes and documentation improvements for sqlite3_stmt_scanstatus(). (check-in: [8d8cc960] user: dan branch: scanstatus, size: 212622)
2014-10-31
20:11
[80329be8] part of check-in [6a9bab34] Add the experimental sqlite3_stmt_scanstatus() API. (check-in: [6a9bab34] user: dan branch: scanstatus, size: 212534)
15:20
[d9245b3b] part of check-in [fef8430f] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [fef8430f] user: drh branch: apple-osx, size: 211439)
14:53
[407f16f5] 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: 213362)
2014-10-29
01:13
[5a1afb57] part of check-in [304ea6ba] In the OP_Column opcode, when extracting a field that is past the end of a short record (because the row was originally inserted prior to ALTER TABLE ADD COLUMN) then make sure the output register is fully NULL and does not contain leftover flags (such as MEM_Ephem) from its previous use. Fix for ticket [43107840f1c02]. This is a cherrypick of check-in [24780f8ddc1683fc]. (check-in: [304ea6ba] user: drh branch: branch-3.8.7, size: 211367)
00:58
[49e659bc] part of check-in [24780f8d] In the OP_Column opcode, when extracting a field that is past the end of a short record (because the row was originally inserted prior to ALTER TABLE ADD COLUMN) then make sure the output register is fully NULL and does not contain leftover flags (such as MEM_Ephem) from its previous use. Fix for ticket [43107840f1c02]. (check-in: [24780f8d] user: drh branch: trunk, size: 211405)
2014-10-28
18:24
[1b7e8cca] 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: 211408)
2014-10-23
17:26
[5acb0a03] 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: 211482)
2014-10-14
14:17
[678170cc] 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: 211404)
13:41
[a1465183] 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: 213327)
2014-10-13
23:39
[5ee15a66] part of check-in [005e5b38] Optimize a database corruption test inside of the OP_Column opcode. (check-in: [005e5b38] user: drh branch: trunk, size: 211370)
20:12
[8755e3bb] part of check-in [4b3b65ee] Use the padding word in the Mem object as temporary storage for serial_type value in OP_Record, and thus avoid a redundant computation of the serial_type for each column. (check-in: [4b3b65ee] user: drh branch: trunk, size: 211302)
16:02
[cf7c24e5] 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: 211317)
13:00
[6e07ea13] part of check-in [20062f49] Remove the OPFLAG_CLEARCACHE flag from OP_Column. In its place, change the P3 parameter of OP_SorterData to be the index of the pseudo-table cursor whose record header cache is to be cleared. This gives a small size reduction and performance increase. (check-in: [20062f49] user: drh branch: trunk, size: 210919)
12:30
[124df37e] part of check-in [134e65c0] Use OP_SorterColumns in aggregate queries. Remove OPFLAG_CLEARCACHE. (check-in: [134e65c0] user: drh branch: OP_SorterColumns, size: 211966)
01:23
[5ffd7b18] part of check-in [b9c695e8] Add the OP_SorterColumns opcode - an experiment in using a special case opcode to decode the Sorter output rather than the generic OP_Column. This might be faster. And with further work, it could eventually eliminate the need for OP_OpenPseudo. (check-in: [b9c695e8] user: drh branch: OP_SorterColumns, size: 212333)
2014-10-12
22:37
[97c6c50e] 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: 210426)
2014-10-11
23:31
[58c19340] part of check-in [869c30e4] Performance optimization and very slight size reduction for OP_Column. (check-in: [869c30e4] user: drh branch: trunk, size: 211075)
2014-10-10
12:56
[10880af9] part of check-in [abfef254] Merge all recent trunk changes. (check-in: [abfef254] user: drh branch: sessions, size: 212729)
2014-10-09
11:27
[30f8ae7e] part of check-in [6fc72077] Merge the latest trunk enhancements into the apple-osx branch. (check-in: [6fc72077] user: drh branch: apple-osx, size: 210764)
2014-10-08
14:28
[fee8286f] part of check-in [dff0f642] Set the connection-specific lastRowid value before calling any SQL function. (check-in: [dff0f642] user: drh branch: trunk, size: 210730)
2014-10-07
23:02
[e6c96410] part of check-in [f672a380] Make sure the sqlite3VdbeMemClearAndResize() routine is never called with a zero size parameter, since a size of zero could lead to either a memory leak or an assertion fault. (check-in: [f672a380] user: drh branch: trunk, size: 210739)
2014-10-01
01:46
[47806912] part of check-in [2078454a] Merge the latest enhancements from trunk. (check-in: [2078454a] user: drh branch: apple-osx, size: 210745)
2014-09-29
18:47
[89636b00] 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: 211806)
2014-09-27
19:51
[a96171a2] part of check-in [497367cb] Merge recent trunk changes (performance enhancements) into the sessions branch. (check-in: [497367cb] user: drh branch: sessions, size: 212710)
2014-09-26
18:30
[93eeb6f9] part of check-in [d026f0c9] Add an assert() to verify the last-row-id for the database just prior to calling a SQL function. (check-in: [d026f0c9] user: mistachkin branch: trunk, size: 210711)
01:10
[91b7e12b] part of check-in [e93aecc0] If an SQL function makes a recursive call to do an INSERT into the same database, make sure that the last_insert_rowid() for that INSERT is recorded. (check-in: [e93aecc0] user: drh branch: trunk, size: 210673)
2014-09-25
17:42
[e4df7191] part of check-in [baeb72a3] Minor code reformatting and comment change, to improve clarity. No logic changes. (check-in: [baeb72a3] user: drh branch: trunk, size: 210600)
13:17
[73eace75] part of check-in [3467049a] Simplifications to the SQL function and aggregate calling procedures. (check-in: [3467049a] user: drh branch: trunk, size: 210566)
12:31
[9fe630d0] part of check-in [1330c72e] Simplification to the random rowid picking logic that begins running when the maximum possible rowid has already been used. (check-in: [1330c72e] user: drh branch: trunk, size: 211008)
2014-09-24
19:47
[23db9b11] part of check-in [99323552] Have each open database allocate its pTmpSpace when the first write cursor is opened, rather than on each insert or delete, for a small space savings and performance boost. (check-in: [99323552] user: drh branch: trunk, size: 211433)
2014-09-21
23:08
[cdeb9273] part of check-in [3967ebe8] Merge in all recent changes from trunk. (check-in: [3967ebe8] user: drh branch: apple-osx, size: 211620)
22:49
[5e6d4ef3] part of check-in [6406b77f] Merge all recent trunk changes into the sessions branch. (check-in: [6406b77f] user: drh branch: sessions, size: 213585)
2014-09-19
22:44
[de1af179] part of check-in [544664ca] Simplify two conditionals and add testcase() macros to the affinity transform logic in the comparison operators. (check-in: [544664ca] user: drh branch: trunk, size: 211586)
22:01
[16efd1ae] part of check-in [e996ca32] Tighten the conditions under which applyNumericAffinity() be called and add assert() statements to prove that it is never called otherwise. (check-in: [e996ca32] user: drh branch: trunk, size: 211440)
16:56
[c90b7ebe] part of check-in [6199760d] Remove a local variable from the OP_Column implementation, resulting in a modest size reduction and a performance increase. (check-in: [6199760d] user: drh branch: trunk, size: 211426)
15:28
[9f2a0a2d] part of check-in [36b613cc] The OP_Column opcode runs faster and is smaller by manually in-lining the code that persists string values in the output register. (check-in: [36b613cc] user: drh branch: trunk, size: 211466)
00:43
[7bc115e5] 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: 210899)
2014-09-18
21:25
[fb490f5b] 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: 210868)
17:52
[17f285ff] 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: 211035)
16:28
[b00ffadc] part of check-in [d7afdcba] Performance improvement for affinity transformations on comparison operators. (check-in: [d7afdcba] user: drh branch: trunk, size: 210965)
14:36
[2caa3b1e] part of check-in [4ef4c9a7] Since numeric affinity is the most common case, check it first. Interchange the NONE and TEXT affinity codes for easier checking of no affinity. (check-in: [4ef4c9a7] user: drh branch: trunk, size: 210484)
2014-09-17
23:37
[78606777] part of check-in [14052a7d] Performance improvement and slight size reduction to the comparison operators in the VDBE. (check-in: [14052a7d] user: drh branch: micro-optimizations, size: 210464)
16:41
[d3c548ad] 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: 210388)
14:52
[d3948778] part of check-in [4e437844] Improved interface to the Mem object handling. Small size reduction and performance increase. (check-in: [4e437844] user: drh branch: micro-optimizations, size: 210455)
2014-09-16
20:05
[6a45baf8] 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: 210391)
18:22
[ff1b0b4f] part of check-in [f7367803] Simplification of the OP_Column logic for the case of rows with overflow. (check-in: [f7367803] user: drh branch: micro-optimizations, size: 210393)
14:55
[ae07ee84] 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: 210990)
2014-09-08
15:04
[16b7d573] part of check-in [c2885c6b] Merge support for large files on Android from trunk. (check-in: [c2885c6b] user: drh branch: sessions, size: 212993)
2014-09-06
16:39
[9a45dcbc] part of check-in [e62aab5e] Fix typos in comments. No code changes. (check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 210994)
2014-09-02
15:57
[0c353a88] part of check-in [696dc935] Merge the latest trunk changes into the apple-osx branch. (check-in: [696dc935] user: drh branch: apple-osx, size: 211027)
15:49
[591bd4a8] 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: 212992)
2014-08-29
14:40
[90db7ad7] part of check-in [35c44a3c] Merge recent performance enhancements from trunk onto the threads branch. (check-in: [35c44a3c] user: drh branch: threads, size: 210993)
11:24
[a15dea6a] 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: 210350)
2014-08-27
17:53
[fd193824] part of check-in [029a6dc7] Add a VDBE synopsis comment for clarification. (check-in: [029a6dc7] user: mistachkin branch: trunk, size: 210323)
14:14
[8b663842] part of check-in [6c1ee3e3] In the sqlite3_context object, keep a pointer to the result value rather than storing the result value in the sqlite3_context object and using memcpy() to move the value back into its register after the function returns. This runs faster and saves over 500 bytes of code space. (check-in: [6c1ee3e3] user: drh branch: trunk, size: 210294)
2014-08-26
02:15
[5e576d16] 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: 213710)
02:02
[4a9e8ed7] 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: 211745)
2014-08-25
22:43
[5d6a6ad6] part of check-in [6c8f86e4] Merge the CAST operator enhancements from trunk. (check-in: [6c8f86e4] user: drh branch: threads, size: 212381)
22:37
[2f8fbc52] part of check-in [af364cce] Add an assert() and five testcase() macros to the OP_Cast opcode implementation to help verify that it is fully tested. (check-in: [af364cce] user: drh branch: trunk, size: 211711)
20:11
[2b3420d2] part of check-in [91d8a8d0] Allow CAST expressions and unary "+" operators to be used in the DEFAULT argument of an ALTER TABLE ADD COLUMN and to be understand on the RHS of range constraints interpreted by STAT3/4. This involves a rewrite of the implementation of the CAST operator. (check-in: [91d8a8d0] user: drh branch: trunk, size: 211439)
13:27
[93cf510b] 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: 214843)
11:20
[0fe4b476] part of check-in [3ca5846d] Change the name of the VdbeMemRelease() macro to VdbeMemReleaseExtern() to more accurately reflect what it does. Performance enhancement to the sqlite3VdbeMemRelease() function. (check-in: [3ca5846d] user: drh branch: trunk, size: 214173)
2014-08-23
17:41
[52ee5d58] part of check-in [0c0a6039] Improved performance in the type handling of arithmetic operators in the VDBE. (check-in: [0c0a6039] user: drh branch: trunk, size: 214149)
17:21
[76f9fc30] part of check-in [25f2246b] Performance optimization in the applyAffinity() logic inside the VDBE. (check-in: [25f2246b] user: drh branch: trunk, size: 213734)
2014-08-15
15:10
[ff9bec31] part of check-in [2acbeac1] Update the sessions branch for version 3.8.6. (check-in: [2acbeac1] user: drh branch: sessions, size: 215185)
2014-08-14
14:02
[aae4addd] part of check-in [a608fd1d] Merge the pre-3.8.6 changes into the threads branch. (check-in: [a608fd1d] user: drh branch: threads, size: 213862)
13:39
[91552c6f] 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: 213220)
13:06
[f7f4066e] part of check-in [13a2d90a] Fix typos in comments used to help generate documentation. No changes to code. (check-in: [13a2d90a] user: drh branch: trunk, size: 213186)
2014-08-13
14:43
[b23574ed] 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: 215183)
2014-08-06
17:49
[cd8d7e3e] part of check-in [a2a60307] Fix two more harmless compiler warnings. Make sure the fts3_unicode2.c file is in sync with mkunicode.tcl. (check-in: [a2a60307] user: drh branch: trunk, size: 213184)
02:03
[787d1b51] part of check-in [a353a851] Merge all recent changes from trunk. (check-in: [a353a851] user: drh branch: threads, size: 213855)
01:51
[bd3bc4d3] part of check-in [b2e01080] Merge 3.8.6 beta changes in from trunk. (check-in: [b2e01080] user: drh branch: apple-osx, size: 213213)
01:25
[54fa84fd] part of check-in [68a6d5e2] Merge the latest 3.8.6 beta changes from trunk. (check-in: [68a6d5e2] user: drh branch: sessions, size: 215178)
01:08
[2db817cf] part of check-in [717245d4] Fix typos in the opcode documentation. Comment changes only. No changes to code. (check-in: [717245d4] user: drh branch: trunk, size: 213179)
2014-08-05
00:53
[aa93cf7a] part of check-in [01f60027] Improved VdbeCoverage() macros. A few minor simplifications to generated VDBE code. (check-in: [01f60027] user: drh branch: IN-operator-improvements, size: 213187)
2014-08-04
15:12
[83ddbf84] part of check-in [2f724cba] Changed my mind: This opcode name changes mere creates unnecessary diff marks between older and newer versions without significantly improving readability. Was: Rename the IsNull opcode to IfNull and rename the NotNull opcode to IfNotNull. (check-in: [2f724cba] user: drh branch: deadend, size: 213010)
2014-08-01
18:00
[b9e6866e] part of check-in [c11e55fa] Remove an unnecessary OP_Null in the IN-operator logic. Attempt to clarify comments explaining the IN-operator code, though it is not clear that the comments are correct even yet - more work to be done. (check-in: [c11e55fa] user: drh branch: trunk, size: 213006)
01:40
[115e0883] part of check-in [9abcf269] Enhance the PRAGMA integrity_check command to detect UNIQUE and NOT NULL constraint violations. (check-in: [9abcf269] user: drh branch: trunk, size: 212978)
2014-07-30
14:57
[4faacd47] part of check-in [fa791232] Merge in the CREATE UNIQUE INDEX fix of ticket [9a6daf340df99ba93c53bcf]. (check-in: [fa791232] user: drh branch: apple-osx, size: 212991)
14:44
[e27749e6] part of check-in [5b50a838] Merge recent trunk changes, and especially the fix for the CREATE UNIQUE INDEX problem of ticket [9a6daf340df99ba9]. (check-in: [5b50a838] user: drh branch: threads, size: 213633)
14:29
[79cd8443] part of check-in [43401ee6] Merge the fix for the CREATE UNIQUE INDEX problem into the sessions branch. (check-in: [43401ee6] user: drh branch: sessions, size: 214956)
13:56
[f87f77b0] part of check-in [6b785e92] Ensure that the correct number of columns in a UNIQUE index are checked for uniqueness, regardless of whether or not the original table has a ROWID or if the columns are NOT NULL, etc. Ticket [9a6daf340df99ba93c]. (check-in: [6b785e92] user: drh branch: trunk, size: 212957)
11:49
[d05d3d0e] 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: 212988)
2014-07-29
12:40
[3d195314] 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: 214953)
2014-07-28
15:01
[c28f377d] part of check-in [163c247b] Merge recent trunk changes into the threads branch. (check-in: [163c247b] user: drh branch: threads, size: 213630)
2014-07-26
20:12
[b127f05f] part of check-in [5350229b] Remove an unreachable branch from the sqlite3_value_numeric_type() interface. (check-in: [5350229b] user: drh branch: trunk, size: 212954)
16:47
[145f909c] part of check-in [413d7287] Avoid unnecessary no-op calls to applyNumericAffinity() for a small performance improvement. (check-in: [413d7287] user: drh branch: trunk, size: 212954)
2014-07-25
18:37
[b7af8613] part of check-in [2d32e487] Improved comments on VDBE opcodes, for better documentation. No code or logic changes. (check-in: [2d32e487] user: drh branch: trunk, size: 212926)
18:01
[c6a9094a] part of check-in [2230c74f] Add constraints (enforced only when SQLITE_DEBUG is enabled) on the use of OP_Next and OP_Prev. (check-in: [2230c74f] user: drh branch: trunk, size: 212541)
2014-07-24
16:54
[7ba7cc29] part of check-in [77068589] Merge all recent trunk changes into the threads branch. (check-in: [77068589] user: drh branch: threads, size: 210293)
16:43
[2e38a1a2] part of check-in [3810dc62] Merge recent trunk changes into the apple-osx branch. (check-in: [3810dc62] user: drh branch: apple-osx, size: 209651)
16:23
[7224ed5d] part of check-in [a9db017e] Merge recent trunk changes into the sessions branch. (check-in: [a9db017e] user: drh branch: sessions, size: 211616)
2014-07-22
20:02
[fa74c656] part of check-in [77f412ca] Add the OP_ReopenIdx opcode that works like OP_OpenRead except that it becomes a no-op if the cursor is already open on the same index. Update the OR-optimization logic to make use of OP_ReopenIdx in order to avoid unnecessary cursor open requests sent to the B-Tree layer. (check-in: [77f412ca] user: drh branch: trunk, size: 209617)
14:58
[2f3f0582] part of check-in [ca2a5a2c] Enhance the sqlite_stat1.stat parsing to allow additional text parameters at the end. Unrecognized parameters are silently ignored. (check-in: [ca2a5a2c] user: drh branch: trunk, size: 208521)
2014-07-21
15:44
[514adcc9] 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: 208437)
2014-07-15
11:59
[54e269c6] part of check-in [1efa6ed5] Add simple tests for new sqlite3BtreeCursorHint() functionality. (check-in: [1efa6ed5] user: dan branch: cursor-hints, size: 204964)
2014-05-29
20:36
[91564992] part of check-in [b9fad449] Merge trunk changes into the apple-osx branch. (check-in: [b9fad449] user: drh branch: apple-osx, size: 208571)
20:29
[62f98559] part of check-in [9f18e78f] Merge trunk changes into the sessions branch. (check-in: [9f18e78f] user: drh branch: sessions, size: 210536)
20:24
[1dff86d8] part of check-in [416cb091] Merge changes from the trunk into the threads branch. (check-in: [416cb091] user: drh branch: threads, size: 209213)
2014-05-27
10:57
[9bfe6bec] part of check-in [994b2b7a] Fix for (unsupported) SQLITE_USE_FCNTL_TRACE code. (check-in: [994b2b7a] user: drh branch: trunk, size: 208537)
2014-05-26
20:15
[d4f57833] part of check-in [82152027] Merge recent trunk changes into the threads branch. (check-in: [82152027] user: drh branch: threads, size: 209212)
20:08
[52358722] part of check-in [54b5fa77] Merge recent trunk changes into the apple-osx branch. (check-in: [54b5fa77] user: drh branch: apple-osx, size: 208570)
20:00
[79b08ff9] part of check-in [a769c7e0] Merge recent trunk changes into the sessions branch. (check-in: [a769c7e0] user: drh branch: sessions, size: 210535)
2014-05-24
17:15
[3ebcbe6a] part of check-in [ebfb51fe] Remove references in comments to VDBE opcodes that no longer exist. This is a documentation change only; no changes to code. (check-in: [ebfb51fe] user: drh branch: trunk, size: 208536)
2014-05-20
00:20
[9811665a] part of check-in [2d33afe0] Merge recent trunk changes into the sessions branch. (check-in: [2d33afe0] user: drh branch: sessions, size: 210575)
2014-05-19
15:16
[0510ef1e] 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: 208596)
2014-05-16
20:24
[4d11273a] part of check-in [17afd770] Rearrange some conditionals and add #if statements to make the code more testable. (check-in: [17afd770] user: drh branch: threads, size: 209252)
2014-05-08
23:01
[0c647813] 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: 208610)
2014-05-02
18:05
[89ab2ded] part of check-in [d9549de3] Merge orderby-planning with this branch. (check-in: [d9549de3] user: dan branch: threads, size: 209245)
13:09
[b3510cc7] part of check-in [84862d3a] Merge latest trunk enhancements and fixes into the orderby-planning branch. (check-in: [84862d3a] user: drh branch: orderby-planning, size: 209037)
2014-05-01
20:26
[7f359193] part of check-in [427409ae] Fix an obscure problem to do with temp register allocation that could occur if more than one simple SELECT within a compound SELECT uses a partial sort. (check-in: [427409ae] user: dan branch: trunk, size: 208576)
2014-04-28
18:02
[d6038559] part of check-in [e158812c] Merge all recent trunk enhancements and fixes into the sessions branch. (check-in: [e158812c] user: drh branch: sessions, size: 210520)
2014-04-25
12:35
[699693be] part of check-in [4e88042f] When VDBE_PROFILE is enabled, ignore negative opcode times, which sometimes occur, perhaps due to context swaps. (check-in: [4e88042f] user: drh branch: trunk, size: 208521)
2014-04-24
15:06
[59ad2f4c] part of check-in [6077ddcd] Reopen the orderby-planning branch and merge in the latest trunk enhancements and fixes. (check-in: [6077ddcd] user: drh branch: orderby-planning, size: 208962)
2014-04-18
13:40
[b50cd300] part of check-in [f8f72ecb] Fix harmless compiler warnings. (check-in: [f8f72ecb] user: drh branch: threads, size: 209170)
12:38
[cba6c791] part of check-in [8729aa3e] Merge recent trunk changes into the threads branch. (check-in: [8729aa3e] user: drh branch: threads, size: 209167)
01:10
[9d883d5c] part of check-in [95e77efe] Merge recent trunk changes into sessions. (check-in: [95e77efe] user: drh branch: sessions, size: 210500)
2014-04-10
02:24
[bf284ede] part of check-in [a67b5312] Modify the OR-clause handling so that it can safely deal with OR-clause with 17 or more terms. Fix for ticket [10fb063b1179be53ea0b53bb]. (check-in: [a67b5312] user: drh branch: trunk, size: 208501)
2014-04-03
16:42
[9f3d1b35] part of check-in [a0910079] Merge all recent changes from trunk. (check-in: [a0910079] user: drh branch: threads, size: 209259)
16:35
[47bdf5f8] 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: 210592)
14:31
[e811a008] part of check-in [48ecdd4a] Fix a typo in the "Synopsis:" comment for the OP_VFilter opcode. (check-in: [48ecdd4a] user: drh branch: trunk, size: 208593)
2014-04-01
18:41
[eed22300] part of check-in [821d1ac4] When sorting data for a CREATE INDEX statement in single-threaded mode, assume that keys are delivered to the sorter in primary key order. Also fix various comments that had fallen out of date. (check-in: [821d1ac4] user: dan branch: threads, size: 209259)
2014-03-26
19:43
[99f878d0] 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: 210592)
2014-03-25
18:29
[02f2de0b] part of check-in [e005f2d6] Merge enhancements and fixes from trunk. (check-in: [e005f2d6] user: drh branch: orderby-planning, size: 209054)
15:04
[42177064] part of check-in [c3ae3697] Remove the sequence values from sorter records used by ORDER BY as well. (check-in: [c3ae3697] user: dan branch: orderby-planning, size: 208334)
2014-03-24
15:00
[74c7386e] part of check-in [221f8f94] Fix arithmetic operators so that they do not change the affinity of their input operands. Ticket [a8a0d2996a]. (check-in: [221f8f94] user: drh branch: trunk, size: 208593)
2014-03-23
16:29
[5c0feeb6] part of check-in [641408a1] Avoid a possible use of an uninitialized variable following an I/O or OOM error. (check-in: [641408a1] user: drh branch: trunk, size: 207873)
2014-03-19
17:41
[37cfae03] part of check-in [7ce2daaf] Make it possible for block-sort to use the OP_SorterOpen sorter in addition to a generic OP_OpenEphemeral. (check-in: [7ce2daaf] user: drh branch: orderby-planning, size: 207862)
14:10
[e0fe9394] 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: 207683)
2014-03-06
13:48
[a088d168] part of check-in [1ed463d9] Merge the latest 3.8.4 tweaks from trunk. (check-in: [1ed463d9] user: drh branch: sessions, size: 209184)
13:38
[5f0fffa9] part of check-in [0a4200f9] Improved EXPLAIN indentation of a loop in the ANALYZE logic for STAT4. Mark the not-found jump of a seek operation in that loop as never taken. (check-in: [0a4200f9] user: drh branch: trunk, size: 207185)
01:56
[b2ca9b8e] 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: 206902)
2014-03-05
14:49
[ccddf62b] 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: 208897)
01:29
[8c6fc7bb] part of check-in [bac2820e] Experimental simplification of memory flags/type handling. (check-in: [bac2820e] user: mistachkin branch: noMemType, size: 206898)
2014-03-04
14:34
[69e2bd96] 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: 209117)
2014-03-03
14:45
[75c3f5d2] part of check-in [e00ed717] Merge latest trunk changes. (check-in: [e00ed717] user: dan branch: experimental, size: 207118)
2014-03-01
18:13
[cbed4957] 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: 207253)
16:24
[9abaa1eb] 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: 207227)
14:45
[e9eda47b] 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: 207151)
2014-02-25
21:01
[ab910206] 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: 206853)
2014-02-24
14:24
[6c8f2891] 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: 206988)
2014-02-20
19:42
[c5ff7b38] part of check-in [b46d4e89] Fix the text of a comment used to generate VDBE opcode documentation so that it omits symbols that can be mistaken for a hyperlink by the parser. (check-in: [b46d4e89] user: drh branch: trunk, size: 207191)
2014-02-19
19:14
[b82ffb8c] part of check-in [c1e94169] Add the VdbeCoverageNeverTaken() macro, and comments that better describe how the VDBE branch coverage measurement works. Add some tags to provide 100% VDBE branch coverage. (check-in: [c1e94169] user: drh branch: trunk, size: 207191)
14:20
[16c220ae] part of check-in [d2c047f3] Add the SQLITE_NOTNULL P5 code for comparison operations - really a composite of SQLITE_NULLEQ and SQLITE_JUMPIFNULL. This flag indicates that NULL operands are not possible and raises and assert() if NULL operands are seen. Also omit an unnecessary scan of the sqlite_sequence table when writing into an AUTOINCREMENT table. (check-in: [d2c047f3] user: drh branch: trunk, size: 206514)
2014-02-18
11:31
[6e3d5d4c] part of check-in [b287520c] Fix VDBE branch accounting on comparison operators. (check-in: [b287520c] user: drh branch: trunk, size: 206488)
2014-02-17
22:40
[392f03b2] 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: 206492)
14:59
[e3ba6ad0] part of check-in [35b4d6e9] Avoid unnecessary calls to applyAffinity() during INSERT and UPDATE operations, especially for table that have indices and tables for which all columns have affinity "NONE". (check-in: [35b4d6e9] user: drh branch: insert-optimization, size: 204946)
2014-02-16
01:55
[7b74ce68] part of check-in [aa2d8b0e] Enhance the code generator for INSERT INTO ... SELECT so that the SELECT generates output directly in the registers that INSERT INTO will be using, in many cases, and OP_SCopy operations can thus be avoided. (check-in: [aa2d8b0e] user: drh branch: insert-optimization, size: 204921)
2014-02-14
15:13
[543ed4ed] part of check-in [b6bea903] Add OP_IdxGT and OP_IdxLE as distinct opcodes. Formerly these operations where done using OP_IdxGE and OP_IdxLT with the P5 flag set. But VDBE code is easier to read with distinct opcode names. Also change OP_SeekGe to OP_SeekGE, and so forth, so that the capitalization is consistent. The whole point of this change is to improve the readability of VDBE listings. (check-in: [b6bea903] user: drh branch: trunk, size: 204551)
2014-02-12
21:31
[3f0872b1] part of check-in [56bc5ce8] Remove the "rowid cache" that sought to remember the largest rowid for a table and thereby speed up OP_NewRowid. That cache was ineffective. Removing it results in a performance increase of 0.4%, less memory usage, and a slightly smaller library size. (check-in: [56bc5ce8] user: drh branch: trunk, size: 203662)
2014-02-11
04:30
[8b389fc5] 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: 205987)
2014-02-10
15:56
[e5c87476] part of check-in [0dfa7ee9] Improvements to a "Synopsis:" comment in the VDBE engine. (check-in: [0dfa7ee9] user: drh branch: trunk, size: 203988)
03:21
[66c3e5c4] part of check-in [5708bc24] Faster and smaller implementation of sqlite3_value_type(). (check-in: [5708bc24] user: drh branch: trunk, size: 203988)
2014-02-08
23:20
[78b41fd0] part of check-in [1e64dd78] Do away with the "multi-register pseudo-table" abstration. Instead, just use an OP_SCopy to load results directory from the result registers of the co-routine. (check-in: [1e64dd78] user: drh branch: trunk, size: 204518)
19:12
[a5556442] part of check-in [e2303d1b] Change the OP_Found opcode so that it expands zero-blobs prior to comparing them. Fix for ticket [fccbde530a6583b] (check-in: [e2303d1b] user: drh branch: trunk, size: 204795)
01:40
[0944fe28] 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: 204790)
2014-02-07
19:18
[e7bb0587] part of check-in [a522f364] Change the OP_InitCoroutine instruction to jump over the co-routine implementation. (check-in: [a522f364] user: drh branch: coroutine-refactor, size: 204480)
18:27
[10ddcf5f] part of check-in [1ec0e9dd] Get rid of the OP_Undef and OP_IsUndef opcodes in favor of higher-level OP_InitCoroutine and OP_EndCoroutine. (check-in: [1ec0e9dd] user: drh branch: coroutine-refactor, size: 204313)
13:20
[8697f15a] 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: 203616)
03:28
[575189ca] part of check-in [be24fbc2] More comment updates. No changes to code. (check-in: [be24fbc2] user: mistachkin branch: trunk, size: 203116)
02:29
[962cb7aa] part of check-in [1122b410] Update comments in vdbe.c. No changes to code. (check-in: [1122b410] user: drh branch: trunk, size: 203098)
2014-02-06
23:56
[5e3a494f] part of check-in [2f3376eb] Delete the OP_VerifySchema opcode. Enhance OP_Transaction to do the schema version checks that OP_VerifySchema used to do. (check-in: [2f3376eb] user: drh branch: trunk, size: 204823)
2014-02-05
18:15
[2e46c464] part of check-in [2997e181] Use a new opcode, OP_OpenHash, to indicate that ephemeral tables can be unordered, rather than using the BTREE_UNORDERED bit in the P5 field. (check-in: [2997e181] user: drh branch: subquery-codegen-refactor, size: 205289)
17:08
[361f6e55] part of check-in [a332908b] Make the root page of an ephemeral index be page 1 instead of page 2. (check-in: [a332908b] user: drh branch: subquery-codegen-refactor, size: 204978)
2014-02-03
14:04
[e703913e] part of check-in [6c643e45] Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. (check-in: [6c643e45] user: drh branch: trunk, size: 205406)
2014-01-28
18:06
[7b5d45ba] part of check-in [7b5f3773] Bring in the latest updates from trunk. (check-in: [7b5f3773] user: drh branch: sessions, size: 206812)
00:49
[73d27c70] part of check-in [a2c347fa] Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. (check-in: [a2c347fa] user: drh branch: branch-3.8.2, size: 204839)
2014-01-24
22:58
[5fe94e13] part of check-in [87bf6063] Fixes for various clang warnings. (check-in: [87bf6063] user: drh branch: trunk, size: 204813)
14:05
[c41493ca] 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: 206809)
2014-01-21
22:25
[dede894c] part of check-in [b2671e11] Change the recursive common table expression algorithm to use a queue instead of a pair of tables. Runs about 25% faster on the sudoku solver query. The OP_SwapCursors opcode is no longer required. The current implementation uses just a fifo, but the plan is to change it into a queue that will support ORDER BY and LIMIT in a recursive query. (check-in: [b2671e11] user: drh branch: cte-via-queue, size: 204810)
2014-01-18
15:22
[98d96d04] part of check-in [2ad4583c] Add asserts() for a couple of unreachable conditions. Add the Mandelbrot Set query as a test case. (check-in: [2ad4583c] user: drh branch: trunk, size: 205655)
2014-01-16
18:34
[ccc8594e] part of check-in [a296b733] Allow only a single recursive reference in a recursive CTE. Also require that this reference is not part of a sub-query. (check-in: [a296b733] user: dan branch: common-table-expr, size: 205645)
2014-01-15
19:42
[b06d7995] part of check-in [3908e2ea] Fixes so that SQLITE_OMIT_CTE builds work. (check-in: [3908e2ea] user: dan branch: common-table-expr, size: 206284)
2014-01-14
20:14
[9b918126] part of check-in [a5c2a54a] Add code to handle recursive CTEs. (check-in: [a5c2a54a] user: dan branch: common-table-expr, size: 206224)
2013-12-24
12:09
[ad89fac3] part of check-in [cfd110bf] Merge the latest trunk changes into the sessions branch. (check-in: [cfd110bf] user: drh branch: sessions, size: 206853)
2013-12-23
11:33
[b110887e] part of check-in [25b8a1c9] Remove a stray tab character. (check-in: [25b8a1c9] user: drh branch: trunk, size: 204854)
2013-12-20
15:59
[6bcf27a8] 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: 204855)
2013-12-14
18:24
[d8df062f] part of check-in [32477642] Merge in all recent preformance enhancements from trunk. (check-in: [32477642] user: drh branch: sessions, size: 206850)
2013-12-11
11:00
[91942284] part of check-in [a7e5fcd6] Fix harmless compiler warnings. (check-in: [a7e5fcd6] user: drh branch: trunk, size: 204851)
00:59
[bdc4a981] part of check-in [4d078147] Do not run the tool/vdbe-compress.tcl script that generates the vdbeExecUnion object that reduces the size of the sqlite3VdbeExec() stack frame unless the SQLITE_SMALL_STACK compile-time option is specified as on of the OPTS in the makefile. The vdbeExecUnion object gets in the way of C-compiler optimizer and results in slightly slower code. (check-in: [4d078147] user: drh branch: trunk, size: 204809)
2013-12-10
21:38
[02fac31f] part of check-in [079c04a5] Avoid unnecessary calls to sqlite3VdbeSerialType() from within sqlite3VdbeSerialPut(). (check-in: [079c04a5] user: drh branch: trunk, size: 204550)
20:53
[c5b17309] part of check-in [1c6ee9b8] In the OP_MakeRecord opcode, factor out affinity changes into separate loop, for a slight performance advantage. (check-in: [1c6ee9b8] user: drh branch: trunk, size: 204551)
2013-12-09
23:17
[4bfb1fe7] part of check-in [7277a769] Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut() helper function. (check-in: [7277a769] user: drh branch: trunk, size: 204451)
21:06
[5338567d] part of check-in [6b518635] Reduce the number of times that OP_Column calls sqlite3VdbeMemMakeWriteable(). (check-in: [6b518635] user: drh branch: trunk, size: 204610)
2013-12-08
23:33
[6ccb107d] part of check-in [f2f5a3ce] Another simplification to the OP_MakeRecord opcode, making it slightly faster and very slightly smaller. (check-in: [f2f5a3ce] user: drh branch: trunk, size: 204628)
22:59
[7f51e9d4] part of check-in [7a234fc3] Avoid unnecessary calls to sqlite3VarintLen() from the OP_MakeRecord opcode. (check-in: [7a234fc3] user: drh branch: trunk, size: 204395)
2013-12-07
20:39
[88a037e0] 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: 204824)
2013-11-27
21:53
[9c6fb9ed] part of check-in [3a2a1bd4] Merge all recent trunk changes. (check-in: [3a2a1bd4] user: drh branch: sessions, size: 206245)
21:07
[54894fde] part of check-in [81891288] Remove unnecessary local variables from sqlite3VdbeExec() in order to reduce stack-space requirements of that routine. (check-in: [81891288] user: drh branch: trunk, size: 204246)
2013-11-26
23:27
[c2b3cd6b] part of check-in [0978bac6] Make sure the update hook is not invoked for WITHOUT ROWID tables, as the documentation specifies. This bug was found while adding requirements marks, so a few extraneous requirements marks are included in this check-in. (check-in: [0978bac6] user: drh branch: trunk, size: 204278)
18:22
[d9c63f5c] part of check-in [8b12a15a] Reduce the amount of code used to implement OP_SeekGe and similar. (check-in: [8b12a15a] user: dan branch: trunk, size: 204486)
18:00
[520dcda6] part of check-in [fc9ae839] Merge in performance enhancements from trunk. (check-in: [fc9ae839] user: drh branch: sessions, size: 206516)
15:45
[061d30ae] part of check-in [6f53fc71] Change the REAL-to-INTEGER casting behavior so that if the REAL value is greater than 9223372036854775807.0 then it is cast to the latest possible integer, 9223372036854775807. This is sensible and the way most platforms work in hardware. The former behavior was that oversize REALs would be cast to the smallest possible integer, -9223372036854775808, which is the way Intel hardware works. (check-in: [6f53fc71] user: drh branch: trunk, size: 204777)
2013-11-25
17:38
[23d0cfba] part of check-in [5bf2a3fe] Uses shifts rather than division for arithmetic on the cell indices, since those indices are always non-negative. (check-in: [5bf2a3fe] user: drh branch: btree-optimization, size: 204728)
2013-11-21
21:59
[4d637218] 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: 204723)
04:18
[bfbbaf9d] part of check-in [70b056fb] Another improvement to OP_Function and an improvement to OP_Move. (check-in: [70b056fb] user: drh branch: trunk, size: 204723)
03:43
[9d8490d6] part of check-in [b890eefd] A simple change to the OP_Function opcode improves overall performance by about 0.5%. (check-in: [b890eefd] user: drh branch: trunk, size: 204687)
03:12
[1aabde68] part of check-in [ecaac28a] Performance optimization to the OP_Next and OP_Prev opcodes. (check-in: [ecaac28a] user: drh branch: trunk, size: 204703)
01:04
[c375ba03] 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: 204130)
00:10
[fb6007ac] part of check-in [f8d5efcd] Unpack some fields, adding some space back to the VdbeCursor object, in order to help the code to run a little faster. (check-in: [f8d5efcd] user: drh branch: OP_Column-refactor, size: 204284)
2013-11-20
21:51
[b55581db] part of check-in [5f9d5068] Reduce the size of the VdbeCursor object from 144 to 120 bytes. (check-in: [5f9d5068] user: drh branch: OP_Column-refactor, size: 204334)
20:58
[987f375b] part of check-in [0e05679d] Improved comments on the OP_Column changes. Optimize out loading of overflow pages for content with zero length. Add test cases for the latter. (check-in: [0e05679d] user: drh branch: OP_Column-refactor, size: 204429)
19:28
[1a6e2c94] part of check-in [0e3f5df6] Further performance tweaks to OP_Column. (check-in: [0e3f5df6] user: drh branch: OP_Column-refactor, size: 204007)
17:25
[d4b8a906] 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: 203443)
02:53
[da810a2b] part of check-in [5562cd34] Simplifications to the VdbeCursor object. (check-in: [5562cd34] user: drh branch: trunk, size: 206305)
00:59
[9e2b9065] part of check-in [96a65388] Performance improvement for the OP_MustBeInt opcode in the VDBE. (check-in: [96a65388] user: drh branch: trunk, size: 206336)
2013-11-15
18:58
[55738934] part of check-in [cc17f1f0] Fix comments on the OP_Divide and OP_Remainder operators, especially the "Synopsis:" comment, so that they agree with the actual implementation. (check-in: [cc17f1f0] user: drh branch: trunk, size: 206274)
03:21
[d53b6b7e] part of check-in [d99a30a2] Fix a typo in the "synopsis" for the OP_Lt opcode that causes an incorrect comment to be added to EXPLAIN output. (check-in: [d99a30a2] user: drh branch: trunk, size: 206291)
2013-11-14
19:18
[b1939060] part of check-in [7596d1bf] Merge the skip-scan optimization into the sessions branch. (check-in: [7596d1bf] user: drh branch: sessions, size: 208030)
00:09
[f9a4e081] part of check-in [24ef1654] Simplification to the progress callback check. One branch removed. (check-in: [24ef1654] user: drh branch: trunk, size: 206291)
2013-11-13
23:48
[0057612c] part of check-in [21f59b04] Make sure the progress callback is invoked prior to an SQLITE_ROW return if it is overdue to be called. (check-in: [21f59b04] user: drh branch: trunk, size: 206323)
17:58
[3d73013b] 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: 206063)
2013-11-11
22:55
[8b6b4fce] 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: 207560)
16:55
[fda0d2ba] 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: 205821)
03:24
[aeef5c11] part of check-in [acc40ff6] Convert several ALWAYS() macros in vdbe.c into assert() statements. (check-in: [acc40ff6] user: drh branch: trunk, size: 205867)
00:43
[cd3059de] part of check-in [61d7d475] Fix a problem in OP_IdxDelete as used by REPLACE conflict resolution that comes up due to recent enhancements that reduce the work required for UNIQUE NOT NULL indices. (check-in: [61d7d475] user: drh branch: trunk, size: 206971)
2013-11-08
15:19
[f635690f] part of check-in [6f187a0f] Performance improvements: Avoid unnecessary seeks when doing a single-row UPDATE on a WITHOUT ROWID table. (check-in: [6f187a0f] user: drh branch: trunk, size: 206951)
2013-11-07
14:09
[ff0170cd] part of check-in [55eea178] Make sure cached KeyInfo objects are only valid for a single database connection. Clear all cached KeyInfo objects on any collating sequence change. (check-in: [55eea178] user: drh branch: omit-rowid, size: 206878)
2013-11-06
16:28
[3493de8d] part of check-in [47455500] Have the OP_NoConflict opcode set the VdbeCursor.seekResult variable. This speeds up subsequent OP_Insert and OP_IdxInsert opcodes. (check-in: [47455500] user: dan branch: omit-rowid, size: 206777)
14:36
[1e4e3c25] part of check-in [a725a75f] Allocate extra stack space for UnpackedRecord objects, reducing the need to malloc for them as often, and thereby get a performance improvement. (check-in: [a725a75f] user: drh branch: omit-rowid, size: 206751)
14:05
[d4b81416] part of check-in [d70c7881] Minor optimization to the OP_Halt opcode. (check-in: [d70c7881] user: drh branch: omit-rowid, size: 206751)
2013-11-05
13:33
[94da71c0] 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: 206727)
2013-11-04
15:23
[8bab8886] part of check-in [d072bcd0] Correctly handle changing counting when inserting and deleting on WITHOUT ROWID tables. Add more FOREIGN KEY test cases. (check-in: [d072bcd0] user: drh branch: omit-rowid, size: 205814)
2013-11-02
22:29
[3492f312] part of check-in [a7a18b65] Improved Synopsis on register comparison operators. Fix a bug on the constraint check generator. (check-in: [a7a18b65] user: drh branch: omit-rowid, size: 205719)
2013-11-01
22:02
[9f3dc843] part of check-in [302a8139] Size KeyInfo objects so that IdxInserts always compare the correct number of fields. (check-in: [302a8139] user: drh branch: omit-rowid, size: 205665)
2013-10-31
20:34
[613af4c9] 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: 205325)
17:38
[ba7829e8] part of check-in [cff1f55c] Fix issues with quering from an auxiliary index that must refer back to the PRIMARY KEY index of a WITHOUT ROWID table. (check-in: [cff1f55c] user: drh branch: omit-rowid, size: 205325)
11:15
[da933a7c] 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: 205292)
2013-10-30
20:22
[05857502] part of check-in [0d4fea74] Continue working to get UPDATE operational for WITHOUT ROWID tables. Fix PRAGMA integrity_check so that it works on WITHOUT ROWID tables. (check-in: [0d4fea74] user: drh branch: omit-rowid, size: 205330)
02:37
[3c98b773] part of check-in [2fcac056] Merge EXPLAIN enhancements from trunk. (check-in: [2fcac056] user: drh branch: omit-rowid, size: 205230)
00:25
[de4018a3] 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: 206868)
2013-10-29
20:47
[cb3df2d7] part of check-in [8bb51da1] Import the automatic comment generating changes from trunk. (check-in: [8bb51da1] user: drh branch: omit-rowid, size: 205255)
20:40
[3d0bd1f8] 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: 206909)
2013-10-28
22:47
[7663e009] part of check-in [aa72ea8a] Merge all trunk changes since 3.8.1 into the sessions branch. (check-in: [aa72ea8a] user: drh branch: sessions, size: 206417)
2013-10-26
15:40
[7d23d61c] part of check-in [086ec2a1] Work on the UPDATE and INSERT logic. This is an incremental check-in so that can switch over to trunk to work on an unrelated issue there. (check-in: [086ec2a1] user: drh branch: omit-rowid, size: 202708)
13:36
[115f2c06] 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: 202706)
2013-10-25
14:46
[f7a2fb5d] part of check-in [9eafafa3] Basic DELETE operations now working on WITHOUT ROWID tables. (check-in: [9eafafa3] user: drh branch: omit-rowid, size: 204376)
2013-10-24
11:55
[cca2c5eb] part of check-in [53bb070c] Remove an obsolete comment from the VDBE. No code changes. (check-in: [53bb070c] user: drh branch: omit-rowid, size: 204378)
2013-10-23
13:30
[9970b726] 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: 204686)
2013-10-18
20:03
[3d960c84] part of check-in [e801f35a] Add the SQLITE_FCNTL_TRACE file control and generate it for OP_Trace when compiled with SQLITE_USE_FCNTL_TRACE. Update vfslog.c to make use of the new file control. Also update vfslog.c to log UNLOCK events before the fact, rather than afterwards. (check-in: [e801f35a] user: drh branch: trunk, size: 204670)
2013-10-10
20:13
[bc992461] part of check-in [136445ba] Synchronize with the trunk. (check-in: [136445ba] user: drh branch: sessions, size: 206111)
2013-09-16
12:57
[56e648f5] part of check-in [daf6ba41] The date and time functions use the exact same notion of "now" for every invocation within the same call to sqlite3_step(). (check-in: [daf6ba41] user: drh branch: trunk, size: 204364)
2013-09-06
13:10
[a393a94c] 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: 204341)
2013-08-29
15:08
[8ebe0cbc] part of check-in [e7ebc8f7] Merge from trunk: (1) Recent bug fixes (2) STAT4 support (3) win32-longpath support. (check-in: [e7ebc8f7] user: drh branch: sessions, size: 206080)
2013-08-26
23:18
[2b1cd2c7] part of check-in [a32af0ab] Merge the STAT4 capability into trunk. (check-in: [a32af0ab] user: drh branch: trunk, size: 204333)
2013-08-22
15:07
[08a46d04] 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: 205679)
2013-08-21
17:35
[d37aee2c] 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: 203932)
2013-08-20
13:02
[76502f08] part of check-in [3e403328] Merge performance enhancements and compiler warning fixes from trunk. (check-in: [3e403328] user: drh branch: sessions, size: 206048)
00:42
[938feb53] part of check-in [d78c5d89] Performance optimizations in the VDBE and especially to the OP_Next and related opcodes. (check-in: [d78c5d89] user: drh branch: toTypeFuncs, size: 204301)
2013-08-19
23:18
[54d28e7f] part of check-in [d2efea16] Performance improvement to SQL function calls in the VDBE. (check-in: [d2efea16] user: drh branch: toTypeFuncs, size: 204273)
12:49
[fab5d86a] part of check-in [67587a33] Merge in all the latest updates and enhancements from trunk. (check-in: [67587a33] user: drh branch: sessions, size: 206124)
11:15
[0fbe7a90] part of check-in [a0d9ca4f] Fixes for harmless compiler warnings. (check-in: [a0d9ca4f] user: drh branch: trunk, size: 204377)
2013-08-15
16:18
[c9488a25] part of check-in [71070c9f] Change some assert() statements in vdbe.c to ensure that a memory cell used to store a VdbeCursor object is not also used for some other purpose. (check-in: [71070c9f] user: dan branch: sqlite_stat4, size: 204753)
2013-08-07
18:42
[a3c98ec5] part of check-in [08f74c45] Merge latest trunk changes with this branch. (check-in: [08f74c45] user: dan branch: sqlite_stat4, size: 204376)
2013-08-06
14:52
[1d95ab3d] part of check-in [69d5bed0] Merge in the latest changes from trunk. (check-in: [69d5bed0] user: drh branch: sessions, size: 206099)
2013-08-05
19:11
[4914ae1d] 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: 204352)
2013-08-03
20:24
[91fa72a0] part of check-in [2beea303] Begin adding experimental sqlite_stat4 table. This commit is buggy. (check-in: [2beea303] user: dan branch: sqlite_stat4, size: 204375)
2013-08-02
20:44
[619306bc] 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: 206098)
2013-07-25
16:27
[d6048a72] part of check-in [4698a82e] Enhance the progress handler so that it keeps track of the number of VDBE cycles across sqlite3_step() calls and issues callbacks when the cumulative instruction count reaches threshold. (check-in: [4698a82e] user: drh branch: trunk, size: 204351)
2013-07-18
18:28
[816e6861] part of check-in [cd9096e6] Fix a typo in the previous commit. (check-in: [cd9096e6] user: dan branch: typo, size: 203954)
17:12
[7fab3ee5] 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: 203956)
2013-07-11
15:31
[4a9d00a9] part of check-in [8dfc0b78] Merge recent trunk changes (such as the query_only PRAGMA, the defer_foreign_keys PRAGMA, and the SQLITE_DBSTATUS_DEFERRED_FKS parameter to sqlite3_db_status()) into the sessions branch. (check-in: [8dfc0b78] user: drh branch: sessions, size: 205963)
15:22
[420ebf1d] part of check-in [6557c407] Add the experimental "query_only" pragma. (check-in: [6557c407] user: drh branch: trunk, size: 204216)
15:03
[0661945e] 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: 204103)
12:19
[26f19a43] 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: 205414)
2013-07-10
13:33
[c714445b] part of check-in [ece960c4] Experimental "PRAGMA query_only=BOOLEAN" statement that is able to turn write capabilities on and off. (check-in: [ece960c4] user: drh branch: query_only, size: 203891)
03:05
[b4d29f87] part of check-in [3e8b0201] Run progress callback checks less frequently in the main VDBE evaluation loop. This makes up for the extra CPU cycles used to increment the cycle counter for SQLITE_STMTSTATUS_VM_STEP. (check-in: [3e8b0201] user: drh branch: trunk, size: 203778)
2013-07-09
13:05
[7e1654d4] part of check-in [af3ca4c6] Pull in all the latest changes from trunk. (check-in: [af3ca4c6] user: drh branch: sessions, size: 205422)
2013-07-03
19:53
[e1782e46] 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: 204785)
2013-06-28
19:41
[2e3fc618] 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: 203342)
01:24
[9816247e] 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: 203265)
2013-06-27
23:54
[462058f2] 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: 203251)
17:40
[f6781011] 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: 203267)
2013-06-26
13:31
[45a342e1] 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: 204452)
2013-06-25
22:01
[af2bc360] part of check-in [f1366bab] Add a new (experimental) sqlite3_stmt_status() verb that returns the number of VM steps. (check-in: [f1366bab] user: drh branch: status-vm-step, size: 202705)
2013-05-28
12:11
[34929e1b] 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: 202563)
2013-04-22
23:59
[349798f6] part of check-in [6994826c] Merge the latest trunk changes into the sessions branch. (check-in: [6994826c] user: drh branch: sessions, size: 204296)
2013-04-08
10:38
[5f004713] part of check-in [320b5295] Fix an incorrect type cast in an assignment in vdbe.c. (check-in: [320b5295] user: dan branch: trunk, size: 202549)
2013-03-28
01:19
[fee31825] 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: 204297)
2013-03-24
22:56
[1d56617d] part of check-in [8b44d6fb] Remove the SQLITE_OMIT_MERGE_SORT compile-time option and its related code. The merge sorter is now a required component. (check-in: [8b44d6fb] user: drh branch: trunk, size: 202550)
2013-03-21
21:20
[f9622d5b] part of check-in [6f6e2d50] Many spelling fixes in comments. No changes to code. (check-in: [6f6e2d50] user: mistachkin branch: trunk, size: 202972)
2013-02-13
13:42
[9e4164ac] 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: 204719)
2013-02-09
13:58
[292f8f7c] part of check-in [54611046] Add extended error codes for constraint errors. (check-in: [54611046] user: drh branch: constraint-error-codes, size: 202972)
2013-01-03
22:22
[4cf34269] part of check-in [7e068e39] Merge recent trunk changes into the sessions branch. (check-in: [7e068e39] user: drh branch: sessions, size: 204705)
2012-12-10
22:19
[f51eb320] part of check-in [bd7aeeb6] When an arithmetic operation with two integer operands must give a floating-point answer due to overflow, make sure the answer is not rounded back to integer by affinity. (check-in: [bd7aeeb6] user: drh branch: trunk, size: 202958)
09:08
[fb1d2b75] part of check-in [ee662c03] Remove a reference to JumpOnce from a comment in vdbe.c. No code changes. (check-in: [ee662c03] user: dan branch: trunk, size: 202852)
2012-12-08
23:37
[85576363] 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: 204624)
13:26
[89138e8e] part of check-in [2722f407] Fix the header comment on the OP_Compare operator. (check-in: [2722f407] user: drh branch: ticket-71e333e7, size: 202877)
2012-12-07
22:18
[328cb259] part of check-in [0aaf52a3] Fix a long-standing issue with the distinct-as-aggregate optimization that only expressed when the new collating-sequence logic is turned on. (check-in: [0aaf52a3] user: drh branch: ticket-71e333e7, size: 202652)
2012-12-06
20:19
[fed44fdc] 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: 199790)
2012-12-03
17:04
[5b49cb1f] 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: 202476)
2012-10-30
21:03
[640a7e14] part of check-in [fce667f2] Pull all the latest trunk enhancements into the sessions branch. (check-in: [fce667f2] user: drh branch: sessions, size: 204223)
14:44
[e1b2f881] part of check-in [4f106123] Fix a typo in the header comment for the OpenPseudo opcode. (check-in: [4f106123] user: drh branch: subquery-as-coroutine, size: 202476)
14:39
[fbb695e3] part of check-in [564631f3] Make it possible to disable the subquery-by-coroutine optimization using sqlite3_test_control(). Remove an always-false conditional. (check-in: [564631f3] user: drh branch: subquery-as-coroutine, size: 202475)
00:29
[f3310ec7] part of check-in [7af3acbb] Add an optimization that attempts to run a subquery as a coroutine rather than manifesting it into a temporary table. (check-in: [7af3acbb] user: drh branch: subquery-as-coroutine, size: 202533)
2012-09-28
13:05
[e8e2e34c] 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: 203927)
10:57
[fcb5bb6f] 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: 202214)
2012-09-21
00:04
[31523df2] part of check-in [79e922f7] Consolidate more of the DISTINCT processing logic into a single spot in the code. Reduce the number of OP_Column operations needed to perform a WHERE_DISTINCT_ORDERED. (check-in: [79e922f7] user: drh branch: trunk, size: 202180)
2012-09-19
21:15
[b0ac9878] part of check-in [94b48064] Tighter VDBE code for the WHERE_DISTINCT_ORDERED case of DISTINCT keyword handling. (check-in: [94b48064] user: drh branch: trunk, size: 202088)
2012-09-18
13:20
[16e894bd] part of check-in [e7db056a] Update the vdbe-compress.tcl script so that it accepts variable declarations inside of #ifdef...#endif. This enhancement is needed due to the change of check-in [39866c0ede5d6ef4]. (check-in: [e7db056a] user: drh branch: trunk, size: 201481)
2012-09-13
15:26
[fd82787f] part of check-in [39866c0e] Fix an unused variable warning with SQLITE_OMIT_WAL. (check-in: [39866c0e] user: mistachkin branch: trunk, size: 201478)
2012-09-04
21:34
[64de1142] part of check-in [39f763bf] Avoid repeating calls to the sqlite3_trace() callback when the same statement is evaluted multiple times by sqlite3_step() due to an SQLITE_SCHEMA reprepare. (check-in: [39f763bf] user: drh branch: trunk, size: 201447)
2012-08-31
14:23
[b01b505c] part of check-in [87995dc9] Update with latest trunk changes. (check-in: [87995dc9] user: dan branch: sessions, size: 203168)
14:10
[7eee10a7] part of check-in [bc9b9cd0] Merge in latest trunk changes. (check-in: [bc9b9cd0] user: dan branch: apple-osx, size: 201455)
2012-08-29
10:28
[9c524bde] part of check-in [9fbe858b] Fix a typo in a comment in vdbe.c. No changes to code. (check-in: [9fbe858b] user: drh branch: trunk, size: 201421)
2012-08-25
01:38
[18781e84] 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: 201454)
2012-08-22
15:16
[1a451790] 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: 201408)
2012-08-15
16:21
[9a1c2f78] part of check-in [fc07a479] Merge all the latest trunk changes into the sessions branch. (check-in: [fc07a479] user: drh branch: sessions, size: 203167)
15:57
[93b560a4] part of check-in [2bb8c492] Experimental change to speed up ORDER BY clauses that sort based on a single expression. (check-in: [2bb8c492] user: dan branch: sorter-exp, size: 201391)
2012-08-06
18:50
[75da79cd] part of check-in [d045f8b2] When reusing pages as part of creating a new index, allocate the leaves from each free-list trunk page in ascending order, instead of trying to maximize localization for each individual allocation. This increases the chance that pages will be written to disk in ascending order by a large CREATE INDEX statement, improving overall performance. (check-in: [d045f8b2] user: dan branch: sorter-coalesce-writes, size: 201420)
2012-06-08
01:13
[ae6803fd] part of check-in [9d1b8515] Merge trunk changes into the apple-osx branch. (check-in: [9d1b8515] user: drh branch: apple-osx, size: 201205)
2012-06-07
23:58
[687fdb86] part of check-in [c6214039] Merge all trunk changes, including the WinRT enhancements, into the sessions branch. (check-in: [c6214039] user: drh branch: sessions, size: 202918)
17:57
[f5ad3c06] part of check-in [cfcbf937] Documentation and evidence mark updates. Remove a redundant assert(). (check-in: [cfcbf937] user: drh branch: trunk, size: 201171)
2012-06-05
19:20
[76ae5ef2] part of check-in [42338e9e] Merge the latest trunk changes into shared-schema branch. Also fix a C99-ism in that branch. (check-in: [42338e9e] user: drh branch: shared-schema, size: 201198)
2012-05-28
18:22
[15bcec4d] part of check-in [df817e70] Merge the unicode61 tokenizer and the shared-cache-memory database changes into the sessions branch. (check-in: [df817e70] user: drh branch: sessions, size: 202947)
2012-05-27
01:19
[b6cb2ac4] part of check-in [595dfdbf] Have user interfaces report out the filename of in-memory databases as an empty string, as it always has. This simplifies the changes. (check-in: [595dfdbf] user: drh branch: shared-cache-memdb, size: 201200)
2012-05-20
20:14
[dfb52b28] part of check-in [0c0a0398] Check-in included unrelated debugging code by mistake. Was: Fix a test case in the shell1.test script so that it works even for very long pathnames. (check-in: [0c0a0398] user: drh branch: mistake, size: 201250)
2012-05-15
18:28
[6ed3e899] part of check-in [aa0c3493] The former sqlite3ResetInternalSchema() routine was really two different routines, selected by parameter, each with a confused mission. So split this routine up into three separate smaller routines, calling each separately as needed. Hopefully this will make further refactoring and schema reset collateral damage containment easier. (check-in: [aa0c3493] user: drh branch: shared-schema, size: 201195)
2012-04-19
20:43
[baed8c1e] 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: 201231)
2012-04-18
01:41
[b79d6de8] part of check-in [87a0eab5] Import all the latest trunk changes into the sessions branch. (check-in: [87a0eab5] user: drh branch: sessions, size: 202944)
2012-03-31
17:17
[e1d26b98] part of check-in [79a4a3a8] Do not abort pending queries on a RELEASE of a nested SAVEPOINT. This is a candidate fix for ticket [27ca74af3c083f787]. (check-in: [79a4a3a8] user: drh branch: trunk, size: 201197)
02:46
[bcf472ee] part of check-in [18ec60ca] Merge all the latest trunk changes into the apple-osx branch. (check-in: [18ec60ca] user: drh branch: apple-osx, size: 201177)
2012-03-30
17:30
[9c625193] part of check-in [fb9b9987] Merge all recent trunk changes into the sessions branch. (check-in: [fb9b9987] user: drh branch: sessions, size: 202890)
2012-03-28
16:14
[89139262] part of check-in [86839476] Minor changes to the core of OP_Column for performance and to clarify the critical path. (check-in: [86839476] user: drh branch: faster-typeof-and-length, size: 201143)
15:44
[ee62f850] part of check-in [4d516240] This change turned out to the code slower. Side track it. Was: Tweaks to the OP_Column opcode for clarity of presentation. (check-in: [4d516240] user: drh branch: mistake, size: 200904)
13:41
[80753245] part of check-in [ca093103] Improvements to comments. Minor changes to code in the hot path of OP_Column - with the hope of get a few cycles of performance improvement. (check-in: [ca093103] user: drh branch: faster-typeof-and-length, size: 200983)
01:34
[b91a9135] part of check-in [b899dbeb] Evaluate typeof(X) and length(Y) where X is any column and Y is a blob column without actually loading X and Y from disk. (check-in: [b899dbeb] user: drh branch: faster-typeof-and-length, size: 200945)
2012-03-05
16:39
[c4638fe3] part of check-in [504bf490] Pull in all the latest trunk changes. (check-in: [504bf490] user: drh branch: apple-osx, size: 200089)
16:26
[2591c28c] part of check-in [ff86875c] Merge in the latest trunk changes. (check-in: [ff86875c] user: drh branch: sessions, size: 201802)
2012-02-24
00:02
[32720e87] part of check-in [f9df4063] A simple change that allows the SQLITE_32BIT_ROWID compile-time option to work better. (check-in: [f9df4063] user: drh branch: trunk, size: 200055)
2012-02-13
17:01
[21c17c43] 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: 200055)
16:43
[2afc9b02] 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: 200046)
13:44
[169a4384] 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: 200111)
2012-02-10
18:18
[f384d056] part of check-in [e2485986] Pull the latest trunk changes into the apple-osx branch. (check-in: [e2485986] user: drh branch: apple-osx, size: 200123)
17:54
[a24b861d] part of check-in [361fb66a] Pull all the latest trunk changes into the sessions branch. (check-in: [361fb66a] user: drh branch: sessions, size: 201836)
2012-02-02
17:35
[40b14dff] part of check-in [adb29232] For queries of the form "SELECT p, max(q) FROM t1", the value of column p returned is the one on the same row that holds the maximum value of q. (check-in: [adb29232] user: drh branch: output-minmax-row, size: 200089)
15:50
[43ea77c8] part of check-in [0bc594e8] Data structure cleanup. Remove unused fields. Rearrange other files for tighter packing and reduced memory usage. (check-in: [0bc594e8] user: drh branch: trunk, size: 199643)
2012-01-25
20:43
[595a2402] 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: 199638)
2012-01-18
01:14
[fc1b97fa] part of check-in [d0dabe2f] Remove a redundant assignment from the VM. (check-in: [d0dabe2f] user: drh branch: trunk, size: 199591)
2012-01-14
14:13
[7d3e9dda] part of check-in [2cc414cd] Merge the latest trunk changes into the apple-osx branch. (check-in: [2cc414cd] user: drh branch: apple-osx, size: 199651)
13:50
[502f3deb] part of check-in [01c84fd3] Update sessions branch with latest changes from trunk. (check-in: [01c84fd3] user: dan branch: sessions, size: 201364)
2012-01-08
22:18
[64e3fc0b] part of check-in [fc9179e1] Fix typos in commands. Combine the ExpandBlob and expandBlob macros into one. (check-in: [fc9179e1] user: drh branch: trunk, size: 199617)
2012-01-05
13:02
[3338717c] part of check-in [a9bcb432] Merge all of the latest trunk changes into the sessions branch. (check-in: [a9bcb432] user: drh branch: sessions, size: 201534)
2012-01-04
12:57
[d5062ca4] 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: 199787)
2012-01-03
21:54
[9a5ea29c] 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: 199823)
2011-12-31
21:51
[50f0cf69] part of check-in [6827338e] Fix typos in comments. No changes to code. (check-in: [6827338e] user: drh branch: trunk, size: 199789)
2011-12-09
17:27
[029add0c] part of check-in [6a9fb47d] Take out the OP_JumpOnce opcode. Revert compound SELECT to use OP_IfNot, which is the correct behavior. Mark trigger registers as initially invalid. (check-in: [6a9fb47d] user: drh branch: uninit-vdbe-mem, size: 199790)
16:21
[9fc8110b] 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: 200176)
13:24
[f49816f9] 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: 199357)
2011-12-08
21:08
[6f7669fb] part of check-in [59e0d4f3] Merge the latest trunk changes into the apple-osx branch. (check-in: [59e0d4f3] user: drh branch: apple-osx, size: 199430)
2011-11-16
15:27
[a7ab9993] 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: 199396)
2011-10-31
14:42
[cefc9d9b] part of check-in [4fa9ee79] Pull the latest trunk changes into the apple-osx branch. (check-in: [4fa9ee79] user: drh branch: apple-osx, size: 199430)
14:34
[f3d11234] 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: 201143)
2011-10-25
20:36
[5fdbad94] part of check-in [14bc58ca] Cherrypick changes [53f5cfe115] and [1f7ef0af8d] in order to fix an issue with DISTINCT (check-in: [14bc58ca] user: drh branch: branch-3.7.2, size: 194637)
2011-10-22
21:00
[326994a6] part of check-in [d980c5b2] Avoid a harmless reference to an uninitialized variable following an error in FTS3. This is not a bug. The change is to silence a valgrind warning. (check-in: [d980c5b2] user: drh branch: trunk, size: 199396)
2011-10-21
17:18
[2ed980c8] part of check-in [be62ef05] Merge the latest trunk changes into the apple-osx branch. (check-in: [be62ef05] user: drh branch: apple-osx, size: 199440)
17:08
[9ccccceb] part of check-in [8baef581] Merge the latest trunk enhancements into the sessions branch. (check-in: [8baef581] user: drh branch: sessions, size: 201153)
2011-10-18
22:07
[251381bf] part of check-in [d65f6353] Fix the virtual table rename logic so that it works even if the database encoding is something other than UTF8. Ticket [8290242b2a9a81683] (check-in: [d65f6353] user: drh branch: trunk, size: 199406)
2011-10-17
23:15
[054e1d52] part of check-in [491ff5fb] Change the OP_JournalMode implementation so that it works even if a substitute sqlite3PagerFilename() that might return NULL is used. (check-in: [491ff5fb] user: drh branch: trunk, size: 199197)
2011-10-14
21:49
[75e626a6] 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: 199197)
2011-09-20
15:53
[f5de15d6] part of check-in [89272357] Add SQLITE_STMTSTATUS_CACHE_HIT/MISS and SQLITE_DB_STATUS_CACHE_HIT/MISS. For querying the number of pager cache hits and misses on a statement or connection basis. (check-in: [89272357] user: dan branch: cache-stats, size: 200215)
2011-09-16
19:40
[a4d43779] part of check-in [5efb0294] Merge the latest trunk changes into the sessions branch. (check-in: [5efb0294] user: drh branch: sessions, size: 200904)
19:36
[26deb38f] part of check-in [070bf203] Merge the latest trunk fixes into the apple-osx branch. (check-in: [070bf203] user: drh branch: apple-osx, size: 199191)
01:34
[60340bfb] 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: 199157)
2011-09-14
19:41
[f03941d4] part of check-in [c00e45ed] Merge latest changes from the trunk into the sessions branch. (check-in: [c00e45ed] user: dan branch: sessions, size: 200247)
19:05
[e46c71db] part of check-in [2456b4d0] Merge in the latest changes from trunk. (check-in: [2456b4d0] user: drh branch: apple-osx, size: 198534)
2011-09-05
14:20
[7008edbf] part of check-in [f115b230] Refactor the sqlite3VdbeRecordUnpack() interface to better accommodate the vdbesort.c module. (check-in: [f115b230] user: dan branch: trunk, size: 198500)
2011-09-03
00:17
[d4c8224c] part of check-in [68e26c44] The build works again with -DSQLITE_OMIT_MERGE_SORT. The merge-sorter now avoids spilling to disk (letting the in-memory linked list grow without bound) if PRAGMA temp_store=3. (check-in: [68e26c44] user: drh branch: merge-sort, size: 198470)
2011-09-02
10:31
[da9c7efc] part of check-in [7769fb98] Instead of a temporary b-tree, use a linked-list and merge-sort to sort records in main memory in vdbesort.c. (check-in: [7769fb98] user: dan branch: merge-sort, size: 198148)
2011-09-01
15:32
[9260e513] part of check-in [bab2e560] Experimental code-generator changes to utilize new opcodes for sorting. (check-in: [bab2e560] user: drh branch: merge-sort, size: 197390)
2011-08-29
02:49
[9165b35d] part of check-in [ff71d20a] About a 1% overall performance improvement by using a macro to avoid no-op calls to sqlite3MemReleaseExternal(). (check-in: [ff71d20a] user: drh branch: experimental, size: 196987)
02:16
[dc84628c] part of check-in [b6b73a74] Small performance improvement to OP_Column. (check-in: [b6b73a74] user: drh branch: experimental, size: 197019)
2011-08-28
02:15
[8c9e0508] part of check-in [edff9d4a] About a 3% improvement in the performance of OP_Column. (check-in: [edff9d4a] user: drh branch: experimental, size: 196845)
00:19
[47713d40] 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: 196804)
2011-08-27
18:48
[d63854ae] part of check-in [1a249845] Experimental changes to improve the performance of OP_Next. (check-in: [1a249845] user: dan branch: experimental, size: 196796)
2011-08-26
19:20
[9bc9b5f1] part of check-in [eb036d6f] Merge the latest trunk changes into the sessions branch. (check-in: [eb036d6f] user: drh branch: sessions, size: 198504)
19:18
[0d70d10e] part of check-in [55af8003] Merge the latest trunk changes into the apple-osx branch. (check-in: [55af8003] user: drh branch: apple-osx, size: 196791)
00:34
[4a7191c0] part of check-in [c71d7320] Create a new pager type, PAGER_SORTER, for use in the external merge sort. Such pagers are always held in memory but do report when they are under memory pressure by calling pagerStress. (check-in: [c71d7320] user: drh branch: trunk, size: 196757)
2011-08-25
18:01
[8f18a857] part of check-in [5a690486] Disable external merge source when SQLITE_TEMP_STORE==3. Add documentation to the OP_OpenSorter opcode. (check-in: [5a690486] user: drh branch: trunk, size: 196464)
2011-08-23
18:06
[859006c0] part of check-in [c5f7977b] Merge latest trunk changes into the apple-osx branch. (check-in: [c5f7977b] user: dan branch: apple-osx, size: 196278)
2011-08-12
16:30
[22d0d5bc] part of check-in [7e515055] Merge latest trunk changes into experimental branch. (check-in: [7e515055] user: dan branch: experimental, size: 196244)
16:11
[1f5bb8b8] part of check-in [1a8498d8] Remove an unused parameter from a function in vdbesort.c. Fix some comments and other details in the same file. (check-in: [1a8498d8] user: dan branch: experimental, size: 196094)
15:02
[eed17aa6] part of check-in [4ced2394] Add the SQLITE_OMIT_MERGE_SORT pre-processor directive. To omit the code in vdbesort.c. (check-in: [4ced2394] user: dan branch: experimental, size: 196098)
2011-08-06
12:01
[ec7b0455] part of check-in [8051c176] In temp files used for merge sorting, store the size of each packed-memory-array at the start of the array itself. This is to avoid having to store the offsets of all arrays in the (potentially very large) file in main-memory. (check-in: [8051c176] user: dan branch: experimental, size: 195837)
2011-08-05
22:31
[b46e0dde] part of check-in [e93c248c] Bug fixes to the sample-count logic for STAT2. A few test cases added. (check-in: [e93c248c] user: drh branch: query-planner-tweaks, size: 195531)
21:13
[1215ce45] part of check-in [eb434228] Add a column to the sqlite_stat2 table that contains the number of entries with exactly the same key as the sample. We do not yet do anything with this extra value. Some tests in analyze2.test are failing. (check-in: [eb434228] user: drh branch: query-planner-tweaks, size: 195482)
2011-08-04
12:14
[379ccaa6] part of check-in [a4770d07] Change to using packed-memory-arrays instead of b-trees when performing an offline merge-sort for CREATE INDEX. This makes it easier to control the number of disc seeks required when merging. (check-in: [a4770d07] user: dan branch: experimental, size: 195831)
2011-08-03
21:46
[303d8b3b] part of check-in [c5709036] Merge the latest trunk changes into the sessions branch. (check-in: [c5709036] user: drh branch: sessions, size: 197229)
16:40
[49d834f0] part of check-in [a2135ad1] Update the OP_Move opcode to shift the pScopyFrom pointer of aliases when compiled with SQLITE_DEBUG. Ticket [d63523637517386191]. (check-in: [a2135ad1] user: drh branch: trunk, size: 195482)
2011-08-02
18:25
[30e1d38a] part of check-in [77376b33] Merge all the latest trunk changes into the apple-osx branch. (check-in: [77376b33] user: drh branch: apple-osx, size: 195366)
2011-07-22
12:49
[00061273] part of check-in [110cfd69] Merge the latest trunk changes into the sessions branch. (check-in: [110cfd69] user: drh branch: sessions, size: 197079)
2011-07-12
14:28
[88a70684] 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: 195876)
2011-06-29
17:11
[a9ced64f] part of check-in [591de898] Pass the BTREE_UNORDERED hint into both sqlite3BtreeOpen() and into sqlite3BtreeCreateTable(). (check-in: [591de898] user: drh branch: trunk, size: 195332)
2011-06-21
01:30
[80d511d7] part of check-in [76005fdc] Merge the latest trunk changes into the apple-osx branch. (check-in: [76005fdc] user: drh branch: apple-osx, size: 195356)
01:29
[df52db61] part of check-in [f3d148e0] Merge the latest trunk changes into the sessions branch. (check-in: [f3d148e0] user: drh branch: sessions, size: 197069)
2011-06-20
21:47
[50b5b4ef] part of check-in [b9cbab73] Fix more documentation typos. (check-in: [b9cbab73] user: drh branch: trunk, size: 195322)
11:57
[71a3e14a] part of check-in [4c69e827] Merge the latest trunk changes into the apple-osx branch. (check-in: [4c69e827] user: drh branch: apple-osx, size: 195367)
10:44
[af4d8ba0] part of check-in [4c5e276c] Merge the latest trunk changes into the sessions branch. (check-in: [4c5e276c] user: drh branch: sessions, size: 197080)
2011-06-14
14:18
[9eef9bb0] part of check-in [0185c4b6] Fix a memory leak that can follow an OOM error in a user-function that uses sqlite3_set_auxdata(). (check-in: [0185c4b6] user: dan branch: trunk, size: 195333)
2011-06-03
12:15
[edfa3827] part of check-in [93e0be2b] Fix an #ifdef of SQLITE_OMIT_VIRTUALTABLE that had an extra "_" character. (check-in: [93e0be2b] user: drh branch: trunk, size: 195332)
2011-06-02
13:07
[d671beda] part of check-in [ce5f95de] Merge the latest trunk changes, including the read-only shared memory enhancement, into the apple-osx branch. (check-in: [ce5f95de] user: drh branch: apple-osx, size: 195367)
2011-06-01
19:16
[2ec37637] part of check-in [e704e869] Avoid unnecessary duplication of SQL parameter names. (check-in: [e704e869] user: drh branch: trunk, size: 195333)
2011-05-30
23:42
[103827f5] part of check-in [f9950c6a] Minor performance improvements. (check-in: [f9950c6a] user: drh branch: trunk, size: 195273)
13:39
[619fb3fc] part of check-in [832886b1] Merge the latest trunk changes into the sessions branch. (check-in: [832886b1] user: drh branch: sessions, size: 197010)
2011-05-28
19:24
[380dddc4] part of check-in [edb865c3] Fix a "#ifdef" from check-in [03f7d36a8a] that should have been "#ifndef". (check-in: [edb865c3] user: drh branch: trunk, size: 195263)
2011-05-26
14:19
[a8ff6724] part of check-in [03f7d36a] Changes to work with SQLITE_OMIT_VIRTUAL_TABLE. (check-in: [03f7d36a] user: drh branch: trunk, size: 195262)
2011-05-25
01:16
[4812f0e5] 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: 195222)
2011-05-24
00:35
[408cc051] part of check-in [a9d09566] Make sure the savepoint index is correct one calls to sqlite3VtabSavepoint with SAVEPOINT_BEGIN. (check-in: [a9d09566] user: drh branch: trunk, size: 195220)
2011-05-19
02:48
[af2e9d0f] 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: 196919)
01:51
[f997c49f] part of check-in [8d1a6bb0] Pull all the latest trunk changes, and especially the fix for WAL cache spills causing transactions to disappear, into the apple-osx branch. (check-in: [8d1a6bb0] user: drh branch: apple-osx, size: 195206)
2011-05-13
18:51
[343a068e] part of check-in [e569f18b] Make arrangements so that virtual table inserts into shadow tables do not modify the sqlite3_last_insert_rowid() return. Document that this is how sqlite3_last_insert_rowid() works. (check-in: [e569f18b] user: drh branch: trunk, size: 195172)
2011-05-12
15:32
[ed266854] part of check-in [97b98010] Pull in the patches to support read-only WAL databases into a new branch off of the apple-osx branch. This also pulls in all the other pending 3.7.7 changes such as URI support. (check-in: [97b98010] user: drh branch: apple-wal-readonly, size: 194995)
2011-05-05
15:52
[bf969a63] part of check-in [f9b149e5] Merge the latest trunk changes into the apple-osx branch. (check-in: [f9b149e5] user: drh branch: apple-osx, size: 194985)
15:46
[fa5bfc0c] part of check-in [6883580e] Merge the latest trunk changes into the sessions branch. (check-in: [6883580e] user: drh branch: sessions, size: 196698)
2011-05-04
17:35
[b2070c92] part of check-in [af279f36] Merge latest trunk changes with uri branch. (check-in: [af279f36] user: dan branch: uri, size: 194961)
2011-05-01
22:57
[67486fbf] part of check-in [7155e6f3] Backport check-ins [0900e35348f4b9bf3] and [4fead8e714c7e50] to the 3.7.2 branch. These check-ins provide hints to the btree layer for when it is possible to use a hash table rather than a btree to implement an index. The SQLite BTree layer does not use these hints, but alternative btree layers might. (check-in: [7155e6f3] user: drh branch: branch-3.7.2, size: 191843)
2011-04-27
12:08
[672ec2f4] part of check-in [ff69f823] Fix problems related to savepoint rollback and fts3. (check-in: [ff69f823] user: dan branch: vtab-conflict, size: 194951)
2011-04-26
19:21
[b6396cb7] 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: 194354)
2011-04-25
18:49
[ac7aab11] part of check-in [6d2633a6] Add support for on conflict clauses to fts3/fts4. (check-in: [6d2633a6] user: dan branch: vtab-conflict, size: 194247)
2011-04-23
15:54
[a7f8f72a] part of check-in [68240e75] Have the ATTACH command do URI interpretation in the same way as sqlite3_open() and sqlite3_open_v2() do. (check-in: [68240e75] user: dan branch: uri, size: 193755)
2011-04-09
18:13
[4a1b6078] part of check-in [4eaef4ad] Pull all the latest trunk changes into the apple-osx branch. (check-in: [4eaef4ad] user: drh branch: apple-osx, size: 193779)
2011-04-06
22:33
[dd53dda1] part of check-in [435b57dc] Merge in the latest changes from the trunk. (check-in: [435b57dc] user: drh branch: sessions, size: 195492)
22:05
[05deeec6] 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: 193745)
2011-04-05
22:13
[b6bcbe56] part of check-in [45f20261] Merge the latest trunk changes into the sessions branch. (check-in: [45f20261] user: drh branch: sessions, size: 195534)
22:10
[ccedf7f2] part of check-in [c77a767c] Merge the latest trunk changes into the apple-osx branch. (check-in: [c77a767c] user: drh branch: apple-osx, size: 193821)
22:08
[ee58240a] 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: 193787)
18:34
[228aa306] part of check-in [a89f24e2] Remove dead code from the OP_JournalMode opcode in the VDBE. This code seems to have been useless since [f88c6367d2] on 2010-08-07. (check-in: [a89f24e2] user: drh branch: trunk, size: 193780)
17:31
[b239d70f] 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: 194642)
13:38
[f2a706e0] part of check-in [8e885dde] Pull the latest changes from trunk (and hence from schema-parse-refactor) into the apple-osx branch. (check-in: [8e885dde] user: drh branch: apple-osx, size: 195103)
13:27
[f38def1f] 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: 196816)
2011-04-04
21:25
[0140a57f] part of check-in [39c00907] Additional schema mutex checks for sqlite3RootPageMoved(). Reduce the scope of sqlite3ResetInternalSchema() in a few places. (check-in: [39c00907] user: drh branch: schema-parse-refactor, size: 195069)
18:22
[1e62a4f1] part of check-in [ae8374af] Add a description of access rules for the Schema object and lots of asserts to verify that the access rules are followed. (check-in: [ae8374af] user: drh branch: schema-parse-refactor, size: 194980)
13:19
[e4afe80d] part of check-in [95d53c44] Merge the latest changes of trunk into the session branch. (check-in: [95d53c44] user: drh branch: sessions, size: 196572)
13:11
[01b975f0] part of check-in [6d78a25d] Merge in the latest changes from trunk. (check-in: [6d78a25d] user: drh branch: apple-osx, size: 194859)
13:07
[48fe95bd] part of check-in [47b79c40] Merge in the latest changes from trunk. (check-in: [47b79c40] user: drh branch: schema-parse-refactor, size: 194826)
12:29
[6488f759] part of check-in [425e3edb] Move the expired-statement test for OP_Function until after all memory has been freed. The test is still commented out, however. (check-in: [425e3edb] user: drh branch: trunk, size: 194825)
00:14
[e4d83957] 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: 194844)
2011-04-03
18:19
[d975adce] 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: 194993)
2011-04-02
16:28
[6b15a8fb] 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: 194863)
09:44
[a45a6a0d] part of check-in [71a799b0] Fix a race condition in OP_ParseSchema. (check-in: [71a799b0] user: dan branch: trunk, size: 194861)
2011-03-31
18:36
[9fa02304] part of check-in [a5aae174] Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. (check-in: [a5aae174] user: drh branch: branch-3.7.2, size: 191729)
2011-03-30
21:04
[4784ded3] part of check-in [66345214] Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option. (check-in: [66345214] user: drh branch: sessions, size: 196438)
02:03
[175a42d0] part of check-in [b11d941e] Merge in all the latest changes from trunk. (check-in: [b11d941e] user: drh branch: sessions, size: 196095)
2011-03-24
01:34
[e3f37ca0] part of check-in [b6e268fc] The changes to fix [f7b4edece25c9948] mean that the schema is always loaded whenever a prepared statement is running. This means that a couple of branches can be eliminated and one operand of OP_ParseSchema can be removed. (check-in: [b6e268fc] user: drh branch: trunk, size: 194691)
2011-03-19
08:38
[c90edafd] 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: 196790)
02:37
[3f6d9116] part of check-in [1b736ac2] Merge the fix to ticket [f7b4edece25c99485] into the sessions branch. (check-in: [1b736ac2] user: drh branch: sessions, size: 196587)
2011-03-18
21:55
[8430780c] part of check-in [36c04dd1] Add a generation counter to the Schema object and enhance OP_VerifySchema to also check the Schema generation. Fix for ticket [f7b4edece25c99]. (check-in: [36c04dd1] user: drh branch: trunk, size: 195386)
12:35
[94cd191b] part of check-in [94fd5bb6] Merge all the latest trunk enhancements into the sessions branch. (check-in: [94fd5bb6] user: drh branch: sessions, size: 196430)
2011-03-16
19:59
[fbf11bd6] 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: 196280)
09:49
[11764408] part of check-in [b0015a1c] Remove the sqlite3_transaction_hook() API. (check-in: [b0015a1c] user: dan branch: sessions, size: 196359)
2011-03-06
21:28
[ac6e8b82] part of check-in [01a79d5a] Remove dead code identified by the clang static analyzer. (check-in: [01a79d5a] user: drh branch: trunk, size: 195229)
2011-03-05
20:59
[038e5689] part of check-in [abf21394] Fix all known instances of signed-integer overflow. Within SQL expressions, integer overflow now forces coercion to floating point. The shift operators work with any integer right-hand operand with negative values reversing the direction of the shift. (check-in: [abf21394] user: drh branch: trunk, size: 195305)
13:54
[953d44f0] 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: 195093)
2011-03-03
20:06
[2c523bc1] part of check-in [093d8cd8] Add the experimental sqlite3_transaction_hook() API. (check-in: [093d8cd8] user: dan branch: sessions, size: 196870)
2011-03-01
18:42
[4330cc94] part of check-in [6145d7b8] Add the experimental sqlite3_preupdate_hook() API. (check-in: [6145d7b8] user: dan branch: sessions, size: 196363)
2011-02-22
03:34
[34305497] part of check-in [1bca0a7e] When a stale schema-cookie is seen, expire only the one statement that encountered the bad cookie, not every statement on the database connection. Ticket [b72787b1a7cea1f] (check-in: [1bca0a7e] user: drh branch: trunk, size: 195079)
2011-02-07
23:56
[167432ac] part of check-in [f611a5a8] Cleanup to the OP_Checkpoint opcode. (check-in: [f611a5a8] user: drh branch: trunk, size: 195100)
2011-02-02
16:34
[7f54982d] part of check-in [bac7342c] Merge in the blocking-checkpoint enhancement, including the new sqlite3_wal_checkpoint_v2() interface and the PRAGMA wal_checkpoint(full) statement. (check-in: [bac7342c] user: drh branch: trunk, size: 194761)
2010-12-07
15:49
[624c6185] part of check-in [d2ccf7fc] Merge in all changes to the trunk through version 3.7.4rc3. (check-in: [d2ccf7fc] user: drh branch: apple-osx, size: 194164)
2010-12-03
18:57
[5d310eaf] part of check-in [841cf7a7] Remove an over-zealous call to memAboutToChange() from OP_MustBeInt. OP_MustBeInt will never invalidate the Mem.z pointer so the memAboutToChange() call is not necessary. (check-in: [841cf7a7] user: drh branch: trunk, size: 194130)
2010-11-26
16:49
[21a9285f] part of check-in [c412f612] Fix various compiler warnings. (check-in: [c412f612] user: drh branch: trunk, size: 194159)
2010-11-23
20:25
[7aef0a9e] part of check-in [30c26c3b] The previous check-in with changes to the max_page_count pragma was not quite correct. This check-in fixes the problem. (check-in: [30c26c3b] user: drh branch: trunk, size: 194137)
18:59
[c7e4f78c] part of check-in [2031974b] Fix the max_page_count pragma so that it will not set to a value smaller than the current database size, as the documentation requires. Also, remove all occurances of atoi() from the core. (check-in: [2031974b] user: drh branch: trunk, size: 194018)
2010-11-19
23:50
[d6236836] part of check-in [c8bc057c] Merge all the latest changes from the trunk into the apple-osx branch. (check-in: [c8bc057c] user: drh branch: apple-osx, size: 193512)
2010-11-18
16:32
[06f868b6] part of check-in [e376480f] Merge with latest trunk changes. (check-in: [e376480f] user: dan branch: blocking-checkpoint, size: 194109)
12:31
[63bb1e56] part of check-in [501b743b] Prevent a possible segfault when the sqlite3_value_numeric_type() interface is misused to try to determine the numeric type of the NULL value returned from sqlite3_column_value() with an invalid column number. (check-in: [501b743b] user: drh branch: trunk, size: 193478)
12:11
[4bec828e] part of check-in [72787c01] Modify the interface to the blocking wal-checkpoint functionality. (check-in: [72787c01] user: dan branch: blocking-checkpoint, size: 194139)
2010-11-16
18:56
[b86b09be] part of check-in [7e3fc2c8] Add experimental command "PRAGMA wal_blocking_checkpoint", which uses the busy-handler to block until all readers have finished in order to ensure the next writer will be able to wrap around to the start of the log file. (check-in: [7e3fc2c8] user: dan branch: blocking-checkpoint, size: 193568)
2010-09-30
18:12
[e1aa9179] part of check-in [afb0fd0b] Remove unnecessary calls to memAboutToChange() in vdbe.c. An affinity change no longer invalidates shallow copies. (check-in: [afb0fd0b] user: drh branch: experimental, size: 193508)
16:51
[447577ca] part of check-in [43fef1ca] Changes to remove sqlite3FitsIn64Bits(). (check-in: [43fef1ca] user: shaneh branch: experimental, size: 193746)
14:48
[597ef9ac] part of check-in [ce6cc16e] Fix the handling of default values for ALTER TABLE ADD COLUMN columns so that is able to deal with negative numbers, including large negative numbers. Ticket [8454a207b9fd2243c4] (check-in: [ce6cc16e] user: drh branch: experimental, size: 193743)
00:50
[04cf7c1b] part of check-in [14eed3a0] Rework the text to numeric conversion routines so that they work with either UTF8 or UTF16 and do not require a NULL terminator. This allowed text to numeric conversion without reallocating the string. (check-in: [14eed3a0] user: drh branch: experimental, size: 193805)
2010-09-28
07:11
[69812aab] part of check-in [88b84bf1] Replace some unreachable branch instructions with assert() statements. (check-in: [88b84bf1] user: drh branch: bug-b351d95f9c, size: 194184)
06:00
[4b1e4b89] part of check-in [ff49a5f0] Tweaks to help facilitate structural test coverage. (check-in: [ff49a5f0] user: drh branch: bug-b351d95f9c, size: 194129)
00:25
[56e4697a] part of check-in [d0342f4b] Continuing work toward detecting and fixing shallow-copy misuse. (check-in: [d0342f4b] user: drh branch: bug-b351d95f9c, size: 194028)
2010-09-27
21:09
[00f017d9] part of check-in [8b8e1732] Add assert() statements that fail when a shallow copy is accessed after the original has been modified. These assert() statements should detect the kinds of subtle SCopy bugs such as caused the fault in ticket [b351d95f9cd5ef17e9d9dbae18f]. (check-in: [8b8e1732] user: drh branch: bug-b351d95f9c, size: 194038)
2010-09-03
18:50
[1373d40f] part of check-in [f06c7b19] Documentation enhancements for sqlite3_db_status(). Evidence marks on the SQL function call intrface. (check-in: [f06c7b19] user: drh branch: trunk, size: 191390)
2010-09-01
11:50
[8a9f0c55] part of check-in [740adca3] Add an assert() with an evidence mark to show that automatically generated rowids are positive. (check-in: [740adca3] user: drh branch: trunk, size: 191340)
02:37
[20ef377f] part of check-in [63142367] Ensure randomly generated rowids never go negative. (check-in: [63142367] user: shaneh branch: trunk, size: 191242)
2010-08-31
16:25
[41a186c0] part of check-in [c2a84430] Do not clear the internal "schema has changed" flag when performing a savepoint rollback. The schema changes may not have taken place within the savepoint being rolled back. (check-in: [c2a84430] user: dan branch: trunk, size: 190909)
2010-08-30
22:15
[36d9521b] part of check-in [4fead8e7] Provide hints to the btree layer during the creation of transient tables for when it is possible for those tables to use a hash rather than a binary tree. No use is currently made of those hints, though assert() statement verify their accuracy. (check-in: [4fead8e7] user: drh branch: trunk, size: 190851)
15:02
[42b14547] part of check-in [0900e353] Remove the sqlite3BtreeFactory() wrapper routine. All modules now call sqlite3BtreeOpen() directly. (check-in: [0900e353] user: drh branch: trunk, size: 190692)
01:17
[6d787964] part of check-in [49c05b4e] Updates to comments on the VDBE opcodes. (check-in: [49c05b4e] user: drh branch: trunk, size: 190737)
2010-08-24
16:59
[d735223e] part of check-in [d1c87532] Fixes to allow fts3 tables to be renamed mid-transaction. (check-in: [d1c87532] user: dan branch: trunk, size: 191113)
2010-08-18
00:24
[60ef7696] part of check-in [866e9286] Merge the 3.7.1 pre-release snapshot changes as of 2010-08-18 into the apple-osx branch. (check-in: [866e9286] user: drh branch: apple-osx, size: 191129)
00:09
[a4c6eed8] part of check-in [5e2ee7db] Updating apple-osx with minor source fixes, database truncate and replace private calls and a bunch of conditionalization for tests running in different environments (check-in: [5e2ee7db] user: adam branch: apple-osx, size: 191182)
2010-08-06
02:10
[66c262a9] part of check-in [a7a15547] Change two automatic array variables into static constant arrays. Update and reformat some comments for cleaner presentation. (check-in: [a7a15547] user: drh branch: trunk, size: 191095)
2010-07-24
16:34
[cefff415] 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: 191094)
2010-07-13
23:41
[6294de33] part of check-in [6336de7a] Tweaks to the new shared-memory interface design - mostly comment changes. (check-in: [6336de7a] user: drh branch: experimental, size: 191148)
2010-07-08
17:40
[14d3e04d] part of check-in [e396184c] Change the journal_mode pragma to remove the "default journal mode" concept. The journal_mode pragma only effects currently attached databases and does not change the behavior of future attachments. (check-in: [e396184c] user: drh branch: trunk, size: 191138)
2010-07-03
05:56
[046cd38d] part of check-in [4f62dbcf] Change code in OP_Rewind to avoid a valgrind warning following an error in the btree layer. This change does not fix any bug, just a warning. (check-in: [4f62dbcf] user: dan branch: mistake, size: 191447)
2010-07-02
19:36
[3a241b21] part of check-in [565ff65c] Omit the OP_JournalMode opcode from the VDBE when SQLITE_OMIT_PRAGMA is defined. (check-in: [565ff65c] user: drh branch: mistake, size: 191458)
2010-06-22
14:49
[8b3bae95] part of check-in [4775b8f9] When trying to transition from journal_mode MEMORY to WAL, use OFF as an intermediate journal mode. (check-in: [4775b8f9] user: drh branch: trunk, size: 191401)
2010-06-18
16:13
[290d20ed] part of check-in [ce0a4a9b] Rearrange some code in OP_JournalMode to avoid incorrect returns from subsequent invocations of "PRAGMA journal_mode" following an IO error. (check-in: [ce0a4a9b] user: dan branch: experimental, size: 191179)
2010-06-17
16:44
[e115585b] part of check-in [b9b11855] A different fix to [fc62af4523]. When changing from journal_mode=PERSIST or TRINCATE to some other rollback mode, delete the journal file only if a RESERVED lock can be obtained on the database file first. (check-in: [b9b11855] user: dan branch: experimental, size: 191327)
2010-06-11
17:01
[8a910a19] part of check-in [95cc3f6f] Refactor and simplify the logic used to change journalmode. (check-in: [95cc3f6f] user: drh branch: trunk, size: 191470)
2010-05-31
14:28
[965247d9] part of check-in [cdbb4e7c] Remove the tests that enable tracing based on the existance of the "vdbe_*" files when in SQLITE_DEBUG mode. (check-in: [cdbb4e7c] user: drh branch: wal-incr-ckpt, size: 191628)
2010-05-15
01:09
[950cd4e9] part of check-in [b9af4ad2] Silently ignore errors trying to set the default journal_mode while doing an ATTACH. (check-in: [b9af4ad2] user: drh branch: trunk, size: 192462)
2010-05-12
18:01
[8c6301a7] part of check-in [2b00152c] Refactoring the VFS-SHM methods used by WAL. This version compiles and runs non-WAL test cases but crashes and burns on wal.test. (check-in: [2b00152c] user: drh branch: wal-refactor, size: 192458)
13:50
[f41188f6] part of check-in [7838163d] Remove the OP_Variable optimization of check-in [48b77b04935d894] since it can lead to malfunctions as described in ticket [26ff0c82d1e90]. (check-in: [7838163d] user: drh branch: trunk, size: 192470)
2010-05-11
14:00
[27edb0be] part of check-in [cf3d1e0b] When an attempt to change journal_mode fails due to locks, be sure to leave internal structures in a consistent state. (check-in: [cf3d1e0b] user: drh branch: trunk, size: 192868)
2010-05-10
11:20
[066dab3a] part of check-in [0bdea4cf] Enhance the OP_JournalMode opcode with an ignore-errors option and use that option the ATTACH command. (check-in: [0bdea4cf] user: drh branch: trunk, size: 192826)
2010-05-06
21:37
[267e0431] 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: 192305)
16:06
[e4f1d6c2] part of check-in [56a17dae] After throwing an error to say that one cannot change into WAL mode within a tranactions, do not then go and change into WAL mode. (check-in: [56a17dae] user: drh branch: trunk, size: 191404)
2010-05-03
08:04
[8be37a1b] part of check-in [9803196d] Add the sqlite3_wal_checkpoint() and sqlite3_wal_autocheckpoint() APIs. (check-in: [9803196d] user: dan branch: wal, size: 191389)
2010-05-01
16:40
[b2e2b70e] part of check-in [9b230c43] Support compile-time option SQLITE_OMIT_WAL, for building without WAL support. (check-in: [9b230c43] user: dan branch: wal, size: 191585)
00:59
[2a5ccf3a] part of check-in [d1fcccec] Do not allow journal_mode=WAL if the underlying VFS does not support xShmOpen. (check-in: [d1fcccec] user: drh branch: wal, size: 191493)
2010-04-29
22:34
[21a96eee] part of check-in [62db5fa3] Refactor wal.c to use the VFS. This check-in compiles and links and works ok as long as you leave WAL turned off, but WAL does not work. (check-in: [62db5fa3] user: drh branch: wal, size: 190955)
2010-04-26
17:42
[da7ee09f] part of check-in [30d01344] Do not attempt to set journal_mode=wal on :memory: or temp file databases. (check-in: [30d01344] user: dan branch: wal, size: 190955)
2010-04-22
06:27
[09e88e8b] part of check-in [12363184] Further tests and changes related to switching between WAL and rollback modes. (check-in: [12363184] user: dan branch: wal, size: 190818)
2010-04-21
18:37
[4d99d175] part of check-in [9f4f933f] Tests for (and changes to) the code to switch between WAL and rollback modes. (check-in: [9f4f933f] user: dan branch: wal, size: 190780)
2010-04-20
18:53
[304851b3] part of check-in [96bef18c] Use the read and write version fields of the database header to mark a database as operating in wal-mode. (check-in: [96bef18c] user: dan branch: wal, size: 190934)
2010-04-13
11:56
[2e2aaa76] part of check-in [27dc5977] Remove old code to interpret an argument (no longer used) to "PRAGMA checkpoint". (check-in: [27dc5977] user: dan branch: wal, size: 187916)
2010-04-12
19:00
[23e5462d] part of check-in [409d61ba] Import experimental write-ahead-logging code. (check-in: [409d61ba] user: dan branch: wal, size: 188150)
2010-04-07
14:32
[2abd931e] part of check-in [064c283e] Fix the trace output of the OP_Function opcode to show the correct register numbers. (check-in: [064c283e] user: drh branch: experimental, size: 187609)
2010-04-06
22:33
[fccdf72a] part of check-in [abbf16e5] Veryquick.test is now working. The SQLITE_STMTSTATUS_AUTOINDEX counter added. (check-in: [abbf16e5] user: drh branch: experimental, size: 187607)
2010-04-05
15:11
[011f41a5] part of check-in [8e1d7ef4] Minor comment changes to the OP_OpenEphemeral header. No changes to code. (check-in: [8e1d7ef4] user: drh branch: trunk, size: 187326)
2010-03-31
17:47
[760a0857] part of check-in [06b9ca32] Clarification of the implementation of SQLITE_STMTSTATUS_FULLSCAN_STEP. No logical code changes - just commenting and layout changes to improve readability. (check-in: [06b9ca32] user: drh branch: trunk, size: 187335)
2010-03-30
22:58
[afd58607] part of check-in [79e22b95] Continuing refinements to the filesize-in-header enhancement. (check-in: [79e22b95] user: drh branch: trunk, size: 187042)
2010-03-05
16:32
[8acca6da] part of check-in [8858042f] Modify the vdbe so that the comparison operator opcodes do not modify the data type of operands. Fix for [aa92c76cd4]. (check-in: [8858042f] user: dan branch: trunk, size: 187392)
2010-03-04
00:53
[4d8ff247] part of check-in [5322d1df] Increase the maximum length of an sqlite3_log() result string. Provide more details on the statement abort log message. (check-in: [5322d1df] user: drh branch: trunk, size: 186672)
2010-02-26
01:46
[8b705e48] part of check-in [4927c62d] Minor changes to silence some compiler warnings with MSVC. (check-in: [4927c62d] user: shaneh branch: trunk, size: 186603)
2010-02-25
14:44
[412c486b] part of check-in [a2550597] Add some technically unnecessary variable initializations to silence compiler warnings. (check-in: [a2550597] user: dan branch: branch-3.6.1, size: 160983)
02:32
[1a07ddbd] 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: 186249)
01:47
[e65ccd13] part of check-in [95882598] Start a new branch for release 3.6.22 plus limited enhancements and fixes. This first check-in includes the performance enhancements of check-ins [26cb1df735], [61a2c8d4d6], and [27dc5b1c52] (check-in: [95882598] user: drh branch: branch-3.6.22, size: 187510)
2010-02-24
21:44
[6de14d95] part of check-in [1168763d] Add testcase() macros beside each sqlite3_log() call to make sure it is tested with both logging enable and disabled. (check-in: [1168763d] user: drh branch: trunk, size: 186603)
19:23
[815ec0f5] part of check-in [69a49318] Add a sqlite3_log() call on anonymous constraint failures. Fix the output of test cases having to do with improved reprepare reporting. Fix the VACUUM command to report more helpful error messages when things go wrong. (check-in: [69a49318] user: drh branch: trunk, size: 186513)
2010-02-23
20:11
[eb8b0831] part of check-in [edea3bb7] Continuing improvements to error reporting and the sqlite3_log() routine. (check-in: [edea3bb7] user: drh branch: trunk, size: 186418)
17:36
[b0769a07] 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: 186373)
2010-02-15
15:17
[428411c6] part of check-in [9acfb069] Fix a typo in the documentation for the OP_OpenPseudo opcode. (check-in: [9acfb069] user: drh branch: trunk, size: 187864)
2010-02-05
14:12
[78f21679] part of check-in [61a2c8d4] Remove the use of 64-bit math in the offset computations of the OP_Column opcode for a small performance improvement. (check-in: [61a2c8d4] user: drh branch: trunk, size: 187868)
2010-01-13
16:25
[b0c18b5c] part of check-in [e12da0d3] When SQLITE_OMIT_FLOATING_POINT is defined, make sure the result of a mathematical operation is always tagged as an integer. (check-in: [e12da0d3] user: drh branch: trunk, size: 187723)
2010-01-12
23:54
[1e2c66f2] part of check-in [0209f171] Make sure internal queries are well ordered, even when the reverse_unordered_selects pragma is in effect. Ticket [eb942c64a157]. (check-in: [0209f171] user: drh branch: trunk, size: 187621)
17:04
[9035d0ec] part of check-in [66bab856] Use #ifdefs to disable unused code when SQLITE_OMIT_FLOATING_POINT is defined. (check-in: [66bab856] user: drh branch: trunk, size: 187606)
2010-01-01
18:57
[e0576573] part of check-in [0e918c54] Add evidence marks associated with autoincrement. (check-in: [0e918c54] user: drh branch: trunk, size: 187365)
2009-12-03
04:40
[5ed06318] part of check-in [e3aa0870] Fix a couple of compiler warnings under MSVC. (check-in: [e3aa0870] user: shaneh branch: trunk, size: 186980)
2009-11-25
18:03
[91b65712] part of check-in [545cfb3b] Initial check-in of code that inserts tokenizations of the values for bound parameters into the output of sqlite3_trace(). (check-in: [545cfb3b] user: drh branch: trunk, size: 186968)
2009-11-24
16:26
[343175b0] part of check-in [cb74b81b] Fix a tracing macro in the VDBE in the VColumn opcode. (check-in: [cb74b81b] user: drh branch: trunk, size: 186896)
2009-11-20
15:02
[89d618dd] part of check-in [e493b093] If the root pages numbers of the internal schema are adjusted due to autovacuum on a DROP TABLE statement and that statement later aborts (for example, due to an OOM error) then reset the internal schema at the conclusion of the statement. Partial fix for ticket [564d412f15a]. (check-in: [e493b093] user: drh branch: trunk, size: 186896)
2009-11-18
23:01
[95fa2b51] part of check-in [85940468] Performance improvement by avoiding unnecessary calls to memset(). (check-in: [85940468] user: drh branch: trunk, size: 186733)
2009-11-17
23:59
[ed60d48b] part of check-in [9744ffb3] Enhancements to the VDBE opcode loop to reduce the number of machine-code instructions evaluated by about 10%. (check-in: [9744ffb3] user: drh branch: trunk, size: 186676)
18:31
[678dc437] part of check-in [ebb0c8a3] Code generator tries to avoid pointless OP_IsNull and OP_Affinity opcodes. (check-in: [ebb0c8a3] user: drh branch: trunk, size: 185794)
2009-11-14
23:22
[0bc1c3aa] 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: 185817)
18:04
[0abb88a1] part of check-in [8bd3cc82] Make the sqlite3VdbeExec() function about 2% faster by storing the opcode array in a local variable. (check-in: [8bd3cc82] user: drh branch: trunk, size: 186206)
2009-11-13
20:52
[74158ea3] part of check-in [ed820f45] Performance improvements and size reductions on the OP_Seek* family of VDBE opcodes. (check-in: [ed820f45] user: drh branch: trunk, size: 186144)
19:43
[bc7fe6c7] part of check-in [3352b3eb] Simplify the OPFLG processing logic in the VDBE for a speed boost in the VDBE processing loop and a reduction in code size. (check-in: [3352b3eb] user: drh branch: trunk, size: 185582)
17:05
[3067cfcc] part of check-in [bdc45ba7] Force 8-byte memory alignment on memory allocated for VDBE cursors. (check-in: [bdc45ba7] user: drh branch: trunk, size: 186791)
2009-11-12
19:59
[d035dd3b] 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: 186771)
17:52
[7c023817] part of check-in [fcff5b7e] Factor out the IN operator code generation into a subroutine. Use this subroutine to implement both logic and branching versions of the IN operator. (check-in: [fcff5b7e] user: drh branch: trunk, size: 186111)
03:13
[393a6766] part of check-in [39d5b292] Adjustments to the implementation of LIMIT so that it uses fewer opcodes. (check-in: [39d5b292] user: drh branch: trunk, size: 186836)
2009-11-10
01:30
[7e112c50] part of check-in [f6c045f6] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f6] user: drh branch: trunk, size: 186735)
2009-10-29
13:48
[a435ffcf] part of check-in [e7984ad2] Reduce the memory required by prepared statements that use the IN operator with a list on the right and an INTEGER PRIMARY KEY on the left. (check-in: [e7984ad2] user: drh branch: trunk, size: 186799)
2009-10-16
16:21
[f0d6e7db] part of check-in [50136840] Merge the sqlite3_reoptimize() changes into the trunk. (check-in: [50136840] user: drh branch: trunk, size: 186490)
14:55
[b00293fa] part of check-in [174477bc] Experimental fix for [f777251dc7]. This may be changed yet. (check-in: [174477bc] user: dan branch: trunk, size: 186608)
2009-10-15
23:03
[1d3415df] 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: 186491)
19:45
[fcf35978] part of check-in [c304b44c] On any rollback, immediately interrupt all running statements on the same database connection. This is a partial fix for ticket [f777251dc7]. (check-in: [c304b44c] user: drh branch: experimental, size: 186396)
18:35
[a03993ed] part of check-in [9bd6f3d8] Add the experimental sqlite3_reoptimize() API. (check-in: [9bd6f3d8] user: dan branch: experimental, size: 186411)
2009-10-13
15:36
[93fb0b49] part of check-in [bc110117] When a write transaction fails to being because the database is read-only, fail right away. Do not give the error code an opportunity to be overwritten with SQLITE_OK. Ticket [5ee23731f15]. (check-in: [bc110117] user: drh branch: trunk, size: 186529)
2009-10-07
18:41
[df2824f4] part of check-in [83828679] Add some tests of statements in foreignkeys.html. (check-in: [83828679] user: dan branch: trunk, size: 186577)
2009-09-25
17:03
[cb9dae4c] 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: 186576)
2009-09-23
17:30
[a5da14fe] 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: 185516)
02:29
[4946e2ac] part of check-in [98853f61] Generalize the IS and IS NOT operators so that their right-hand side can be an arbitrary expression and not simple the constant NULL. They work like = and <> except that NULL values compare equal to one another an unequal to everything else. (check-in: [98853f61] user: drh branch: trunk, size: 184941)
2009-09-22
07:13
[03857c07] part of check-in [c447cb37] Fix compilation errors when OMIT_FOREIGN_KEY is defined. (check-in: [c447cb37] user: dan branch: trunk, size: 183351)
2009-09-19
17:00
[93040bd3] part of check-in [d5d39981] Check in implementation of foreign key constraints. (check-in: [d5d39981] user: dan branch: trunk, size: 183351)
2009-09-10
19:09
[30bf8ff5] part of check-in [5588cc96] Cleanup of warnings on MSVC build. (check-in: [5588cc96] user: shane branch: trunk, size: 182113)
2009-09-09
15:06
[3c094e85] part of check-in [9a4c59a2] Add some tests that involve BEFORE UPDATE or BEFORE DELETE triggers messing with the row being updated or deleted. SQLite behaviour in this scenario is undefined, so the tests just check that the behaviour is relatively sane and there are no crashes. (check-in: [9a4c59a2] user: dan branch: trunk, size: 181971)
2009-09-08
19:15
[aba680ec] part of check-in [aec9dbd8] Combine the OP_Statement and OP_Transaction opcodes. (check-in: [aec9dbd8] user: dan branch: trunk, size: 181979)
02:27
[5dc91d9b] part of check-in [b271e166] Further simplifications to the VDBE - removing functionality that is no longer used. (check-in: [b271e166] user: drh branch: trunk, size: 182446)
01:14
[3ead9f63] part of check-in [52449a95] Code simplifications, especially to the pseudo-table logic, and comment improvements. (check-in: [52449a95] user: drh branch: trunk, size: 182387)
2009-09-07
18:14
[4e3c6895] part of check-in [d7dc8b43] Add the SQLITE_LIMIT_TRIGGER_DEPTH option to sqlite3_limit(). (check-in: [d7dc8b43] user: drh branch: trunk, size: 182442)
04:38
[a158f0f3] part of check-in [26cd015c] Warning cleanup from the MSVC compile. (check-in: [26cd015c] user: shane branch: trunk, size: 182460)
2009-09-01
17:11
[addf5f6f] part of check-in [e016cca3] Change "PRAGMA disable_recursive_triggers" to "PRAGMA recursive_triggers". Also a fix for compiling with OMIT_TRIGGER defined. (check-in: [e016cca3] user: dan branch: trunk, size: 182455)
12:16
[fcc15fb2] part of check-in [38a9327b] More fixes and comment updates. (check-in: [38a9327b] user: dan branch: trunk, size: 182452)
2009-08-31
15:27
[69890b64] part of check-in [85d9f23b] More fixes for test cases. (check-in: [85d9f23b] user: dan branch: trunk, size: 182038)
2009-08-30
11:42
[5e9d870e] part of check-in [9eb91efd] Fixes for new triggers scheme. (check-in: [9eb91efd] user: dan branch: trunk, size: 181567)
2009-08-28
18:53
[e4530952] part of check-in [9b9c1921] Changes to support recursive triggers. (check-in: [9b9c1921] user: dan branch: trunk, size: 182067)
2009-08-18
16:24
[464e2e30] part of check-in [ded9dec6] Change the sqlite_stat2 schema to be more flexible. (check-in: [ded9dec6] user: dan branch: trunk, size: 177351)
2009-08-17
17:06
[f2c07c64] part of check-in [dd96bda2] First version of sqlite_stat2 (schema forces exactly 10 samples). (check-in: [dd96bda2] user: dan branch: trunk, size: 178695)
2009-07-24
17:58
[0ce57f82] 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: 177339)
2009-07-22
00:35
[3f4b02f5] 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: 177542)
2009-07-14
18:35
[b6fadd91] 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: 177374)
02:33
[f76edc03] 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: 176865)
2009-07-07
15:47
[4f702761] part of check-in [06dcfe72] Do not load the root-page of a b-tree table/index when opening a cursor. Instead, allow it to be loaded when the cursor is first used (in function moveToRoot()). Also move the root-page flags sanity checks that were a part of the OP_OpenRead/OpenWrite opcodes into the moveToRoot() function. (CVS 6856) (check-in: [06dcfe72] user: danielk1977 branch: trunk, size: 176853)
2009-07-03
16:25
[bdf25930] part of check-in [e2112d61] Simplify the way the read-uncommitted flag is handled to facilitate test coverage. (CVS 6841) (check-in: [e2112d61] user: danielk1977 branch: trunk, size: 177584)
2009-07-02
07:47
[7e578177] part of check-in [e3c055f1] Cause opening a transaction on a sharable b-tree module automatically obtain a read-lock on page 1. This means there is no way for sqlite3BtreeGetMeta() to fail. (CVS 6836) (check-in: [e3c055f1] user: danielk1977 branch: trunk, size: 177522)
2009-06-29
06:00
[f2462fdb] part of check-in [f17ef378] Cause incremental-blob read/write operations lock shared-cache tables in the same way as normal SQL read/writes. Add complex assert statements to make sure tehe correct shared-cache locks are held when accessing the database. Eliminate some redundant checks from btree.c. (CVS 6830) (check-in: [f17ef378] user: danielk1977 branch: trunk, size: 177569)
2009-06-26
16:32
[dfd508c9] part of check-in [f01a9fc3] Removed a few compiler warnings under MSVC. (CVS 6825) (check-in: [f01a9fc3] user: shane branch: trunk, size: 177567)
15:14
[e16028ce] part of check-in [96729b2d] Remove the priorNewRowid field from the sqlite3 structure. Use the last_insert_rowid as the initial value when searching for a new random rowid in the OP_NewRowid opcode. (CVS 6824) (check-in: [96729b2d] user: drh branch: trunk, size: 177613)
2009-06-25
01:47
[e7831536] part of check-in [8b340766] Improved handling of oversize string and blob errors. Other simplifications in support of full coverage testing. (CVS 6813) (check-in: [8b340766] user: drh branch: trunk, size: 177646)
2009-06-24
13:16
[5c4a5950] part of check-in [52eac078] Remove an ALWAYS() macro from vdbe.c that sometimes fails on thread tests. (CVS 6812) (check-in: [52eac078] user: drh branch: trunk, size: 177603)
2009-06-23
14:15
[5337789f] part of check-in [3ffc93d7] Simplifications to vdbe.c to promote better test coverage. (CVS 6802) (check-in: [3ffc93d7] user: drh branch: trunk, size: 177611)
2009-06-22
19:05
[c5a0a208] 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: 177481)
12:05
[e92e2f41] part of check-in [bda38f5e] Make sure sqlite3BtreeCreateTable() returns an error code if the largest rootpage field is invalid in auto_vacuum mode. Update file-format comments to describe all of the "meta" values. (CVS 6797) (check-in: [bda38f5e] user: drh branch: trunk, size: 176201)
11:10
[15076381] part of check-in [c8f009bd] More simplifications to vdbe.c. Remove a NEVER() from vdbe.c that is possible after all. (CVS 6796) (check-in: [c8f009bd] user: drh branch: trunk, size: 176194)
00:55
[67ec3440] part of check-in [16680f05] Simplifications to vdbe.c in support of coverage testing. (CVS 6794) (check-in: [16680f05] user: drh branch: trunk, size: 176305)
2009-06-19
22:23
[51b0d739] part of check-in [605520ec] Do now allow a COMMIT to occur while even a single write operating is in progress. (CVS 6790) (check-in: [605520ec] user: drh branch: trunk, size: 177250)
14:06
[ad47fc3d] part of check-in [37ae5f5e] Reorganize and cleanup the prepared statement object. Remove code that has been commented out for ages and is no longer relevant to anything. (CVS 6786) (check-in: [37ae5f5e] user: drh branch: trunk, size: 177250)
2009-06-18
00:41
[09925c46] part of check-in [767ef1e4] Remove the P3 operand from OP_IsNull since it was not being used. (CVS 6779) (check-in: [767ef1e4] user: drh branch: trunk, size: 177315)
2009-06-17
22:50
[52863ed4] part of check-in [0def0b76] Avoid an assertion fault if an out-of-memory error occurs while trying to run the string-concatentation operator on a zero-blob. (This is an absurd thing to do, but even so, we still should not fault.) (CVS 6778) (check-in: [0def0b76] user: drh branch: trunk, size: 177544)
21:42
[d382d0d1] part of check-in [3d7327fd] Fix a problem in vdbe.c that could cause a double-free of memory if the SQLITE_LIMIT_LENGTH is changed after a statement is prepared but before it is run. Also remove debugging statements from tkt3841.test. (CVS 6777) (check-in: [3d7327fd] user: drh branch: trunk, size: 177526)
16:20
[a7b9ad4a] part of check-in [39255946] Use caution to avoid integer overflow when doing real to integer affinity operations. Ticket #3922. (CVS 6776) (check-in: [39255946] user: drh branch: trunk, size: 177591)
2009-06-15
20:45
[ba87db54] part of check-in [1591b832] Changes to allow a clean compile with no floating-point instructions generated when SQLITE_OMIT_FLOATING_POINT is used. (CVS 6763) (check-in: [1591b832] user: drh branch: trunk, size: 177550)
2009-06-09
18:58
[20cf0b0b] part of check-in [0bd84e73] Fix compiler warnings with MSVC build. (CVS 6741) (check-in: [0bd84e73] user: shane branch: trunk, size: 177510)
18:14
[60ca5ae0] part of check-in [9d332989] Avoid a false failure report in the test scripts caused by the vdbe stack "compression" script. (CVS 6740) (check-in: [9d332989] user: shane branch: trunk, size: 177485)
2009-06-05
16:46
[434e3803] part of check-in [302ab855] Do not cast an unsigned int into an int for comparison. (CVS 6720) (check-in: [302ab855] user: drh branch: trunk, size: 177476)
14:17
[7f8639cf] 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: 177481)
2009-06-03
11:25
[d105cc58] part of check-in [6dbf4eca] Define a set of constants to use as the "index" argument to sqlite3BtreeGetMeta and UpdateMeta. This makes some parts of the code easier to follow. (CVS 6709) (check-in: [6dbf4eca] user: danielk1977 branch: trunk, size: 175539)
2009-06-02
16:06
[6bb5bc95] part of check-in [6f2aab3f] Tweaks to vdbe.c to further reduce stack space requirements. (CVS 6706) (check-in: [6f2aab3f] user: drh branch: trunk, size: 176222)
15:21
[2f2c4b5a] part of check-in [7f433918] Add the vdbe-compress.tcl script which automatically refactors the sqlite3VdbeExec() routine to use less stack space. Use this script when constructing the amalgamation. (CVS 6704) (check-in: [7f433918] user: drh branch: trunk, size: 176188)
2009-05-18
16:14
[09e2a268] part of check-in [2a277c55] Port patches from the trunk into the 3.6.14.1 branch: the group_concat() fix of check-in (6616), ticket #3841 and the pcache fix of check-in (6619), ticket #3844. (CVS 6652) (check-in: [2a277c55] user: drh branch: branch_3_6_14, size: 174189)
2009-05-07
12:17
[b859cb27] part of check-in [4a86de35] Make sure the iteration counter on aggregate functions is reset each time the aggregate is used in an correlated subquery. Ticket #3841. (CVS 6616) (check-in: [4a86de35] user: drh branch: trunk, size: 174185)
2009-05-06
18:57
[3cecc2bb] part of check-in [df599237] Changes to silence compiler warnings under MSVC. (CVS 6613) (check-in: [df599237] user: shane branch: trunk, size: 174168)
2009-05-04
11:42
[e7c3355a] 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: 174136)
2009-04-30
09:10
[5fe07cce] part of check-in [38f8c5a1] When SQLite is configured to use in-memory temp files (either by setting SQLITE_TEMP_STORE during compilation or using the temp_store pragma at run time), store statement/savepoint journals in memory also. Ticket #3825. (CVS 6575) (check-in: [38f8c5a1] user: danielk1977 branch: trunk, size: 174315)
2009-04-22
17:15
[b7a27b4c] part of check-in [ecbef450] Eliminate the OP_VRowid opcode. The regular OP_Rowid now work for both regular and virtual tables. (CVS 6537) (check-in: [ecbef450] user: drh branch: trunk, size: 174300)
15:32
[ff8870fd] 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: 174440)
02:15
[13f97667] 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: 174345)
00:47
[cbef2e1f] part of check-in [b101cf70] Extend the Rowset object to contain all the capabilities of Rowhash in addition to its legacy capabilities. Use Rowset to replace Rowhash. In addition to requiring less code, This removes the 2^32 result row limitation, uses less memory, and gives better bounds on worst-case performance. The Rowhash implementation has yet to be removed. (CVS 6534) (check-in: [b101cf70] user: drh branch: trunk, size: 174291)
2009-04-21
16:15
[9d6ecf57] part of check-in [9b30ab71] Allocate the initial RowHash object using lookaside. (CVS 6530) (check-in: [9b30ab71] user: drh branch: trunk, size: 174204)
15:05
[6df1766d] part of check-in [b8cb4f3e] New comments and minor refactoring of rowhash.c. (CVS 6529) (check-in: [b8cb4f3e] user: drh branch: trunk, size: 174200)
09:02
[60db222d] 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: 174164)
2009-04-10
12:55
[88bc7092] 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: 172377)
00:56
[146b72ae] 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: 172379)
2009-04-07
09:16
[3d252f70] part of check-in [cdad29b5] Have OP_IdxRowid handle the case where the index entry it is reading from is deleted. (CVS 6461) (check-in: [cdad29b5] user: danielk1977 branch: trunk, size: 172340)
2009-04-02
20:27
[bddddefc] part of check-in [e0c1a780] Make sure count(*) works on the sqlite_master table of an empty database. Ticket #3774. (CVS 6443) (check-in: [e0c1a780] user: drh branch: trunk, size: 172256)
2009-03-23
17:11
[62492202] part of check-in [92ec5975] Fix an obscure race condition that can occur when multiple threads, shared cache and DDL statements are combined. Enhance notify2.test to test this scenario. (CVS 6373) (check-in: [92ec5975] user: danielk1977 branch: trunk, size: 172218)
2009-03-18
10:33
[f8164c28] 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: 170784)
2009-03-17
22:33
[2ae831d4] part of check-in [18978583] Move the rowid cache out of VdbeCursor and into BtCursor. When multiple BtCursors are open on the same table, set their rowid cache all at the same time. Ticket #3731. (CVS 6354) (check-in: [18978583] user: drh branch: trunk, size: 169788)
2009-03-16
13:19
[230b0b7e] part of check-in [b649a6cc] Add the sqlite3_unlock_notify() API. (CVS 6348) (check-in: [b649a6cc] user: danielk1977 branch: trunk, size: 169888)
2009-03-05
04:20
[a193ab2c] part of check-in [6404afa0] Corrected typos and misspellings. Ticket #3702. (CVS 6336) (check-in: [6404afa0] user: shane branch: trunk, size: 169867)
2009-02-24
18:57
[e0351202] part of check-in [b99c1815] Changes to comments and functions/procedure names for clarification. No changes to logic. (CVS 6322) (check-in: [b99c1815] user: drh branch: trunk, size: 169861)
10:01
[13194e29] part of check-in [d4aa6593] Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316) (check-in: [d4aa6593] user: danielk1977 branch: trunk, size: 169803)
2009-02-20
10:58
[23a620da] 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: 169409)
03:55
[3bd3acff] part of check-in [48b77b04] Add a count parameter to the OP_Variable opcode and use it to simplify prepared statements that copy consecutive unnamed parameters into consecutive registers (a common case). (CVS 6309) (check-in: [48b77b04] user: drh branch: trunk, size: 169167)
03:02
[4533be29] part of check-in [feccad8d] Add the OP_HaltIfNull opcode and use it to simplify prepared statements for INSERTs and UPDATEs of tables with NOT NULL columns. (CVS 6308) (check-in: [feccad8d] user: drh branch: trunk, size: 169116)
2009-02-19
14:39
[d7b996a5] 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: 168759)
2009-02-16
17:55
[02e70c48] part of check-in [68f15442] Changes to remove some compiler warnings from MSVC. (CVS 6294) (check-in: [68f15442] user: shane branch: trunk, size: 168711)
2009-02-10
11:17
[473169c1] part of check-in [f6590dac] Reenable triggering vdbe tracing by creating file-system entries. Add a (redundant) test that modifying the temp schema expires all prepared statements. (CVS 6274) (check-in: [f6590dac] user: danielk1977 branch: trunk, size: 168711)
2009-02-09
13:19
[0be895a0] part of check-in [e20bf384] Better error message when DISTINCT is used on an aggregate function that takes two or more arguments. Ticket #3641. (CVS 6269) (check-in: [e20bf384] user: drh branch: trunk, size: 168743)
2009-02-04
03:59
[c7190178] part of check-in [5cef4000] Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029. (CVS 6250) (check-in: [5cef4000] user: shane branch: trunk, size: 168705)
2009-02-01
00:29
[81120d5a] part of check-in [0d2abbbf] Adjust comments in vdbe.c to use OP_MakeRecord instead of the obsolete OP_MakeIdxRec. Ticket #3619. (CVS 6225) (check-in: [0d2abbbf] user: drh branch: trunk, size: 168629)
2009-01-20
16:53
[e14b330e] 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: 168637)
2009-01-14
00:55
[b917020d] part of check-in [d28b5820] Make sure the OR-clause optimizer takes the cost of sorting into account. Reset the rowid cache on the OP_Rewind and OP_Last opcodes. Bump the version number so that we can do an emergency release. Ticket #3581. (CVS 6173) (check-in: [d28b5820] user: drh branch: trunk, size: 168648)
2009-01-05
22:30
[4e9b83e7] part of check-in [5f80140a] The fix in (6111) was not quite right. This version works better. (CVS 6113) (check-in: [5f80140a] user: drh branch: trunk, size: 168598)
18:02
[d30c6c3e] part of check-in [b2131e86] Make sure the MEM_Zero flags is cleared whenever removing MEM_Blob. (CVS 6111) (check-in: [b2131e86] user: drh branch: trunk, size: 168541)
2009-01-02
21:08
[687e4815] part of check-in [3e9efb76] Reinitialize page 1 of the database file following a ROLLBACK TO of a transactional SAVEPOINT on an initially empty database. (CVS 6103) (check-in: [3e9efb76] user: drh branch: trunk, size: 168532)
2008-12-29
10:39
[aa4674ce] part of check-in [03d03504] Set the OPFLG_IN1 flag on a couple of extra opcodes. (CVS 6070) (check-in: [03d03504] user: danielk1977 branch: trunk, size: 168535)
2008-12-23
13:35
[fb84f5ce] part of check-in [d77a7023] Multi-index OR-clause optimization now works for simple tests. There are no test scripts for it yet, though. And it is disabled by default, pending further testing and optimization. We need a lot of both. (CVS 6058) (check-in: [d77a7023] user: drh branch: trunk, size: 168706)
2008-12-18
18:31
[e9a7825d] part of check-in [d915718d] Increase test coverage of new savepoint code. (CVS 6040) (check-in: [d915718d] user: danielk1977 branch: trunk, size: 168716)
2008-12-17
17:30
[79d3ec97] part of check-in [34b56600] Add the savepoint feature. This feature is largely untested at this point. (CVS 6036) (check-in: [34b56600] user: danielk1977 branch: trunk, size: 168885)
2008-12-15
15:27
[3fd1fe64] part of check-in [ea9b747e] Convert the "~" and "NOT" operators to be two-address instructions. Ticket #3541. (CVS 6028) (check-in: [ea9b747e] user: drh branch: trunk, size: 163663)
2008-12-12
17:56
[ee98938f] part of check-in [e545490a] Rework the rowid lookup logic in the query optimizer to fix various boundary value problems. Ticket #3536. Renamed the OP_MoveXX opcodes to OP_SeekXX. (CVS 6024) (check-in: [e545490a] user: drh branch: trunk, size: 163607)
2008-12-11
20:03
[0f9f1952] part of check-in [f6c50f35] Previous change to the OP_ForceInt opcode did not work correctly when the input is a negative floating point value. This change is the fix. Ticket #3536. (CVS 6023) (check-in: [f6c50f35] user: drh branch: trunk, size: 162788)
19:50
[78e24995] part of check-in [6a049c65] Make sure the OP_ForceInt vdbe opcode does not cause a rowid overflow. Ticket #3536. Tests to verify this change will be checked in separately. (CVS 6022) (check-in: [6a049c65] user: drh branch: trunk, size: 162804)
16:17
[46eed1fc] part of check-in [da2ec964] Guard against attacks from deliberately corrupted database files. (CVS 6021) (check-in: [da2ec964] user: drh branch: trunk, size: 162450)
13:05
[3a184e26] part of check-in [0d316160] Initialize a local variable so as to avoid a valgrind warning. (CVS 6019) (check-in: [0d316160] user: drh branch: trunk, size: 162477)
02:58
[4b004af1] part of check-in [72fd92bd] Removed a few more harmless warnings from MSVC. (CVS 6018) (check-in: [72fd92bd] user: shane branch: trunk, size: 162845)
2008-12-10
22:32
[99e6c72b] part of check-in [50352950] Try to remove compiler warnings from vdbe.c. (CVS 6014) (check-in: [50352950] user: drh branch: trunk, size: 162839)
19:26
[0244413f] 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: 162683)
18:03
[b99af9ad] part of check-in [14e6d19c] More explicit type casting to silence VC++. (CVS 6006) (check-in: [14e6d19c] user: drh branch: trunk, size: 162611)
2008-12-09
02:51
[fce160c7] part of check-in [1522c2c6] Suppress more silly compiler warnings. (CVS 5995) (check-in: [1522c2c6] user: drh branch: trunk, size: 162521)
2008-12-06
16:46
[c7da2727] part of check-in [9d061e20] Make sure a memory allocation error did not prevent UTF16 to UTF8 conversion prior to doing a string comparison. (CVS 5988) (check-in: [9d061e20] user: drh branch: trunk, size: 162507)
2008-12-04
22:17
[3e849f1c] part of check-in [cb0f1658] Fix a segfault that can occur in the RowSet object following a malloc failure. (CVS 5978) (check-in: [cb0f1658] user: drh branch: trunk, size: 162467)
20:40
[5c46d374] 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: 162414)
12:17
[3291fb0f] part of check-in [760333de] Always enable the OP_Blob opcode in the VDBE even when SQLITE_OMIT_BLOB_LITERAL is defined, since that opcode is used for other purposes as well. Ticket #3518. (CVS 5974) (check-in: [760333de] user: drh branch: trunk, size: 161883)
2008-11-17
15:31
[c5270245] part of check-in [9939dd83] Modifications to avoid signed/unsigned warnings in vdbe.c. (CVS 5912) (check-in: [9939dd83] user: danielk1977 branch: trunk, size: 161962)
2008-11-13
18:29
[c15dc80b] part of check-in [9b7a52e9] Fixed several more crashes due to corrupt db files. Added corruptC.test to soak.test. (CVS 5905) (check-in: [9b7a52e9] user: shane branch: trunk, size: 161935)
2008-11-05
16:37
[b6b989bb] 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: 161868)
2008-11-03
20:55
[d2c9b71d] part of check-in [fdb98fd8] Change the name of the Cursor object to VdbeCursor. (CVS 5857) (check-in: [fdb98fd8] user: drh branch: trunk, size: 161366)
2008-10-30
15:03
[e3629776] part of check-in [4c6a90a1] Add the sqlite3_extended_errcode() interface. Change to return SQLITE_BUSY instead of SQLITE_ERROR when a COMMIT is attempted and one or more queries are still pending. (CVS 5850) (check-in: [4c6a90a1] user: drh branch: trunk, size: 161225)
2008-10-27
13:59
[be815328] part of check-in [e68e4282] Make sqlite3_count_changes() and total_changes() work with "DELETE FROM ". (CVS 5844)
(check-in: [e68e4282] user: danielk1977 branch: trunk, size: 161234)
2008-10-08
17:58
[b78adf57] part of check-in [af679f61] After an OP_NullRow is executed on a cursor, cause any subsequent OP_Next or OP_Prev to behave as if there were no more rows to traverse. Ticket #3424. (CVS 5782) (check-in: [af679f61] user: danielk1977 branch: trunk, size: 160701)
2008-10-07
23:46
[374961d5] part of check-in [de473efb] Add the experimental sqlite3_stmt_status() interface. (CVS 5781) (check-in: [de473efb] user: drh branch: trunk, size: 160626)
19:53
[b1c79e64] part of check-in [79df72ee] Raise the hard upper bound on SQLITE_MAX_FUNCTION_ARG to 1000 from 100. The default upper bound is still 100, but it can now be raised as high as 1000 at compile-time. (CVS 5780) (check-in: [79df72ee] user: drh branch: trunk, size: 160540)
2008-09-22
06:13
[c9499f18] part of check-in [91567943] Remove unused macro Release() from vdbe.c. (CVS 5728) (check-in: [91567943] user: danielk1977 branch: trunk, size: 160514)
2008-09-02
11:05
[ebc6f6bc] part of check-in [29c9a802] Add a 'const' to the opcodeProperty array in vdbe.c. (CVS 5661) (check-in: [29c9a802] user: danielk1977 branch: trunk, size: 160698)
2008-08-21
19:28
[adcc179a] part of check-in [30077ece] Remove references to OP_MoveTo in comments of vdbe.c - that opcode no longer exists. Ticket #3327. (CVS 5584) (check-in: [30077ece] user: drh branch: trunk, size: 160684)
2008-08-20
22:06
[ae37f601] 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: 160708)
2008-08-13
19:11
[e2dd0c78] part of check-in [0b92cbf5] Additional changes toward fixing ticket #3292. (CVS 5562) (check-in: [0b92cbf5] user: drh branch: trunk, size: 160714)
14:07
[cda10a8e] 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: 160893)
2008-08-11
18:44
[2eff8c22] part of check-in [0e1d8d14] Do not allow indexing of any table whose name begins with "sqlite_". Ticket #3284. Improve handling of databases with malformed schemas - just in case somebody has actually indexed a system table. (CVS 5553) (check-in: [0e1d8d14] user: drh branch: trunk, size: 160895)
2008-08-02
15:10
[96e0527a] part of check-in [6e41455f] Increase the ref-count on the sqlite3_vtab structure before calling either the xNext or xFilter methods. (CVS 5524) (check-in: [6e41455f] user: danielk1977 branch: trunk, size: 160879)
2008-08-01
20:10
[a548d1dd] part of check-in [2cd6bae8] Bring test coverage up to 99%. (CVS 5522) (check-in: [2cd6bae8] user: drh branch: trunk, size: 160751)
17:37
[90296a45] 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: 160722)
2008-07-30
13:27
[caa16947] part of check-in [da0e4bff] Implicit string->numeric conversion should go to an integer value when possible. Ticket #3257. (CVS 5502) (check-in: [da0e4bff] user: drh branch: trunk, size: 159903)
13:14
[4a5b78de] part of check-in [aee63308] Remove unused sqlite3VdbeMemDynamicify() function from the VDBE. (CVS 5500) (check-in: [aee63308] user: drh branch: trunk, size: 159843)
2008-07-29
10:18
[78171c3f] part of check-in [9ebee840] Speed up OP_Column by eliminating some double handling. (CVS 5490) (check-in: [9ebee840] user: danielk1977 branch: trunk, size: 159848)
2008-07-28
19:34
[40b188e5] 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: 160107)
2008-07-26
18:47
[aa0922d6] part of check-in [75c2a532] Remove a branch that could not be taken from OP_IsUnique. (CVS 5485) (check-in: [75c2a532] user: danielk1977 branch: trunk, size: 160043)
18:26
[acc17bc1] 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: 159731)
2008-07-23
21:07
[cc4c19b8] part of check-in [4a9dd5e7] Error messages from virtual tables store on the sqlite3_vtab->zErrMsg field are reported back up to the application interface and memory is reclaimed. (CVS 5466) (check-in: [4a9dd5e7] user: drh branch: trunk, size: 159650)
18:17
[28681507] part of check-in [e2c6771d] Read the sqlite3_vtab.zErrMsg after each call to a virtual table method and transfer any error into the database connection. Fix the fts2.test and fts3.test scripts to that they return silently rather than failing the test sequence if the appropriate FTS implementation is unavailable. (CVS 5463) (check-in: [e2c6771d] user: drh branch: trunk, size: 159532)
2008-07-11
21:02
[179dbe5f] 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: 159308)
2008-07-10
00:32
[14d98d1d] part of check-in [636cd723] Remove unused code. Test coverage enhancements. Modify the algorithm used to select column names for VIEWs of joins so that the constructed column names omits the underlying table names. (CVS 5386) (check-in: [636cd723] user: drh branch: trunk, size: 159363)
2008-07-08
19:34
[4b3c7d0c] 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: 160402)
2008-07-07
17:13
[fb6df1bd] part of check-in [acfb2b41] Fix an error checked in as part of (5350). (CVS 5353) (check-in: [acfb2b41] user: danielk1977 branch: trunk, size: 160425)
14:56
[8adaa752] part of check-in [b96bcaa1] Test a couple of specific malloc() failures that were not tested before. (CVS 5350) (check-in: [b96bcaa1] user: danielk1977 branch: trunk, size: 160425)
2008-06-26
18:04
[b1528683] part of check-in [d45a97be] Fix handling of "x IN (...)" and "x NOT IN (...)" expressions when the set contains an SQL NULL value. (CVS 5314) (check-in: [d45a97be] user: danielk1977 branch: trunk, size: 160334)
2008-06-25
00:12
[c0daf1d1] 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: 160323)
2008-06-23
18:49
[3674e10c] part of check-in [f8238770] Fix a bug in handling queries on the sqlite_master table with an empty (0 bytes in size) database file. (CVS 5286) (check-in: [f8238770] user: danielk1977 branch: trunk, size: 159255)
2008-06-22
12:37
[98d8d2f7] 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: 158750)
2008-06-20
18:13
[b733eaea] 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: 158591)
15:24
[d4b0efee] part of check-in [6b9d92fc] Change the SRT_Subroutine mode into SRT_Coroutine. Use co-routines in the INSERT processing logic. (CVS 5255) (check-in: [6b9d92fc] user: drh branch: trunk, size: 157172)
14:59
[7f80262d] 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: 156808)
2008-06-15
02:51
[f6866986] 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: 156804)
2008-06-07
08:58
[1936425c] part of check-in [e9f01c01] Change the signature of sqlite3PagerPagecount() so that it can return an error code. (CVS 5195) (check-in: [e9f01c01] user: danielk1977 branch: trunk, size: 156814)
2008-06-06
15:04
[a113a62a] 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: 156485)
2008-06-05
11:39
[04fec4d3] 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: 156786)
2008-05-30
15:59
[bad9123e] part of check-in [06135694] Fix typos in comments in vdbe.c. (CVS 5182) (check-in: [06135694] user: shane branch: trunk, size: 156691)
2008-05-29
20:22
[37d3237a] part of check-in [9883b406] Consolidated inline assembly versions of "hwtime()" into hwtime.h. Provided MSVC version. Modified code for consistent use of hwtime(). Changed implementation to use sqlite_uint64 and sqlite_int64 instead of unsigned long long int and long long int for MSVC compiler support. (CVS 5178) (check-in: [9883b406] user: shane branch: trunk, size: 156682)
05:23
[efe92d09] part of check-in [5f6eab65] Fix cosmetic issues spotted while working on ticket #3146 (CVS 5177) (check-in: [5f6eab65] user: drh branch: trunk, size: 157010)
03:12
[4666906a] part of check-in [0d55328e] Fix an obsolete comment on the OP_Rowid opcode in the VDBE. (CVS 5174) (check-in: [0d55328e] user: drh branch: trunk, size: 157037)
2008-05-15
17:48
[25a362a4] part of check-in [eb6985e6] Add the "page_count" pragma. Returns a single integer - the number of pages in the specified database file. (CVS 5135) (check-in: [eb6985e6] user: danielk1977 branch: trunk, size: 157078)
2008-05-13
13:27
[81035a61] 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: 156619)
2008-05-09
18:03
[56c11eb1] part of check-in [18b1ee10] Reformulate the constants for the minimum and maximum 64-bit signed integer to work better with some compilers. Ticket #3105. (CVS 5113) (check-in: [18b1ee10] user: drh branch: trunk, size: 156615)
2008-05-07
18:59
[2bc3352c] part of check-in [530c6360] Added test cases for corrupt SerialTypeLen header values, and additional check to improve detection of corrupt values. (CVS 5101) (check-in: [530c6360] user: shane branch: trunk, size: 156616)
2008-04-29
00:15
[26964ba7] 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: 156455)
2008-04-28
16:55
[1e0ee231] part of check-in [07fd9a8c] Change the implementation of the NaN recognition to be more cross-platform. Ticket #3089. (CVS 5060) (check-in: [07fd9a8c] user: drh branch: trunk, size: 156412)
2008-04-25
12:25
[2d75ac15] part of check-in [7f805392] Clarify some comments. No changes to code. (CVS 5049) (check-in: [7f805392] user: drh branch: trunk, size: 156413)
2008-04-24
19:15
[062c597e] 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: 155966)
2008-04-18
11:31
[e0cc1de8] part of check-in [df02175e] Remove unused code from OP_IdxLt and OP_IdxGE. (CVS 5030) (check-in: [df02175e] user: danielk1977 branch: trunk, size: 156620)
10:25
[892a8718] part of check-in [9a976819] Combine cases 3 and 4 in where.c, since case 4 is now a special case of case 3. (CVS 5029) (check-in: [9a976819] user: danielk1977 branch: trunk, size: 156903)
09:01
[6b3a2273] 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: 156456)
2008-04-15
12:14
[e4a3df12] part of check-in [d04246a4] Fix a code generator bug caused by the new CSE optimization. Add test cases to prevent a recurrence. (CVS 5011) (check-in: [d04246a4] user: drh branch: trunk, size: 154947)
2008-04-10
14:00
[444ab9ec] part of check-in [55591fc4] Make sure changes to virtual tables are counted the same as real tables. Ticket #3038. (CVS 4976) (check-in: [55591fc4] user: drh branch: trunk, size: 154918)
2008-04-05
18:41
[edee1974] part of check-in [b2517a7d] Add the sqlite3PutVarint32 routine as an alternative to sqlite3PutVarint. Gives 0.5% speed increase. (CVS 4968) (check-in: [b2517a7d] user: drh branch: trunk, size: 154900)
2008-04-03
20:09
[66ca98cc] part of check-in [1d67f41c] Fix to the previous check-in so that it works on a intel Mac. (CVS 4962) (check-in: [1d67f41c] user: drh branch: trunk, size: 154896)
19:40
[da3f91d8] part of check-in [b4eba9c5] Use an improved RDTSC access routine. (CVS 4961) (check-in: [b4eba9c5] user: drh branch: trunk, size: 155022)
2008-04-02
16:29
[1f8c02fc] part of check-in [66c5d715] Simplifications to the LockTable opcode. (CVS 4954) (check-in: [66c5d715] user: drh branch: trunk, size: 154817)
2008-04-01
00:36
[1a8f3ece] part of check-in [53e533d3] Break up the implementation of OP_Move, OP_Copy, and OP_SCopy to reduce the number of branch instructions. (CVS 4945) (check-in: [53e533d3] user: drh branch: trunk, size: 154943)
2008-03-31
18:19
[07f500db] part of check-in [2126db39] Factor constant subexpressions out of loops. (CVS 4942) (check-in: [2126db39] user: drh branch: trunk, size: 154443)
2008-03-28
19:16
[09dd6f4c] part of check-in [2b6d3e01] Fix a memory leak that can occur when the library API is misused. (CVS 4932) (check-in: [2b6d3e01] user: danielk1977 branch: trunk, size: 154407)
15:44
[a1413f2d] 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: 154363)
2008-03-27
22:42
[ecad5d19] 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: 154015)
17:59
[f8e6d7f9] 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: 153875)
2008-03-25
17:23
[00687034] 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: 153264)
09:47
[bdcbf54c] 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: 153086)
00:22
[d81771c6] 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: 151443)
2008-03-21
17:13
[43b261f5] part of check-in [13e388ce] Make sure the text result of an aggregate function has the correct encoding. Ticket #3009. (CVS 4903) (check-in: [13e388ce] user: drh branch: trunk, size: 151735)
2008-03-20
14:03
[5ac49cf5] part of check-in [60c77882] Initial implementation of per-connection limits and the sqlite3_limit() API. The sqllimits1.test script crashes. SQLITE_LIMIT_PAGE_COUNT and SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897) (check-in: [60c77882] user: drh branch: trunk, size: 151690)
2008-03-19
21:45
[86033e43] part of check-in [54c55cae] Add a new interface, sqlite3_context_db_handle(), that returns the database connection pointer for an application-defined function. (CVS 4889) (check-in: [54c55cae] user: drh branch: trunk, size: 151592)
14:15
[aaf93d6d] 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: 151591)
2008-03-17
17:18
[c63fcb1c] part of check-in [fcf3d0a3] Fix an uninitialized variable in the Prev and Next opcodes. (CVS 4873) (check-in: [fcf3d0a3] user: drh branch: trunk, size: 151590)
16:54
[abb9232d] part of check-in [57db1406] Detect the failure to zero-terminate a result string due to a malloc failure. (CVS 4871) (check-in: [57db1406] user: drh branch: trunk, size: 151605)
2008-02-13
18:25
[a172f513] 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: 151575)
2008-02-06
14:11
[10493752] part of check-in [c2461620] Add the sqlite3_result_error_code() application interface. Use it in the ATTACH function so that a failed attach returns a proper error code. Ticket #2914. (CVS 4775) (check-in: [c2461620] user: drh branch: trunk, size: 150965)
2008-01-31
19:34
[451ead62] part of check-in [ebeac2a4] Fix a problem with virtual tables and left joins introduced by check-in (4761). Ticket #2894 and #2913. (CVS 4765) (check-in: [ebeac2a4] user: drh branch: trunk, size: 150967)
15:53
[a21942ef] part of check-in [face510b] Make sure virtual table interfaces are not invoked after EOF when the virtual table appears in an outer join. Ticket #2894. (CVS 4761) (check-in: [face510b] user: drh branch: trunk, size: 150946)
2008-01-23
03:03
[299e18e4] 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: 150798)
2008-01-22
21:30
[a3ac8efb] part of check-in [1a335e18] Add the fault injector module in fault.c. Use it as a basis for memory allocation failure testing. (CVS 4742) (check-in: [1a335e18] user: drh branch: trunk, size: 150863)
2008-01-21
16:22
[e7ec3089] part of check-in [720bc20a] Miscellaneous test coverage improvements. (CVS 4734) (check-in: [720bc20a] user: drh branch: trunk, size: 150868)
2008-01-19
23:50
[7d193674] part of check-in [010f7b78] Additional test coverage improvements. Test coverage now stands at 98.73%. (CVS 4731) (check-in: [010f7b78] user: drh branch: trunk, size: 150790)
20:11
[65a3ad90] part of check-in [af129b6d] Miscellaneous code simplifications and cleanup and test coverage enhancements. (CVS 4730) (check-in: [af129b6d] user: drh branch: trunk, size: 151398)
03:35
[986d1b40] part of check-in [d9ebe9d7] Cleanup and simplification of constraint processing. Simplifications to the VM for better test coverage. (CVS 4729) (check-in: [d9ebe9d7] user: drh branch: trunk, size: 150605)
2008-01-18
14:08
[3734b4b4] part of check-in [0e50c020] Remove the OP_HexBlob instruction and code OP_Blob directly. Reduce the amount of memory allocation required to encode blob literals. Remove the "out2" instruction type. Other minor optimizations. (CVS 4726) (check-in: [0e50c020] user: drh branch: trunk, size: 151348)
2008-01-17
16:22
[94d3da76] 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: 152397)
02:36
[9de1ce4d] part of check-in [b3a141b2] Registerification of the WHERE clause logic. (CVS 4716) (check-in: [b3a141b2] user: drh branch: trunk, size: 161693)
2008-01-16
17:46
[1c585994] part of check-in [5807921f] Get all tests running without memory leaks. (CVS 4714) (check-in: [5807921f] user: drh branch: trunk, size: 163836)
2008-01-12
21:35
[f3670046] 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: 163501)
19:03
[a05947fb] part of check-in [426f31ec] Continuing work toward converting the VM to a register machine. (CVS 4708) (check-in: [426f31ec] user: drh branch: trunk, size: 163022)
12:48
[20bd0886] part of check-in [a6dddebc] Continuing work toward converting the VM into a register machine. (CVS 4707) (check-in: [a6dddebc] user: drh branch: trunk, size: 164058)
2008-01-10
23:50
[2a62b69e] 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: 164428)
2008-01-09
23:04
[b094a883] 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: 167459)
02:15
[cf1f4de3] part of check-in [92deff07] Continued work toward converting to a register-based VM. (CVS 4698) (check-in: [92deff07] user: drh branch: trunk, size: 169469)
2008-01-08
23:54
[926b4630] part of check-in [8862ce9c] Registerify the comparison opcodes. (CVS 4697) (check-in: [8862ce9c] user: drh branch: trunk, size: 172350)
02:57
[e71595ac] 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: 172773)
2008-01-07
19:20
[3d849013] part of check-in [aa48867c] Registerify the AUTOINCREMENT processing and the OP_IsNull and OP_NotNull operators. (CVS 4692) (check-in: [aa48867c] user: drh branch: trunk, size: 172394)
2008-01-06
00:25
[d3076466] part of check-in [8201f717] Registerify the SRT_Subroutine destination for SELECT results. (CVS 4690) (check-in: [8201f717] user: drh branch: trunk, size: 172591)
2008-01-05
18:48
[2dda0565] part of check-in [6bb1b1bc] Modify OP_RegMakeRec to take a base register and count and optionally store results in the register specified by P3. (CVS 4689) (check-in: [6bb1b1bc] user: drh branch: trunk, size: 172558)
16:29
[0c16e643] part of check-in [66396d2f] Registerify binary operators. Add register tracing to debugging output. (CVS 4686) (check-in: [66396d2f] user: drh branch: trunk, size: 172163)
06:51
[5174adfb] part of check-in [6c78d2a4] Expression code generator takes advantage of recent opcode changes. (CVS 4685) (check-in: [6c78d2a4] user: drh branch: trunk, size: 171874)
05:38
[d96c341f] part of check-in [32380dca] Register-ify the OP_ForceInt opcode. (CVS 4684) (check-in: [32380dca] user: drh branch: trunk, size: 171870)
05:20
[f8aabf9a] 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: 172003)
04:06
[8a2d438d] part of check-in [cc149eb9] Get rid of OP_Dup, OP_MemStore, OP_MemLoad, and OP_MemMove. Replace with OP_Copy, OP_SCopy, and OP_Move. Add the infrastructure for operation properties in1, in2, in3, out2, and out3 but do not yet use any of these. (CVS 4682) (check-in: [cc149eb9] user: drh branch: trunk, size: 172724)
2008-01-04
22:01
[a2d9e868] part of check-in [fe057a88] Implement the out2-prerelease opcode design pattern. (CVS 4681) (check-in: [fe057a88] user: drh branch: trunk, size: 170478)
19:10
[9ccdc8ab] part of check-in [d9ac6bee] Some modifications to insert.c to work without using the stack. (CVS 4678) (check-in: [d9ac6bee] user: danielk1977 branch: trunk, size: 170342)
16:50
[8e42b5ce] 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: 169779)
13:57
[c562e01b] part of check-in [2c913908] Modify FifoRead and FifoWrite to work exclusively with memory cells. (CVS 4676) (check-in: [2c913908] user: danielk1977 branch: trunk, size: 169159)
13:24
[55e1a054] part of check-in [173f2813] Modify the code generated for a DELETE to use registers instead of the vdbe stack. (CVS 4675) (check-in: [173f2813] user: danielk1977 branch: trunk, size: 169189)
11:01
[09caf575] part of check-in [8bb9f970] Add OP_MemSet, for setting a memory cell to a string value. (CVS 4674) (check-in: [8bb9f970] user: danielk1977 branch: trunk, size: 168336)
2008-01-03
18:44
[b49db80b] part of check-in [4f396707] Update OP_Rowid, OP_Column and related opcodes to use registers. (CVS 4671) (check-in: [4f396707] user: drh branch: trunk, size: 168035)
18:39
[0fa40511] 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: 167144)
18:03
[4e72b3a2] 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: 167321)
17:31
[e54f89e8] part of check-in [955b15a0] Modify OP_VUpdate to read arguments from a range of memory cells instead of from the stack. (CVS 4668) (check-in: [955b15a0] user: danielk1977 branch: trunk, size: 167329)
11:50
[ae8e6bc6] 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: 167339)
09:51
[5b193918] 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: 167428)
08:08
[429493ce] part of check-in [c30f8206] Combine the OP_Column and OP_DfltValue opcodes. (CVS 4664) (check-in: [c30f8206] user: danielk1977 branch: trunk, size: 167735)
07:54
[847acbfd] 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: 168111)
07:09
[83dfa698] 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: 168267)
00:01
[fd5f6fc9] 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: 168247)
2008-01-02
14:28
[85e44649] part of check-in [4c7f35da] Add opcodes OP_ResultRow and OP_RegMakeRec which are register-based equivalents to OP_Callback and OP_MakeRecord. Use the new opcodes. (CVS 4656) (check-in: [4c7f35da] user: drh branch: trunk, size: 168286)
00:34
[56a6e80d] 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: 167936)
2007-12-17
16:20
[b2f1bcd4] part of check-in [07aeca3b] When SQLITE_MAX_SQL_LENGTH is 0, disable the limit. Make the default 0. Once again build the sqlite3 CLI from individual source files so that it can be built on systems that lack tclsh. Tickets #2845 and #2846. (CVS 4636) (check-in: [07aeca3b] user: drh branch: trunk, size: 164379)
2007-12-13
21:54
[cd669cd8] part of check-in [4e91a267] Change all instances of "it's" in comments to either "its" or "it is", as appropriate, in case the comments are ever again read by a pedantic grammarian. Ticket #2840. (CVS 4629) (check-in: [4e91a267] user: drh branch: trunk, size: 164599)
2007-12-12
22:24
[a6f9fa3b] part of check-in [c0689409] Minor cleanup changes on the OP_StackDepth opcode. Added the sidedelete test for additional testing of ticket #2832. (CVS 4619) (check-in: [c0689409] user: drh branch: trunk, size: 164598)
12:25
[94d41ad1] part of check-in [18e10f81] Fix database corrupting code generation error for UPDATE OR REPLACE. ticket #2832. Still need to add test cases and additional defensive logic to avoid future occurrences of similar problems. (CVS 4613) (check-in: [18e10f81] user: drh branch: trunk, size: 164604)
12:00
[24376fd0] part of check-in [3fd6a267] Add a new OP_StackDepth opcode to help detect VDBE stack leaks early, before they cause damage. For diagnostics in ticket #2832. (CVS 4612) (check-in: [3fd6a267] user: drh branch: trunk, size: 164593)
2007-12-04
16:54
[a99beac1] 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: 163952)
2007-11-29
17:05
[9859467b] 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: 163896)
2007-11-12
08:09
[791d056d] part of check-in [af5af5dc] Modify the order of assert() macros in vdbe.c as per the suggestion in #2768. (CVS 4536) (check-in: [af5af5dc] user: danielk1977 branch: trunk, size: 163665)
2007-10-23
15:39
[6a577531] 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: 163657)
14:55
[b21ea40c] part of check-in [27f846d0] Fix limit assertions in vdbe.c. Ticket #2740. (CVS 4506) (check-in: [27f846d0] user: drh branch: trunk, size: 163984)
2007-10-05
16:23
[57e37b55] part of check-in [4424357d] Remove #include <math.h> from all source files. It is no longer needed but causes compile problems when -DSQLITE_OMIT_FLOATING_POINT is defined. Ticket #2696. (CVS 4474) (check-in: [4424357d] user: drh branch: trunk, size: 163977)
2007-09-03
15:19
[b6c53921] part of check-in [020a2b10] Honor the SQLITE_OPEN_ flags passed into sqlite3_open_v2(). Some test cases added but more are needed. Ticket #2616. (CVS 4376) (check-in: [020a2b10] user: drh branch: trunk, size: 163995)
2007-08-30
11:48
[d2f156bb] part of check-in [d3e50226] Fixes for failures in fuzz_malloc.test. (CVS 4334) (check-in: [d3e50226] user: danielk1977 branch: trunk, size: 163779)
01:19
[9d22f69c] part of check-in [e40d40a5] Fix for the sqlite3AbortOtherActiveVdbes() problem. (CVS 4328) (check-in: [e40d40a5] user: drh branch: trunk, size: 163746)
2007-08-29
12:31
[9f2ef520] 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: 163147)
2007-08-28
23:28
[f578e7f0] 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: 163116)
02:27
[62d210ba] part of check-in [b8cc493b] Work toward correct btree locking in a multithreaded environment. (CVS 4307) (check-in: [b8cc493b] user: drh branch: trunk, size: 163112)
2007-08-21
19:33
[9d4d0058] 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: 162826)
10:44
[f1a9a29d] part of check-in [fbbd5bda] Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) (check-in: [fbbd5bda] user: drh branch: trunk, size: 163083)
2007-08-17
15:53
[b5cd895a] part of check-in [af3e3c7a] Begin migration to using sqlite3_vfs interface. (CVS 4240) (check-in: [af3e3c7a] user: danielk1977 branch: trunk, size: 163107)
2007-08-16
10:09
[10052a4f] 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: 163017)
04:30
[dd6f17be] 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: 162764)
2007-07-26
06:50
[cf973bd1] part of check-in [b88af182] Fix two obscure memory leaks that can follow a malloc() failure in sqlite3_set_auxdata(). Ticket #2534. (CVS 4185) (check-in: [b88af182] user: danielk1977 branch: trunk, size: 162811)
2007-07-22
19:10
[a58fe70f] part of check-in [77ebc3fe] Fix a bad sizeof in vdbe.c. Ticket #2522. (CVS 4174) (check-in: [77ebc3fe] user: drh branch: trunk, size: 162294)
2007-07-21
19:41
[033d1e6b] part of check-in [1924ba52] Work around a bug in GCC. Ticket #2469. (CVS 4173) (check-in: [1924ba52] user: drh branch: trunk, size: 162295)
2007-07-01
21:18
[a96ce379] part of check-in [35ae398b] Remove an unnecessary temporary variable for clarity of presentation in a loop that GCC 4.2.0 is miscompiling. Ticket #2469. GCC 4.2.0 miscompiles this loop regardless of whether or not the temporary variable is used, but by removing the variable, we hope to make it easier to explain the problem to GCC maintainers. The error only appears if -ftree-vrp is used (which is turned on by -O2). (CVS 4150) (check-in: [35ae398b] user: drh branch: trunk, size: 162294)
2007-06-27
15:53
[32f39e9c] part of check-in [37d1f9f3] Allow ALTER TABLE on virtual tables. (CVS 4142) (check-in: [37d1f9f3] user: danielk1977 branch: trunk, size: 162326)
2007-06-26
12:52
[b776b68a] part of check-in [be2570c0] Use (((i64)1)<<63) instead of just (1<<63) to compute the most negative 64-bit integer. (CVS 4131) (check-in: [be2570c0] user: danielk1977 branch: trunk, size: 161585)
11:13
[b01ec631] part of check-in [c6dfd9e4] Fix for #2444: Avoid SIGFPE on 64-bit platforms when evaluating expressions like ((1<<63)/-1). (CVS 4130) (check-in: [c6dfd9e4] user: danielk1977 branch: trunk, size: 161578)
00:37
[99f53a0a] part of check-in [96190cf1] Change the name of sqlite3_atoi64 back to sqlite3Atoi64 so that it is clearly and internal API. Modify the amalgamation to use a macro SQLITE_PRIVATE instead of the keyword "static" so the macro can be overridden to by nothing. (CVS 4124) (check-in: [96190cf1] user: drh branch: trunk, size: 161065)
2007-06-25
17:28
[251e0121] part of check-in [5b3a4906] Rework the string to integer conversion logic to address tickets #2344 and #2454. (CVS 4123) (check-in: [5b3a4906] user: drh branch: trunk, size: 161066)
2007-06-24
16:11
[81714b7d] part of check-in [bc61dcbf] Fix for #2451. Code comment changes only. (CVS 4114) (check-in: [bc61dcbf] user: danielk1977 branch: trunk, size: 161073)
10:14
[0f4d3085] part of check-in [c666fad1] Make setting "PRAGMA auto_vacuum = incremental" persistent if it is executed before the database file is created. (CVS 4113) (check-in: [c666fad1] user: danielk1977 branch: trunk, size: 161073)
08:00
[219cfe39] part of check-in [1fb4251a] Add the "(database.)freelist_count" PRAGMA. For querying the size of the database free-list. (CVS 4112) (check-in: [1fb4251a] user: danielk1977 branch: trunk, size: 160789)
2007-06-20
15:29
[a7407f04] part of check-in [406675bb] Remove the dependency on libm for isnan(). Ticket #2436. (CVS 4103) (check-in: [406675bb] user: drh branch: trunk, size: 160688)
2007-06-15
14:53
[4f3e8321] 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: 160688)
2007-06-13
16:49
[2653777a] 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: 160656)
2007-06-07
19:08
[265d7061] part of check-in [f4021843] Make sure zeroblob does reasonable things with a negative argument or an argument that is larger than the maximum blob size. (CVS 4048) (check-in: [f4021843] user: drh branch: trunk, size: 160715)
2007-05-23
06:31
[74a82e8d] part of check-in [6e19ef75] Make sure zeroblob() works with the concatenation operator. Ticket #2379. (CVS 4028) (check-in: [6e19ef75] user: drh branch: trunk, size: 160808)
2007-05-17
16:38
[38e902e8] part of check-in [ae644bc7] Bring the autoconf based build system up to date with the recent changes. #2366, #2367 and #2368. (CVS 4022) (check-in: [ae644bc7] user: danielk1977 branch: trunk, size: 160793)
2007-05-16
17:28
[51baf9ba] part of check-in [93f811ec] Change a few selected functions to macros to speed things up. (CVS 4015) (check-in: [93f811ec] user: danielk1977 branch: trunk, size: 160819)
14:23
[d0f60420] part of check-in [1d89be28] Omit some extra code when OMIT_INCRBLOB is defined. (CVS 4014) (check-in: [1d89be28] user: danielk1977 branch: trunk, size: 160747)
11:55
[55b1d462] part of check-in [2ac985a3] Keep the full precision of integers if possible when casting to "numeric". Ticket #2364. (CVS 4012) (check-in: [2ac985a3] user: drh branch: trunk, size: 160713)
2007-05-12
12:08
[5deb4cdc] part of check-in [c08658e1] Make the ANALYZE command robust in the face of malloc() failures. (CVS 3989) (check-in: [c08658e1] user: drh branch: trunk, size: 160753)
2007-05-11
10:10
[8dcd02c2] part of check-in [4e1bb41f] Expand the expressions tested by fuzz.test. Fix for (CAST zeroblob() AS text). (CVS 3983) (check-in: [4e1bb41f] user: danielk1977 branch: trunk, size: 160756)
07:08
[d1be8d86] part of check-in [ccef5d2d] Fix a problem with inserting zeroblob() into an indexed column. (CVS 3982) (check-in: [ccef5d2d] user: danielk1977 branch: trunk, size: 160717)
2007-05-10
21:14
[308c698a] part of check-in [a57afaff] When converting literal BLOBs to text using the encoding of the main database. Ticket #2349. (CVS 3975) (check-in: [a57afaff] user: drh branch: trunk, size: 160564)
17:32
[c0b1cd6c] part of check-in [1e8fcb3f] Add cases to fuzz.test. Some tests in this file fail at the moment. (CVS 3973) (check-in: [1e8fcb3f] user: danielk1977 branch: trunk, size: 160588)
17:23
[a2e2a5d6] part of check-in [ffe615a7] Add some UTF-8 test infrastructure. Treat NaN as NULL. The printf routines print infinity as "Inf" not as "NaN". Ticket #2345. (CVS 3972) (check-in: [ffe615a7] user: drh branch: trunk, size: 160517)
2007-05-08
20:59
[a2429022] 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: 160446)
20:37
[4e4951b6] part of check-in [e9f56ead] Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958) (check-in: [e9f56ead] user: drh branch: trunk, size: 160446)
13:57
[07f70528] part of check-in [2f186e91] Avoid evaluating (INT_MIN/-1) with 32 bit signed numbers. It can cause SIGFPE. (CVS 3945) (check-in: [2f186e91] user: danielk1977 branch: trunk, size: 160454)
12:12
[c942cb18] part of check-in [031a5915] Begin adding code to explicitly limit the size of strings and blobs. (CVS 3943) (check-in: [031a5915] user: drh branch: trunk, size: 160448)
01:08
[a839d32a] part of check-in [93b623b2] Begin implementing a new system of upper bounds on the capabilities of SQLite. By clearly defining the upper bounds, we make those upper bounds explicitly testable. This check-in is just infrastructure. The upper bounds are not yet enforced. (CVS 3941) (check-in: [93b623b2] user: drh branch: trunk, size: 159137)
2007-05-04
18:30
[725a808e] part of check-in [b13e497a] Change incremental vacuum to be triggered by a pragma rather than a command. We have a lot to learn about this yet and we do not want to paint ourselves into a corner by commiting to specific syntax too early. (CVS 3921) (check-in: [b13e497a] user: drh branch: trunk, size: 159117)
13:15
[74f348b1] 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: 159061)
2007-05-02
16:51
[a4abf744] part of check-in [83ab2501] More fixes and improvements to the zeroblob() mechanism. (CVS 3900) (check-in: [83ab2501] user: drh branch: trunk, size: 158826)
13:30
[bb1baa9a] 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: 157940)
01:34
[8cc851ca] part of check-in [7a01836d] Begin adding the zeroblob API to support incremental blob i/o. (CVS 3894) (check-in: [7a01836d] user: drh branch: trunk, size: 157252)
2007-04-26
14:42
[a3cf3792] part of check-in [f6a6d2b8] Add largely untested code for the incremental vacuum function. (CVS 3876) (check-in: [f6a6d2b8] user: danielk1977 branch: trunk, size: 157130)
2007-04-18
16:45
[814dab20] part of check-in [165dc72d] The sqlite3_step() routine reports SQLITE_ERROR after a commit failure, not SQLITE_DONE. This fix only effects the legacy sqlite3_prepare() interface. It already worked correctly with sqlite3_prepare_v2(). (CVS 3854) (check-in: [165dc72d] user: drh branch: trunk, size: 156660)
2007-04-17
08:32
[cf7808e8] part of check-in [61c1d06d] Avoid reloading the db schema after a failed OP_VerifyCookie if the in-memory schema cookie already matches the database file. (CVS 3849) (check-in: [61c1d06d] user: danielk1977 branch: trunk, size: 156594)
2007-04-16
15:06
[8f5faea0] part of check-in [8d6c3bfc] Ensure sqlite3_finalize() can be called from within the xDisconnect() method of virtual tables. (CVS 3845) (check-in: [8d6c3bfc] user: danielk1977 branch: trunk, size: 155793)
2007-03-30
18:42
[87e31f07] 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: 155781)
11:23
[d5a4fc1e] 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: 155600)
2007-03-29
05:51
[e214ce8f] 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: 155472)
2007-03-28
14:30
[9fc45206] part of check-in [26348556] Correctly handle NULLs in IN operators. Ticket #2273. The changes in where.c and in the WhereLevel.aInLoop structure are not strictly necessary to fix this problem - they just make the code easier to read. Only the change in OP_Next/OP_Prev operator of vdbe.c is required. (CVS 3735) (check-in: [26348556] user: drh branch: trunk, size: 155274)
2007-03-27
14:44
[b68f3a86] part of check-in [cbebfb89] The -DSQLITE_OMIT_ATTACH=1 option now omits both the ATTACH and VACUUM commands. Ticket #2268. The regression test suite depends on both of these commands and will not run if compiled with this option. (CVS 3727) (check-in: [cbebfb89] user: drh branch: trunk, size: 155239)
13:36
[b452ec53] 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: 155201)
2007-03-26
22:05
[df2aa8cf] 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: 155142)
2007-03-15
12:05
[19e244e5] part of check-in [760ebf80] Catch an IO error code that was being ignored in OP_RowData. (CVS 3688) (check-in: [760ebf80] user: danielk1977 branch: trunk, size: 155158)
2007-03-01
00:29
[596199e4] part of check-in [ed915f57] Additional I/O Tracing support. (CVS 3667) (check-in: [ed915f57] user: drh branch: trunk, size: 155140)
2007-02-14
09:19
[21bde8cc] part of check-in [cb78f7cb] Use OP_VColumn instead of OP_Column when querying virtual tables for values to save in aggregate context records. #2230. (CVS 3644) (check-in: [cb78f7cb] user: danielk1977 branch: trunk, size: 155120)
2007-01-27
13:37
[b5a2ad31] part of check-in [3eec703b] Fix a documentation comment in vdbe.c. Ticket #2188. (CVS 3611) (check-in: [3eec703b] user: drh branch: trunk, size: 155040)
02:24
[31fe3e1e] part of check-in [d564a039] Limit the number of errors returned by PRAGMA integrity_check to 100 by default. Specify an alternative limit using an argument to the pragma. Ticket #2176. (CVS 3609) (check-in: [d564a039] user: drh branch: trunk, size: 155040)
2007-01-12
23:43
[4d54659b] part of check-in [87248470] Fix a bug in sqlite3_prepare_v2() introduced by checkin (3578) and reported on the mailing list. (CVS 3592) (check-in: [87248470] user: drh branch: trunk, size: 154619)
2007-01-09
14:01
[074cda81] 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: 154533)
2007-01-05
16:39
[dcf6b176] part of check-in [520f6583] Clear a compiler warning when compiling with -DSQLITE_OMIT_VIRTUALTABLE. (CVS 3566) (check-in: [520f6583] user: drh branch: trunk, size: 153855)
2007-01-04
01:20
[180ea84f] part of check-in [1773eb7b] Add a comment to vdbe.c to explain the use of an uninitialized variable. (CVS 3551) (check-in: [1773eb7b] user: drh branch: trunk, size: 153855)
2007-01-02
18:41
[15060804] part of check-in [bf1afd01] Update the vtab_err test to check for -DSQLITE_MEMDEBUG=1 and skip the tests if missing. Pager is more careful to clear its file size cache. Remove an assert() in VDBE that might fail on a corrupt database file. (CVS 3547) (check-in: [bf1afd01] user: drh branch: trunk, size: 153666)
2006-12-20
14:53
[5a1624c7] part of check-in [6fdbd3bc] The xFilter method is not optional. (CVS 3539) (check-in: [6fdbd3bc] user: drh branch: trunk, size: 153540)
14:31
[b967a169] part of check-in [951af8d5] Initialize a variable to avoid compiler warnings and human confusion. Ticket #2117. (CVS 3538) (check-in: [951af8d5] user: drh branch: trunk, size: 153581)
2006-10-28
00:28
[3e31f2e4] part of check-in [64762a9d] Enhance the optimizer so that IS NULL can use an available index. (CVS 3494) (check-in: [64762a9d] user: drh branch: trunk, size: 153577)
2006-10-27
14:06
[1d64351d] 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: 154422)
2006-10-24
11:26
[59100995] part of check-in [46b91807] Fix a bad variable reference. The reference is actually in unreachable code and is therefore harmless. The fix is to remove the code. (CVS 3483) (check-in: [46b91807] user: drh branch: version_2, size: 143540)
2006-09-23
20:36
[84a9c0b0] part of check-in [dc797bf4] Be sure to ignore PRAGMA encoding pragmas if the encoding has already been set for a database. Ticket #1987. This patch also includes some cleanup of the schema parser and initialization logic. (CVS 3436) (check-in: [dc797bf4] user: drh branch: trunk, size: 154307)
2006-09-21
11:02
[39f77538] part of check-in [7e618db4] Be more aggressive with the SQLITE_OMIT_VACUUM macro. Saves about 150 bytes of code space. (CVS 3432) (check-in: [7e618db4] user: drh branch: trunk, size: 154294)
2006-09-02
20:57
[a7786994] part of check-in [61148f4c] Do not call the xDisconnect method on a virtual table while xUpdate is pending. Instead, defer the xDisconnect until after xUpdate completes. (CVS 3387) (check-in: [61148f4c] user: drh branch: trunk, size: 154260)
2006-08-15
14:21
[24c2cc3b] part of check-in [3ebedbb6] Tighten an assert (ticket #1920). Change to "sqlite3.h" from <sqlite3.h> on the sqlite3ext.h header (ticket #1916). Fix a bug in the test scripts. (CVS 3354) (check-in: [3ebedbb6] user: drh branch: trunk, size: 154202)
2006-08-08
13:51
[3cea0b93] 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: 154203)
2006-07-26
13:43
[106bc621] 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: 154047)
01:39
[c2091165] 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: 154032)
2006-06-28
18:18
[3ffc96ec] part of check-in [60616496] Changes to get tests to pass with OMIT_VIRTUALTABLE. Ticket #1877. (CVS 3318) (check-in: [60616496] user: drh branch: trunk, size: 154045)
2006-06-24
11:51
[77679f2e] 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: 154043)
2006-06-23
14:32
[294e2f35] part of check-in [a56bfa56] Allow xDestroy methods to execute "DROP TABLE" statements. (CVS 3287) (check-in: [a56bfa56] user: danielk1977 branch: trunk, size: 154052)
11:34
[1e16fbc5] part of check-in [b56cc035] Fix some memory leaks that occur when malloc() fails. (CVS 3286) (check-in: [b56cc035] user: danielk1977 branch: trunk, size: 153777)
08:05
[b4232a43] 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: 153730)
2006-06-22
09:53
[2c36e0ba] part of check-in [51b729d9] Test the handling of errors in virtual table methods. (CVS 3284) (check-in: [51b729d9] user: danielk1977 branch: trunk, size: 153549)
2006-06-16
21:13
[4b55bfea] part of check-in [2119e7bf] Rework the way UPDATE works for virtual tables. (CVS 3262) (check-in: [2119e7bf] user: drh branch: trunk, size: 153405)
16:08
[704940e7] 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: 154030)
06:17
[f17a90ab] part of check-in [afa39a46] Arrange for sqlite3_last_insert_rowid() to work with virtual tables. (CVS 3259) (check-in: [afa39a46] user: danielk1977 branch: trunk, size: 153730)
2006-06-15
07:29
[4a66e581] part of check-in [88fa510e] Simple tests and fixes for writing to virtual tables. (CVS 3252) (check-in: [88fa510e] user: danielk1977 branch: trunk, size: 153154)
2006-06-14
19:00
[64427e4b] part of check-in [32c97b88] Added code to INSERT, DELETE and UPDATE virtual tables. The new code is mostly untested. (CVS 3248) (check-in: [32c97b88] user: drh branch: trunk, size: 152801)
13:03
[337ef404] 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: 151504)
2006-06-13
23:51
[51f94a1f] 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: 150587)
15:00
[1d5ae83b] part of check-in [7a3e97f7] Add the tentative sqlite3_allocate_queryplan() API. (CVS 3228) (check-in: [7a3e97f7] user: danielk1977 branch: trunk, size: 150437)
14:16
[e2d6072b] part of check-in [0f4657ea] Add simple tests for the xFilter and xBestIndex methods. (CVS 3227) (check-in: [0f4657ea] user: danielk1977 branch: trunk, size: 150459)
10:24
[1f68000f] 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: 150318)
2006-06-12
21:59
[59cb0d8c] 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: 146323)
16:01
[7002df8e] part of check-in [f0c7c8d1] Add code to invoke the xDestroy method of a virtual table when it is dropped. (CVS 3218) (check-in: [f0c7c8d1] user: danielk1977 branch: trunk, size: 144444)
06:09
[5c77e8b5] part of check-in [8ffbab79] Incremental work on parsing/storing and invoking the xCreate callback for virtual tables. (CVS 3212) (check-in: [8ffbab79] user: danielk1977 branch: trunk, size: 144376)
2006-06-11
23:41
[2547e931] part of check-in [898ec36b] Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211) (check-in: [898ec36b] user: drh branch: trunk, size: 144287)
2006-06-03
18:04
[a4c970bd] part of check-in [d54750ae] Remove unused variables from vdbe.c. (CVS 3199) (check-in: [d54750ae] user: drh branch: trunk, size: 143552)
2006-05-26
19:57
[b28d2da3] part of check-in [ffc4730c] Allow SQL statements to be executed from within a progress callback. Be warned, however, that the progress callback might be called recursively in this case. It is up to the program to disable the progress callback to prevent recursive invocations. Ticket #1827. (CVS 3193) (check-in: [ffc4730c] user: drh branch: trunk, size: 143574)
2006-03-22
22:10
[a56ef5de] part of check-in [15e3b183] Get the build to run with -DSQLITE_OMIT_SHARED_CACHE. (CVS 3145) (check-in: [15e3b183] user: drh branch: trunk, size: 143400)
2006-03-17
00:26
[dcc469da] part of check-in [f3fbe727] Code and comment cleanup for the sorting optimization of the previous check-in. (CVS 3142) (check-in: [f3fbe727] user: drh branch: trunk, size: 143413)
00:04
[0d19124e] part of check-in [6b3717ae] Much faster sorting when there are a large number of columns in the result set. (CVS 3141) (check-in: [6b3717ae] user: drh branch: trunk, size: 144558)
2006-03-13
14:28
[2c687d8c] part of check-in [255fdbe6] Changes to get the Serialized Statement Extension working again. (CVS 3131) (check-in: [255fdbe6] user: drh branch: trunk, size: 144574)
2006-02-24
02:53
[5fb9d3e6] 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: 144493)
2006-02-10
14:02
[0a7fd816] part of check-in [9e82b927] Clean up pointer misuse in vdbe.c. (CVS 3078) (check-in: [9e82b927] user: drh branch: trunk, size: 144524)
2006-02-09
22:13
[c92d7a4d] part of check-in [9e04f8fd] SUM never gives an error. An integer result is returned for exact results and a floating point result is returned for approximate results. Tickets #1664, #1669, and #1670. (CVS 3066) (check-in: [9e04f8fd] user: drh branch: trunk, size: 144396)
2006-01-31
19:31
[29c68f39] part of check-in [b922c8e4] Fix some pointless warnings from overly-pedantic compilers. (CVS 3048) (check-in: [b922c8e4] user: drh branch: trunk, size: 143764)
2006-01-30
15:34
[fee677e0] part of check-in [4cd4efaf] Expire all prepared statements whenever there is a change to the schema of the TEMP database. Ticket #1644. (CVS 3036) (check-in: [4cd4efaf] user: drh branch: trunk, size: 143768)
2006-01-24
13:09
[799e6280] part of check-in [c30705a0] Return code was being dropped because of overridden variable in OP_IsUnique. Fix this and the test logic problem that hid it. (CVS 3025) (check-in: [c30705a0] user: danielk1977 branch: trunk, size: 143599)
12:09
[bda7131d] part of check-in [d86f18a4] Rename some variables to avoid hiding others. Also add "static" to two function signatures that were missing it. (CVS 3024) (check-in: [d86f18a4] user: danielk1977 branch: trunk, size: 143603)
2006-01-23
17:43
[484a7246] part of check-in [dfe28238] Bug fix in the ROWID generation logic of the VDBE. I think this is a benign bug - it never causes a real fault. But I am not certain. (CVS 3008) (check-in: [dfe28238] user: drh branch: trunk, size: 143582)
13:09
[1b50083e] part of check-in [6ec8e6b7] Improve coverage of pager.c and fix an IO error handling bug found in the process. (CVS 2995) (check-in: [6ec8e6b7] user: danielk1977 branch: trunk, size: 143590)
00:04
[e04bf303] part of check-in [a65e85f0] Remove vestiges of the older TSD code for handling OOM exceptions. Prepare for the release of 3.3.2. (CVS 2991) (check-in: [a65e85f0] user: drh branch: trunk, size: 143586)
2006-01-20
15:45
[9eceb866] part of check-in [fd4a6bb1] Fix and test the processing of sqlite3_result_error() withing aggregate functions. Allow errors to come from the step function (a new capability). Ticket #1632. (CVS 2981) (check-in: [fd4a6bb1] user: drh branch: trunk, size: 143806)
2006-01-18
18:22
[2a3d5ea7] part of check-in [c7b9d50d] Include the ThreadData structure in internal malloc() testing. Also fixes for revealed bugs. (CVS 2974) (check-in: [c7b9d50d] user: danielk1977 branch: trunk, size: 143713)
16:51
[5af32281] 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: 143657)
2006-01-16
15:14
[3db9bfc8] part of check-in [0d5d83bc] Fix some of the issues raised in #1615. (CVS 2959) (check-in: [0d5d83bc] user: danielk1977 branch: trunk, size: 143646)
2006-01-15
14:11
[4db1a900] part of check-in [69f996e0] Correctly set the length of the string in bytes when transforming an OP_String8 to OP_String in a utf-16 vdbe program. (CVS 2949) (check-in: [69f996e0] user: danielk1977 branch: trunk, size: 143640)
2006-01-13
17:12
[bf640262] part of check-in [2d74cc22] Tweaks to make OP_Column run a fraction faster. (CVS 2941) (check-in: [2d74cc22] user: danielk1977 branch: trunk, size: 143689)
15:58
[e2f08142] part of check-in [0de729d9] Avoid parsing an entire record header when it is not required. (CVS 2940) (check-in: [0de729d9] user: danielk1977 branch: trunk, size: 143670)
06:33
[9e647808] 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: 143637)
01:48
[f7782624] part of check-in [a64e8251] Add a high-speed version of sqlite3GetVarint32 to vdbe.c for a 3% performance gain. (CVS 2933) (check-in: [a64e8251] user: drh branch: trunk, size: 143630)
2006-01-12
17:20
[59df15f9] part of check-in [6d2a816e] Cache the encoding value inside VdbeExec. (CVS 2927) (check-in: [6d2a816e] user: drh branch: trunk, size: 143013)
01:25
[6312ac70] part of check-in [a8c74feb] Improve performance by about 10% by avoiding excess calls to get the thread-specific data. (CVS 2921) (check-in: [a8c74feb] user: drh branch: trunk, size: 142931)
2006-01-11
21:41
[db592ade] 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: 142874)
2006-01-10
19:45
[aa4360d2] part of check-in [1cf68554] More pedantic changes to comments in VDBE. No changes to code. Ticket #1596. (CVS 2908) (check-in: [1cf68554] user: drh branch: trunk, size: 142842)
18:44
[8500eee6] part of check-in [511ac9db] Fix opcode name in comments. No changes to code. (CVS 2907) (check-in: [511ac9db] user: drh branch: trunk, size: 142791)
2006-01-09
16:12
[490b9b48] part of check-in [3e75d3d5] Fix some errors to do with attached databases and text encodings in shared-cache mode. (CVS 2895) (check-in: [3e75d3d5] user: danielk1977 branch: trunk, size: 142799)
06:29
[ce31105f] part of check-in [82b81f69] Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) (check-in: [82b81f69] user: danielk1977 branch: trunk, size: 142799)
2006-01-08
18:10
[1aee0e9d] part of check-in [b2ac0be0] Get LIMIT and OFFSET working again for negative limits and offsets. Ticket #1586. (CVS 2889) (check-in: [b2ac0be0] user: drh branch: trunk, size: 142756)
05:26
[21a1cb85] part of check-in [41aef649] Remove some cruft from the VDBE. Bring comments up to date. (CVS 2888) (check-in: [41aef649] user: drh branch: trunk, size: 142350)
2006-01-07
18:48
[87a796e2] 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: 142188)
18:10
[b0617790] part of check-in [19f71a6d] Make sure there is no ephemeral data on the stack before returning from an sqlite3_step() call. Otherwise, if the statement is in READ UNCOMMITTED mode then the data might be deleted or changed out from under us. (CVS 2884) (check-in: [19f71a6d] user: drh branch: trunk, size: 141917)
13:21
[9ff36ae7] part of check-in [23b587b0] In shared-cache mode, lock all required tables before beginning to execute the body of the statement program. (CVS 2881) (check-in: [23b587b0] user: danielk1977 branch: trunk, size: 140914)
2006-01-06
14:32
[61f37ba6] 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: 139799)
2006-01-05
23:42
[4dab3466] part of check-in [448b3b9d] Disable the update hook for the truncation optimization used by DELETE. (CVS 2863) (check-in: [448b3b9d] user: drh branch: trunk, size: 139801)
11:34
[ad844cc3] part of check-in [deeda0dc] Add the shared schema/pager modifications. Very few tests so far. (CVS 2859) (check-in: [deeda0dc] user: danielk1977 branch: trunk, size: 139662)
2006-01-03
15:16
[99bfdfda] part of check-in [837dc77f] Always case 0 to (char*) on varargs functions. Otherwise there are problems on 64-bit machines. (CVS 2854) (check-in: [837dc77f] user: drh branch: trunk, size: 139618)
2005-12-29
19:23
[8b0d676b] 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: 139604)
2005-12-21
18:36
[c04d2e51] part of check-in [5638a11e] Bug fixes and additional testing of descending indices. (CVS 2841) (check-in: [5638a11e] user: drh branch: trunk, size: 139281)
14:43
[ac5789b1] part of check-in [7064433e] Basic functionality for descending indices is in place. Lots more testing needed. (CVS 2840) (check-in: [7064433e] user: drh branch: trunk, size: 139235)
2005-12-16
15:24
[09aaed71] 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: 139141)
2005-12-15
15:22
[a9acffc9] part of check-in [36229018] Add the sqlite3_update_hook() API. (CVS 2820) (check-in: [36229018] user: danielk1977 branch: trunk, size: 139088)
2005-12-09
20:02
[d09c185f] 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: 137148)
14:25
[4f78f1fe] 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: 137077)
2005-12-06
12:52
[7f4a2aff] 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: 136956)
2005-11-30
03:20
[91b91272] 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: 136730)
2005-11-26
00:25
[88a85e68] 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: 136730)
2005-11-24
14:34
[f90a0fff] part of check-in [786e23b2] Comment changes. No changes to code. (CVS 2775) (check-in: [786e23b2] user: drh branch: trunk, size: 136728)
2005-11-16
04:34
[3b73d37d] part of check-in [2e195e96] Avoid unnecessary strlen() calls in the OP_String opcode. (CVS 2768) (check-in: [2e195e96] user: drh branch: trunk, size: 136722)
2005-11-15
02:14
[c4ff8b6c] part of check-in [25fa16a2] Fix a bug in UTF-16 handling introduced by the previous check-in. (CVS 2767) (check-in: [25fa16a2] user: drh branch: trunk, size: 136943)
2005-11-14
22:29
[afbfb343] part of check-in [ce06c123] Create separate affinities for INTEGER and REAL. (CVS 2766) (check-in: [ce06c123] user: drh branch: trunk, size: 136872)
2005-11-01
15:48
[e83de8a0] part of check-in [e0d6f61c] Omit the SQLITE_AFF_INTEGER type affinity. All numeric values are now of type real, though an integer representation is still sometimes used internally for efficiency. (CVS 2753) (check-in: [e0d6f61c] user: drh branch: trunk, size: 135649)
2005-10-29
15:48
[12cbad0a] part of check-in [0d3357b5] Fix the shift operators so that they work with 64-bit quantities. (CVS 2752) (check-in: [0d3357b5] user: drh branch: trunk, size: 135793)
2005-10-20
07:28
[2a660920] part of check-in [e261b8b0] Changes to prevent various compiler warnings. (CVS 2750) (check-in: [e261b8b0] user: drh branch: trunk, size: 135793)
2005-10-06
16:53
[c9aca7cc] part of check-in [edca8913] More efficient handling of the LIMIT clause. Scalar subqueries and EXISTS on compound SELECT statements now working properly. Ticket #1473. (CVS 2747) (check-in: [edca8913] user: drh branch: trunk, size: 135790)
2005-09-20
17:42
[3f1adcf4] 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: 135441)
13:55
[ae89c05f] part of check-in [f22d0f64] Cleanup the implementation and the documentation of the new 0x200 P1 flag on the VDBE comparison operands. (CVS 2729) (check-in: [f22d0f64] user: drh branch: trunk, size: 134688)
13:12
[2a5c9474] part of check-in [d9b0c970] NULLs compare equal to each other when computing GROUP BY categories. (CVS 2728) (check-in: [d9b0c970] user: drh branch: trunk, size: 134064)
2005-09-17
15:20
[de007d59] part of check-in [c0733000] Changes to make corruption errors easier to track down. (CVS 2709) (check-in: [c0733000] user: drh branch: trunk, size: 133295)
2005-09-16
02:38
[3cbb9bb5] 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: 133275)
2005-09-10
16:46
[7b20b81b] part of check-in [986efb7b] Add the experimental EXPLAIN QUERY PLAN diagnostic capability. (CVS 2685) (check-in: [986efb7b] user: drh branch: trunk, size: 133277)
2005-09-08
14:17
[f722fbaf] part of check-in [cdfe372a] Remove a few unused variables detected by Borland C. Ticket #1412. (CVS 2675) (check-in: [cdfe372a] user: drh branch: trunk, size: 132988)
2005-09-07
23:05
[1caa7339] part of check-in [a1b6d910] More bug fixes. All of the "quick" tests pass. The full test suite still shows problems. (CVS 2665) (check-in: [a1b6d910] user: drh branch: trunk, size: 133017)
22:09
[71b0c1e6] part of check-in [c3ac5859] Bug fixes in aggregate processing. Fewer tests fail. (CVS 2663) (check-in: [c3ac5859] user: drh branch: trunk, size: 133002)
21:22
[e774761b] 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: 132555)
2005-09-06
20:36
[5f0ed872] part of check-in [7ecf3654] Cleanup the processing of MEM_Agg elements. (CVS 2660) (check-in: [7ecf3654] user: drh branch: trunk, size: 139675)
2005-09-01
12:16
[efde23f8] 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: 140237)
03:07
[70e2dd07] 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: 139798)
2005-07-28
20:51
[69f33e22] part of check-in [4b02703d] Test cases and tuning of the new optimizer code. (CVS 2567) (check-in: [4b02703d] user: drh branch: trunk, size: 142458)
2005-07-23
03:18
[0145d877] part of check-in [1996bacf] The results of ANALYZE are now loaded into internal data structures where they can be used. But they are not actually used yet. (CVS 2562) (check-in: [1996bacf] user: drh branch: trunk, size: 142887)
2005-07-21
18:23
[aa8b8d30] part of check-in [e2f822ac] Split the OP_Integer opcode into OP_Integer and OP_Int64. This allows comments to be added to OP_Integer. Cleanup in the optimizer. Allow terms of the FROM clause to be reordered automatically. (CVS 2556) (check-in: [e2f822ac] user: drh branch: trunk, size: 142438)
2005-07-09
02:16
[7b41a197] part of check-in [af2a0ba4] Make sure there is only one busy counter. Ticket #1315. (CVS 2543) (check-in: [af2a0ba4] user: drh branch: trunk, size: 142056)
2005-07-08
17:13
[971e08e9] part of check-in [3bb9ce5f] Change the name of the OpenTemp opcode to OpenVirtual which is more descriptive of what it does. (CVS 2541) (check-in: [3bb9ce5f] user: drh branch: trunk, size: 142027)
13:08
[87dda3fc] 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: 142445)
2005-06-25
18:42
[56e892e3] part of check-in [17631785] Remove the blob(), text() and numeric() functions added in (2524) and replace them with the standard CAST operator. Ticket #1287. (CVS 2527) (check-in: [17631785] user: drh branch: trunk, size: 143823)
2005-06-24
03:53
[5c1f7ccd] part of check-in [06a71b16] NULL values in a row of a unique index cause the row to be distinct. Ticket #1301. More testing and optimization needs to be done on this before closing the ticket. (CVS 2526) (check-in: [06a71b16] user: drh branch: trunk, size: 140838)
2005-06-22
02:36
[4745b575] part of check-in [60f752ed] Fix a bug in an assert found while investigating ticket #1287 but otherwise unrelated to that problem. (CVS 2522) (check-in: [60f752ed] user: drh branch: trunk, size: 141685)
2005-06-12
21:35
[c2511f39] 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: 141674)
12:01
[77c53143] part of check-in [97b348a5] Elminiate a VM opcode that was no longer needed. (CVS 2505) (check-in: [97b348a5] user: drh branch: trunk, size: 141261)
2005-06-06
17:27
[e9bf69b2] part of check-in [0f7af623] Any non-zero value is considered TRUE in a WHERE clause. Ticket #1211. (CVS 2496) (check-in: [0f7af623] user: drh branch: trunk, size: 142491)
2005-05-26
14:41
[15b12cda] part of check-in [7f67b9f0] If SSE is enabled, set the P1 field of OP_AggInit instructions to the number of arguments that will be passed to the aggregate function. (CVS 2484) (check-in: [7f67b9f0] user: danielk1977 branch: trunk, size: 142411)
2005-04-01
10:47
[d2574042] 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: 142122)
2005-03-31
18:40
[8fa79342] part of check-in [1d04c2ab] Make sure integer primary keys larger than 2^31 are handled properly. Ticket #1188. (CVS 2436) (check-in: [1d04c2ab] user: drh branch: trunk, size: 142031)
2005-03-29
13:07
[cb701319] 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: 142039)
08:26
[68c8f34c] 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: 142855)
03:10
[e93a28aa] part of check-in [c41d5544] Add the SQLITE_OMIT_TEMPDB compile time macro. (CVS 2427) (check-in: [c41d5544] user: danielk1977 branch: trunk, size: 139135)
2005-03-21
03:53
[c7973dc0] part of check-in [e7844a01] Assorted fixes to the handling of various malloc() failures. (CVS 2413) (check-in: [e7844a01] user: danielk1977 branch: trunk, size: 139157)
2005-03-17
03:52
[086e4b42] part of check-in [3f45cf35] Strengthen an assert() in vdbe.c. (CVS 2391) (check-in: [3f45cf35] user: drh branch: trunk, size: 139104)
03:15
[c35e65da] part of check-in [bf82a04f] Fix a bug in the calculation of the table record header size. Ticket #1163. (CVS 2389) (check-in: [bf82a04f] user: drh branch: trunk, size: 139104)
2005-03-09
12:26
[1bf34fb9] 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: 138987)
2005-02-19
08:18
[26b085c3] part of check-in [173aeb25] Support for a future file format that includes 'short' records. (CVS 2351) (check-in: [173aeb25] user: danielk1977 branch: trunk, size: 138645)
2005-02-17
00:03
[40de3ba9] part of check-in [c5366dea] Compile-time option to limit the size of AUTOINCREMENT rowids to 32-bits. (CVS 2349) (check-in: [c5366dea] user: drh branch: trunk, size: 137832)
2005-02-08
07:50
[d9ec62c9] part of check-in [f0d3ca10] Fix for correlated subqueries where the parent is an aggregate. Ticket #1105. (CVS 2318) (check-in: [f0d3ca10] user: danielk1977 branch: trunk, size: 137761)
2005-02-05
12:48
[5acf4374] part of check-in [515e5033] Allow expressions (including variables) in LIMIT and OFFSET clauses. Ticket #1096. (CVS 2316) (check-in: [515e5033] user: danielk1977 branch: trunk, size: 137392)
06:49
[d2c29d2a] part of check-in [6d91a1e9] Detect database corruption in rootpage flags (see also (2313)). (CVS 2314) (check-in: [6d91a1e9] user: danielk1977 branch: trunk, size: 137038)
2005-02-04
21:13
[ce4dea91] part of check-in [9fc0a5cb] Detect and report a subtle case of database file corruption. (CVS 2313) (check-in: [9fc0a5cb] user: drh branch: trunk, size: 136775)
04:07
[b3e920b1] part of check-in [2eb90870] Remove code for SQL cursors. (CVS 2312) (check-in: [2eb90870] user: danielk1977 branch: trunk, size: 136619)
2005-01-29
08:32
[84ccc6be] part of check-in [b1b50f31] Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) (check-in: [b1b50f31] user: danielk1977 branch: trunk, size: 138418)
2005-01-27
00:33
[8e877a9c] part of check-in [e4b5c168] More changes to improve propagation of SQLITE_CORRUPT errors. (CVS 2282) (check-in: [e4b5c168] user: drh branch: trunk, size: 137811)
2005-01-26
21:55
[2f2fc0c7] part of check-in [2c54aba5] Propagate detected database corruption up through the call stack. (CVS 2279) (check-in: [2c54aba5] user: drh branch: trunk, size: 137746)
2005-01-24
10:25
[4fb54fd0] 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: 137606)
2005-01-21
08:13
[a5db9e8c] part of check-in [c6fc49e6] Exclude a few more lines of code using OMIT macros. (CVS 2253) (check-in: [c6fc49e6] user: danielk1977 branch: trunk, size: 137148)
2005-01-20
22:48
[37afd35d] part of check-in [38401dfb] Bug fixes and enhancements entered while on jury recess. (CVS 2246) (check-in: [38401dfb] user: drh branch: trunk, size: 136842)
2005-01-17
03:40
[c5a711f1] part of check-in [1edfdcbf] Fix a memory leak that occurs as a result of an IO error. (CVS 2224) (check-in: [1edfdcbf] user: danielk1977 branch: trunk, size: 136585)
2005-01-12
09:10
[a89bb4ee] part of check-in [2b3e21ce] Tests to improve coverage of vdbeaux.c. (CVS 2201) (check-in: [2b3e21ce] user: danielk1977 branch: trunk, size: 136608)
07:15
[b8e619fb] part of check-in [319bb4a9] Tests to improve coverage of vdbemem.c. (CVS 2200) (check-in: [319bb4a9] user: danielk1977 branch: trunk, size: 136627)
2005-01-11
13:02
[8ef389f5] part of check-in [a6b45722] Test cases to improve coverage of vdbe.c. (CVS 2193) (check-in: [a6b45722] user: danielk1977 branch: trunk, size: 136518)
11:08
[f20455da] part of check-in [ce8e4e88] Remove a C++ style comment that went in with the previous commit. (CVS 2192) (check-in: [ce8e4e88] user: danielk1977 branch: trunk, size: 136769)
10:25
[c9f00cc0] part of check-in [8ced4915] Test cases to improve coverage of btree.c (and minor bugfixes). (CVS 2190) (check-in: [8ced4915] user: danielk1977 branch: trunk, size: 136865)
2005-01-10
12:59
[53520958] part of check-in [a4619886] Extra test cases to improve coverage of btree.c (CVS 2189) (check-in: [a4619886] user: danielk1977 branch: trunk, size: 136565)
2005-01-07
01:56
[789e3c98] part of check-in [bf143876] Remove incorrect assert() and add extra option to account for non-standard 'sort' program in some linux versions. (CVS 2179) (check-in: [bf143876] user: danielk1977 branch: trunk, size: 136498)
2004-12-25
01:03
[40ab8e30] part of check-in [5fd1f471] Fix ticket #1046 by removing code and simplifying the query optimizer. Remarkably, this simplification also makes the optimizer do a better job. Ticket #1051 was fixed as a side-effect. (CVS 2172) (check-in: [5fd1f471] user: drh branch: trunk, size: 136516)
2004-12-19
00:11
[caeb3f88] part of check-in [e5aa4894] The optimizer now uses only the index and ignores the table if it can get away with doing so, thus saving a single BTree search per row of result. This could potentially double the speed of certain queries. The code passes all regression tests but new tests to exercise the new functionality are yet to be added. (CVS 2170) (check-in: [e5aa4894] user: drh branch: trunk, size: 136438)
2004-12-07
14:06
[aaec606f] part of check-in [8e164ab2] Simplify the trigger logic for DELETE, INSERT, and UPDATE. (CVS 2157) (check-in: [8e164ab2] user: drh branch: trunk, size: 136597)
12:29
[fb9260cd] part of check-in [7b20f2b7] Remove the unused sqlite3_context.isStep element. (CVS 2156) (check-in: [7b20f2b7] user: drh branch: trunk, size: 136597)
2004-11-23
01:47
[b6caad98] part of check-in [8b61d1ae] More work on the implementation of cursors, but they are still not functioning. (CVS 2142) (check-in: [8b61d1ae] user: drh branch: trunk, size: 136655)
2004-11-18
02:10
[ba3a9207] part of check-in [c93a9e18] Fix an obsolete comment that resulted in incorrect documentation. Ticket #1003. (CVS 2109) (check-in: [c93a9e18] user: drh branch: trunk, size: 134854)
2004-11-15
23:42
[aba1ca82] part of check-in [33c9b647] Fix a typo in the header comment to the MakeRecord opcode so that the documentation generator will actually see the opcode description. Ticket #1001. (CVS 2102) (check-in: [33c9b647] user: drh branch: trunk, size: 134874)
2004-11-14
21:56
[ab76044e] part of check-in [98c7a554] The SQLITE_OMIT_UTF16 macro now removes lots of code and all tests still pass. (CVS 2100) (check-in: [98c7a554] user: drh branch: trunk, size: 134910)
2004-11-13
03:48
[312df857] part of check-in [10c712a2] Autoincrement is now working and has regression tests. (CVS 2095) (check-in: [10c712a2] user: drh branch: trunk, size: 134804)
2004-11-12
03:56
[0fd9437a] part of check-in [8fde833c] Autoincrement code installed. Simple smoke-testing only. No regression tests developed yet. (CVS 2091) (check-in: [8fde833c] user: drh branch: trunk, size: 134792)
2004-11-10
11:55
[8bc549ad] part of check-in [8e5c2e5d] Ensure tables cannot be created/dropped when btree cursors are open. (CVS 2085) (check-in: [8e5c2e5d] user: danielk1977 branch: trunk, size: 134799)
2004-11-05
00:43
[b324acda] part of check-in [10c3d883] Incremental check-in of changes that will ultimately lead to a working autoincrement. (CVS 2056) (check-in: [10c3d883] user: drh branch: trunk, size: 134654)
2004-11-04
14:30
[cf7eb35b] part of check-in [1da361fa] Support root-page allocation/deallocation in auto-vacuum databases. Still a few problems. (CVS 2054) (check-in: [1da361fa] user: danielk1977 branch: trunk, size: 132562)
2004-11-03
16:27
[a156e1a2] part of check-in [b11fc9b3] Update tests to work even if some features of the library are disabled. (CVS 2050) (check-in: [b11fc9b3] user: drh branch: trunk, size: 132353)
13:59
[c68b1e2b] part of check-in [a82980fd] More work on optionally removing unused features at compile-time. (CVS 2049) (check-in: [a82980fd] user: drh branch: trunk, size: 131982)
2004-10-31
02:22
[253beaae] 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: 131911)
2004-10-19
16:40
[adbcdbc8] part of check-in [370ca539] Reinsert code deleted by (1998) that we thought was unused but was in fact needed. Fix for ticket #966. (CVS 2025) (check-in: [370ca539] user: drh branch: trunk, size: 131834)
2004-10-06
15:41
[02fd01b7] part of check-in [d790c84c] Convert many constants to have type "const". (CVS 2006) (check-in: [d790c84c] user: drh branch: trunk, size: 131521)
2004-10-05
02:41
[f7ebf1a2] part of check-in [81ff8107] Add support for DEFERRED, IMMEDIATE, and EXCLUSIVE transactions. (CVS 2000) (check-in: [81ff8107] user: drh branch: trunk, size: 131515)
2004-10-04
13:19
[49d4bda6] part of check-in [4c817e3f] Save about 800 bytes of code space by aligning TK_ and OP_ constants so that we do not have to translate between them. (CVS 1998) (check-in: [4c817e3f] user: drh branch: trunk, size: 131436)
2004-10-01
15:11
[f78a26f5] part of check-in [bf90799d] Fix for ticket #905. (CVS 1995) (check-in: [bf90799d] user: drh branch: version_2, size: 143608)
2004-09-19
00:50
[05428527] 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: 130998)
2004-09-06
17:24
[b19de04c] 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: 131958)
2004-09-02
14:57
[45f65949] 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: 131958)
2004-08-31
13:45
[28b0ea2a] part of check-in [8fd65e70] Simplifications and optimizations. Also: disable the corrupt.test for now. (CVS 1924) (check-in: [8fd65e70] user: drh branch: trunk, size: 131570)
2004-08-29
17:30
[bc7717be] part of check-in [988cb064] Back out an optimization that was causing problems in UTF-16 databases. (CVS 1913) (check-in: [988cb064] user: drh branch: trunk, size: 132550)
2004-08-28
18:17
[28a48fce] part of check-in [5f8d2468] Memory handling fixes and optimizations in the VDBE. Ticket #862. (CVS 1909) (check-in: [5f8d2468] user: drh branch: trunk, size: 132625)
2004-08-21
17:54
[ea662188] part of check-in [bd6649c5] Optimizations to the code generator. (CVS 1899) (check-in: [bd6649c5] user: drh branch: trunk, size: 133476)
2004-08-08
23:39
[281af7f6] part of check-in [81d91d14] Fix problems in the handling of malloc failures. (CVS 1882) (check-in: [81d91d14] user: drh branch: trunk, size: 134570)
2004-08-07
23:54
[6eb69df6] part of check-in [d33771a3] Do not invoke the busy callback when trying to promote a lock from SHARED to RESERVED. This avoids a deadlock. (CVS 1879) (check-in: [d33771a3] user: drh branch: trunk, size: 134500)
2004-07-24
17:38
[f40f4ca4] part of check-in [ebdb661e] Prepared statements now work with CREATE and DROP. All tests pass. No memory leaks. (CVS 1866) (check-in: [ebdb661e] user: drh branch: trunk, size: 134591)
14:35
[cad659a0] 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: 133491)
03:30
[5d35f086] part of check-in [49b99149] Progress towards getting prepared statements and CREATE and DROP to play nicely together. Work is incomplete. Some tests are known to fail. (CVS 1864) (check-in: [49b99149] user: drh branch: trunk, size: 133006)
2004-07-21
02:53
[5a7d1ee9] part of check-in [65c3af74] Minor coding enhancements. (CVS 1839) (check-in: [65c3af74] user: drh branch: trunk, size: 132423)
2004-07-19
19:30
[4b35f2c1] part of check-in [0cc612f8] Fix for ticket #813. (CVS 1820) (check-in: [0cc612f8] user: drh branch: version_2, size: 143523)
17:25
[a8851469] part of check-in [c6c13dc4] Store schema cookies on the TEMP database. Ticket #807. (CVS 1817) (check-in: [c6c13dc4] user: drh branch: trunk, size: 133485)
2004-07-18
21:33
[efda4049] part of check-in [b6e8b7a1] An improved fix for the min() problem of ticket #800. (CVS 1804) (check-in: [b6e8b7a1] user: drh branch: trunk, size: 133395)
2004-06-30
23:04
[ed98f1d7] part of check-in [2010ed80] Omit the "LL" literal qualifier as it causes problems for some compilers. (CVS 1789) (check-in: [2010ed80] user: drh branch: trunk, size: 133383)
11:41
[4e756ef9] 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: 133387)
09:49
[4629151c] part of check-in [152e9940] Coverage tests for vacuum.c (CVS 1776) (check-in: [152e9940] user: danielk1977 branch: trunk, size: 133391)
06:30
[6950e25d] part of check-in [d256c149] Add some tests for overlapping SELECT, COMMIT and ROLLBACK commands. (CVS 1774) (check-in: [d256c149] user: danielk1977 branch: trunk, size: 133348)
02:43
[32039b08] part of check-in [e5e39764] Allow strings that look like integers to be inserted into IPK columns in a UTF-16 database. (CVS 1771) (check-in: [e5e39764] user: danielk1977 branch: trunk, size: 132793)
02:35
[b1a03570] part of check-in [6c5c11e0] Minor fixes for UTF-16 databases. (CVS 1770) (check-in: [6c5c11e0] user: danielk1977 branch: trunk, size: 132789)
2004-06-29
13:54
[aa033993] part of check-in [76e0b749] Fix TRACE7 in os_common.h. (CVS 1765) (check-in: [76e0b749] user: drh branch: trunk, size: 132737)
2004-06-28
13:09
[dc9d25cb] part of check-in [33292104] More coverage testing. (CVS 1754) (check-in: [33292104] user: danielk1977 branch: trunk, size: 133362)
01:11
[5a381d4a] part of check-in [fae7c6e0] Fix a bunch of harmless warnings. (CVS 1749) (check-in: [fae7c6e0] user: danielk1977 branch: trunk, size: 133235)
00:17
[5125bfa9] part of check-in [e28d42cb] Fix a seg-fault caused by a malloc() failure. (CVS 1748) (check-in: [e28d42cb] user: danielk1977 branch: trunk, size: 133233)
2004-06-27
01:56
[b750a731] part of check-in [ad65c6e2] Fix a bug in the handling of Mems inside of vdbe.c. (CVS 1745) (check-in: [ad65c6e2] user: drh branch: trunk, size: 133225)
2004-06-26
08:38
[423b55e6] 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: 133847)
2004-06-22
22:54
[0d8f2fea] part of check-in [cb4e242e] Fix another uninitialized Mem.xDel problem. (CVS 1672) (check-in: [cb4e242e] user: drh branch: trunk, size: 133959)
17:59
[a6b9eaac] part of check-in [d333ac80] Make sure the result of a user-defined function uses the text encoding of the database. (CVS 1670) (check-in: [d333ac80] user: drh branch: trunk, size: 133941)
13:22
[4fd24e03] 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: 133895)
2004-06-21
11:30
[5da73f61] part of check-in [84d6354f] Remove unused OP_UtfXX opcodes. (CVS 1650) (check-in: [84d6354f] user: danielk1977 branch: trunk, size: 134243)
10:45
[206ac8aa] 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: 135351)
09:06
[78d675c1] part of check-in [bbd3e933] Add the OP_Concat8 opcode, similar in concept to OP_String8. (CVS 1648) (check-in: [bbd3e933] user: danielk1977 branch: trunk, size: 134786)
06:50
[d8e533a5] 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: 135140)
2004-06-19
15:40
[3931b2e4] 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: 134991)
09:35
[324ad615] part of check-in [c94a9759] Remove the unused 'next_cookie' mechanism. (CVS 1634) (check-in: [c94a9759] user: danielk1977 branch: trunk, size: 135232)
2004-06-18
04:24
[2a0e908e] part of check-in [39a415ea] Optimisation for unicode encoding conversion routines. (CVS 1614) (check-in: [39a415ea] user: danielk1977 branch: trunk, size: 135226)
2004-06-17
07:53
[22dcf0e9] part of check-in [a71a9ff1] Remove redundant opcodes OP_MakeKey and OP_MakeIdxKey. (CVS 1612) (check-in: [a71a9ff1] user: danielk1977 branch: trunk, size: 135196)
2004-06-16
12:02
[35ae1834] part of check-in [b3d5ad6f] Trivial modifications to prevent compiler warnings. (CVS 1608) (check-in: [b3d5ad6f] user: danielk1977 branch: trunk, size: 137067)
10:39
[fc94f84e] part of check-in [b739ef2a] Fix handling of a failed malloc() in various places (CVS 1605) (check-in: [b739ef2a] user: danielk1977 branch: trunk, size: 136978)
2004-06-15
16:51
[20870599] part of check-in [07b90f36] Assorted memory leak fixes. (CVS 1600) (check-in: [07b90f36] user: danielk1977 branch: trunk, size: 136977)
13:36
[6f022fdf] part of check-in [59db58eb] Memory leak fixes for tests in file select1.test. (CVS 1599) (check-in: [59db58eb] user: danielk1977 branch: trunk, size: 136778)
11:40
[adf618cd] 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: 137539)
2004-06-14
13:14
[afbffe8d] 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: 137559)
05:10
[e6b6702f] part of check-in [4649abcb] Update the file change counter just before each transaction is committed. (CVS 1582) (check-in: [4649abcb] user: danielk1977 branch: trunk, size: 137545)
2004-06-12
20:12
[c71e4726] part of check-in [e42316f5] Speed up in the handling of VDBE cursors. (CVS 1578) (check-in: [e42316f5] user: drh branch: trunk, size: 137534)
18:12
[9f941bbd] part of check-in [f687977a] Improve the speed of OP_Column through better caching. (CVS 1577) (check-in: [f687977a] user: drh branch: trunk, size: 137229)
09:25
[026b78bc] 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: 136129)
01:43
[230613d7] part of check-in [4f1cfca5] Change prototype for busy callbacks to "int xBusy(void *, int);" (CVS 1573) (check-in: [4f1cfca5] user: danielk1977 branch: trunk, size: 135927)
00:42
[73b2c3d0] 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: 136217)
2004-06-11
13:19
[56a97efe] 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: 136205)
10:51
[688ae431] part of check-in [66835ee6] Fix various collation sequence issues. (CVS 1568) (check-in: [66835ee6] user: danielk1977 branch: trunk, size: 134931)
2004-06-09
21:01
[90e0e6bd] 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: 133982)
20:03
[5896c746] 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: 133956)
09:55
[fec13be8] part of check-in [c634e71f] Some progress on user-defined collation sequences. (CVS 1544) (check-in: [c634e71f] user: danielk1977 branch: trunk, size: 133927)
00:48
[3ffa1eff] 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: 133915)
2004-06-06
09:44
[392c6b02] 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: 133899)
2004-06-05
10:22
[7f270f9a] part of check-in [c2899b43] Add the sqlite3_set_auxdata() and sqlite3_get_auxdata() APIs. (CVS 1532) (check-in: [c2899b43] user: danielk1977 branch: trunk, size: 133881)
2004-06-04
06:22
[e1e62347] part of check-in [ff70b6d2] Move the 'busy-callback' logic to the pager layer. (CVS 1527) (check-in: [ff70b6d2] user: danielk1977 branch: trunk, size: 132808)
2004-06-03
16:08
[2cf1376f] part of check-in [d57e5252] Untested updates to support atomic multi-file transactions (CVS 1526) (check-in: [d57e5252] user: danielk1977 branch: trunk, size: 133314)
2004-06-02
01:22
[4ce596ee] part of check-in [165d69a0] Work toward combining the OP_MakeKey, OP_MakeIdxKey, and OP_MakeRecord opcodes into one. The work is incomplete. (CVS 1524) (check-in: [165d69a0] user: drh branch: trunk, size: 133224)
2004-05-31
23:56
[cc754edd] part of check-in [af8e2006] Remove the sqlite3_error_string() API. (CVS 1514) (check-in: [af8e2006] user: danielk1977 branch: trunk, size: 132442)
18:51
[bff63e4f] part of check-in [adf7e29f] Change all SQLITE3 preprocessor macros to SQLITE. Documentation updates. (CVS 1511) (check-in: [adf7e29f] user: drh branch: trunk, size: 132462)
10:01
[fdb990a6] part of check-in [6b43633a] Add read-transactions to the btree and vdbe. The compiler doesn't invoke them yet. (CVS 1502) (check-in: [6b43633a] user: danielk1977 branch: trunk, size: 132475)
08:26
[3cc9b3ab] part of check-in [b8ed812c] Replace OP_Begin, OP_Commit and OP_Rollback with OP_AutoCommit. (CVS 1500) (check-in: [b8ed812c] user: danielk1977 branch: trunk, size: 132403)
2004-05-30
21:14
[8c99c3c1] part of check-in [e6685af8] Add 3-byte and 6-byte integer serial types. This makes databases smaller and faster. Should we go ahead and add 5- and 7-byte integer types too? (CVS 1499) (check-in: [e6685af8] user: drh branch: trunk, size: 133243)
20:46
[a2131f78] part of check-in [a0db15bb] Various speed enhancements. (CVS 1498) (check-in: [a0db15bb] user: drh branch: trunk, size: 133243)
02:14
[61ac9d19] part of check-in [a90264c0] Additional minor speed improvements. (CVS 1496) (check-in: [a90264c0] user: drh branch: trunk, size: 133225)
2004-05-29
11:24
[c9658279] part of check-in [3225de89] Transform OP_HexBlob and OP_String8 to OP_Blob and OP_String the first time they are executed. (CVS 1492) (check-in: [3225de89] user: danielk1977 branch: trunk, size: 133326)
02:37
[ea010d63] part of check-in [4060a37d] Allow CREATE and DROP TRIGGER on attached databases. (CVS 1488) (check-in: [4060a37d] user: danielk1977 branch: trunk, size: 132574)
2004-05-28
16:00
[68f3583b] part of check-in [6661bb5f] Factor common code for generating index keys into a procedure. Other speed improvements and bug fixes. (CVS 1487) (check-in: [6661bb5f] user: drh branch: trunk, size: 132532)
11:37
[3b208964] part of check-in [4984a130] Allow CREATE TABLE and CREATE INDEX on attached databases. (CVS 1483) (check-in: [4984a130] user: danielk1977 branch: trunk, size: 132082)
08:21
[c661752e] part of check-in [ebd564d1] Tables and indices use the same record format. (CVS 1481) (check-in: [ebd564d1] user: drh branch: trunk, size: 131411)
01:39
[ea44f5be] part of check-in [321f8c46] Remove the encoding argument from sqlite3VdbeSerialGet. Use the 32-bit version of sqlite3GetVarint for schema-level parameters. (CVS 1480) (check-in: [321f8c46] user: drh branch: trunk, size: 135250)
2004-05-27
19:59
[c068f9ab] part of check-in [0c4d1388] Change the record format to include an extra varint at the beginning to record the number of bytes in the header. (CVS 1478) (check-in: [0c4d1388] user: drh branch: trunk, size: 135222)
17:22
[2f2c9859] part of check-in [287f8673] Remove the COPY command. (CVS 1477) (check-in: [287f8673] user: drh branch: trunk, size: 135904)
09:28
[54a758cc] part of check-in [67a140cf] Various bugfixes. 68 Test cases still fail. (CVS 1471) (check-in: [67a140cf] user: danielk1977 branch: trunk, size: 140336)
03:12
[e9d8818b] part of check-in [f33d15d9] Fixes to the MEM changes. The library now links. (CVS 1470) (check-in: [f33d15d9] user: drh branch: trunk, size: 139921)
01:53
[06f02181] part of check-in [dbdd1a7f] More MEM changes in the vdbe.c. Still will not compile. (CVS 1469) (check-in: [dbdd1a7f] user: drh branch: trunk, size: 141612)
2004-05-26
23:25
[4419d3b7] part of check-in [bba6684d] Refactoring of the vdbe Mem functions and the APIs that deal with them. The code will not compile in its current state. (CVS 1465) (check-in: [bba6684d] user: drh branch: trunk, size: 145833)
16:54
[a4b2f800] part of check-in [36e03162] Remove dataType and includeTypes flags from function definitions. Added new P3_FUNCDEF type for P3 arguments on opcodes. Fixes to several user functions. 28 tests fail now. (CVS 1464) (check-in: [36e03162] user: drh branch: trunk, size: 169685)
13:27
[0853b13a] part of check-in [ce8b1520] Ensure the type of an sqlite3_value* is not modified by calls to sqlite3_value_*() calls. (CVS 1463) (check-in: [ce8b1520] user: danielk1977 branch: trunk, size: 169648)
10:11
[f1dcfdc1] part of check-in [d5659f2e] Add some tests for the new API. Many more to come. (CVS 1462) (check-in: [d5659f2e] user: danielk1977 branch: trunk, size: 169340)
06:18
[4db41e7c] part of check-in [0317bef4] Use the new form of the sqlite3_create_function() API. (CVS 1460) (check-in: [0317bef4] user: danielk1977 branch: trunk, size: 169324)
02:04
[0c10b003] part of check-in [17e7db48] Use the new API calls more consistently. (CVS 1459) (check-in: [17e7db48] user: danielk1977 branch: trunk, size: 169324)
00:07
[7f41e2f7] part of check-in [e8313825] More changes to do with the new sqlite3_step() API. (CVS 1458) (check-in: [e8313825] user: danielk1977 branch: trunk, size: 169321)
2004-05-25
23:35
[fe75ac32] part of check-in [9385ad5c] Move the sqlite3_exec() function to legacy.c. (CVS 1455) (check-in: [9385ad5c] user: danielk1977 branch: trunk, size: 172195)
11:47
[bf205ee8] part of check-in [4eccae03] Use the new API for returning values and errors from user functions. (CVS 1453) (check-in: [4eccae03] user: danielk1977 branch: trunk, size: 172111)
2004-05-24
23:48
[11bb4758] part of check-in [5c28ed5e] Aggregate functions also use sqlite_value* instead of const char * for arguments. (CVS 1451) (check-in: [5c28ed5e] user: danielk1977 branch: trunk, size: 169357)
12:39
[92994b28] part of check-in [1e47d738] Non-aggregate SQL functions use sqlite_value* instead of const char * for argument values. (CVS 1449) (check-in: [1e47d738] user: danielk1977 branch: trunk, size: 169878)
09:15
[f80d8f00] part of check-in [a554bf6c] Fix typo in vdbe.c from previous commit. (CVS 1448) (check-in: [a554bf6c] user: danielk1977 branch: trunk, size: 170003)
09:10
[8030d327] part of check-in [4bf925fc] Add the sqlite3_value_*() access functions. (CVS 1447) (check-in: [4bf925fc] user: danielk1977 branch: trunk, size: 169969)
07:34
[58ba70a2] part of check-in [8104baf2] Fix for retrieving UTF-16 little-endian text from a big-endian database. (CVS 1446) (check-in: [8104baf2] user: danielk1977 branch: trunk, size: 168665)
07:04
[d5d15429] part of check-in [b7155db2] Have the vdbe handle strings in the same encoding as the database. (CVS 1445) (check-in: [b7155db2] user: danielk1977 branch: trunk, size: 168216)
2004-05-23
13:30
[b40ff091] part of check-in [f47de3a9] Begin changing the vdbe so all stack values use the database encoding. (CVS 1444) (check-in: [f47de3a9] user: danielk1977 branch: trunk, size: 155595)
2004-05-22
21:30
[316491eb] part of check-in [18e690e4] Remove the OP_SetInsert opcode. (CVS 1443) (check-in: [18e690e4] user: drh branch: trunk, size: 154340)
11:09
[c1846f4b] part of check-in [c36203de] Bug fix in vdbe.c - variable declarations must come before code in ANSI C. (CVS 1440) (check-in: [c36203de] user: drh branch: trunk, size: 155310)
10:33
[a21826df] part of check-in [d7551df8] Add a couple of tests for UTF-16 databases. (CVS 1438) (check-in: [d7551df8] user: danielk1977 branch: trunk, size: 155318)
07:27
[3ce76c80] part of check-in [b3581d27] A few bugfixes related to UTF-16 databases. sqlite3_open() still assumes a UTF-8 database, and sqlite3_open16() still assumes a UTF-16 db. (CVS 1434) (check-in: [b3581d27] user: danielk1977 branch: trunk, size: 155600)
03:05
[91e6663c] part of check-in [c4a82468] Steps towards UTF-16 databases. Some tests are failing because of this commit. (CVS 1433) (check-in: [c4a82468] user: danielk1977 branch: trunk, size: 155126)
2004-05-21
13:39
[2944326a] part of check-in [5524075e] Remove the OP_SetFound opcode and its cousins. (CVS 1430) (check-in: [5524075e] user: drh branch: trunk, size: 152273)
10:49
[f0e24400] part of check-in [5eb94c97] Pretty-print blobs in vdbe-traces. (CVS 1428) (check-in: [5eb94c97] user: danielk1977 branch: trunk, size: 154341)
10:08
[cafe464b] part of check-in [fc94575d] Further work on the new API. All the functions to execute queries are there now. (CVS 1427) (check-in: [fc94575d] user: danielk1977 branch: trunk, size: 153336)
03:01
[4138d2f3] part of check-in [25643a01] Eliminate the OP_SortMakeRec and OP_SortCallback opcodes. Sort using the standard record format. (CVS 1426) (check-in: [25643a01] user: drh branch: trunk, size: 144960)
02:14
[c7227386] part of check-in [3b55095e] Most sorting problems are fixed. Dead code has been removed. 3 test failures remain but will be fixed by the new function API once it gets implemented. (CVS 1425) (check-in: [3b55095e] user: drh branch: trunk, size: 146483)
01:29
[d1b6fdfc] part of check-in [0736b7e8] Sorting bug fixes. Now only 17 tests fail. (CVS 1422) (check-in: [0736b7e8] user: drh branch: trunk, size: 148000)
2004-05-20
22:16
[09ba3911] part of check-in [a6cb09d7] Add internal support for collating sequences. This breaks 244 tests. (CVS 1420) (check-in: [a6cb09d7] user: drh branch: trunk, size: 147576)
13:54
[4aedca4e] part of check-in [5c1e47a2] sqlite3MemCompare now takes a CollSeq* argument. (CVS 1419) (check-in: [5c1e47a2] user: drh branch: trunk, size: 147342)
02:42
[fe412966] part of check-in [bf2181f1] Bug fix associated with OP_SetNumColumns in insert.c. Also changed a variable name in OP_Column. (CVS 1413) (check-in: [bf2181f1] user: drh branch: trunk, size: 152161)
01:12
[973ffe76] part of check-in [e8f980d8] Add support for the new sqlite3_bind_*() APIs. (CVS 1410) (check-in: [e8f980d8] user: danielk1977 branch: trunk, size: 151837)
2004-05-19
20:41
[0f1918d2] part of check-in [34f03ba6] Correctly handle 64-bit integers in SQL statements. (CVS 1408) (check-in: [34f03ba6] user: drh branch: trunk, size: 150347)
14:56
[42ecfcd3] part of check-in [8f249c45] Change opcode names and comments to better describe the operation of the incrKey flag. OP_MoveTo becomes OP_MoveGe. (CVS 1407) (check-in: [8f249c45] user: drh branch: trunk, size: 150913)
13:13
[b6463288] part of check-in [7c31e257] Bug fixes in where.c. The where.test test works again. (CVS 1406) (check-in: [7c31e257] user: drh branch: trunk, size: 150693)
11:31
[415b3b19] part of check-in [821b0b29] Really remove the OP_StrEq opcode this time - appearently I didn't save the file out of the editor before doing the check-in (1397). (CVS 1405) (check-in: [821b0b29] user: drh branch: trunk, size: 149962)
11:24
[96209223] part of check-in [45169ce0] Variable name change: azVar to apVar. (CVS 1404) (check-in: [45169ce0] user: drh branch: trunk, size: 155379)
10:34
[f5451f1f] part of check-in [4e602bb4] Tests for text encoding conversion functions. Also new sqlite3_bindXX APIs. (CVS 1400) (check-in: [4e602bb4] user: danielk1977 branch: trunk, size: 155387)
2004-05-18
22:17
[37c3d0c4] part of check-in [238442bb] Remove the OP_StrEq opcodes. (CVS 1397) (check-in: [238442bb] user: drh branch: trunk, size: 154463)
09:58
[5cc6e41f] part of check-in [a62872aa] Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1392) (check-in: [a62872aa] user: danielk1977 branch: trunk, size: 153522)
01:23
[8a6b971c] part of check-in [202a470f] Omit the '\0' at the end of UTF-8 strings on disk (it is implied). Also don't store the number of rows at the beginning of each table record. (CVS 1390) (check-in: [202a470f] user: danielk1977 branch: trunk, size: 153501)
2004-05-17
10:48
[e8fd1b09] part of check-in [0f6c9b05] More changes to support the new types model. Compound SELECTs are currently broken. (CVS 1389) (check-in: [0f6c9b05] user: danielk1977 branch: trunk, size: 152949)
2004-05-16
11:57
[c2feeaaf] part of check-in [5cba8a51] Fix two bugs that were causing lots of tests to fail. (CVS 1386) (check-in: [5cba8a51] user: danielk1977 branch: trunk, size: 152265)
11:15
[38a477ae] part of check-in [a4af838f] More changes to support the manifest type model. A few things are currently broken. (CVS 1385) (check-in: [a4af838f] user: danielk1977 branch: trunk, size: 152258)
2004-05-14
21:59
[c12726cf] part of check-in [d8bacc16] Allocates VDBE cursors one by one in separate memory so that pointers to cursors can persist through a realloc(). (CVS 1383) (check-in: [d8bacc16] user: drh branch: trunk, size: 149210)
21:12
[90018d79] part of check-in [8d9eab17] Cache record headers in the OP_Column opcode. (CVS 1382) (check-in: [8d9eab17] user: drh branch: trunk, size: 149234)
15:27
[fff79c08] part of check-in [cad47917] Performance improvements (CVS 1379) (check-in: [cad47917] user: drh branch: trunk, size: 148872)
12:16
[b63179da] part of check-in [c6604a94] Use B+trees for tables (CVS 1377) (check-in: [c6604a94] user: danielk1977 branch: trunk, size: 148865)
11:16
[6966c271] part of check-in [f24aedc2] Delete some code no longer in use (CVS 1376) (check-in: [f24aedc2] user: danielk1977 branch: trunk, size: 148818)
11:00
[a6e1bfe1] part of check-in [dbfe6e93] Implement type affinity for table and index records (CVS 1375) (check-in: [dbfe6e93] user: danielk1977 branch: trunk, size: 155666)
2004-05-13
13:38
[a6ba8338] part of check-in [790226c9] Changes to make regression tests in rowid.test pass. (CVS 1373) (check-in: [790226c9] user: danielk1977 branch: trunk, size: 150233)
11:34
[7b81b1d6] part of check-in [dbe8385e] Various minor fixes and updates to make more test cases pass. (CVS 1370) (check-in: [dbe8385e] user: danielk1977 branch: trunk, size: 150233)
05:16
[773fb492] part of check-in [9f2b6d9d] Manifest types in indices. At the moment indices use manifest typing, but some other parts of the SQL engine do not, which can lead to some strange results. (CVS 1368) (check-in: [9f2b6d9d] user: danielk1977 branch: trunk, size: 150063)
2004-05-12
11:24
[9b82d9ed] part of check-in [2f16c9ef] Add some more code to support manifest typing in indices. Not activated yet. (CVS 1362) (check-in: [2f16c9ef] user: danielk1977 branch: trunk, size: 148827)
07:33
[cd988995] part of check-in [0242c9e4] Change the table record format to support manifest typing. (CVS 1361) (check-in: [0242c9e4] user: danielk1977 branch: trunk, size: 146832)
2004-05-11
09:57
[6f29fdad] part of check-in [93deaf54] A different fix for the problem with opening existing files. See also check-in (1358). (CVS 1359) (check-in: [93deaf54] user: drh branch: trunk, size: 152473)
09:31
[85da2e53] part of check-in [6d378cb7] Fix an offset problem in the meta values that was causing problems for many tests. (CVS 1357) (check-in: [6d378cb7] user: drh branch: trunk, size: 152399)
08:48
[b9a499da] part of check-in [6dc60046] More small changes to get test cases to execute. (CVS 1355) (check-in: [6dc60046] user: danielk1977 branch: trunk, size: 152013)
06:55
[4ff07e53] part of check-in [941d0fdc] More minor changes to accomadate the new btree. All the select* tests pass now. (CVS 1353) (check-in: [941d0fdc] user: danielk1977 branch: trunk, size: 151951)
06:17
[06986aa8] part of check-in [16078fe0] Minor changes to the vdbe so that more tests pass. (CVS 1352) (check-in: [16078fe0] user: danielk1977 branch: trunk, size: 151921)
04:54
[7ac68210] part of check-in [9ba0df4d] Fix up a couple of little things in the vdbe. select1.test passes now. (CVS 1351) (check-in: [9ba0df4d] user: danielk1977 branch: trunk, size: 151834)
02:10
[f2094463] part of check-in [7bc4f554] Fix a bug in the btree code for reading varints greater than 2^32. (CVS 1349) (check-in: [7bc4f554] user: danielk1977 branch: trunk, size: 151743)
00:28
[c6c76386] part of check-in [c080fed7] Change to OP_PutIntKey to use new btree API. (CVS 1346) (check-in: [c080fed7] user: danielk1977 branch: trunk, size: 151690)
2004-05-10
23:29
[24a2dbe7] part of check-in [bc5a2daf] Work toward getting the new btree.c integrated with vdbe.c. (CVS 1345) (check-in: [bc5a2daf] user: drh branch: trunk, size: 151367)
20:27
[0853ab99] part of check-in [d596f513] Improvements to testing of sqlite_interrupt. More checking for interrupt inside of VACUUM. (CVS 1344) (check-in: [d596f513] user: drh branch: version_2, size: 143519)
10:34
[5cd18c8a] part of check-in [2242423e] Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1338) (check-in: [2242423e] user: danielk1977 branch: trunk, size: 151562)
07:17
[3d90858d] part of check-in [8a66a502] Add versions of OP_MakeRecord and OP_Column that use manifest typing (not activated yet). (CVS 1334) (check-in: [8a66a502] user: danielk1977 branch: trunk, size: 151531)
2004-05-09
23:23
[bf7d4826] part of check-in [d8d1c91e] Add a temporary sqlite2BtreeKeyCompare() function to help get regression tests passing again. (CVS 1332) (check-in: [d8d1c91e] user: danielk1977 branch: trunk, size: 144000)
2004-05-08
10:56
[9b089e0b] part of check-in [2bca9224] Get the code back to the point where it will compile the btree.c tests. Move the default key comparison routine from btree.c into vdbeaux.c. Commented out code in vdbe.c that will need to be fixed. (CVS 1326) (check-in: [2bca9224] user: drh branch: trunk, size: 143853)
08:23
[500d5140] part of check-in [8af6474c] Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) (check-in: [8af6474c] user: danielk1977 branch: trunk, size: 143771)
2004-04-29
16:16
[f0062003] part of check-in [5a33e0b0] Fix a stack overflow problem with INSTEAD OF triggers. (CVS 1310) (check-in: [5a33e0b0] user: drh branch: version_2, size: 143498)
2004-03-03
01:51
[7c33f761] part of check-in [3cac4b7b] A vdbe stack element might have a string value even after a call to Integerify(). Ticket #641. (CVS 1283) (check-in: [3cac4b7b] user: drh branch: trunk, size: 142811)
2004-02-22
17:49
[af187d86] part of check-in [9b3bcde1] Code cleanup in the date and time functions. (CVS 1263) (check-in: [9b3bcde1] user: drh branch: trunk, size: 142821)
2004-02-20
22:53
[f14e8e2e] part of check-in [3383413a] Fixed behaviour of last_insert_rowid() with triggers and add last_statement_change_count() function that works correctly with triggers. (CVS 1251) (check-in: [3383413a] user: rdc branch: trunk, size: 142815)
2004-02-16
03:44
[e1825bcb] part of check-in [f7213485] Remove the NullCallback opcode. Handle the empty_result_set pragma inside the sqlite_exec() function. (CVS 1244) (check-in: [f7213485] user: drh branch: trunk, size: 140752)
2004-02-14
23:59
[90debe89] part of check-in [2dbc4593] Eliminate obsolete code associated with the older callback functionality. (CVS 1243) (check-in: [2dbc4593] user: drh branch: trunk, size: 141254)
17:35
[b3f7cfec] part of check-in [398bc294] Fix problems with malloc-failure handling. (CVS 1241) (check-in: [398bc294] user: drh branch: trunk, size: 142305)
16:31
[a1d90927] part of check-in [9771ad1e] The sqlite_exec() function is now implemented using sqlite_compile() and sqlite_step(). This opens up lots of opportunity to remove old code. (CVS 1240) (check-in: [9771ad1e] user: drh branch: trunk, size: 142255)
2004-02-13
14:07
[13df29e0] part of check-in [9f149fdc] Fix an uninitialized variable introduced by check-in (1202). (CVS 1235) (check-in: [9f149fdc] user: drh branch: trunk, size: 142004)
2004-02-12
13:02
[f665f4c1] part of check-in [2fe9f510] VACUUM returns SQLITE_INTERRUPT when interrupted. Ticket #593. (CVS 1228) (check-in: [2fe9f510] user: drh branch: trunk, size: 141876)
2004-02-11
09:46
[dfd8b36f] part of check-in [f2bdccf4] Refactor the interface to the randomness generator. (CVS 1224) (check-in: [f2bdccf4] user: drh branch: trunk, size: 141853)
2004-02-10
13:41
[546bb0a8] part of check-in [cf1cec74] Perform updates in search order. Ticket #602. (CVS 1221) (check-in: [cf1cec74] user: drh branch: trunk, size: 141802)
2004-02-08
18:07
[81aee8e5] part of check-in [93ccd1b1] Perpare for the 2.8.12 release. (CVS 1212) (check-in: [93ccd1b1] user: drh branch: trunk, size: 141506)
06:17
[d2b7f2a2] part of check-in [42cfd541] Fix a bug in the VDBE that occurs when a CreateTable or CreateIndex fails. (CVS 1211) (check-in: [42cfd541] user: drh branch: trunk, size: 140849)
2004-01-31
20:40
[fe0375e2] part of check-in [04cf2278] Fix a bug introduced by the previous check-in. (CVS 1205) (check-in: [04cf2278] user: drh branch: trunk, size: 140812)
20:20
[cdfe403f] part of check-in [06e7ff4c] A few more optimizations to the VDBE. (CVS 1204) (check-in: [06e7ff4c] user: drh branch: trunk, size: 139763)
19:22
[36a93b5e] part of check-in [8273c74b] Rework internal data structures to make the VDBE about 15% smaller. (CVS 1203) (check-in: [8273c74b] user: drh branch: trunk, size: 140354)
2004-01-30
14:49
[fcd5b6f2] part of check-in [c0faa1c6] Rework the VDBE data structures to combine string representations into the same structure with integer and floating point. This opens the door to significant optimizations. (CVS 1202) (check-in: [c0faa1c6] user: drh branch: trunk, size: 145743)
2004-01-15
02:44
[802364c5] part of check-in [72bc84f2] Reinsert the experimental sqlite_commit_hook() API. (CVS 1179) (check-in: [72bc84f2] user: drh branch: trunk, size: 145429)
2004-01-14
21:59
[763ff006] part of check-in [c9ac3db8] Fix comparisons of ROWID against floating point numbers so that they work correctly. Ticket #377 and #567. (CVS 1178) (check-in: [c9ac3db8] user: drh branch: trunk, size: 145195)
2004-01-07
20:37
[ff3551cb] part of check-in [5fd58178] Rework the fix to ticket #461 so that we do not have to do redundant tests of WHERE clause terms looking for NULLs. See also check-in (1103). (CVS 1167) (check-in: [5fd58178] user: drh branch: trunk, size: 144747)
19:24
[651fcdac] part of check-in [03636c94] Permit sqlite_exec() to be called from within user-defined functions. (CVS 1166) (check-in: [03636c94] user: drh branch: trunk, size: 143562)
18:52
[651f294e] part of check-in [d3e96da2] Defer the {quote: MoveTo} opcode in VDBE until the data is actually needed. Sometimes the data is never needed, resulting in a performance increase. On an indexed order search with a large OFFSET, queries times can be an order of magnitude faster. (CVS 1165) (check-in: [d3e96da2] user: drh branch: trunk, size: 143455)
2003-12-23
02:17
[a16a084c] part of check-in [4d9edbc5] Use a built-in atof() function instead of the one from the library to avoid problems with locale. Ticket #305. (CVS 1144) (check-in: [4d9edbc5] user: drh branch: trunk, size: 143915)
2003-12-10
01:31
[46068de5] part of check-in [230a4ff2] Fix the code generator to a void a VDBE stack overflow on 3-way joins. Ticket #519. (CVS 1129) (check-in: [230a4ff2] user: drh branch: trunk, size: 143788)
2003-12-07
00:24
[b40c2a70] part of check-in [614cbbaf] Make the VACUUM command run out of the VDBE like all other commands. (Ticket #464). Make the VACUUM command work even if there are VIEWs in the SQLITE_MASTER table that come before tables they reference. (Ticket #515) (CVS 1128) (check-in: [614cbbaf] user: drh branch: trunk, size: 143762)
2003-12-06
21:43
[d61f720a] part of check-in [656c9038] Always use "(char*)0" to terminate the argument list of sqliteSetString(). This is needed for 64-bit systems that use a 32-bit integer by default. (CVS 1126) (check-in: [656c9038] user: drh branch: trunk, size: 143397)
2003-10-18
09:37
[0928a242] part of check-in [ddb36463] Add sqlite_progress_handler() API for specifying an progress callback (CVS 1111) (check-in: [ddb36463] user: danielk1977 branch: trunk, size: 143286)
2003-09-27
00:56
[a9923a38] part of check-in [70a50bdd] Add additional backslash escapes to the COPY command for compatibility with PostgreSQL. Ticket #460. (CVS 1104) (check-in: [70a50bdd] user: drh branch: trunk, size: 142500)
2003-09-06
22:18
[4570d436] part of check-in [990bb118] Update Makefile.in for the new vdbeaux.c file. Remove the experimental "sqlite_instantiate()" routine and replace it with "sqlite_bind()" which is more like ODBC and JDBC. (CVS 1095) (check-in: [990bb118] user: drh branch: trunk, size: 142185)
20:12
[00c547e7] part of check-in [bfd69391] Split almost 1300 lines of code out of vdbe.c into separate files vdbeInt.h and vdbeaux.c. (CVS 1094) (check-in: [bfd69391] user: drh branch: trunk, size: 142114)
01:10
[b6a2b0a8] part of check-in [912f47c7] The beginnings of changes to support pre-compiled SQL. Mostly untested, though all regression tests to pass. (CVS 1093) (check-in: [912f47c7] user: drh branch: trunk, size: 179128)
2003-08-26
11:35
[306f5901] part of check-in [cbe32216] Try to work around a bug in VC++ by only passing unsigned characters to the isspace() routine. Bug reported on the mailing list. (CVS 1087) (check-in: [cbe32216] user: drh branch: trunk, size: 175902)
2003-08-16
12:37
[fb7f2fc0] part of check-in [ef58f163] Do not delete tables with the same name when dropping triggers. Ticket #430. (CVS 1074) (check-in: [ef58f163] user: drh branch: trunk, size: 175877)
2003-07-27
17:16
[779fa3b1] part of check-in [7514c3db] In the VDBE, when an integer value will not fit into a 32-bit int, store it in a double instead. Ticket #408. (CVS 1064) (check-in: [7514c3db] user: drh branch: trunk, size: 175875)
2003-07-22
09:24
[b5feda6d] part of check-in [1d2fcb01] Add experimental sqlite_reset() API (allows pre-compiled queries) (CVS 1060) (check-in: [1d2fcb01] user: danielk1977 branch: trunk, size: 175702)
2003-07-09
00:28
[7bef5995] part of check-in [dd84f88f] Allow the output arguments in sqlite_compile and sqlite_step to be NULL pointers. Tickets #384 and #385. (CVS 1049) (check-in: [dd84f88f] user: drh branch: trunk, size: 174923)
2003-07-06
17:22
[3779009c] part of check-in [982aa335] Correctly handle comparing an INTEGER PRIMARY KEY against a floating point number. Ticket #377. (CVS 1045) (check-in: [982aa335] user: drh branch: trunk, size: 174840)
2003-06-29
20:25
[f5d5779b] part of check-in [fc490f67] The prior fix of ticket #360 was incorrect and caused a memory leak. This check-in plugs the memory leak and correctly fixes ticket #360. (CVS 1040) (check-in: [fc490f67] user: drh branch: trunk, size: 173909)
2003-06-24
10:39
[aa35237c] part of check-in [bad8b558] In a SELECT, the rowid of a view or subquery which is really a join is set to NULL if the join is flattened. Ticket #364. (CVS 1034) (check-in: [bad8b558] user: drh branch: trunk, size: 173881)
2003-06-22
01:41
[fba0a1d2] part of check-in [cb70ee67] Make sure the source of a PULL opcode is not an ephemeral string. Ticket #360. (CVS 1031) (check-in: [cb70ee67] user: drh branch: trunk, size: 173863)
2003-06-15
23:42
[b0118814] part of check-in [c9734c27] Enhance the "PRAGMA integrity_check" command to verify that all indices are correctly constructed. New calls to integrity_check are made in the test suite. These changes are intended to prevent any future problems such as seen in ticket #334. (CVS 1024) (check-in: [c9734c27] user: drh branch: trunk, size: 173805)
2003-06-07
11:33
[828123ca] part of check-in [7d3405b9] Use sqliteOsFileExists() in the debugging hook in vdbe.c, instead of access(). Ticket #341. (CVS 1014) (check-in: [7d3405b9] user: drh branch: trunk, size: 173684)
2003-06-04
16:24
[5602825b] part of check-in [af6f2bdf] Fix a bug in UPDATE OR REPLACE that was introduced by check-in (999). Also clean up some compiler warnings for VC++. (CVS 1005) (check-in: [af6f2bdf] user: drh branch: trunk, size: 173726)
2003-06-02
23:14
[4170cba0] part of check-in [daf7b940] The OP_Checkpoint opcode is now a no-op if invoked on a database that already has an active checkpoint journal. Ticket #333. (CVS 997) (check-in: [daf7b940] user: drh branch: trunk, size: 173718)
06:15
[0f09d140] part of check-in [b648987d] Additions and corrections to vdbe documentation comments. (CVS 992) (check-in: [b648987d] user: jplyon branch: trunk, size: 173593)
2003-05-17
17:35
[81b9868a] part of check-in [01398fb7] Fix problems with TEMP indices that lead to corrupt databases. These problems were discovered while working on ticket #317. No sure yet if that ticket is fixed. (CVS 981) (check-in: [01398fb7] user: drh branch: trunk, size: 173310)
2003-05-10
03:36
[e9e560b0] part of check-in [8b388b2f] Changes to comments. In particular, a lengthy comment was added to encode.c that explains how the encoder algorithm works. (CVS 966) (check-in: [8b388b2f] user: drh branch: trunk, size: 173256)
2003-05-02
14:32
[829fa31c] part of check-in [be7aed20] VDBE cursors numbers for tables in a join do not have to be consecutive. This is one step on the road to fixing ticket #272. (CVS 947) (check-in: [be7aed20] user: drh branch: trunk, size: 173270)
2003-04-25
15:37
[48098080] part of check-in [8d3e8793] Add tests to insure VACUUM works in the presence of I/O errors. Fix some problems that came to light by these tests. (CVS 935) (check-in: [8d3e8793] user: drh branch: trunk, size: 173822)
2003-04-23
12:25
[f0868ac9] part of check-in [6289b863] Remove the begin_hook and commit_hook APIs. They were a bad idea. Add a "trace" method to the TCL interface. (CVS 929) (check-in: [6289b863] user: drh branch: trunk, size: 173812)
2003-04-17
12:44
[d453e8c9] part of check-in [98ef6110] Make sure the min() and max() optimizations work on empty indexed tables. Ticket #296. (CVS 914) (check-in: [98ef6110] user: drh branch: trunk, size: 174302)
2003-04-16
21:03
[ef99c9f6] part of check-in [5cea7554] Rollback if a commit hook fails. (CVS 912) (check-in: [5cea7554] user: drh branch: trunk, size: 174215)
02:17
[45f7167e] part of check-in [4326b52a] Simplify the number processing code. Fix for ticket #281. (CVS 910) (check-in: [4326b52a] user: drh branch: trunk, size: 174262)
2003-04-15
19:22
[6738153d] part of check-in [0b996959] Get triggers working on tables with INTEGER PRIMARY KEYs. Ticket #291. This may also fix #159. Still need to add tests so both bugs remain open for the time being. (CVS 908) (check-in: [0b996959] user: drh branch: trunk, size: 174774)
14:01
[0fa25d17] part of check-in [96a71766] Do not record the inserted rowid on when doing an INSERT within a trigger. Ticket #290. (CVS 906) (check-in: [96a71766] user: drh branch: trunk, size: 171153)
01:19
[cf9ef07b] part of check-in [e76787f8] Change some variable names and comments in the new in-memory database file implementation. Partial (non-working) implementation of the VACUUM command. (CVS 904) (check-in: [e76787f8] user: drh branch: trunk, size: 171033)
2003-04-13
18:26
[45d2987a] part of check-in [96336bff] Support in-memory databases for temp tables (CVS 903) (check-in: [96336bff] user: paul branch: trunk, size: 171041)
2003-04-03
15:46
[540c4809] part of check-in [5efbf623] Added experimental APIs: sqlite_begin_hook() and sqlite_commit_hook(). (CVS 896) (check-in: [5efbf623] user: drh branch: trunk, size: 171025)
01:50
[b3b840b5] part of check-in [087d1e83] Use a intermediate table when inserting a TEMP table from a SELECT that reads from that same TEMP table. Ticket #275. (CVS 895) (check-in: [087d1e83] user: drh branch: trunk, size: 170515)
2003-03-20
01:16
[7171dbe8] part of check-in [a5d8fc95] Record the database name in addition to the table name for DELETE, INSERT, and UPDATE statements. (CVS 879) (check-in: [a5d8fc95] user: drh branch: trunk, size: 170302)
2003-03-19
03:14
[e2313377] part of check-in [875da9ee] Modifications to the VDBE to support more than one database file. (CVS 878) (check-in: [875da9ee] user: drh branch: trunk, size: 170481)
2003-03-07
19:50
[1b54fc0b] part of check-in [2aba40be] Do not allow an empty string to be inserted into an INTEGER PRIMARY KEY. (CVS 877) (check-in: [2aba40be] user: drh branch: trunk, size: 171054)
2003-03-01
19:45
[f8fdbf03] part of check-in [620e1065] Get the non-callback API working with the EXPLAIN keyword and for PRAGMAs. Tickets #258 and #257. Update the API documentation on the sqlite_changes() routine to explain how it works with the non-callback API. Ticket #250. (CVS 875) (check-in: [620e1065] user: drh branch: trunk, size: 171024)
2003-02-20
01:48
[4906e666] part of check-in [6a45fe3b] When the right table in a LEFT OUTER JOIN contains an INTEGER PRIMARY KEY make sure that key is NULL if there is no row in the right table that matches the current row in the left table. Tickets #246 and #247. (CVS 873) (check-in: [6a45fe3b] user: drh branch: trunk, size: 171022)
2003-02-16
22:21
[fc4c23e4] part of check-in [75ba7828] Added test code to check for file descriptor leaks. All regression tests pass now on both win2k and linux. (CVS 868) (check-in: [75ba7828] user: drh branch: trunk, size: 170989)
2003-01-29
22:58
[2ad2510b] part of check-in [af1e9299] Additional testing and bug fixing with the non-callback API. Updated the C/C++ interface document to describe the non-callback API. (CVS 855) (check-in: [af1e9299] user: drh branch: trunk, size: 170920)
18:46
[de4c0049] part of check-in [ccc82f1a] Better error messages on constraint violations. Additional tests and bug fixes for the callback-free API. (CVS 854) (check-in: [ccc82f1a] user: drh branch: trunk, size: 170426)
14:06
[a9dd0f68] part of check-in [162b2591] The callback-free API is now working, though much more testing is need. (CVS 853) (check-in: [162b2591] user: drh branch: trunk, size: 170352)
2003-01-28
23:13
[899b59df] part of check-in [065fa818] First code for the new callback-free API. All regression tests pass but the new API is mostly untested and is unlikely to work. (CVS 852) (check-in: [065fa818] user: drh branch: trunk, size: 169806)
2003-01-19
03:59
[7796485a] part of check-in [f6a87068] Update comments. No changes to code. (CVS 841) (check-in: [f6a87068] user: drh branch: trunk, size: 162873)
2003-01-16
13:42
[dc0a9c1b] part of check-in [717523d3] Improvements to the pager to help large updates against a large database run faster. Also improved the testing of the pager rollback algorithms. (CVS 835) (check-in: [717523d3] user: drh branch: trunk, size: 162892)
2003-01-12
17:35
[e103bd5a] part of check-in [0deaf563] Remove an unused variable from the VDBE. Ticket #223. (CVS 826) (check-in: [0deaf563] user: drh branch: trunk, size: 162839)
17:28
[1585e3aa] part of check-in [fc11fa50] Change the PopStack() routine so that it doesn't confuse bounds checkers. Ticket #222. (CVS 825) (check-in: [fc11fa50] user: drh branch: trunk, size: 162884)
2003-01-11
13:30
[e1f66bb2] part of check-in [86deb12d] Remove the ColumnCount opcode, which had become a no-op. (CVS 821) (check-in: [86deb12d] user: drh branch: trunk, size: 162909)
2003-01-07
13:55
[42577c26] part of check-in [46d8f5e3] In the VDBE, allocate space to hold column names when the VDBE first starts. The ColumnCount opcode now just writes the null terminator into this space. (CVS 818) (check-in: [46d8f5e3] user: drh branch: trunk, size: 163147)
13:43
[07570003] part of check-in [657c9fb5] When constructing records and index keys, use static string space rather than mallocing (when possible) for a small speed improvement. (CVS 817) (check-in: [657c9fb5] user: drh branch: trunk, size: 163557)
02:47
[a92cbde5] part of check-in [a362981b] More optimizations. (CVS 816) (check-in: [a362981b] user: drh branch: trunk, size: 162640)
2003-01-06
23:54
[1d396c70] part of check-in [b96ec281] Remove unnecessary code from the VDBE. (CVS 814) (check-in: [b96ec281] user: drh branch: trunk, size: 161760)
2003-01-05
21:41
[dfcb4708] part of check-in [5809132f] More optimizations. (CVS 813) (check-in: [5809132f] user: drh branch: trunk, size: 163926)
2003-01-02
14:43
[572ee028] part of check-in [db745e87] Code optimizations to help the library run faster. (CVS 808) (check-in: [db745e87] user: drh branch: trunk, size: 163743)
2003-01-01
23:06
[0baebb3f] part of check-in [a1c071ea] If compiled with the -DVDBE_PROFILE=1 option, special code is inserted that uses the pentium RDTSC instruction to compute very precise runtimes on all VDBE opcodes. (This only works on i586 processors, of course.) The results are written into the vdbe_profile.out file for analysis. Hopefully, this new feature will reveal hot spots that can be optimized to make the VDBE run faster. (CVS 807) (check-in: [a1c071ea] user: drh branch: trunk, size: 163705)
2002-12-04
22:29
[aa6165ae] part of check-in [0051c87d] Fix a bug in the reverse scan logic that comes up when the table being scanned is empty. Add additional tests for the reverse scan. (CVS 797) (check-in: [0051c87d] user: drh branch: trunk, size: 162403)
20:01
[84b224d0] part of check-in [c7a34879] Scan the table backwards if there is an ORDER BY ... DESC clause that can be satisfied by an index. (CVS 795) (check-in: [c7a34879] user: drh branch: trunk, size: 162156)
2002-12-02
04:25
[2c2472a9] part of check-in [fa5c0425] Change to the pager to avoid opening journal files unnecessarily. This can sometimes results in a significant speed improvement. (CVS 791) (check-in: [fa5c0425] user: drh branch: trunk, size: 160717)
2002-11-11
00:05
[7d46f087] part of check-in [263a8ca4] Replace the atoi() library routine with a faster home-grown version in the VDBE. This gives a dramatic speed improvement for some kinds of queries. (CVS 784) (check-in: [263a8ca4] user: drh branch: trunk, size: 160717)
2002-11-01
01:55
[a187467b] part of check-in [326e0983] Improvements in threadtest.c (for Unix) and some minor bug fixes that result from the better testing. (CVS 776) (check-in: [326e0983] user: drh branch: trunk, size: 160282)
2002-10-30
22:42
[921f75ea] part of check-in [8c4cbdd0] In the VDBE, check to make sure a set has been initialized before using it. Ticket #185. (CVS 772) (check-in: [8c4cbdd0] user: drh branch: trunk, size: 160220)
2002-10-22
15:04
[b5d25c18] part of check-in [562da534] Take care to track ephemeral strings in the VDBE and make copies of ephemeral strings that need to be preserved. Ticket #177. (CVS 769) (check-in: [562da534] user: drh branch: trunk, size: 160201)
2002-10-19
20:16
[4144effb] part of check-in [d0af59fe] Speed improvement by avoiding a call to sqliteBtreeLast() when inserting a new row into a table. (CVS 763) (check-in: [d0af59fe] user: drh branch: trunk, size: 158357)
2002-09-17
03:20
[ac4ccc17] part of check-in [29145746] Fix a bug in the OP_MemStore operator of the VDBE. A realloc() might occur but pointer to the old buffer were not being moved over to the new buffer. (CVS 752) (check-in: [29145746] user: drh branch: trunk, size: 157824)
2002-09-14
13:47
[8e567db1] part of check-in [3f253afe] Do not put a write lock on the main database file when writing to a temporary table. (CVS 750) (check-in: [3f253afe] user: drh branch: trunk, size: 157657)
2002-09-08
17:23
[7e7392f2] part of check-in [23fe36c7] Fix for ticket #147: Honor the ORDER BY and LIMIT clauses in a SELECT even if the destination of that SELECT is a subroutine call. (CVS 747) (check-in: [23fe36c7] user: drh branch: trunk, size: 157240)
00:04
[8637ddb9] part of check-in [eb54d455] Modify the build process so that the VDBE opcode numbers and the table that contains the opcode names are both automatically generated. This makes it much easier to create new VDBE opcodes. (CVS 746) (check-in: [eb54d455] user: drh branch: trunk, size: 155259)
2002-09-03
19:43
[b746742d] part of check-in [7f8fd5c7] Always fill in the 5th parameter to sqlite_exec if there is an error. (CVS 742) (check-in: [7f8fd5c7] user: drh branch: trunk, size: 157158)
2002-09-01
23:20
[4a1744c9] part of check-in [8c2a0836] Relax the locking requirements on BTree cursors. Any number of read and write cursors can be open at the same time now, but a write cannot occur as long as one or more read cursors are open.

Before this change, one or more read cursors could be open on a table, or a single write cursor, but not both. Both policies have the same desirable effect: they prevent writes to a table while a sequential scan of that table is underway. But the new policy is a little less restrictive. Both policies prevent an UPDATE from occurring inside a SELECT (which is what we want) but the new policy allows a SELECT to occur inside an UPDATE. (CVS 739) (check-in: [8c2a0836] user: drh branch: trunk, size: 157285)

2002-08-28
03:00
[d4969d78] part of check-in [723362e7] Slightly faster INSERTs from a SELECT by avoiding an intermediate table. But it didn't make nearly as much difference as I had hoped. (CVS 732) (check-in: [723362e7] user: drh branch: trunk, size: 157180)
2002-08-26
19:55
[ea41a3ac] part of check-in [45847390] Fix for ticket #142: Make sure we get the correct sort order even when the columns being sorted contain NULLs. (CVS 730) (check-in: [45847390] user: drh branch: trunk, size: 156873)
2002-08-25
19:20
[99b57147] part of check-in [c602603e] Fix for ticket #136: Added the OP_RenameCursor VDBE instruction and used it to make cursor numbers right on nested subqueries. Also added OP_Gosub and OP_Return but have not actually used them for anything yet. (CVS 727) (check-in: [c602603e] user: drh branch: trunk, size: 156590)
18:29
[92bcd466] part of check-in [b957dafc] Fix the memory leak introduced by check-in (725). (CVS 726) (check-in: [b957dafc] user: drh branch: trunk, size: 154661)
2002-08-15
01:26
[5b3bb8ac] part of check-in [66a0f6a8] Fixes and test improvements resulting from code coverage testing. (CVS 716) (check-in: [66a0f6a8] user: drh branch: trunk, size: 154013)
2002-08-13
23:02
[aad57e62] part of check-in [310ac4fb] Make the distinction between text and numeric data. (CVS 710) (check-in: [310ac4fb] user: drh branch: trunk, size: 153963)
2002-07-31
19:50
[aa647946] part of check-in [fe329e07] Fix for ticket #124: Fix a stack VDBE overflow problem on joins on an INTEGER PRIMARY KEY. (CVS 700) (check-in: [fe329e07] user: drh branch: trunk, size: 153945)
2002-07-30
17:20
[b35ea5d6] part of check-in [be131575] Fix for ticket #71: Correctly handle CR and CRLF line terminators in the input files for the COPY command. (CVS 694) (check-in: [be131575] user: drh branch: trunk, size: 153747)
2002-07-18
00:34
[7433a781] part of check-in [20d152fc] Fix for ticket #107: Fix a design defect in indices that was causing queries to fail when using an index on a column containing an empty string. This fix is an incompatible file-format change. (CVS 681) (check-in: [20d152fc] user: drh branch: trunk, size: 152994)
2002-07-05
21:42
[0169270b] part of check-in [b4737a16] All the code is now in place for SQLite to distinguish between NUMERIC and TEXT datatypes. Still need to turn on the new code and test it. (CVS 659) (check-in: [b4737a16] user: drh branch: trunk, size: 152389)
2002-06-29
02:20
[c83ece2a] part of check-in [91c0db66] Add a few more tests and fix a few bugs that the tests uncovered. (CVS 652) (check-in: [91c0db66] user: drh branch: trunk, size: 152267)
2002-06-28
01:02
[0c7783ba] part of check-in [c07e493b] Fix for ticket #84: If the WHERE clause is too complex, issue an error message and refuse to do the SELECT. The cutoff is a WHERE clause with 100 terms. (CVS 650) (check-in: [c07e493b] user: drh branch: trunk, size: 151945)
2002-06-26
02:45
[2d9e418e] part of check-in [bdb006b8] The datatype of the i-th column in the result set is given by the azColName(argc+1+i) parameter to the callback. (CVS 647) (check-in: [bdb006b8] user: drh branch: trunk, size: 151859)
2002-06-25
13:16
[17cdbcb6] part of check-in [52eba4de] Enhance the INTEGRITY_CHECK pragma to test the auxiliary database file in addition to the main database file. (CVS 642) (check-in: [52eba4de] user: drh branch: trunk, size: 151874)
01:09
[0b1ad7c3] part of check-in [9c1432bf] Added support for the "sqlite_temp_master" table. Increased the version number to 2.5.2. (CVS 640) (check-in: [9c1432bf] user: drh branch: trunk, size: 151734)
2002-06-21
23:01
[774f7948] part of check-in [9d552310] Fix for bugs #77 and #80: Rework the LIMIT mechanism to be reentrant and to clean up the VDBE stack properly. (CVS 636) (check-in: [9d552310] user: drh branch: trunk, size: 151732)
2002-06-20
11:36
[c33572f8] part of check-in [cbbc858d] This patch contains the beginnings of the data-typing infrastructure. The new build-in TypeOf() function is added. New opcodes for doing pure text comparisons are added. Most changes are disabled pending the 2.6.0 release. (CVS 632) (check-in: [cbbc858d] user: drh branch: trunk, size: 152705)
2002-06-14
22:38
[7d9bb370] part of check-in [699cf362] Make the LIMIT clause work even if the destination of the SELECT is something other than a callback. (Ticket #66) (CVS 619) (check-in: [699cf362] user: drh branch: trunk, size: 145770)
2002-06-11
02:25
[836f2c4f] part of check-in [d4a2fb10] Add RAISE() function, which allows more advanced flow-control in trigger programs (ticket #55) (CVS 614) (check-in: [d4a2fb10] user: danielk1977 branch: trunk, size: 146036)
2002-06-08
23:25
[b315d7ad] part of check-in [8481e841] Add optimizations for the IN operator in WHERE clauses. This is a partial implementation of enhancement #63. Still need to add test cases. (CVS 610) (check-in: [8481e841] user: drh branch: trunk, size: 145948)
2002-06-06
23:16
[27b71e3c] part of check-in [9ef795d1] Fix for ticket #62: Do not report an SQLITE_READONLY error until the application actually tries to write data into a readonly file. It is OK to start a transaction on a read-only file, and doing so will get you a read lock. This change allows TEMP tables to be read/write even though the main database is readonly. (CVS 607) (check-in: [9ef795d1] user: drh branch: trunk, size: 144573)
2002-06-01
21:41
[ee08fbae] part of check-in [df9cc852] Multiplying NULL by zero gives NULL, not zero. I misread the test data and coded it wrong. This check-in fixes the problem. (CVS 601) (check-in: [df9cc852] user: drh branch: trunk, size: 144620)
2002-05-31
15:51
[81ae0a1c] part of check-in [da61aa1d] Refinements to NULL processing: NULLs are indistinct for DISTINCT and UNION. Multiplying a NULL by zero yields zero. In a CASE expression, a NULL comparison is considered false, not NULL. With these changes, NULLs in SQLite now work the same as in PostgreSQL and in Oracle. (CVS 600) (check-in: [da61aa1d] user: drh branch: trunk, size: 145329)
2002-05-27
01:04
[ccbee9fb] part of check-in [0e268d0c] Bug fixes and additional test cases for the distinct-NULL patch. (CVS 592) (check-in: [0e268d0c] user: drh branch: trunk, size: 144425)
2002-05-26
20:54
[caa26951] part of check-in [90511737] NULL values are distinct. A comparison involving a NULL is always false. Operations on a NULL value yield a NULL result. This change makes SQLite operate more like the SQL spec, but it may break existing applications that assumed the old behavior. All the old tests pass but we still need to add new tests to better verify the new behavior. Fix for ticket #44. (CVS 589) (check-in: [90511737] user: drh branch: trunk, size: 144244)
2002-05-24
20:31
[bde1dad8] part of check-in [99bd1f5b] Initial implementation of LEFT OUTER JOIN including the expanded SQL92 join syntax. The basic functionality is there but there is still a lot of testing to do. (CVS 587) (check-in: [99bd1f5b] user: drh branch: trunk, size: 138524)
02:04
[46fd7cbe] part of check-in [a167b71d] Split the IdList structure into IdList and SrcList. SrcList is used to represent a FROM clause and IdList is used for everything else. This change allows SrcList to grow to support outer joins without burdening the other uses of IdList. (CVS 584) (check-in: [a167b71d] user: drh branch: trunk, size: 138458)
2002-05-23
22:07
[6c2eae8a] part of check-in [c53b0b92] Change the names of the PushList and PopList opcodes to ListPush and ListPop so that they will appear together with the other List opcodes in the documentation. (CVS 583) (check-in: [c53b0b92] user: drh branch: trunk, size: 138458)
02:09
[67fbceb6] part of check-in [01ad352c] Fix some places where a malloc() failure would lead to a segfault. (CVS 580) (check-in: [01ad352c] user: drh branch: trunk, size: 138422)
2002-05-19
23:43
[5fd717e6] part of check-in [8a4195c7] Style fixes to triggers code in various *.c files (partial fix to ticket #39) (CVS 571) (check-in: [8a4195c7] user: danielk1977 branch: trunk, size: 138381)
2002-05-15
11:44
[42281b4e] part of check-in [690f9a16] Remove all tabs from the beginning of source code lines. Replace tabs with the appropriate number of spaces. (CVS 565) (check-in: [690f9a16] user: drh branch: trunk, size: 138288)
08:30
[428d7dba] part of check-in [794bf67b] Added FOR EACH ROW triggers functionality (CVS 562) (check-in: [794bf67b] user: danielk1977 branch: trunk, size: 138289)
2002-05-10
13:14
[c957417f] part of check-in [f42907ce] Improvements to the SQLITE_MISUSE detection logic. Also added test cases for this logic, including the new test file "misuse.test". (CVS 559) (check-in: [f42907ce] user: drh branch: trunk, size: 137096)
05:44
[aa5d5f76] part of check-in [a05fabd2] Attempt to detect when two or more threads try to use the same database at the same time and return an SQLITE_MISUSE error. Also return this error if an attempt is made to use a closed database. (CVS 558) (check-in: [a05fabd2] user: drh branch: trunk, size: 136890)
2002-04-20
14:24
[0ed88fff] part of check-in [51572bf7] Fix for ticket #1: Implement the GLOB and LIKE operators as functions that can be overridden. This way, a developer can change the LIKE operator to be case sensitive, for example. (CVS 537) (check-in: [51572bf7] user: drh branch: trunk, size: 136256)
2002-04-12
10:08
[9213ff1a] part of check-in [6e71493b] Fix for bug #15: Add the sqlite_changes() API function for retrieving the number of rows that changed in the previous operation. (CVS 526) (check-in: [6e71493b] user: drh branch: trunk, size: 138483)
2002-04-09
03:15
[ccc394cf] part of check-in [f46acfc3] Fix for bug #10: Pop the stack by the right amount on an IGNORE so that the stack does not grow without bound. (CVS 523) (check-in: [f46acfc3] user: drh branch: trunk, size: 138752)
2002-04-02
01:44
[3cebe9f7] part of check-in [734dde76] Fix for bug #7: Correctly display the P3 operand in a VDBE trace when the operand is really a pointer to a structure. (CVS 512) (check-in: [734dde76] user: drh branch: trunk, size: 138729)
2002-03-18
13:03
[9fbe84ea] part of check-in [3dcdeae7] Fix an uninitialized variable in AggReset() (CVS 432) (check-in: [3dcdeae7] user: drh branch: trunk, size: 138560)
2002-03-10
21:21
[51e99d99] part of check-in [02cc2d60] Bug fix: updates within a transaction would fail if there was existed a temporary table. (CVS 425) (check-in: [02cc2d60] user: drh branch: trunk, size: 138523)
2002-03-06
22:01
[ce375b89] part of check-in [161c0c5f] Added the default_cache_size and default_synchronous pragmas. Added additional tests for pragmas. Added a new speedtest script. (CVS 421) (check-in: [161c0c5f] user: drh branch: trunk, size: 138515)
03:08
[fcbe9d3c] part of check-in [b7a7dae9] Optimizations to the processing of integer comparisons. (CVS 420) (check-in: [b7a7dae9] user: drh branch: trunk, size: 138489)
2002-03-05
01:11
[0b634bbe] part of check-in [414da4af] Add the ability to turn of calls to fsync() using the "synchronous" pragma. Increased the default cache size from 100 to 2000 and made the "cache_size" pragma persistent. (CVS 418) (check-in: [414da4af] user: drh branch: trunk, size: 137843)
2002-03-03
02:49
[4989cd3e] part of check-in [2c05389e] Bug fixes and additional tests for the subquery flattener. (CVS 411) (check-in: [2c05389e] user: drh branch: trunk, size: 137687)
2002-02-28
03:31
[91311e99] part of check-in [e8611e0c] Remove unused opcodes from the VDBE and fix a bug in the substr() function. (CVS 405) (check-in: [e8611e0c] user: drh branch: trunk, size: 137573)
03:04
[26a2b62f] part of check-in [b00cf110] The new function code passes regression tests. (CVS 403) (check-in: [b00cf110] user: drh branch: trunk, size: 144070)
01:46
[b7dda08a] part of check-in [6af10cc5] Fix the coredump. There are still problems in the test suite though. (CVS 402) (check-in: [6af10cc5] user: drh branch: trunk, size: 144051)
00:41
[1c16db3b] part of check-in [50797fee] Completely remove the old SQL function system and replace it with the new user functions. The code currently compiles but it coredumps on the test suite. Do not use in its present state. (CVS 400) (check-in: [50797fee] user: drh branch: trunk, size: 144108)
2002-02-27
19:50
[d1efbaf2] part of check-in [c4f9e017] Try to reduce the number of malloc() for user-defined functions. Begin transfering built-in functions over to the user-define function mechanism. (CVS 399) (check-in: [c4f9e017] user: drh branch: trunk, size: 144102)
19:00
[1a537862] part of check-in [633951f0] Revise the API for user-defined functions. (CVS 398) (check-in: [633951f0] user: drh branch: trunk, size: 143948)
2002-02-24
03:25
[b2c51a11] part of check-in [1e037eb3] Code for user-defined aggregates added. Legacy tests all pass but there has been no testing of the new user-defined aggregate code. (CVS 392) (check-in: [1e037eb3] user: drh branch: trunk, size: 141196)
2002-02-23
23:45
[7d4c6e2f] part of check-in [c490a1ff] Added support for user-defined normal functions. Support for user-defined aggregates is pending. (CVS 390) (check-in: [c490a1ff] user: drh branch: trunk, size: 138193)
2002-02-21
12:01
[44832d80] part of check-in [b2a9807f] Change the SQLITE_MASTER format to version 2 in preparation for adding views. (CVS 386) (check-in: [b2a9807f] user: drh branch: trunk, size: 134728)
2002-02-19
22:42
[18b6e9ed] part of check-in [1686196a] New ROWIDs are numbered sequentially. (CVS 383) (check-in: [1686196a] user: drh branch: trunk, size: 133815)
15:00
[2b03a7d3] part of check-in [cc5abfe3] Optimize simple min() and max() queries. (CVS 382) (check-in: [cc5abfe3] user: drh branch: trunk, size: 132925)
13:39
[3c788341] part of check-in [c6e9048e] Change the name of the sanity_check PRAGMA to "integrity_check" and make it available on all compiles. (CVS 381) (check-in: [c6e9048e] user: drh branch: trunk, size: 132197)
2002-02-03
19:06
[94704a57] part of check-in [20ea7375] Fix a serious bug in INSERT when the source is a SELECT. (CVS 366) (check-in: [20ea7375] user: drh branch: trunk, size: 132259)
03:34
[6e9851f1] part of check-in [95d1f838] The VACUUM command now does a database sanity check. (CVS 364) (check-in: [95d1f838] user: drh branch: trunk, size: 132244)
00:56
[df1c920e] part of check-in [0115518f] Five-algorithm conflict resolution appears to be working. (CVS 363) (check-in: [0115518f] user: drh branch: trunk, size: 131210)
2002-02-02
18:49
[3e9d9dba] part of check-in [9be4d4c6] Get the ABORT conflict resolution algorithm working. (CVS 362) (check-in: [9be4d4c6] user: drh branch: trunk, size: 131226)
2002-01-31
15:54
[8e6f1bff] part of check-in [d0e7cf4a] Change to five conflict resolution algorithms: ROLLBACK, ABORT, FAIL, IGNORE, and REPLACE. This checkin is code only. Documentation and tests are still needed. Also, ABORT is not fully implemented. (CVS 360) (check-in: [d0e7cf4a] user: drh branch: trunk, size: 129956)
2002-01-30
16:17
[14667d88] part of check-in [cf1538d7] Added ON CONFLICT support to COPY. Updates to documentation. Bug fixes. (CVS 359) (check-in: [cf1538d7] user: drh branch: trunk, size: 129361)
00:54
[893fa634] part of check-in [8229b5f6] More bug fixes in the ON CONFLICT enhancement. (CVS 357) (check-in: [8229b5f6] user: drh branch: trunk, size: 128741)
2002-01-29
23:07
[abd60d37] part of check-in [ac8a4189] The new ON CONFLICT logic is in and passes the legacy tests. But the new capabilities have not been tested and are likely broken. (CVS 356) (check-in: [ac8a4189] user: drh branch: trunk, size: 128710)
18:41
[5e51f9df] part of check-in [e00a9ff8] Beginning to insert the infrastructure for ON CONFLICT clauses. (CVS 355) (check-in: [e00a9ff8] user: drh branch: trunk, size: 127761)
2002-01-28
15:53
[71c0b7d3] part of check-in [dbcfe198] Bug fix: The IN operator was not working if either side derived from an INTEGER PRIMARY KEY. (CVS 354) (check-in: [dbcfe198] user: drh branch: trunk, size: 124441)
2002-01-16
21:00
[158bab65] part of check-in [f74d61aa] Added the last_insert_rowid API function. Improved documentation of the random ROWID algorithm. (CVS 349) (check-in: [f74d61aa] user: drh branch: trunk, size: 122977)
2002-01-14
09:28
[7c64ac03] part of check-in [f3038d21] Fix warning messages in VC++. Patches from nicolas352001. (CVS 347) (check-in: [f3038d21] user: drh branch: trunk, size: 122515)
2002-01-06
17:07
[b27b256a] part of check-in [9b0be4fc] Comment updates most. Also some small changes to the VDBE. (CVS 339) (check-in: [9b0be4fc] user: drh branch: trunk, size: 122485)
2002-01-04
03:09
[90a561f7] part of check-in [011be9a9] An attempt to delete a single row using a WHERE clause that specifies the rowid would result in an error if the rowid did not exist. This problem has been resolved. (CVS 338) (check-in: [011be9a9] user: drh branch: trunk, size: 122562)
2001-12-31
02:48
[b00fbd59] part of check-in [18e606f7] Comment changes. Change the use of BTree so that either the key is an integer or the data is empty. (CVS 337) (check-in: [18e606f7] user: drh branch: trunk, size: 121724)
2001-12-22
14:49
[f97e2d5b] part of check-in [29cab124] Bug fixing in the new integer primary key code. (CVS 334) (check-in: [29cab124] user: drh branch: trunk, size: 121690)
2001-12-21
14:30
[49227b52] part of check-in [236a54d2] Added support for the INTEGER PRIMARY KEY column type. (CVS 333) (check-in: [236a54d2] user: drh branch: trunk, size: 119662)
2001-11-13
19:35
[f1afb7a8] part of check-in [94ce8282] Bug fix: Sometimes NULL results were not being passed as nulls to the callback function. (CVS 312) (check-in: [94ce8282] user: drh branch: trunk, size: 118536)
2001-11-12
13:51
[1942750d] part of check-in [6b3ccb37] Update change log prior to release of 2.1.0. (CVS 311) (check-in: [6b3ccb37] user: drh branch: trunk, size: 118508)
13:10
[43005a89] part of check-in [8437076c] Fix to the SUBSTR() function and to the bigrow test. (CVS 310) (check-in: [8437076c] user: drh branch: trunk, size: 118510)
2001-11-10
13:51
[807d648d] part of check-in [2d2ad264] Comment changes (CVS 308) (check-in: [2d2ad264] user: drh branch: trunk, size: 118352)
2001-11-08
00:45
[b4cdc001] part of check-in [262bcd17] The new code for taking advantage of inequalities in WHERE clauses is in place. It appears to work. (CVS 305) (check-in: [262bcd17] user: drh branch: trunk, size: 118352)
2001-11-07
16:48
[66e82eb4] part of check-in [decbeb91] New Next opcode and indexing style implemented. (CVS 304) (check-in: [decbeb91] user: drh branch: trunk, size: 118625)
14:22
[24306643] part of check-in [e6ca23fa] Incremental update. We are in the middle of modifying the index system to support range queries without doing a complete table scan. (CVS 303) (check-in: [e6ca23fa] user: drh branch: trunk, size: 122373)
2001-11-06
04:00
[9f6ff344] part of check-in [eb07768a] Implement indices that occur in sort order and the LIMIT...OFFSET clause of SELECT statements. (CVS 301) (check-in: [eb07768a] user: drh branch: trunk, size: 118188)
2001-11-04
18:32
[a71e73e9] part of check-in [7dd58fad] Increase maximum row size to 1MB. (CVS 300) (check-in: [7dd58fad] user: drh branch: trunk, size: 115579)
2001-11-01
14:41
[9e4fd512] part of check-in [e1370276] Remove cruft: restrict the number of sorters and lists in the VDBE to one since no more than one was ever used anyway. This eliminates several op-codes and simplifies the implementation of several others. (CVS 297) (check-in: [e1370276] user: drh branch: trunk, size: 115097)
13:52
[4b0df666] part of check-in [b2cb118f] Comment changes only. (CVS 296) (check-in: [b2cb118f] user: drh branch: trunk, size: 117874)
2001-10-22
02:58
[aa28392b] part of check-in [f8328a5f] More changes for 2.0.7. (CVS 293) (check-in: [f8328a5f] user: drh branch: trunk, size: 117868)
2001-10-20
12:30
[0aea4e85] part of check-in [a835658e] 2.0.7 (CVS 292) (check-in: [a835658e] user: drh branch: trunk, size: 117214)
2001-10-19
16:44
[e326ff61] part of check-in [8467d84f] Version 2.0.6 (CVS 291) (check-in: [8467d84f] user: drh branch: trunk, size: 117214)
2001-10-18
12:34
[01617df8] part of check-in [22948fc6] Support for UTF-8 and ISO8859 characters in identifiers. Bug fix in the column name generator for selects (was coreing). (CVS 290) (check-in: [22948fc6] user: drh branch: trunk, size: 116207)
2001-10-13
21:56
[0f8ea6ca] part of check-in [26972afd] Bug fix. Raised version number to 2.0.4. (CVS 288) (check-in: [26972afd] user: drh branch: trunk, size: 116073)
02:59
[dd65cd51] part of check-in [75e90cf0] 2.0.3 (CVS 287) (check-in: [75e90cf0] user: drh branch: trunk, size: 115957)
01:06
[e26521af] part of check-in [288ef124] Remove the P3 and label arguments from the internal sqliteVdbeAddOp() function. This makes the code easier to read and perhaps smaller as well. (CVS 286) (check-in: [288ef124] user: drh branch: trunk, size: 112316)
2001-10-09
04:19
[594050d9] part of check-in [484b82d8] Fix the locking protocol. (CVS 280) (check-in: [484b82d8] user: drh branch: trunk, size: 112215)
2001-10-08
13:22
[469c36ce] part of check-in [9368c62e] Support for temporary tables added. Still need more testing. (CVS 279) (check-in: [9368c62e] user: drh branch: trunk, size: 112219)
2001-10-06
16:33
[5c865988] part of check-in [b63b3f36] Adding table column query capability to support ODBC. (CVS 278) (check-in: [b63b3f36] user: drh branch: trunk, size: 110276)
2001-09-27
15:11
[17389279] part of check-in [116fdad0] Fixed the support of UNIQUE and PRIMARY KEY. (CVS 268) (check-in: [116fdad0] user: drh branch: trunk, size: 110154)
03:22
[d3cf685b] part of check-in [34c42967] Added basic support for enforcement of UNIQUE on indices and primary keys. Support for addition constraints is to follow. (CVS 267) (check-in: [34c42967] user: drh branch: trunk, size: 110712)
2001-09-24
03:12
[13907958] part of check-in [a462c850] Tests for inserting lots of data (~64K) into a single row of a table. (CVS 264) (check-in: [a462c850] user: drh branch: trunk, size: 109827)
2001-09-23
20:17
[c5cd3a53] part of check-in [bb4313a9] RowIDs are now always expressed in native byte order. (CVS 263) (check-in: [bb4313a9] user: drh branch: trunk, size: 109894)
19:46
[b36ba796] part of check-in [bd7d6a64] Additional test cases with locking fixes. Also, make the code thread-safe. (CVS 262) (check-in: [bd7d6a64] user: drh branch: trunk, size: 109480)
02:35
[7132265f] part of check-in [337b3d3b] Fixes to the locking and rollback behavior. (CVS 261) (check-in: [337b3d3b] user: drh branch: trunk, size: 109054)
2001-09-22
18:12
[1cf36bea] part of check-in [9114420d] Put in a generic hash table system in place of the various ad-hoc hash table scattered everywhere. Except, the page hash table in the pager is unchanged. (CVS 260) (check-in: [9114420d] user: drh branch: trunk, size: 108457)
2001-09-18
22:17
[efe564f4] part of check-in [22132ce1] Fix a problem in GROUP BY with multiple columns. (CVS 255) (check-in: [22132ce1] user: drh branch: trunk, size: 110906)
02:02
[21f5d1c5] part of check-in [8f28a83a] Bug fixes. Trying to make it go faster. (CVS 254) (check-in: [8f28a83a] user: drh branch: trunk, size: 109860)
2001-09-16
00:13
[33dcb706] part of check-in [4e926efe] Disclaimed copyright. Preparing for release 2.0. (CVS 250) (check-in: [4e926efe] user: drh branch: trunk, size: 109763)
2001-09-15
14:43
[5fac42c8] part of check-in [8e2f3f75] Separate columns in keys using nulls instead of tabs. (CVS 249) (check-in: [8e2f3f75] user: drh branch: trunk, size: 108497)
13:15
[1568f677] part of check-in [8fdec4d8] Limit the total data in a single row to 2^16-1 bytes. (CVS 248) (check-in: [8fdec4d8] user: drh branch: trunk, size: 108003)
00:57
[d5bb5d8d] part of check-in [14474fa1] Everything is working on Linux. This is release 2.0-Alpha-1. (CVS 246) (check-in: [14474fa1] user: drh branch: trunk, size: 107549)
2001-09-14
16:42
[244c86e4] part of check-in [7da856cd] Bug fixes and speed improvements. Delete is still slow. (CVS 244) (check-in: [7da856cd] user: drh branch: trunk, size: 105525)
03:24
[47b256d1] part of check-in [e7b65e37] All tests now pass. But there are still issues. For example, inserts are way too slow. And additional tests are needed for new features. (CVS 243) (check-in: [e7b65e37] user: drh branch: trunk, size: 105210)
2001-09-13
21:53
[826fcc85] part of check-in [62c7bd11] Many problems fixed. Many problems yet to go. (CVS 242) (check-in: [62c7bd11] user: drh branch: trunk, size: 105005)
16:18
[d7d30c19] part of check-in [9ac8399c] It runs. Simple tables can be created. INSERT and SELECT work. Much more testing is needed, however. (CVS 241) (check-in: [9ac8399c] user: drh branch: trunk, size: 104301)
15:21
[d5f0a2de] part of check-in [991ce811] The new Btree code runs, but it does not yet work. (CVS 240) (check-in: [991ce811] user: drh branch: trunk, size: 104267)
14:46
[f502b592] part of check-in [a0a1e701] The BTree changes are now integrated and the whole thing compiles and links. I have not yet tried to run it, though. (CVS 239) (check-in: [a0a1e701] user: drh branch: trunk, size: 102281)
13:46
[16dce6e1] part of check-in [6ecc8b20] The code is in place to replace GDBM with BTree. But I have not yet attempted to compile it. I am sure the code contains bugs. (CVS 238) (check-in: [6ecc8b20] user: drh branch: trunk, size: 102446)
2001-08-19
18:19
[b019394e] part of check-in [c15f6ffc] Add index access methods to the DBBE in preparation for adding a new DBBE for the btree.c module. (CVS 236) (check-in: [c15f6ffc] user: drh branch: trunk, size: 106873)
2001-04-28
16:52
[f93be441] part of check-in [73a1ed61] :-) (CVS 214) (check-in: [73a1ed61] user: drh branch: trunk, size: 110302)
2001-04-11
14:28
[ee5a6ab9] part of check-in [86b30cd0] better handling of out-of-memory errors (CVS 207) (check-in: [86b30cd0] user: drh branch: trunk, size: 110322)
2001-04-05
15:57
[5f5be704] part of check-in [8390f652] i18n changes (CVS 201) (check-in: [8390f652] user: drh branch: trunk, size: 109882)
2001-04-04
21:22
[eec6c265] part of check-in [490d08a8] Clean up some compiler warnings (CVS 200) (check-in: [490d08a8] user: drh branch: trunk, size: 108655)
11:48
[53de79aa] part of check-in [35a8feed] Added transaction support (CVS 196) (check-in: [35a8feed] user: drh branch: trunk, size: 108677)
2001-03-20
22:05
[aa14a8ae] part of check-in [daea156e] Enhancements to the DELETE command (CVS 194) (check-in: [daea156e] user: drh branch: trunk, size: 108470)
2001-02-19
23:23
[e8254ae3] part of check-in [4fb52b48] Repairs to the previous fix (CVS 186) (check-in: [4fb52b48] user: drh branch: trunk, size: 107451)
2001-01-15
22:51
[6e613f25] part of check-in [c6ffb7ec] continued progress toward version 2.0 (CVS 177) (check-in: [c6ffb7ec] user: drh branch: trunk, size: 106366)
2001-01-13
14:34
[46abf920] part of check-in [c0730217] Changes to the DBBE. Moving toward having many more backend driver choices. (CVS 176) (check-in: [c0730217] user: drh branch: trunk, size: 105276)
2000-12-10
18:35
[3ddd7e3d] part of check-in [b46f9a31] speed tweaks and documentation updates (CVS 170) (check-in: [b46f9a31] user: drh branch: trunk, size: 105165)
18:23
[a627f1df] part of check-in [ced90c3f] speed tweaks and documentation updates (CVS 167) (check-in: [ced90c3f] user: drh branch: trunk, size: 105090)
2000-10-23
13:16
[a19d5cef] part of check-in [356cdd64] documentation and speed updates (CVS 164) (check-in: [356cdd64] user: drh branch: trunk, size: 105199)
01:08
[d69f691d] part of check-in [738e3e49] remove unnecessary code when NDEBUG is defined (CVS 163) (check-in: [738e3e49] user: drh branch: trunk, size: 105910)
2000-10-19
14:42
[45d40d61] part of check-in [757668bd] make it a little faster (CVS 160) (check-in: [757668bd] user: drh branch: trunk, size: 104336)
01:49
[a876c754] part of check-in [979ef5d5] Break out DBBE drivers into separate files. (CVS 157) (check-in: [979ef5d5] user: drh branch: trunk, size: 103991)
2000-10-16
22:06
[7acc1736] part of check-in [f7ea08b9] Added an interrupt capability (CVS 153) (check-in: [f7ea08b9] user: drh branch: trunk, size: 104164)
2000-10-11
19:28
[b8b0bc26] part of check-in [3f0f1fa1] Misc cleanup. Notes on compiling for Win95. (CVS 152) (check-in: [3f0f1fa1] user: drh branch: trunk, size: 103682)
2000-09-14
01:21
[c0e3d29d] part of check-in [ea0e3282] better handling of exponential notation (CVS 145) (check-in: [ea0e3282] user: drh branch: trunk, size: 103663)
2000-08-28
16:21
[4dd50dbb] part of check-in [b8cec9b9] adding length() and substr() tests. fix shell.c bug (CVS 144) (check-in: [b8cec9b9] user: drh branch: trunk, size: 103660)
15:51
[a2372aeb] part of check-in [0eef538f] Added length() and substr() functions (CVS 143) (check-in: [0eef538f] user: drh branch: trunk, size: 103586)
2000-08-02
12:26
[bdedf212] part of check-in [67f8af37] file format change (CVS 120) (check-in: [67f8af37] user: drh branch: trunk, size: 100800)
2000-07-30
20:04
[4308e226] part of check-in [c686c607] documentation updates (CVS 112) (check-in: [c686c607] user: drh branch: trunk, size: 99575)
2000-07-29
13:06
[b9ce1439] part of check-in [3bf434d9] better column labels in select results (CVS 110) (check-in: [3bf434d9] user: drh branch: trunk, size: 99575)
2000-07-28
14:32
[72b533a4] part of check-in [4fe8e51c] added the sqlite_busy_handler() interface (CVS 109) (check-in: [4fe8e51c] user: drh branch: trunk, size: 99021)
2000-06-21
13:59
[38cec3e8] part of check-in [e1bf96a4] :-) (CVS 104) (check-in: [e1bf96a4] user: drh branch: trunk, size: 98130)
2000-06-11
23:50
[00b2ab7e] part of check-in [0f93c27c] added the fcnt() function for testing (CVS 92) (check-in: [0f93c27c] user: drh branch: trunk, size: 96270)
2000-06-09
14:14
[ec66bc50] part of check-in [d573b431] :-) (CVS 91) (check-in: [d573b431] user: drh branch: trunk, size: 95558)
01:58
[b7fb724a] part of check-in [3661b5ff] :-) (CVS 87) (check-in: [3661b5ff] user: drh branch: trunk, size: 95073)
2000-06-08
16:26
[cc5598c0] part of check-in [33355b2d] :-) (CVS 82) (check-in: [33355b2d] user: drh branch: trunk, size: 94407)
15:10
[8a92c95c] part of check-in [61c381e7] :-) (CVS 81) (check-in: [61c381e7] user: drh branch: trunk, size: 94408)
13:36
[37f3b082] part of check-in [bf98cf82] remove all memory leaks (CVS 80) (check-in: [bf98cf82] user: drh branch: trunk, size: 94426)
2000-06-07
15:39
[0ce44df1] part of check-in [a00b81b0] :-) (CVS 73) (check-in: [a00b81b0] user: drh branch: trunk, size: 93842)
01:27
[d2ac31f6] part of check-in [5d2e72e4] :-) (CVS 66) (check-in: [5d2e72e4] user: drh branch: trunk, size: 93808)
00:12
[221e46a1] part of check-in [80ee166e] :-) (CVS 65) (check-in: [80ee166e] user: drh branch: trunk, size: 93443)
2000-06-06
22:13
[d7823147] part of check-in [65d2100d] :-) (CVS 63) (check-in: [65d2100d] user: drh branch: trunk, size: 93450)
21:56
[562b12a9] part of check-in [f4d9089c] :-) (CVS 62) (check-in: [f4d9089c] user: drh branch: trunk, size: 93245)
19:18
[73c93464] part of check-in [25984b4d] :-) (CVS 61) (check-in: [25984b4d] user: drh branch: trunk, size: 92128)
17:27
[7a4909b4] part of check-in [db88a0c2] GROUP BY and HAVING installed (CVS 58) (check-in: [db88a0c2] user: drh branch: trunk, size: 92106)
13:54
[1ab61ada] part of check-in [54d19818] added IN and BETWEEN operators (CVS 57) (check-in: [54d19818] user: drh branch: trunk, size: 92290)
03:31
[7d00f9ff] part of check-in [b52dd82f] :-) (CVS 56) (check-in: [b52dd82f] user: drh branch: trunk, size: 92278)
01:50
[03177425] part of check-in [bd8b2645] :-) (CVS 55) (check-in: [bd8b2645] user: drh branch: trunk, size: 92247)
2000-06-05
21:39
[e14cf771] part of check-in [e9ed5d2a] added Agg opcodes to the vdbe (CVS 54) (check-in: [e9ed5d2a] user: drh branch: trunk, size: 87358)
18:54
[b8b78d0e] part of check-in [c02268bd] :-) (CVS 52) (check-in: [c02268bd] user: drh branch: trunk, size: 79370)
16:01
[108f0e58] part of check-in [ce45dea9] separate Select structure (CVS 51) (check-in: [ce45dea9] user: drh branch: trunk, size: 76959)
02:07
[c101c98d] part of check-in [1cf2873d] :-) (CVS 50) (check-in: [1cf2873d] user: drh branch: trunk, size: 76956)
2000-06-04
12:58
[35e1c8fc] part of check-in [6ea5cebf] rework the VDBE engine. NULL is now distinct from "" (CVS 49) (check-in: [6ea5cebf] user: drh branch: trunk, size: 76839)
2000-06-02
23:22
[a584da66] part of check-in [3e88142e] :-) (CVS 45) (check-in: [3e88142e] user: drh branch: trunk, size: 70210)
23:21
[fa1480df] part of check-in [cd83d3cf] :-) (CVS 44) (check-in: [cd83d3cf] user: drh branch: trunk, size: 70277)
15:05
[3145ceb0] part of check-in [939adb4d] :-) (CVS 40) (check-in: [939adb4d] user: drh branch: trunk, size: 70210)
01:51
[a92f66fa] part of check-in [d3c31def] :-) (CVS 36) (check-in: [d3c31def] user: drh branch: trunk, size: 70121)
01:36
[01e8a9e2] part of check-in [a57ecd60] :-) (CVS 35) (check-in: [a57ecd60] user: drh branch: trunk, size: 69934)
01:17
[8631fdff] part of check-in [52338f4a] :-) (CVS 34) (check-in: [52338f4a] user: drh branch: trunk, size: 69411)
2000-06-01
11:16
[e2190038] part of check-in [6b905636] :-) (CVS 33) (check-in: [6b905636] user: drh branch: trunk, size: 69846)
2000-05-31
20:00
[a60a9316] part of check-in [1f0c4ffd] added DISTINCT on select (CVS 27) (check-in: [1f0c4ffd] user: drh branch: trunk, size: 69818)
15:34
[11d8e4f6] part of check-in [dee7a8be] added aggregate functions like count(*) (CVS 21) (check-in: [dee7a8be] user: drh branch: trunk, size: 68412)
02:27
[74ff55bc] part of check-in [01d85b35] :-) (CVS 20) (check-in: [01d85b35] user: drh branch: trunk, size: 68011)
2000-05-30
16:27
[117ce554] part of check-in [8d66c735] :-) (CVS 15) (check-in: [8d66c735] user: drh branch: trunk, size: 65369)
2000-05-29
14:26
Added: [80132b6b] part of check-in [6f3655f7] initial check-in of the new version (CVS 1) (check-in: [6f3655f7] user: drh branch: trunk, size: 60706)