SQLite

All files named ”src/sqliteInt.h”
Login

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

History for src/sqliteInt.h

2025-06-10
16:02
[5f190640c1] part of check-in [dea1e37fa6] Improved diagnostics for Bitvec: Add the sqlite3ShowBitvec() routine that can be called from a debugger (only available with SQLITE_DEBUG). Add new output opcodes for sqlite3BitvecBuiltinTest(). (check-in: [dea1e37fa6] user: drh branch: trunk, size: 256017)
2025-06-09
16:32
[e1d940cfbb] part of check-in [e93048425b] Initial implementation of sqlite3BtreeEstimatedPosition() with the est_rank() SQL function used for testing. (check-in: [e93048425b] user: drh branch: flex-search, size: 256024)
2025-06-06
15:43
[740112eb59] part of check-in [b5463d7560] Update the reuse-schema branch to the 3.50.1 patch release. (check-in: [b5463d7560] user: drh branch: reuse-schema-3.50, size: 257105)
2025-06-03
14:08
[6a17f83ca7] part of check-in [80dfcc313e] Merge latest trunk changes into this branch. (check-in: [80dfcc313e] user: dan branch: mistake, size: 256879)
2025-06-02
18:42
[c7af428bc3] part of check-in [d6a8b1ea5c] Improve the accuracy of affinity and collating sequence analysis for NATURAL JOINs to the left of RIGHT JOINs where source tables are views or subqueries. (check-in: [d6a8b1ea5c] user: drh branch: branch-3.50, size: 255287)
18:34
[0eeb2d363e] part of check-in [f184d1d236] Improve the accuracy of affinity and collating sequence analysis for NATURAL JOINs to the left of RIGHT JOINs where source tables are views or subqueries. Initial problem report in forum post 829306db47. (check-in: [f184d1d236] user: drh branch: trunk, size: 255982)
13:54
[75290111d8] part of check-in [387f4c4d98] Remove an unnecessary parameter from sqlite3VdbeRecordUnpack(). Improved comments and assert()s on KeyInfo. (check-in: [387f4c4d98] user: drh branch: trunk, size: 255905)
09:49
[4c7029a500] part of check-in [abd805bc76] Fix stale comments related to KeyInfo. Add new assert()s associated with memory management of KeyInfo. (check-in: [abd805bc76] user: drh branch: trunk, size: 255453)
2025-05-30
15:43
[bb9137b860] part of check-in [22441955e0] Use a more robust backup definition for offsetof(). (check-in: [22441955e0] user: drh branch: trunk, size: 255379)
2025-05-19
17:06
[481734ac87] part of check-in [fc5edd557e] Merge the latest trunk changes into the reuse-schema branch. (check-in: [fc5edd557e] user: drh branch: reuse-schema, size: 257028)
16:58
[4908ecc28e] part of check-in [e7d6e993df] Merge the latest trunk enhancements into the bedrock branch through the wal2 intermediary. (check-in: [e7d6e993df] user: drh branch: bedrock, size: 256107)
16:45
[6ecc5d8f38] part of check-in [9fec43d927] Merge the latest trunk changes into the begin-concurrent branch. (check-in: [9fec43d927] user: drh branch: begin-concurrent, size: 255889)
2025-05-14
16:40
[ded2e1527c] part of check-in [e7dcf25efa] Back out the "low-quality index" query planner hack of check-in [bcac937526d9a6ef]. Subsequent query planner enhancements for dealing with star-queries make that change unnecessary and the change was recently found to cause a performance regression in an unrelated query. Also fix a typo in a debugging message. (check-in: [e7dcf25efa] user: drh branch: trunk, size: 255210)
2025-04-21
13:08
[c93a6a2f52] part of check-in [b3a526a887] Merge all the latest trunk enhancements into the reuse-schema branch. (check-in: [b3a526a887] user: drh branch: reuse-schema, size: 257107)
13:02
[c5b5abb7a9] part of check-in [3215186aa9] Merge all the latest trunk enhancements into the bedrock branch. (check-in: [3215186aa9] user: drh branch: bedrock, size: 256186)
12:41
[e02200b1cc] part of check-in [2866119c75] Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: [2866119c75] user: drh branch: begin-concurrent, size: 255968)
2025-04-16
10:53
[aeb5ed59db] part of check-in [ba7d5bad32] Correctly handle the case of a multi-column UNIQUE constraint that contains the ROWID as one of it columns, and then the columns of that UNIQUE are used in a row-value IN operator as a WHERE clause constraint. (check-in: [ba7d5bad32] user: drh branch: branch-3.49, size: 252586)
2025-04-15
21:59
[8b18ed6767] part of check-in [d22475b81c] Correctly handle the case of a multi-column UNIQUE constraint that contains the ROWID as one of it columns, and then the columns of that UNIQUE are used in a row-value IN operator as a WHERE clause constraint. Reported by forum post b9647a113b. Problem introduced by [723f1be3d4a905a6], part of ticket [da78413751863]. (check-in: [d22475b81c] user: drh branch: trunk, size: 255289)
2025-03-24
15:09
[2560a634e3] part of check-in [455186cad2] Replace the general-purpose sqlite3_exec() interface with an optimized version during schema parsing, with the hopes of improving performance. And performance does increase, but by so very little (0.2% or less) that it does not seem worth the extra complication. Changed saved for historical reference. (check-in: [455186cad2] user: drh branch: schema-parsing-experiment, size: 255329)
2025-03-15
20:35
[d6d6946eb8] part of check-in [271e0373a8] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [271e0373a8] user: drh branch: reuse-schema, size: 257031)
20:32
[d253c498bd] part of check-in [b1860b6372] Merge the latest trunk enhancements into the bedrock branch via the wal2 intermediary. (check-in: [b1860b6372] user: drh branch: bedrock, size: 256110)
20:25
[79abbd7847] part of check-in [624225499c] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [624225499c] user: drh branch: begin-concurrent, size: 255892)
2025-03-14
20:19
[96133c5b43] part of check-in [2b41776179] Use flexible arrays for RTREE. (check-in: [2b41776179] user: drh branch: flex-array, size: 255213)
18:10
[79d0f2705e] part of check-in [6fd6b32d06] Make use of the flexible-array feature of C99, when available, to try to pacify -fsanitize=strict-bounds. This check-in fixes the core. There is more yet to do in FTS3, RTREE, and in FTS5. (check-in: [6fd6b32d06] user: drh branch: flex-array, size: 255210)
2025-03-03
16:53
[b6c47ecbe1] part of check-in [b51690e180] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [b51690e180] user: drh branch: reuse-schema, size: 255388)
16:01
[0da73bba15] part of check-in [2033763007] Merge the latest trunk enhancements into the bedrock branch through the wal2 intermediary. (check-in: [2033763007] user: drh branch: bedrock, size: 254467)
15:53
[a63cfe9e48] part of check-in [051a6b159e] Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: [051a6b159e] user: drh branch: begin-concurrent, size: 254249)
2025-02-25
15:57
[130217107c] part of check-in [e3e509ae14] Enhancements to help avoid problems in the CLI when trying display content that contains ANSI escape codes: (1) Add the --escape MODE option to the CLI where MODE is one of "symbol", "ascii", "off" where the default is "symbol". (2) Add the unistr() SQL function. (3) Add the unistr_quote() SQL function. (4) Add the %#Q and %#q conversions in the built-in printf. (check-in: [e3e509ae14] user: drh branch: trunk, size: 253570)
11:47
[674ba45695] part of check-in [6208e49485] Consolidate two different UTF8 encoders into a single subroutine. (check-in: [6208e49485] user: drh branch: unistr, size: 253377)
2025-02-24
13:51
[587be8a604] part of check-in [e99e37b54b] Add the unistr_quote() function that works like quote(), but also escape control characters using unistr() if necessary. (check-in: [e99e37b54b] user: drh branch: unistr, size: 253330)
10:52
[c997c67257] part of check-in [55324d1c86] Merge latest changes from trunk into this branch. (check-in: [55324d1c86] user: dan branch: win32-enable-setlk, size: 253519)
2025-02-21
20:35
[e74f0ea0bc] part of check-in [5822feec43] The number of declared columns in an index is limited to SQLITE_LIMIT_COLUMN. But the actual number of columns in the implementation might need to be twice as much to account for the primary key at the end. Ensure that the code is able to deal with this. This is a correction to check-in [d7729dbbf231d57c]. (check-in: [5822feec43] user: drh branch: trunk, size: 253326)
17:03
[a5c850981c] part of check-in [d7729dbbf2] Detect when a UNIQUE or PRIMARY KEY on a WITHOUT ROWID table would need to use more than SQLITE_LIMIT_COLUMN columns and raise an error. Also include some unrelated compiler warning fixes. (check-in: [d7729dbbf2] user: drh branch: trunk, size: 253323)
2025-02-18
14:56
[1b4b0b5563] part of check-in [b2bf063011] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [b2bf063011] user: drh branch: reuse-schema, size: 255116)
14:48
[47ab9050a2] part of check-in [c09656c621] Merge the latest trunk enhancements into the bedrock branch. (check-in: [c09656c621] user: drh branch: bedrock, size: 254195)
14:37
[e17edba0bd] part of check-in [3c87a6d195] Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: [3c87a6d195] user: drh branch: begin-concurrent, size: 253977)
2025-02-17
17:33
[020aff1801] part of check-in [215650a5a1] Code changes that make it easier to prove that no 32-bit integer overflows happen during memory allocation. No problems fixed; this change is just to make future maintenance easier. (check-in: [215650a5a1] user: drh branch: trunk, size: 253298)
2025-02-16
10:50
[522450a18f] part of check-in [9349398e15] Cleanup of the changes for this branch. (check-in: [9349398e15] user: drh branch: default-in-values-2, size: 253166)
2025-02-15
20:31
[a844632bfd] part of check-in [a3d831378d] An alternative implementation of the default-in-values feature that is cleaner (it avoids dodgy poking about in the parser LALR stack looking for errors) and has less performance impact in the common case where DEFAULT is not used. (check-in: [a3d831378d] user: drh branch: default-in-values-2, size: 253106)
2025-02-12
20:54
[dc012bb2be] part of check-in [85c108eb0f] An attempt to allow the DEFAULT keyword in the VALUES clause of an INSERT. This check-in does not work right. (check-in: [85c108eb0f] user: drh branch: default-in-values, size: 253109)
2025-02-11
17:10
[6fa99f64ab] part of check-in [e5ec5bb9f4] Merge latest changes from trunk into this branch. (check-in: [e5ec5bb9f4] user: dan branch: win32-enable-setlk, size: 253229)
2025-02-10
20:46
[b6e4976562] part of check-in [d2d6a000fb] Experimental change to allow clients to block when taking a SHARED lock to connect to a wal mode database. (check-in: [d2d6a000fb] user: dan branch: win32-enable-setlk, size: 252508)
2025-02-08
16:16
[8cbfef6c26] part of check-in [11eb8f99e5] Put a 16-byte hash table for column names on each Table object, to speed up column name lookups. (check-in: [11eb8f99e5] user: drh branch: trunk, size: 253036)
13:34
[7585b45f58] part of check-in [91102c0437] Fix GCC-isms and compiler warnings introduced by recent check-ins [c56092507c967230] and [6e57848fe1e0e2b5]. (check-in: [91102c0437] user: drh branch: trunk, size: 252963)
2025-02-07
19:09
[f576f21641] part of check-in [c56092507c] Fix comments on the Parse.nMaxArgs field so that they are correct. Add assert()s to ensure they are correct. Other Parse changes to reduce the amount of memset() needed to initialize it. (check-in: [c56092507c] user: drh branch: trunk, size: 252805)
15:49
[51f674754f] part of check-in [45e462c006] Further reduction in the amount of memset() needed to initialize the Parse object. (check-in: [45e462c006] user: drh branch: trunk, size: 252808)
13:37
[d85806d6d6] part of check-in [284538d848] Reduce the amount of memset() needed to initialize the Parse object. (check-in: [284538d848] user: drh branch: trunk, size: 252516)
2025-02-06
12:56
[bd240862b6] part of check-in [2699ae6e3c] Merge version 3.49.0 into the reuse-schema branch. (check-in: [2699ae6e3c] user: drh branch: reuse-schema, size: 254328)
12:46
[48e947626c] part of check-in [cc3ce784b0] Merge version 3.49.0 into the bedrock branch. (check-in: [cc3ce784b0] user: drh branch: bedrock, size: 253407)
12:39
[26303b406f] part of check-in [9d3878e95a] Merge version 3.49.0 into begin-concurrent branch. (check-in: [9d3878e95a] user: drh branch: begin-concurrent, size: 253189)
2025-02-03
21:04
[9d7052c71f] part of check-in [5d81a984c6] The Parse.addrExplain field is never even if SQLITE_OMIT_EXPLAIN is defined. (check-in: [5d81a984c6] user: drh branch: trunk, size: 252510)
15:17
[51f345c3ff] part of check-in [858163f938] Merge the latest trunk changes into the reuse-schema branch. (check-in: [858163f938] user: drh branch: reuse-schema, size: 254363)
15:11
[2545f879e1] part of check-in [1cef92de50] Merge all the latest trunk enhancements into the bedrock branch. (check-in: [1cef92de50] user: drh branch: bedrock, size: 253442)
14:59
[50603573d9] part of check-in [f456a72e0c] Merge all the latest trunk enhancements and fixes into the begin-concurrent branch. (check-in: [f456a72e0c] user: drh branch: begin-concurrent, size: 253224)
2025-01-31
01:34
[7f1b070ea3] part of check-in [393749a2e2] Add the SQLITE_DBCONFIG_ENABLE_COMMENTS setting (default on) to enable or disable the ability to include comments in SQL input text. (check-in: [393749a2e2] user: drh branch: extra-security, size: 252545)
00:54
[64b3af946f] part of check-in [86ba57561a] Merge all the latest trunk changes into the extra-security branch. (check-in: [86ba57561a] user: drh branch: extra-security, size: 252477)
2025-01-30
15:26
[d718c8517b] part of check-in [62009565d2] Have sqlite3_enable_setlk(-1) configure indefinite blocking locks where they are supported. (check-in: [62009565d2] user: dan branch: win32-enable-setlk, size: 252438)
2025-01-29
17:26
[1fc598d06c] part of check-in [af65a902d1] Consolidate memory allocations made while loading stat4 data in a way that may be more efficient on systems under load. (check-in: [af65a902d1] user: dan branch: bedrock, size: 253212)
2025-01-28
12:50
[6f23e483be] part of check-in [a4625bb995] Simplify the IdList object to remove unnecessary fields. Performance increases by about 0.8%. (check-in: [a4625bb995] user: drh branch: trunk, size: 252315)
2025-01-27
11:50
[ff8e68e74a] part of check-in [4a7eb49279] Add the sqlite3_setlk_timeout() API. For setting the timeout used by SQLITE_ENABLE_SETLK_TIMEOUT blocking locks without also setting the regular retry-based busy-timeout. (check-in: [4a7eb49279] user: dan branch: win32-enable-setlk, size: 252426)
2025-01-26
17:29
[5c859fc5b1] part of check-in [a7ecb2f4b7] Small size and complexity reduction on the star-query heuristic. Improved comments for the star-query heuristic. (check-in: [a7ecb2f4b7] user: drh branch: trunk, size: 252551)
2025-01-25
14:30
[e28d3ad85c] part of check-in [b3ebeb0682] Improvments to debug output on the star-query heuristic. (check-in: [b3ebeb0682] user: drh branch: trunk, size: 252496)
2025-01-22
19:37
[dd2385d05f] part of check-in [fe0c58d00b] Add two new sqlite3_db_config() options that enable the ATTACH command to create new database files and to open databases read/write. Both default to on for backwards compatibility. (check-in: [fe0c58d00b] user: drh branch: extra-security, size: 252550)
2025-01-19
19:14
[953f2476f7] part of check-in [fec4ff185a] Add an SQLITE_TESTCTRL_OPTIMIZATION mask that can disable the query planner heuristics that are designed to help with star queries. (check-in: [fec4ff185a] user: drh branch: trunk, size: 252388)
2025-01-09
17:12
[9e50aa6f71] part of check-in [c2610bb4be] Fix minor issues on this branch. Remove unused code. (check-in: [c2610bb4be] user: dan branch: schema-copy, size: 257277)
2025-01-07
21:04
[53123981e9] part of check-in [ac9ca88590] Fix many problems in the sqlite3_schema_copy() function. (check-in: [ac9ca88590] user: dan branch: schema-copy, size: 257441)
2025-01-06
20:39
[9e7a2d0941] part of check-in [65ede04d21] Implemenation of experimental API sqlite3_schema_copy(), for copying a database schema between connections. More testing to come. (check-in: [65ede04d21] user: dan branch: schema-copy, size: 257214)
2024-12-20
19:37
[4281b9ed8b] part of check-in [b40cd7395c] When loading stat4 data, make a single large allocation for all Index.aSample[] arrays, instead of a separate allocation for each. (check-in: [b40cd7395c] user: dan branch: cf8f1552-commit-instr, size: 256927)
2024-12-16
14:06
[965688f4a8] part of check-in [58563686eb] Merge all the latest trunk changes and enhancements into the reuse-schema branch. (check-in: [58563686eb] user: drh branch: reuse-schema, size: 254133)
13:38
[d711bbe8b2] part of check-in [a0cf2621c4] Merge all the latest trunk/wal2 enhancements and fixes into the bedrock branch. (check-in: [a0cf2621c4] user: drh branch: bedrock, size: 253120)
11:19
[6f699d09f6] part of check-in [faef90eac3] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [faef90eac3] user: drh branch: begin-concurrent, size: 252994)
2024-12-13
18:13
[d3964f3cdf] part of check-in [fa87355f62] Avoid a memset() when loading stat4 data. Add instrumentation to the same code. (check-in: [fa87355f62] user: dan branch: cf8f1552-commit-instr, size: 256814)
2024-12-12
20:39
[4e8896f6ba] part of check-in [3c25c69c93] Increase the maximum number of arguments on an SQL function to 1000 with the capability to increase it further up to 32767 using a compile-time option. (check-in: [3c25c69c93] user: drh branch: cf8f1552-commit-instr, size: 256771)
19:20
[727bcaaced] part of check-in [9dde0365cb] Add extra logging for alternative stat4 code. (check-in: [9dde0365cb] user: dan branch: cf8f1552-commit-instr, size: 256771)
19:15
[c8f95e1688] part of check-in [e0bcd30581] Experimental code to load stat4 data using a single pass. (check-in: [e0bcd30581] user: dan branch: cf8f1552-commit-instr, size: 256734)
15:11
[3f20dfb5ae] part of check-in [e8d7d68ba0] Increase the maximum number of arguments on an SQL function to 1000 with the capability to increase it further up to 32767 using a compile-time option. (check-in: [e8d7d68ba0] user: drh branch: trunk, size: 252315)
2024-12-11
20:42
[3fb893edba] part of check-in [ac5401c62b] When a writer initializes a new *-shm file hash table, zero only the hash-table slots, not the array of page numbers. (check-in: [ac5401c62b] user: dan branch: cf8f1552-commit-instr, size: 256739)
2024-12-06
17:52
[a2b6836f09] part of check-in [65b753735b] Update logging (now v=16) to more closely analyze all attempts to load the main db schema. (check-in: [65b753735b] user: dan branch: cf8f1552-commit-instr, size: 256739)
2024-12-05
19:45
[31cd79e808] part of check-in [5f9f6764e9] Add logging to report on occasions when loading the ANALYZE data is slow. (check-in: [5f9f6764e9] user: dan branch: cf8f1552-commit-instr, size: 256683)
2024-11-18
15:34
[ee1dac9016] part of check-in [59a7eb297c] Merge the latest trunk changes into the bedrock branch. (check-in: [59a7eb297c] user: drh branch: bedrock, size: 253120)
11:49
[0e5e4a3cad] part of check-in [a2b784cb87] The COMMIT AND CONTINUE TRANSACTION syntax is disabled by default. Enable it using the SQLITE_DBCONFIG_CONTINUE_TRANSACTION configuration option. (check-in: [a2b784cb87] user: drh branch: commit-and-continue, size: 252399)
2024-11-15
17:28
[08735a5db1] part of check-in [a905bd5dd6] Another approach at implementing COMMIT AND BEGIN. (check-in: [a905bd5dd6] user: drh branch: commit-and-continue, size: 252318)
2024-11-14
12:03
[ba5f56d3ba] part of check-in [ddac597321] Early prototype code for COMMIT AND BEGIN. Does not currently work. (check-in: [ddac597321] user: drh branch: commit-and-continue, size: 252392)
2024-11-11
17:03
[d0972a1e59] part of check-in [52bd7953f1] Update this branch with latest changes and build system updates from trunk. (check-in: [52bd7953f1] user: dan branch: begin-concurrent, size: 252994)
2024-10-30
14:24
[94d55fd727] part of check-in [67087fe433] Merge the readonly-ignore-wal-jrnl feature into a sub-branch of reuse-schema. (check-in: [67087fe433] user: drh branch: reuse-schema-ro-waljrnl, size: 254133)
2024-10-28
17:27
[77be043f86] part of check-in [3a3f7bf430] Remove the never-used and never-documented and long-ago deprecated user-authentication feature option. [65884d4f81a4705b]. (check-in: [3a3f7bf430] user: drh branch: trunk, size: 252315)
2024-10-25
16:20
[f5633a9579] part of check-in [e7f27bbdf4] Merge the latest trunk enhancements into the lateral-join branch. (check-in: [e7f27bbdf4] user: drh branch: lateral-join, size: 254472)
2024-10-23
17:16
[55838cada3] part of check-in [9cafae1fff] Extra logging to debug slow commit statements. (check-in: [9cafae1fff] user: dan branch: cf8f1552-commit-instr, size: 256455)
2024-10-22
16:26
[0c3db4598b] part of check-in [d02ec06e5b] Add still more logging to determine why schema loads are so slow in some circumstances. (check-in: [d02ec06e5b] user: dan branch: cf8f1552-commit-instr, size: 256455)
2024-10-21
17:13
[a2152d7bef] part of check-in [d49d282795] Update the reuse-schema branch to version 3.47.0 (check-in: [d49d282795] user: drh branch: reuse-schema, size: 255709)
17:10
[3cf8499762] part of check-in [d2d954d43a] Update the bedrock branch to version 3.47.0 (check-in: [d2d954d43a] user: drh branch: bedrock, size: 254696)
17:00
[87837fc02e] part of check-in [457bb035e3] Update the begin-concurrent branch to version-3.47.0 (check-in: [457bb035e3] user: drh branch: begin-concurrent, size: 254570)
11:49
[8e683c9919] part of check-in [08e1dea9c0] Add extra logging to SQL statements used to load the database schema on this branch. This requires SQLITE_ENABLE_STMT_SCANSTATUS. (check-in: [08e1dea9c0] user: dan branch: cf8f1552-commit-instr, size: 255876)
2024-10-19
12:39
[baae242928] part of check-in [59b76a99e4] An assortment of comment typo fixes discovered by aspell. Add several new words to tool/custom.txt. No code changes. (check-in: [59b76a99e4] user: stephan branch: trunk, size: 253891)
2024-10-16
15:14
[c3282f35b5] part of check-in [93f0febab4] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [93f0febab4] user: drh branch: reuse-schema, size: 255710)
15:09
[66af197807] part of check-in [d5289de411] Merge the latest trunk enhancements into the bedrock branch. (check-in: [d5289de411] user: drh branch: bedrock, size: 254697)
14:52
[ea010b6d7d] part of check-in [92cd032aa9] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [92cd032aa9] user: drh branch: begin-concurrent, size: 254571)
2024-10-10
14:31
[878808e233] part of check-in [f29ff2f308] Add extra logging points to the code on this branch. (check-in: [f29ff2f308] user: dan branch: cf8f1552-commit-instr, size: 255836)
2024-10-08
15:08
[09b2035fec] part of check-in [cd6f585cad] Add logging to help analyze slow "PRAGMA cache_size = ?" statements. (check-in: [cd6f585cad] user: dan branch: cf8f1552-commit-instr, size: 255679)
2024-10-05
18:10
[ad02397dc4] part of check-in [aa440e78e9] Allow expressions with subtypes to be read from indexes unless they are being used as direct or indirect parameters to SQLITE_SUBTYPE functions. (check-in: [aa440e78e9] user: dan branch: indexed-subtype-expr, size: 253892)
17:37
[40552bd22f] part of check-in [ac63f98ad8] Experimental change to allow expressions with subtypes to be read from indexes in situations where they are not used as function parameters. (check-in: [ac63f98ad8] user: dan branch: indexed-subtype-expr, size: 253878)
15:51
[dfb26867ba] part of check-in [a92bb48a48] Merge latest trunk changes into this branch. (check-in: [a92bb48a48] user: dan branch: lateral-join, size: 254444)
2024-10-03
16:31
[989dca8b25] part of check-in [825f01d7e2] Unconditionally include <ctype.h> in sqliteInt.h, even in builds where it is not needed. (check-in: [825f01d7e2] user: drh branch: trunk, size: 253863)
2024-10-01
20:29
[6ffd984ac0] part of check-in [f622b52024] Remove all code that makes use of the C-language "long double" datatype. (check-in: [f622b52024] user: drh branch: omit-long-double, size: 254104)
16:55
[e4940181e2] part of check-in [ca5964ef70] Add compile-time option -DSQLITE_USE_LONG_DOUBLE=0 to omit all attempts to use "long double". Or =1 to omit attempts to use the Dekker algorithms to achieve high-resolution floating point. (check-in: [ca5964ef70] user: drh branch: trunk, size: 255823)
2024-09-30
17:57
[e07d0efa86] part of check-in [fd6ff55141] Merge the latest trunk enhancements, via the wal2 branch, into the bedrock branch. (check-in: [fd6ff55141] user: dan branch: bedrock, size: 255081)
15:17
[bdf6b0db28] part of check-in [1ba833743d] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [1ba833743d] user: drh branch: reuse-schema, size: 256094)
12:39
[8f074818e6] part of check-in [1bf073d7c0] Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: [1bf073d7c0] user: drh branch: begin-concurrent, size: 254955)
2024-09-19
13:39
[5978cbb11b] part of check-in [7b3a517b3e] Improved rebustness to malformed UTF-16 inputs to sqlite3_prepare16_v2(). (check-in: [7b3a517b3e] user: drh branch: trunk, size: 254276)
2024-09-06
15:52
[9c620e7a97] part of check-in [f9ce1ababb] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [f9ce1ababb] user: drh branch: reuse-schema, size: 256083)
15:39
[418a0a4c73] part of check-in [2a87a969e7] Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: [2a87a969e7] user: drh branch: begin-concurrent, size: 254944)
2024-09-04
16:54
[913fb7b1b9] part of check-in [cf8f155280] Update the bedrock branch to include all of the latest trunk enhancements. (check-in: [cf8f155280] user: drh branch: bedrock, size: 255070)
2024-08-31
22:22
[aa6ed92b72] part of check-in [317d901429] Add error checking: Do not allow functions other than those in the percentile extension to use the ordered-set aggregate notation. (check-in: [317d901429] user: drh branch: ordered-set-agg, size: 254340)
20:09
[8eac0c9018] part of check-in [ef97778900] Demonstration of how ordered-set aggregates might be parsed and integrated into the existing parse tree, should we decide to support them. (check-in: [ef97778900] user: drh branch: ordered-set-agg, size: 254340)
2024-08-30
16:43
[889cd632f4] part of check-in [be768f80c7] A couple of #defines so that the build work with SQLITE_OMIT_FLOATING_POINT. (check-in: [be768f80c7] user: drh branch: makefile-improvements, size: 254265)
2024-08-29
23:43
[0c946fd580] part of check-in [ff94464cec] Merge the latest trunk enhancement into the bedrock branch through the wal2 intermediary. (check-in: [ff94464cec] user: drh branch: bedrock, size: 255004)
23:24
[ca3523d530] part of check-in [b05d30bec1] Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: [b05d30bec1] user: drh branch: begin-concurrent, size: 254878)
17:42
[e1234e14a5] part of check-in [87aa6fc212] Merge all the latest trunk enhancements into the reuse-schema branch. (check-in: [87aa6fc212] user: drh branch: reuse-schema, size: 256017)
2024-08-26
00:15
[0067cd2eb8] part of check-in [2c4bae3e68] Proof-of-concept grammar rules to parse Google-style "pipe" syntax for SQL, without the ghastly "|>" operator. The grammar rules are not connected to working code. They just parse the syntax. Pipelines that begin with an ordinary SELECT statement must have the keyword "INTO" (rather than the "|>" operator) separating the SELECT from the start of the pipeline, to avoid syntactic and semantic ambiguity. (check-in: [2c4bae3e68] user: drh branch: sql-pipes, size: 254449)
2024-08-20
22:05
[28c878bdf5] part of check-in [c1bbed19f4] Fix minor comment issues. (check-in: [c1bbed19f4] user: drh branch: srcitem-opt, size: 254199)
19:09
[521a9abd80] part of check-in [fd72d3400a] Tighter checking of access constraints on union members in SrcItem. Improved invariant checking. (check-in: [fd72d3400a] user: drh branch: srcitem-opt, size: 254204)
2024-08-19
22:48
[630e356b7d] part of check-in [8ff5dda844] Refactor the SrcItem object so that information about subqueries is stored in a separately allocated Subquery object. This reduces the memory requirements for SrcItem and makes the code run faster. It also provides an expansion path for subquery processing that does not burden simple queries. The current checking mostly works, but there are still issues that need to be tracked down and fixed. (check-in: [8ff5dda844] user: drh branch: srcitem-opt, size: 254005)
2024-08-17
23:23
[95186ebaf7] part of check-in [9f5aeef3cb] Give unique names to fields in the SrcItem object, to facilitate analysis of how those fields are used using "grep". (check-in: [9f5aeef3cb] user: drh branch: srcitem-opt, size: 253267)
19:46
[dab52ce59c] part of check-in [a4c59ac3c6] Reduce the size of the SrcItem object by combining fields into a union. (check-in: [a4c59ac3c6] user: drh branch: srcitem-opt, size: 253042)
2024-08-16
19:04
[03ecb10cac] part of check-in [d0591db3bb] Merge all the latest trunk enhancements, and especially the order-by-subquery optimization, into the bedrock branch, via wal2. (check-in: [d0591db3bb] user: drh branch: bedrock, size: 253680)
2024-08-15
23:38
[128b900469] part of check-in [2fbb4dc232] If a subquery is materialized due to an ORDER BY and that ordering is useful in helping to satisfy the ORDER BY or GROUP BY in the order query without doing an extra sort, then omit the extra sort. (check-in: [2fbb4dc232] user: drh branch: order-by-subquery, size: 252875)
2024-08-10
20:24
[5717254931] part of check-in [31a71a79bf] Merge the latest trunk enhancements into main reuse-schema branch. (check-in: [31a71a79bf] user: drh branch: reuse-schema, size: 254613)
20:22
[3aa4c2b369] part of check-in [a27b12ee22] Merge all the branch-3.46 patches into the reuse-schema as a new sub-branch called reuse-schema-3.46. (check-in: [a27b12ee22] user: drh branch: reuse-schema-3.46, size: 253967)
20:16
[6452f49a8d] part of check-in [cfb334dc53] Merge all the latest branch-3.46 changes into the bedrock-3.46 branch via the wal2-3.46 intermediary. (check-in: [cfb334dc53] user: drh branch: bedrock-3.46, size: 253290)
19:59
[276edf7190] part of check-in [6cc144624d] Merge all of the latest branch-3.46 into the begin-concurrent branch as a new sub-branch called begin-concurrent-3.46. (check-in: [6cc144624d] user: drh branch: begin-concurrent-3.46, size: 252828)
2024-08-06
10:29
[e3f3b3d80a] part of check-in [533a6251f1] Change the AggInfoColumnReg() and AggInfoFuncReg() macros for compilers that cannot parse empty elements of a comma expression. Forum post 8fd21998dc. (check-in: [533a6251f1] user: drh branch: trunk, size: 252795)
2024-08-01
01:06
[d421ab1ced] part of check-in [ff9fdd07d2] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [ff9fdd07d2] user: drh branch: reuse-schema, size: 254444)
00:47
[2e09aae810] part of check-in [c1f616ce80] Merge the latest trunk enhancements into the bedrock branch. (check-in: [c1f616ce80] user: drh branch: bedrock, size: 253431)
00:02
[87c5e0f0f5] part of check-in [3b131bd9aa] Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: [3b131bd9aa] user: drh branch: begin-concurrent, size: 253305)
2024-07-31
23:46
[146e1f57a4] part of check-in [9084a4c872] Merge all the latest trunk enhancements into the exists-to-join branch. (check-in: [9084a4c872] user: drh branch: exists-to-join, size: 252833)
2024-07-29
17:59
[2202de4cc3] part of check-in [d029e94399] The idea here was to simply an expression like "(a=5) IS TRUE" into "(a=5)=TRUE". But that does not work, since the original form is FALSE if y is NULL whereas the second form is NULL. Patch save for historical reference only. (check-in: [d029e94399] user: drh branch: broken-istrue-opt, size: 252665)
2024-07-22
13:55
[a3f2e5d0cf] part of check-in [1034782137] Do not allow LIMIT and OFFSET to be expressions except for in a LATERAL. (check-in: [1034782137] user: drh branch: lateral-join, size: 253207)
2024-07-21
10:35
[5fe0b5c73f] part of check-in [31e175fcd0] Fix LATERAL subqueries so that they are able to reference other subqueries to their left that are implemented as co-routines. See Forum post dfe2cd37ca3a9a80. (check-in: [31e175fcd0] user: drh branch: lateral-join, size: 253210)
2024-07-20
08:31
[bb005bc625] part of check-in [84b80233e7] Optimizations and improved comments. (check-in: [84b80233e7] user: drh branch: lateral-join, size: 252848)
01:19
[c5f0c47ecb] part of check-in [3c045a96bc] Experimental implementation of LATERAL JOIN. (check-in: [3c045a96bc] user: drh branch: lateral-join, size: 252674)
2024-07-05
13:55
[b77218c425] part of check-in [d8cedbe055] Use a mini Bloom filter to help reduce the number of pointless searches for prior SubrtnSig objects when generating code for IN operators with subqueries as their right operand. (check-in: [d8cedbe055] user: drh branch: trunk, size: 252626)
10:08
[00c1ce0e6f] part of check-in [2a07caad4a] Improved reuse of subqueries associated with IN operators, especially when the IN operator is duplicated due to predicate push-down. (check-in: [2a07caad4a] user: drh branch: bedrock-3.46, size: 253276)
10:03
[33ae0a2c7d] part of check-in [557a14a24a] When constructing an ephermeral table to use as the right-hand side of an IN operator, also construct a Bloom filter to speed membership testing. (check-in: [557a14a24a] user: drh branch: bedrock-3.46, size: 253209)
01:05
[5f940c22e1] part of check-in [99fd34b58a] Small performance optimizations. (check-in: [99fd34b58a] user: drh branch: reuse-subqueries, size: 252617)
2024-07-03
20:30
[8649226c76] part of check-in [0bb306eb70] When constructing an ephermeral table to use as the right-hand side of an IN operator, also construct a Bloom filter to speed membership testing. (check-in: [0bb306eb70] user: dan branch: bedrock-3.45-in-bloom, size: 251979)
17:51
[039b5309b4] part of check-in [1933496539] Use a Bloom filter to improve performance of IN operators when the RHS of the IN operator is a subquery. (check-in: [1933496539] user: drh branch: in-bloom, size: 252550)
2024-07-02
12:16
[86cbef26e2] part of check-in [fc248a4a0a] Rework the deliberate_fall_through macro along the lines suggested by forum post 7ec11023dd so that it works better with LLVM, while preserving compatibility with MSVC and older GCCs. (check-in: [fc248a4a0a] user: drh branch: trunk, size: 252281)
2024-06-27
14:54
[36aaff552e] part of check-in [fc643f8a12] Merge the latest trunk enhancements into the exists-to-join branch. (check-in: [fc643f8a12] user: drh branch: exists-to-join, size: 252397)
2024-06-18
09:58
[76f4bf5adc] part of check-in [ea16b286b4] Internal doc typo fixes, as reported in the forum. No code changes. (check-in: [ea16b286b4] user: stephan branch: trunk, size: 252190)
2024-06-11
18:22
[b0c079cec6] part of check-in [33a3f32785] Provide the ability to disable the exists-to-join optimization using SQLITE_TESTCTRL_OPTIMIZATIONS. Provide tree-trace output for the optimization. (check-in: [33a3f32785] user: drh branch: exists-to-join, size: 252399)
17:37
[c62b054b58] part of check-in [5f25a9518a] Merge trunk enhancements into the exists-to-join branch. (check-in: [5f25a9518a] user: drh branch: exists-to-join, size: 252272)
2024-06-09
18:02
[3f078194f2] part of check-in [d2d37e6d2b] Disable the omit-noop-join optimization when there are 64 or more terms in the ORDER BY clause. (check-in: [d2d37e6d2b] user: drh branch: branch-3.45, size: 251552)
17:58
[9d022fc8dc] part of check-in [a7fe90c158] Disable the omit-noop-join optimization when there are 64 or more terms in the ORDER BY clause. (check-in: [a7fe90c158] user: drh branch: branch-3.46, size: 252149)
17:34
[af50738edf] part of check-in [40de393979] Disable the omit-noop-join optimization when there are 64 or more terms in the ORDER BY clause. (check-in: [40de393979] user: drh branch: trunk, size: 252192)
2024-06-07
21:00
[b81970d56d] part of check-in [972a33db0b] Experimental optimization to rewrite a SELECT with an EXISTS(...) expression in the WHERE clause as a join. (check-in: [972a33db0b] user: dan branch: exists-to-join, size: 252258)
2024-06-06
16:06
[25a98035df] part of check-in [b44f267671] Better optimize queries that use parameters in the LIMIT clause. (check-in: [b44f267671] user: drh branch: branch-3.28-var-in-limit, size: 204515)
15:03
[0fec1cf17d] part of check-in [e58cb304d1] Better optimize queries that use parameters in the LIMIT clause. (check-in: [e58cb304d1] user: drh branch: var-in-limit, size: 252178)
2024-06-03
12:36
[d66a1eab63] part of check-in [9c2de28a14] Omit an unused #define. (check-in: [9c2de28a14] user: drh branch: trunk, size: 252170)
2024-05-24
18:31
[98ba756789] part of check-in [4555d66547] Ensure that queries like "SELECT indeterministic(a) FROM tbl GROUP BY 1" invoke the indeterministic function only once for each row of tbl. (check-in: [4555d66547] user: dan branch: group-by-consistency, size: 252186)
2024-05-21
15:24
[01678c165d] part of check-in [c65a82f1fa] Merge the latest trunk enhancements into the bedrock branch. (check-in: [c65a82f1fa] user: drh branch: bedrock, size: 252940)
15:20
[db45669dee] part of check-in [97e0af8882] Merge the lates trunk enhancements into the reuse-schema branch. (check-in: [97e0af8882] user: drh branch: reuse-schema, size: 253953)
15:17
[8498606890] part of check-in [5c1c8651d1] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [5c1c8651d1] user: drh branch: begin-concurrent, size: 252814)
2024-05-18
20:00
[6a9fa3902c] part of check-in [922731ce98] Fix the definition of sqlite3_vtab_distinct() such that return codes 2 and 3 mean that all rows must be distinct over "colUsed" which is a superset of "aOrderBy". Also, disallow return codes 2 and 3 if the rowid of the virtual table is accessed. (check-in: [922731ce98] user: drh branch: vtab-distinct-fix, size: 252135)
2024-05-10
18:10
[adcf1cebb6] part of check-in [c623d9a51e] The sqlite3FaultSim(300) error from [1e8863909ac369e5] must be treated as an OOM, since it simulates an OOM. Also fix deferred deletion of Expr objects from [a53bdd311c4154fd] so that it does not corrupt the AST if an OOM occurs. (check-in: [c623d9a51e] user: drh branch: cleanup-testing, size: 252060)
09:26
[2eff008d78] part of check-in [1d6716054d] Squelch two OMIT-flag-related warnings reported in forum post 388243d9882067a9. No functional changes. (check-in: [1d6716054d] user: stephan branch: trunk, size: 252061)
2024-04-15
14:59
[eb072f3b6e] part of check-in [a1ff415341] Merge version 3.45.3 patches into the reuse-schema-3.45 sub-branch. (check-in: [a1ff415341] user: drh branch: reuse-schema-3.45, size: 253356)
14:36
[6a40d25c01] part of check-in [eedf6bed2a] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [eedf6bed2a] user: drh branch: begin-concurrent, size: 252694)
14:18
[bd7062562c] part of check-in [3dda82e001] Merge all 3.45.3 changes into the begin-concurrent-3.45 subbranch. (check-in: [3dda82e001] user: drh branch: begin-concurrent-3.45, size: 252217)
2024-04-08
12:02
[fa57536b02] part of check-in [0f93b52c77] Merge the latest trunk enhancements, and especially the enhancement to the WHERE-clause push-down optimization, into the bedrock branch. (check-in: [0f93b52c77] user: drh branch: bedrock, size: 252820)
2024-04-07
10:27
[a275d95f56] part of check-in [3d5fb1ec7a] Add comments to note the name abiguity between the MySQL push-down optimization and the WHERE-clause push-down optimization. (check-in: [3d5fb1ec7a] user: drh branch: trunk, size: 251976)
2024-04-06
23:09
[4ca38e206b] part of check-in [681dfe2dd6] Add comments to note the name abiguity between the MySQL push-down optimization and the WHERE-clause push-down optimization. (check-in: [681dfe2dd6] user: drh branch: wrong-branch, size: 252015)
18:30
[257a7addbd] part of check-in [8682931f9c] Do not allow changes to sqlite3ExprIsTableConstant() that support pushdown of subqueries interfere with the hash-join logic. (check-in: [8682931f9c] user: drh branch: pushdown-subquery, size: 252016)
12:19
[e9ef8bb759] part of check-in [87c45fb0d5] Generalize pushdown to allow any uncorrelated subquery to be pushed down. (check-in: [87c45fb0d5] user: drh branch: pushdown-subquery, size: 252012)
11:59
[0a6c3d01e0] part of check-in [4120bc740a] Generalize the pushdown of IN right-hand sides to cover more SELECTs. (check-in: [4120bc740a] user: drh branch: pushdown-IN-table, size: 252060)
2024-04-05
20:01
[a0d0f014ba] part of check-in [2cbd7838fd] Experimental enhancement in which expressions of the form "expr IN table" can be pushed down into subexpressions. (check-in: [2cbd7838fd] user: drh branch: pushdown-IN-table, size: 252055)
15:04
[f02109c375] part of check-in [e556f3d381] Merge all recent trunk enhancements into the reuse-schema branch. (check-in: [e556f3d381] user: drh branch: reuse-schema, size: 253795)
14:54
[de6abb9e8b] part of check-in [7a2a64b646] Merge the latest trunk enhancements into the bedrock branch. (check-in: [7a2a64b646] user: drh branch: bedrock, size: 252782)
14:46
[9198f2dcd1] part of check-in [4ff8334241] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [4ff8334241] user: drh branch: begin-concurrent, size: 252656)
2024-04-02
18:31
[47bb8365d8] part of check-in [1f97086d62] Fix table-valued functions so that they will work as the right table in a LEFT JOIN. Ticket [2ae0c599b735d59e] (check-in: [1f97086d62] user: drh branch: branch-3.28, size: 204501)
14:12
[170f85c5a9] part of check-in [186dcae19e] Fix typos in comments. Provided ".wheretrace" debugging output for the interstage heuristic module. Do omit automatic index loops in the interstage heuristic. (check-in: [186dcae19e] user: drh branch: interstage-heuristic, size: 251977)
2024-03-26
10:48
[13c2178e80] part of check-in [e469b02205] Merge all recent trunk enhancements into the reuse-schema branch. (check-in: [e469b02205] user: drh branch: reuse-schema, size: 253796)
10:45
[5c0c25a5df] part of check-in [33d3453f46] Merge all recent trunk enhancements into the bedrock branch. (check-in: [33d3453f46] user: drh branch: bedrock, size: 252783)
10:42
[dd4d2193d4] part of check-in [9b854e54b0] Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: [9b854e54b0] user: drh branch: begin-concurrent, size: 252657)
2024-03-24
19:08
[867a6691a5] part of check-in [7a3d0027f8] Fix the SQLITE_ALLOW_ROWID_IN_VIEW bug-compatibility option so that it works again. Add the SQLITE_CONFIG_ROWID_IN_VIEW sqlite3_config() value to optionally disable the bug-compatibility mode at start-time. Enable testing of SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: [7a3d0027f8] user: drh branch: branch-3.45, size: 251538)
2024-03-20
11:04
[142d16cb29] part of check-in [acc08353e2] Fix the SQLITE_ALLOW_ROWID_IN_VIEW bug-compatibility option so that it works again. Add the SQLITE_CONFIG_ROWID_IN_VIEW sqlite3_config() value to optionally disable the bug-compatibility mode at start-time. Enable testing of SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: [acc08353e2] user: drh branch: branch-3.44, size: 250312)
2024-03-19
19:56
[f8928f0397] part of check-in [0615bdae2d] Return the error "ambiguous column name: rowid", instead of "no such column: rowid", when a "rowid" reference is ambiguous. (check-in: [0615bdae2d] user: drh branch: rowid-in-view, size: 251978)
13:31
[b97455359e] part of check-in [8a6196ab29] When compiled with SQLITE_ALLOW_ROWID_IN_VIEW, rowid-in-view is on by default but can now be turned off using SQLITE_TESTCTRL_ROWID_IN_VIEW. Without the compile-time option, rowid-in-view is always off. (check-in: [8a6196ab29] user: drh branch: rowid-in-view, size: 251863)
10:58
[2e75c267e3] part of check-in [8af5878138] Fix a problem involving infinities int the Kahan-Babushka-Neumaier summation algorithm. (check-in: [8af5878138] user: drh branch: branch-3.45, size: 251020)
10:46
[99f87f8ac2] part of check-in [0984e5cd25] Fix a problem involving infinities int the Kahan-Babushka-Neumaier summation algorithm. (check-in: [0984e5cd25] user: drh branch: branch-3.44, size: 249794)
10:16
[9ffcf672d8] part of check-in [45d272ef38] Fix another problem from [c63e26e705f5e967] involving infinities and the Kahan-Babushka-Neumaier summation algorithm. Problem reported by forum post 23b8688ef4. (check-in: [45d272ef38] user: drh branch: trunk, size: 251460)
2024-03-18
18:56
[c472e384c0] part of check-in [c2d4adabb9] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [c2d4adabb9] user: drh branch: reuse-schema, size: 253163)
18:55
[ce7951a852] part of check-in [10ab5e8570] Merge the latest trunk enhancements into the bedrock branch. (check-in: [10ab5e8570] user: drh branch: bedrock, size: 252150)
18:47
[7e7251e02b] part of check-in [50b43b02da] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [50b43b02da] user: drh branch: begin-concurrent, size: 252024)
13:31
[a58b4a33a9] part of check-in [21f616d9b9] Add assert() statements to validate access to the SrcItem.u1.nRow union member. (check-in: [21f616d9b9] user: drh branch: exp-values-clause2, size: 251345)
12:49
[f0014674d4] part of check-in [ac6f095e13] Improvements to EXPLAIN QUERY PLAN output for multi-row VALUES claues. (check-in: [ac6f095e13] user: drh branch: exp-values-clause2, size: 251299)
2024-03-16
20:15
[4bf7dcc1d2] part of check-in [d7eadcf7dd] Further expand the scope of usage for the enhacement to expr-is-constant. (check-in: [d7eadcf7dd] user: drh branch: enhanced-expr-is-const, size: 251234)
13:18
[92d3323ba5] part of check-in [c9e0488c6c] Enhance the sqlite3ExprIsConstant() function so that it recognizes constant functions. So far the enhancement only applies to the multi-row VALUES clause, but it could possibly be applied in many other places. (check-in: [c9e0488c6c] user: drh branch: enhanced-expr-is-const, size: 251275)
2024-03-13
18:00
[23c69cb2ed] part of check-in [5c8e80f435] Merge the latest trunk enhancements into the bedrock branch. (check-in: [5c8e80f435] user: drh branch: bedrock, size: 251880)
17:51
[a78d2a47c6] part of check-in [238fa84a9a] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [238fa84a9a] user: drh branch: begin-concurrent, size: 251754)
15:59
[1e23a22284] part of check-in [70ef3784f6] 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: [70ef3784f6] user: drh branch: reuse-schema, size: 252893)
2024-03-11
23:28
[3e57d06753] part of check-in [e22e0e1e4e] Merge the latest branch-3.45 patches into the reuse-schema-3.45 subbranch. (check-in: [e22e0e1e4e] user: drh branch: reuse-schema-3.45, size: 252723)
23:26
[ec40714de7] part of check-in [516b7e1380] Merge the latest branch-3.45 changes into the bedrock-3.45 subbranch. (check-in: [516b7e1380] user: drh branch: bedrock-3.45, size: 251710)
23:18
[32b9d8f2f4] part of check-in [98ea2ca21a] Merge the latest branch-3.45 changes into the begin-concurrent branch. (check-in: [98ea2ca21a] user: drh branch: begin-concurrent-3.45, size: 251584)
17:27
[b3ac44ca09] part of check-in [17d1f7cfab] Attempt to reduce the memory used by VALUES clauses in as many statements as possible, not just INSERT. This branch still has problems. (check-in: [17d1f7cfab] user: dan branch: exp-values-clause2, size: 251268)
2024-03-09
00:38
[59e83fc2b0] part of check-in [be266c7139] The NOT NULL strength reduction optimization should be applied to the WHERE clause only. (check-in: [be266c7139] user: drh branch: branch-3.45, size: 250905)
2024-03-08
21:37
[6123ce6ca6] part of check-in [51704feae2] The NOT NULL strength reduction optimization from [de9c86c9e4cdb34f] should be applied to the WHERE clause only. Otherwise, the operand of the IS NULL or IS NOT NULL operator might be a reference to a bare column of an aggregate table, and we can't tell if it is NULL or not based only on its NOT NULL attribute. Forum post 440f2a2f17. (check-in: [51704feae2] user: drh branch: trunk, size: 251075)
14:16
[c9be5dccd9] part of check-in [e546d8c685] Silently ignore redundant ON CONFLICT clauses in an UPSERT. (check-in: [e546d8c685] user: drh branch: branch-3.44, size: 249679)
14:11
[30ebef1ff3] part of check-in [46245855a0] Silently ignore redundant ON CONFLICT clauses in an UPSERT. (check-in: [46245855a0] user: drh branch: branch-3.45, size: 250785)
14:01
[06d757ee6c] part of check-in [d0ea6b6ba6] Silently ignore redundant ON CONFLICT clauses in an UPSERT. Only the first ON CONFLICT for each index is active. Do not issue an error, since that might break legacy queries. But ignore the redundant ON CONFLICT clauses to prevent problems such as described in forum post 919c6579c8. (check-in: [d0ea6b6ba6] user: drh branch: trunk, size: 250955)
2024-03-07
15:44
[c59487cb4b] part of check-in [5d8065e801] Add further tests for the code on this branch. (check-in: [5d8065e801] user: dan branch: exp-values-clause, size: 252326)
2024-03-05
20:33
[4059c20ebd] part of check-in [551caba93b] Add comments for the new code on this branch. (check-in: [551caba93b] user: dan branch: exp-values-clause, size: 252332)
17:23
[616591f3bc] part of check-in [9cbceaac8f] Simplify changes on this branch by avoiding any special handling until SQLITE_LIMIT_COMPOUND_SELECT rows are reached. (check-in: [9cbceaac8f] user: dan branch: exp-values-clause, size: 251300)
2024-03-04
18:50
[56b8fc5703] part of check-in [5d6797716d] Fix some problems with "VALUES(...) UNION ..." and similar on this branch. (check-in: [5d6797716d] user: dan branch: exp-values-clause, size: 251226)
2024-03-02
20:39
[c9b4ad5eaf] part of check-in [6d4f1ae2fc] Attempt to use less memory when handling a large VALUES clause attached to an INSERT statement. This branch is buggy. (check-in: [6d4f1ae2fc] user: dan branch: exp-values-clause, size: 251073)
2024-03-01
22:42
[532224eec9] part of check-in [e5bf9556ff] When doing DROP TABLE or DROP INDEX, use a heap to ensure that the various btrees are dropped in the right order for autovacuum. (check-in: [e5bf9556ff] user: drh branch: multi-drop, size: 250951)
14:47
[cb537898d9] part of check-in [144e332f44] Improved handling of foreign-key constraints on a multi-drop of tables. (check-in: [144e332f44] user: drh branch: multi-drop, size: 251004)
12:21
[d5101433f1] part of check-in [37d4c5e207] When doing a multi-drop, delete btrees beginning with the largest root page first and working toward smaller root pages, to avoid problems with root page renumbering due to autovacuum. (check-in: [37d4c5e207] user: drh branch: multi-drop, size: 251004)
2024-02-29
19:40
[bdb0bba047] part of check-in [02f9fc73ee] Attempt to fix multi-object DROP. Working better, but still not perfect. (check-in: [02f9fc73ee] user: drh branch: multi-drop, size: 250939)
2024-02-27
10:52
[58b7295a74] part of check-in [0e6700f43f] Allow "_" characters to appear between any two digits in an integer, real or hexadecimal SQL literal. (check-in: [0e6700f43f] user: dan branch: trunk, size: 250871)
2024-02-16
12:57
[2f3a38c3e0] part of check-in [b4790da5e0] Rename the TF_StatsUsed flag to TF_MaybeReanalyze, to more accurately reflect its usage. No logic changes. (check-in: [b4790da5e0] user: drh branch: trunk, size: 250793)
2024-01-28
20:42
[5013ac1f56] part of check-in [c974d9313b] Use __ppc__ instead of __POWERPC__ to identify 32-bit PowerPC processors. Forum post 34794846ce. (check-in: [c974d9313b] user: drh branch: trunk, size: 250864)
2024-01-23
11:20
[a1367a4cd9] part of check-in [d57407ef59] Add extra checks for the validity of a numeric literal to sqlite3DequoteNumber(). (check-in: [d57407ef59] user: dan branch: digit-separators, size: 250779)
2024-01-22
12:56
[03e64e4a97] part of check-in [249048b0cb] Fix userauth so that it works together with SQLITE_OMIT_SHARED_CACHE. (Forum post 0bfc5888a384d430). However, also change to code to issue a deprecation warning whenever SQLITE_USER_AUTHENTICATION is used. (check-in: [249048b0cb] user: drh branch: trunk, size: 250864)
2024-01-20
16:18
[6e5e330d84] part of check-in [401650aacc] Allow "_" characters to appear following any digit in an integer or real SQL literal. (check-in: [401650aacc] user: dan branch: digit-separators, size: 250771)
2024-01-04
17:33
[642c7e41f5] part of check-in [e07f2451e8] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [e07f2451e8] user: drh branch: reuse-schema, size: 252519)
16:28
[f722ed4249] part of check-in [707f79c70c] Merge the latest trunk enhancements into the bedrock branch. (check-in: [707f79c70c] user: drh branch: bedrock, size: 251506)
15:49
[70e19aaaaf] part of check-in [c407d3bb99] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [c407d3bb99] user: drh branch: begin-concurrent, size: 251380)
2024-01-01
17:48
[73800d73e2] part of check-in [c030e64626] Extra steps taken to avoid using low-quality indexes in a query plan. This branch accomplishes the same end as the nearby enhanced-stat1 branch, but with much less change and hence less risk. (check-in: [c030e64626] user: drh branch: avoid-low-quality-indexes, size: 250701)
2023-12-30
22:00
[1c0b1e779e] part of check-in [41773fa760] In sqlite_stat1, revert the number of rows to the average, not adjusted for the maximum. Instead add "uneven=NNN" where NNN is a multiplier to apply to the average to get the maximum. "uneven" is only reported if NNN is 10 or more. Also add the "slow" argument is the maximum number of rows reported by a full equality match is so large that a table scan seems likely to be faster. (check-in: [41773fa760] user: drh branch: enhanced-stat1, size: 250699)
15:07
[1a06a22551] part of check-in [0ec4b880bb] Omit the "noquery" argument in sqlite_stat1. Instead, add the "uneven" argument for indexes that have an uneven distribution of values. Modify the query planner to avoid doing equality look-ups on uneven indexes. (check-in: [0ec4b880bb] user: drh branch: enhanced-stat1, size: 250690)
2023-12-28
21:02
[4552ac3dbe] part of check-in [630604a4e6] Enable SQLITE_DIRECT_OVERFLOW_READ unless it is specifically disabled using the -DSQLITE_DIRECT_OVERFLOW_READ=0 compile-time option. (check-in: [630604a4e6] user: drh branch: trunk, size: 250622)
14:07
[d7a5b94f3b] part of check-in [3d1b0403d6] Merge the latest trunk changes into the reuse-schema branch. (check-in: [3d1b0403d6] user: drh branch: reuse-schema, size: 252061)
14:01
[90252d2fef] part of check-in [5a17b972ed] Merge the latest trunk changes into the bedrock branch. (check-in: [5a17b972ed] user: drh branch: bedrock, size: 251048)
13:40
[1376d41979] part of check-in [b3a2adfda7] Merge recent trunk enhancements into the begin-concurrrent branch. (check-in: [b3a2adfda7] user: drh branch: begin-concurrent, size: 250922)
2023-12-15
21:39
[1ebf16ed5a] part of check-in [122cd0bada] Fix a spurious "misuse of aggregate function" error that could occur when an aggregate function was used within the FROM clause of a sub-select of the select that owns the aggregate. (check-in: [122cd0bada] user: drh branch: branch-3.43, size: 247375)
2023-12-14
13:58
[134457f62b] part of check-in [3536f4030e] Pass subtype information through the aggregate ORDER BY sorter for aggregate functions that use subtype information. (check-in: [3536f4030e] user: drh branch: agg-orderby-subtype, size: 250243)
2023-12-13
14:31
[5456977f44] part of check-in [1b229c1101] Improvements to UTF8 handling, and especially the handling of invalid UTF8, in the JSON routines. (check-in: [1b229c1101] user: drh branch: trunk, size: 250171)
2023-12-11
19:00
[615524fff0] part of check-in [7aff1d9a4c] Rename the new test-control to SQLITE_TESTCTRL_JSON_SELFCHECK. Make it so that the current value of the setting can be interrogated. (check-in: [7aff1d9a4c] user: drh branch: jsonb-valid, size: 250121)
17:03
[f34c338e2c] part of check-in [b410a4db74] Add SQLITE_TESTCTRL_VALIDATE_JSONB, which if enabled under SQLITE_DEBUG causes cross-checking of generate JSONB. (check-in: [b410a4db74] user: drh branch: jsonb-valid, size: 250122)
2023-12-06
22:22
[31c39815d3] part of check-in [5c36819c42] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [5c36819c42] user: drh branch: reuse-schema, size: 251844)
21:18
[10baf13954] part of check-in [c2e53000f4] Merge the latest trunk changes into the bedrock branch. (check-in: [c2e53000f4] user: drh branch: bedrock, size: 250831)
21:05
[eeadf1ca89] part of check-in [b1c58f485f] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [b1c58f485f] user: drh branch: begin-concurrent, size: 250705)
18:25
[39b6fe0652] part of check-in [ec0ae40309] Work around LLVM's newfound hatred of function pointer casts. Forum post 1a7d257346636292. (check-in: [ec0ae40309] user: drh branch: trunk, size: 250026)
2023-12-01
12:57
[aab66d1492] part of check-in [25ed295f30] First attempt to get the JSON text-to-binary cache working. All test cases pass, but the cache seems not to help much. (check-in: [25ed295f30] user: drh branch: jsonb, size: 249781)
2023-11-29
16:07
[d9197883c4] part of check-in [f9c6e6a710] Remove Window objects from the corresponding Select.pWin list when they are deleted, as they are, for example, when the ORDER BY clause is optimized out. (check-in: [f9c6e6a710] user: drh branch: branch-3.28, size: 204465)
2023-11-28
17:47
[d0c8daccd0] part of check-in [bead0d8f5a] Update this branch with latest changes from trunk. (check-in: [bead0d8f5a] user: dan branch: begin-concurrent, size: 250342)
2023-11-22
16:32
[19760427d0] part of check-in [24fc47afbd] Merge the 3.44.1 patches into a new sub-branch of reuse-schema. (check-in: [24fc47afbd] user: drh branch: reuse-schema-3.44, size: 251413)
16:15
[50e1d15db5] part of check-in [84f4215716] Merge the version 3.44.1 patch into a new sub-branch of bedrock. (check-in: [84f4215716] user: drh branch: bedrock-3.44, size: 250400)
15:29
[7b0d476044] part of check-in [7a1a114baf] Merge the 3.44.1 patches into a new sub-branch of begin-concurrent. (check-in: [7a1a114baf] user: drh branch: begin-concurrent-3.44, size: 250274)
2023-11-10
18:59
[6b82eb99a9] part of check-in [091a5f058d] Merge recent trunk enhancements and fixes into the jsonb branch. (check-in: [091a5f058d] user: drh branch: jsonb, size: 249689)
2023-11-09
17:42
[08efc0ad9d] part of check-in [65a9cfc466] Add the SQLITE_RESULT_SUBTYPE flag for application-defined functions. Add the -DSQLITE_STRICT_SUBTYPE=1 compile-time option that raises an error if any function invokes sqlite3_result_subtype() without the SQLITE_RESULT_SUBTYPE flag. SQLITE_RESULT_SUBTYPE prevents an indexed value of that function from being used to replace an equivalent expression, since the indexed expression does not carry the subtype. (check-in: [65a9cfc466] user: drh branch: branch-3.44, size: 249595)
12:17
[cd171cba32] part of check-in [a35d13db09] Do not replace expressions that return subtypes with values taken from an index. (check-in: [a35d13db09] user: drh branch: func-rw-subtype, size: 249663)
12:08
[fe1bc1d3ee] part of check-in [563ad3be60] Omit the new SQLITE_VALUE_SUBTYPE name. Stay with legacy SQLTIE_SUBTYPE. Add extra documentation to sqlite3_value_subtype() and sqlite3_result_subtype() indicating that the SQLITE_SUBTYPE and SQLITE_RESULT_SUBTYPE properties are required on functions that use those interfaces. (check-in: [563ad3be60] user: drh branch: func-rw-subtype, size: 249663)
2023-11-08
21:38
[b2a8e6ec78] part of check-in [48a92e3ad8] Make a distinction between functions that consume subtypes and functions that generate subtypes. (check-in: [48a92e3ad8] user: drh branch: func-rw-subtype, size: 249675)
17:11
[1412a692df] part of check-in [72393b003f] Merge recent trunk enhancements into the jsonb branch, and especially the finer-grain characterization of JSON function properties. (check-in: [72393b003f] user: drh branch: jsonb, size: 249601)
16:37
[90bbf1ba8f] part of check-in [b2b62546c4] More precise characterization of JSON functions. Indicate when functions might return JSON (subtype 'J') and when they make use of the function argument cache. (check-in: [b2b62546c4] user: drh branch: trunk, size: 249575)
2023-11-07
19:15
[fde93552e5] part of check-in [36259009c5] Update the documentation to the sqlite3_set_auxdata() and sqlite3_get_auxdata() routines to make it clear that they do not work as one might expect when they are called during query planning, instead of during query execution. The JSON routines misuse those interfaces, so add a special flag to JSON routines that prevents them from being invoked during query planning. (check-in: [36259009c5] user: drh branch: branch-3.44, size: 249444)
19:03
[b9f6cfac99] part of check-in [796a23f9ee] Update the documentation to the sqlite3_set_auxdata() and sqlite3_get_auxdata() routines to make it clear that they do not work as one might expect when they are called during query planning, instead of during query execution. The JSON routines misuse those interfaces, so add a special flag to JSON routines that prevents them from being invoked during query planning. Fix for the problem in forum post a655ee159eca1ea5. (check-in: [796a23f9ee] user: drh branch: trunk, size: 249512)
2023-11-02
22:11
[707095a059] part of check-in [51002079e0] In the previous check-in, use a u32 instead of an int, to make it easier to prove that the integer will never overflow. (check-in: [51002079e0] user: drh branch: trunk, size: 249476)
21:02
[f0185af5bb] part of check-in [4470f657d2] Fix a spurious "misuse of aggregate function" error that could occur when an aggregate function was used within the FROM clause of a sub-select of the select that owns the aggregate. e.g. "SELECT (SELECT x FROM (SELECT sum(t1.a) AS x)) FROM t1". Forum post c9970a37ed. (check-in: [4470f657d2] user: dan branch: trunk, size: 249476)
2023-10-30
23:05
[ba302cf859] part of check-in [28f9a55928] Merge the latest 3.44.0 release candidate changes into the reuse-schema branch. (check-in: [28f9a55928] user: drh branch: reuse-schema, size: 251226)
22:57
[82332a95ad] part of check-in [956b03a462] Merge the latest 3.44.0 release candidate patches into the bedrock branch. (check-in: [956b03a462] user: drh branch: bedrock, size: 250213)
21:39
[ef78a7f0ea] part of check-in [9fa405eb5a] Merge the latest trunk changes into the begin-concurrent branch. (check-in: [9fa405eb5a] user: drh branch: begin-concurrent, size: 250087)
2023-10-26
16:05
[567e317f86] part of check-in [ec6bffa3b0] Handle the case where a virtual table xBestIndex method called while coding a trigger fired by a top-level statement with a RETURNING clause prepares a statement that also contains a RETURNING clause. (check-in: [ec6bffa3b0] user: dan branch: trunk, size: 249408)
2023-10-23
19:27
[d28359233a] part of check-in [52262ac920] Merge the latest trunk enhancments into the reuse-schema branch. (check-in: [52262ac920] user: drh branch: reuse-schema, size: 251157)
16:08
[fded1c6f55] part of check-in [c9c9bc097a] Merge latest changes from wal2 into this branch. (check-in: [c9c9bc097a] user: dan branch: bedrock, size: 250144)
15:48
[2f01e99aa3] part of check-in [c5ef898a79] Merge latest trunk changes into this branch. (check-in: [c5ef898a79] user: dan branch: begin-concurrent, size: 250018)
2023-10-20
17:06
[cf6646e869] part of check-in [fc9f82ea08] Add the SQLITE_CHANGESETAPPLY_FKNOACTION flag to sqlite3session.h, for passing to sqlite3changeset_apply_v2() to cause all foreign key constraints to behave as if they were declared NO ACTION. (check-in: [fc9f82ea08] user: dan branch: trunk, size: 249339)
2023-10-19
18:07
[849004dd6f] part of check-in [d5ae82ec52] Simplify the Expr compression logic slightly by adding the new EP_FullSize property to expressions that are exceptions to the rule and should not be compressed. (check-in: [d5ae82ec52] user: drh branch: trunk, size: 249265)
2023-10-18
22:03
[834656265d] part of check-in [16f3805514] Make sure all terms of the ORDER BY within an aggregate go through aggregate analysis. Do not attach an aggregate ORDER BY to a window function. (check-in: [16f3805514] user: drh branch: agg-orderby, size: 249175)
18:11
[8eac2e94e5] part of check-in [64c12a835b] ORDER BY on aggregates seem to work, at least for simple smoke tests. Lots more testing is needed though. Surely there are many bugs. (check-in: [64c12a835b] user: drh branch: agg-orderby, size: 249122)
13:18
[bc1da6f560] part of check-in [3a98ff24bf] Enhance the parser so that it can accept an ORDER BY clause on a function invocation. For this incremental check-in, the ORDER BY clause is currently ignored. (check-in: [3a98ff24bf] user: drh branch: agg-orderby, size: 248900)
2023-10-17
19:33
[2784a4c7cd] part of check-in [37ff0d8e7f] Fix a harmless compiler warning about variant types for a pointer function. (check-in: [37ff0d8e7f] user: drh branch: trunk, size: 248840)
2023-10-09
14:47
[3c8a3f1bf8] part of check-in [7e8768bf8b] Fix a compiler warning caused by the previous check-in. (check-in: [7e8768bf8b] user: drh branch: trunk, size: 248840)
14:05
[c387a6d478] part of check-in [f57e8275cf] Turn on SEH by default when building using MSVC. (check-in: [f57e8275cf] user: drh branch: trunk, size: 248842)
2023-09-23
19:25
[1fc2a2ee30] part of check-in [d5dd39e37a] Avoid an error when parsing a schema that contains indexes with WHERE clauses containing unknown collation sequences. (check-in: [d5dd39e37a] user: dan branch: partial-index-terms, size: 248600)
2023-09-22
20:21
[876f5ffc0e] part of check-in [66ed7abdfa] In partial index scans, if the WHERE clause implies a constant value for a table column, replace occurences of that table column with the constant. This increases the likelihood of the partial index being a covering index. (check-in: [66ed7abdfa] user: dan branch: partial-index-terms, size: 248668)
2023-09-15
20:57
[f2d713fac8] part of check-in [bbcbd3d537] Fix resolution of unqualified "rowid" identifiers in queries with nested joins. (check-in: [bbcbd3d537] user: dan branch: nested-from-rowid-expansion, size: 248524)
18:36
[6cac7a6d67] part of check-in [59a1bbc69f] Allow expressions like "<tbl>.rowid" to refer to implicit rowid columns of tables in nested FROM clauses. (check-in: [59a1bbc69f] user: dan branch: nested-from-rowid-expansion, size: 248523)
2023-09-11
14:55
[0c33d256c0] part of check-in [9806c0dd28] Add support for the sqlite3_get_clientdata() and sqlite3_set_clientdata() interfaces, to better support JNI. (check-in: [9806c0dd28] user: drh branch: trunk, size: 248394)
2023-09-04
12:50
[304deb0cb3] part of check-in [4a2498fed4] Do not make assumptions about the byteorder of PowerPC processors. (check-in: [4a2498fed4] user: drh branch: trunk, size: 247922)
2023-08-30
15:20
[985a09af9a] part of check-in [d542837fdb] New experimental API for attaching client data to a database connection. (check-in: [d542837fdb] user: drh branch: db-client-data, size: 247779)
2023-08-12
12:16
[e3189cb39d] part of check-in [d2b0ddcc75] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [d2b0ddcc75] user: drh branch: reuse-schema, size: 249125)
2023-08-11
11:46
[d639aff687] part of check-in [859932ebce] Merge all the latest trunk enhancements into the bedrock branch. (check-in: [859932ebce] user: drh branch: bedrock, size: 248112)
11:34
[e889cc24d8] part of check-in [7cb2b4e35f] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [7cb2b4e35f] user: drh branch: begin-concurrent, size: 247986)
2023-08-08
17:36
[025ed58a41] part of check-in [aa6de539c0] Minor cleanups in sqlite3Int.h. By reordering some fields in the Parse object, it packs more tightly and uses less memory and less CPU to initialize. (check-in: [aa6de539c0] user: drh branch: trunk, size: 247307)
2023-08-03
23:26
[c6d007de03] part of check-in [877ffece05] Merge the latest trunk enhancements into the bedrock branch. (check-in: [877ffece05] user: drh branch: bedrock, size: 248141)
2023-07-31
17:39
[bdf30ea855] part of check-in [22f6dd5cd3] Add bit to sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS) that will disable the one-pass optimizating in DELETE and UPDATE. (check-in: [22f6dd5cd3] user: drh branch: trunk, size: 247336)
17:20
[dc50c6b694] part of check-in [4a8a17498e] Improved debug tracking of the Parse.nQueryLoop value. (check-in: [4a8a17498e] user: drh branch: trunk, size: 247259)
2023-07-28
19:00
[f344414c1a] part of check-in [b8731493bf] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [b8731493bf] user: drh branch: reuse-schema, size: 249077)
18:52
[3f9fcac18b] part of check-in [1d6ded3234] Merge the latest trunk enhancements into the bedrock branch. (check-in: [1d6ded3234] user: drh branch: bedrock, size: 248064)
18:43
[cb89365fd2] part of check-in [7407dda8b4] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [7407dda8b4] user: drh branch: begin-concurrent, size: 247938)
2023-07-27
20:28
[6140eb4058] part of check-in [509ae9c147] If the input JSON to a json function that uses cache comes from an RCStr value, then use that RCStr value in the parse rather than making a copy. (check-in: [509ae9c147] user: drh branch: json-opt, size: 247259)
2023-07-26
01:05
[30d7b0d586] part of check-in [2dbb22c75e] Extend the enhancement to json_set() and json_replace(). Clean up cruft. (check-in: [2dbb22c75e] user: drh branch: json-opt-rcstr, size: 247194)
00:48
[29c8e6d0b6] part of check-in [f930b139d6] Add the JsonParse.zAlt field to old revised JSON text after a change. Demonstrate that this elminates the need for reparsing after a change by using it in the json_remove() function. This is an incremental check-in containing lots of cruft. (check-in: [f930b139d6] user: drh branch: json-opt-rcstr, size: 248368)
2023-07-25
15:08
[59b755dec9] part of check-in [c1b8725089] Create the new RCStr class of strings and try to use them for JSON storage. (check-in: [c1b8725089] user: drh branch: json-opt-rcstr, size: 248358)
2023-07-24
13:30
[1bf8e812b0] part of check-in [e0e7b01e27] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [e0e7b01e27] user: drh branch: reuse-schema, size: 248168)
13:24
[30e513e458] part of check-in [a6f3443994] Merge the latest trunk enhancements into the bedrock branch. (check-in: [a6f3443994] user: drh branch: bedrock, size: 247155)
13:15
[52017f11ca] part of check-in [967be041ea] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [967be041ea] user: drh branch: begin-concurrent, size: 247029)
2023-07-13
14:49
[dcb1a885e8] part of check-in [ce6793e954] Fix an off-by-one error in tests for cells overflowing the end of pages. The error is completely harmless for the default page cache, but might cause false-positive SQLITE_CORRUPT errors in systems that use an application-defined page caches that pack pages tightly together in memory. (check-in: [ce6793e954] user: drh branch: trunk, size: 246350)
2023-07-08
19:28
[1d485ea0e1] part of check-in [7a9cb6f4f4] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [7a9cb6f4f4] user: drh branch: reuse-schema, size: 247345)
19:16
[96b422b510] part of check-in [35bfb5bfee] Merge the latest trunk enhancements into the bedrock branch. (check-in: [35bfb5bfee] user: drh branch: bedrock, size: 246332)
19:00
[ac8a68ffb7] part of check-in [3d0823c48e] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [3d0823c48e] user: drh branch: begin-concurrent, size: 246206)
2023-07-07
18:49
[002a6c3e24] part of check-in [b409943af0] Omit the use of memmove() in sqlite3FpDecode() in an attempt to avoid spurious warnings from valgrind. Also makes the code slightly smaller and faster. (check-in: [b409943af0] user: drh branch: trunk, size: 245527)
16:58
[3323b237e3] part of check-in [cd67edc032] Proof of concept for a new sqlite3_function_needed() interface. (check-in: [cd67edc032] user: drh branch: need-function, size: 245573)
2023-07-03
14:56
[f6c5470b7d] part of check-in [02ae6caff1] Whether or not to use the long-double floating point conversion technique is now a test-control setting. (check-in: [02ae6caff1] user: drh branch: fp-to-decimal-refactor, size: 245459)
2023-07-01
17:56
[3d4125cc1c] part of check-in [6f1122e942] Improved rounding policy. (check-in: [6f1122e942] user: drh branch: fp-to-decimal-refactor, size: 245393)
15:23
[8c1922b278] part of check-in [76ab8ae809] Improved response to Infinity and NaN. Remove the termporary fpdecode() function. (check-in: [76ab8ae809] user: drh branch: fp-to-decimal-refactor, size: 245389)
2023-06-30
19:41
[333195d3a6] part of check-in [27871140ca] Add decimal rounding to the sqlite3FpDecode() routine. (check-in: [27871140ca] user: drh branch: fp-to-decimal-refactor, size: 245436)
18:35
[6ef127217c] part of check-in [e923405e44] Experiments with a new algorithm for converting ieee-754 binary64 numbers into decimal. (check-in: [e923405e44] user: drh branch: fp-to-decimal-refactor, size: 245432)
14:01
[b677ba3339] part of check-in [85be05b66e] Completely unwind the enhanced precision sum() from [a915f15a916af698] so as not to offend UBSAN and OSS-Fuzz. (check-in: [85be05b66e] user: drh branch: trunk, size: 244899)
2023-06-26
19:35
[f7e904f7fd] part of check-in [439fc00fee] Use ideas from T. J. Dekker in "A Floating-Point Technique for Extending the Available Precision" (1971-07-26) to enhance the accuracy of the SUM() aggregate function in cases where input magnitudes vary wildly. (check-in: [439fc00fee] user: drh branch: extended-precision-fp, size: 245182)
2023-06-22
21:19
[44353825a4] part of check-in [8b8ea4e3f5] Optimize the argument to the octet_length() function so that it does not attempt to read content from disk. (check-in: [8b8ea4e3f5] user: drh branch: octet_length, size: 244868)
14:50
[f124b2d4fb] part of check-in [905c6c9ddb] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [905c6c9ddb] user: drh branch: reuse-schema, size: 246481)
14:40
[f7d3a69926] part of check-in [0551b79b17] Merge the latest trunk enhancements into the bedrock branch. (check-in: [0551b79b17] user: drh branch: bedrock, size: 245468)
13:28
[63694b09d3] part of check-in [5bd26fea6a] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [5bd26fea6a] user: drh branch: begin-concurrent, size: 245342)
2023-06-19
23:27
[8974b60740] part of check-in [73d86a12fb] Avoid unnecessary NULL pointer checks on calls to sqlite3WalkExpr(). (check-in: [73d86a12fb] user: drh branch: trunk, size: 244663)
18:16
[d52ede4c29] part of check-in [4b08d4dad6] Add the sqlite3_commit_status() API. For querying a connection for (a) the ranges of wal/wal2 frames written after a successful commit, and (b) the conflicting frame following a failed commit of a BEGIN CONCURRENT transaction. (check-in: [4b08d4dad6] user: dan branch: bedrock, size: 245188)
2023-06-14
13:45
[4381b76b16] part of check-in [330219863c] Add SQLITE_DBCONFIG_RANDOM_SCANORDER. This option causes unconstrained table and index scan to happen in a random order, in order to help detect under-constrained queries in applications. Closed because this feature does not add any new capabilities that are not already available with SQLITE_DBCONFIG_REVERSE_SCANORDER, but it does make the behavior non-deterministic, and hence more difficult to test. (check-in: [330219863c] user: drh branch: random-scanorder, size: 244690)
2023-06-13
18:10
[51409a4f94] part of check-in [118fe60087] Improved sqlite3_error_offset() values for bare column errors on '*' and 'table.*' expressions in SELECT statements. (check-in: [118fe60087] user: drh branch: trunk, size: 244624)
2023-06-09
18:58
[4698b10925] part of check-in [446ad162f7] Improved sqlite3_error_offset() values for bare column errors on '*' and 'table.*' expressions in SELECT statements. (check-in: [446ad162f7] user: drh branch: newbie-safe-aggregates, size: 244703)
13:08
[435d393dd6] part of check-in [f587891134] Experimental change to add a per-connection option that raises an error if a bare column appears in an aggregate query. (check-in: [f587891134] user: drh branch: newbie-safe-aggregates, size: 244520)
2023-06-07
08:40
[924ddd5bd9] part of check-in [26c1bb4bd9] Add a C-source spell-checking facility. make misspell (on Nix) (check-in: [26c1bb4bd9] user: larrybr branch: spell-check, size: 244441)
2023-06-02
18:05
[a531b7f352] part of check-in [2d962b84dd] Restore the LEFT JOIN strength reduction that was partially lost in [d747afda5683ca5f] when strength reduction was generalized to all OUTER JOINs. (check-in: [2d962b84dd] user: drh branch: trunk, size: 244457)
2023-05-16
13:11
[95f033fabe] part of check-in [d67b6c393f] Merge all 3.42.0 release enhancements into the reuse-schema branch. (check-in: [d67b6c393f] user: drh branch: reuse-schema, size: 246201)
13:04
[5a6aac5ca2] part of check-in [1348c2a590] Merge all 3.42.0 release changes into the bedrock branch. (check-in: [1348c2a590] user: drh branch: bedrock, size: 245002)
12:56
[a7bcc8232a] part of check-in [804bb138f5] Merge all 3.42.0 release changes into the begin-concurrent branch. (check-in: [804bb138f5] user: drh branch: begin-concurrent, size: 245062)
2023-05-15
02:06
[a3ced8b9eb] part of check-in [4902015dcf] As evidenced by forum post f3f546025a, the new RIGHT JOIN related restriction on the push-down optimization implemented by [da3fba18742b6e0b] also needs to apply to the automatic index (a.k.a. hash-join) optimization and to the Bloom filter optimization. Computation of the restriction is now moved into the sqlite3ExprIsSingleTableConstraint() routine. (check-in: [4902015dcf] user: drh branch: trunk, size: 244383)
2023-05-13
15:21
[1c94cf6269] part of check-in [515bb26ee6] Merge the latest 3.42.0 changes into the reuse-schema branch. (check-in: [515bb26ee6] user: drh branch: reuse-schema, size: 246197)
15:17
[c7c2feac4b] part of check-in [18c5e16b55] Merge the latest 3.42.0 changes from trunk into the begin-concurrent branch. (check-in: [18c5e16b55] user: drh branch: begin-concurrent, size: 245058)
15:10
[daf4e9f9d8] part of check-in [d55ba8bb85] Merge the latest 3.42.0 beta changes into the bedrock branch. (check-in: [d55ba8bb85] user: drh branch: bedrock, size: 244998)
2023-05-10
11:05
[6e08039aa9] part of check-in [5dae897431] Rename sqlite3IsTableConstraint() to sqlite3IsSingleTableConstraint() and improve its header comment, in an attempt to make the code easier to reason about. No functional changes - should generate identical machine code. (check-in: [5dae897431] user: drh branch: trunk, size: 244379)
2023-05-04
14:41
[4dfafdb231] part of check-in [b2e0800b24] Merge latest wal2 changes into this branch. (check-in: [b2e0800b24] user: dan branch: bedrock, size: 244992)
2023-05-03
05:00
[91303fb4ee] part of check-in [9350a25ac0] Do not overflow the Index.aSample[] array if the same index appears in the sqlite_stat4 table under multiple names because it is a WITHOUT ROWID primary key index. Forum post 537d8ab118df7edd (check-in: [9350a25ac0] user: drh branch: trunk, size: 244373)
2023-05-02
21:26
[ca45f044fc] part of check-in [d08fa7d4d2] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [d08fa7d4d2] user: drh branch: reuse-schema, size: 246119)
21:10
[cc614f14f9] part of check-in [6f22c7679f] Update this branch with latest changes from trunk. (check-in: [6f22c7679f] user: dan branch: begin-concurrent, size: 244980)
2023-05-01
20:09
[ef0268eeba] part of check-in [62d703d83c] The gcc definition of the SQLITE_INLINE macro is not compatible with string ANSI, so disable it if the -std=c89 command-line option is used. (check-in: [62d703d83c] user: drh branch: trunk, size: 244301)
2023-04-30
20:37
[6766b36c21] part of check-in [9be2c87518] Accept the full ECMAScript 5.1 IdentifyName syntax for keys in objects. (check-in: [9be2c87518] user: drh branch: json5, size: 244273)
2023-04-10
18:44
[bf15f7db63] part of check-in [4c5a3c5fb3] New assert() statements to validate the parameters to sqlite3BtreeCursorHint(). Fix a problem with the construction of those parameters discovered by forum post 0b53708c95. (check-in: [4c5a3c5fb3] user: drh branch: trunk, size: 244022)
2023-04-07
15:07
[a605bcdaf9] part of check-in [203a581a91] Tweaks to the new insertCellFast(). (check-in: [203a581a91] user: drh branch: btree-freespace-opt, size: 243941)
14:33
[b2e1fb7dc1] part of check-in [f225afd90c] Clone insertCell() into insertCellFast() for use by sqlite3BtreeInsert() for a substantial performance increase. (check-in: [f225afd90c] user: drh branch: btree-freespace-opt, size: 243846)
2023-04-03
15:01
[899781baef] part of check-in [bcd51abee0] Add the SQLITE_VTAB_USES_ALL_SCHEMAS option to sqlite3_vtab_config(). Update the sqlite_dbpage, sqlite_dbdata, and sqlite_dbptr virtual tables to make use of that interface. This was formerly handled by the internal sqlite3VtabUsesAllSchemas() routine that was called directly from sqlite_dbpage. But since sqlite_dbdata and sqlite_dbptr are an extension, an external interface to that functionality had to be provided. dbsqlfuzz 1a29c245175a63393b6a78c5b8cab5199939d6a8 (check-in: [bcd51abee0] user: drh branch: trunk, size: 243716)
2023-04-01
15:51
[f0edd1cd31] part of check-in [a4fb2864fe] Fix harmless compiler warnings. (check-in: [a4fb2864fe] user: drh branch: trunk, size: 243775)
2023-03-29
16:28
[5291d87b9c] part of check-in [248bf62945] Merge recent trunk fixes into the nan-inf branch. (check-in: [248bf62945] user: drh branch: nan-inf, size: 243770)
2023-03-28
11:21
[fc2e4e97fa] part of check-in [b49816fcce] Fix multiple problems with RETURNING on a DML statement against a view. (1) Do not allow a RETURNING clause to trick the code generator into thinking that the view being updated has an INSTEAD OF trigger. (2) Generate all result columns for a view in a DML statement. (3) The automatic covering index for a view should cover all result columns of the view. (check-in: [b49816fcce] user: drh branch: branch-3.41, size: 243442)
11:18
[2a3331b16b] part of check-in [c8bedef0d6] Fix multiple problems with RETURNING on a DML statement against a view, all inspired by forum post dc3b92cfa0. (1) Do not allow a RETURNING clause to trick the code generator into thinking that the view being updated has an INSTEAD OF trigger. (2) Generate all result columns for a view in a DML statement. (3) The automatic covering index for a view should cover all result columns of the view. (check-in: [c8bedef0d6] user: drh branch: trunk, size: 243710)
2023-03-27
13:10
[059c8784af] part of check-in [636f6fad8d] Improvements to register allocation, especially in the ANALYZE command. New assert() statements added to help verify that memory allocation is correct, and to help fuzzer find lingering errors. (check-in: [636f6fad8d] user: drh branch: branch-3.41, size: 243437)
2023-03-26
16:36
[8dab239c6d] part of check-in [6f8b97f31a] Improvements to register allocation, especially in the ANALYZE command. New assert() statements added to help verify that memory allocation is correct, and to help fuzzer find lingering errors. (check-in: [6f8b97f31a] user: drh branch: trunk, size: 243705)
2023-03-22
20:21
[33d4aff63f] part of check-in [96ec830645] 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: [96ec830645] user: drh branch: nan-inf, size: 243679)
13:47
[eda83f827e] part of check-in [995fa4d09d] Merge the 3.41.2 patch into the reuse-schema-3.41 subbranch of reuse-schema (check-in: [995fa4d09d] user: drh branch: reuse-schema-3.41, size: 245169)
13:35
[b3fe8b9c00] part of check-in [b7a144c499] Merge the 3.41.2 patches into the bedrock-3.41 subbranch of bedrock. (check-in: [b7a144c499] user: drh branch: bedrock-3.41, size: 243970)
2023-03-17
00:10
[7bedd33b17] part of check-in [9b43b34d81] Fix assert() statements that would (incorrectly) fire if an IF NOT EXISTS trigger that already exists contained two or more RETURNING clauses. (check-in: [9b43b34d81] user: drh branch: branch-3.41, size: 243351)
00:01
[ee87a8982f] part of check-in [648899e4de] Fix assert() statements that would (incorrectly) fire if an IF NOT EXISTS trigger that already exists contained two or more RETURNING clauses. Tickets [89d259d45b855a0d] and [d15b3a4ea901ef0d]. (check-in: [648899e4de] user: drh branch: trunk, size: 243619)
2023-03-15
18:05
[e6f8331d9d] part of check-in [25e1831885] Disallow the one-pass optimization for DELETE if the WHERE clause contains a subquery. (check-in: [25e1831885] user: drh branch: branch-3.41, size: 243247)
17:58
[3c96ed2651] part of check-in [73f0036f04] Disallow the one-pass optimization for DELETE if the WHERE clause contains a subquery. Fix for the problem reported by forum post e61252062c9d286d. This fix is more restrictive than necessary. It could be relaxed if the subquery does not involve the table that is the subject of the DELETE. (check-in: [73f0036f04] user: drh branch: trunk, size: 243515)
2023-03-10
12:47
[98f1d41347] part of check-in [2780cc9f8b] Merge the 3.41.1 patches into the bedrock branch. (check-in: [2780cc9f8b] user: drh branch: bedrock-3.41, size: 243877)
00:59
[e877f1966f] part of check-in [af08bd3e6e] Merge the branch-3.41 patches into the reuse-schema branch. (check-in: [af08bd3e6e] user: drh branch: reuse-schema-3.41, size: 245076)
2023-03-03
19:47
[107157709d] part of check-in [65ffee2347] Do not use an expression index on a generated column if generated column has the wrong affinity. (check-in: [65ffee2347] user: drh branch: branch-3.41, size: 243258)
15:12
[34034353de] part of check-in [e95439119a] Do not use an expression index on a generated column if generated column has the wrong affinity. dbsqlfuzz 65f5eb57f8859344d5f1f33e08c77ee12960ed83 (check-in: [e95439119a] user: drh branch: trunk, size: 243526)
2023-02-28
20:04
[87bcbb5e08] part of check-in [a63e4a150b] Change the name of SQLITE_DBCONFIG_STMT_SCANSTATS to SQLITE_DBCONFIG_STMT_SCANSTATUS. (check-in: [a63e4a150b] user: dan branch: trunk, size: 243461)
19:39
[e40980dd50] part of check-in [0f5579bef2] 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: [0f5579bef2] user: dan branch: trunk, size: 243460)
2023-02-23
14:22
[cb7182dcdc] part of check-in [e1702eb48d] Allow the sqlite3_config() interface to be invoked at any time for a few choosen options: SQLITE_CONFIG_LOG, SQLITE_CONFIG_URI, and SQLITE_CONFIG_PCACHE_HDRSZ. This list will likely change before release. (check-in: [e1702eb48d] user: drh branch: anytime-config, size: 243227)
2023-02-18
21:59
[23273d1050] part of check-in [38fc1d3dfc] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [38fc1d3dfc] user: drh branch: reuse-schema, size: 245011)
21:52
[dba61730ba] part of check-in [73e9f8d0bf] Merge the lastest trunk code into the bedrock branch. (check-in: [73e9f8d0bf] user: drh branch: bedrock, size: 243812)
21:35
[569ba413ef] part of check-in [6fb8bb2e8f] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [6fb8bb2e8f] user: drh branch: begin-concurrent, size: 243872)
2023-02-16
19:04
[6b3d76b7d9] part of check-in [57a4e91f43] Back-port omit-unused-subquery-column enhancements into the 3.28 branch. (check-in: [57a4e91f43] user: drh branch: branch-3.28, size: 204390)
18:04
[25f38ade2d] part of check-in [6b1a1f374d] Provide an optimization-disable mask for this optimization. Do not do the optimization if the subquery is an aggregate or is distinct, but allow it to be an ephemeral subquery. Do not omit columns that are used in the ORDER BY of the subquery. (check-in: [6b1a1f374d] user: drh branch: omit-unused-subquery-columns, size: 243274)
2023-02-08
20:29
[4dcc36b21d] part of check-in [4a145f0732] Back out the 'txn' enhancement to date/time functions. The duration of a "transaction" is confused and needs to be straightened out prior to moving forward with this change. (check-in: [4a145f0732] user: drh branch: trunk, size: 243193)
17:28
[79cc348476] part of check-in [6647d1cb8b] Always use 64-bit integers for stats associated with STAT1 and STAT4. (check-in: [6647d1cb8b] user: drh branch: trunk, size: 243270)
2023-02-07
23:55
[859e193140] part of check-in [d3bed4caff] Simplify the code and add test cases. (check-in: [d3bed4caff] user: drh branch: txn-date, size: 243573)
21:55
[459e7dc393] part of check-in [5e4f45af96] Add support for the 'txn' argument to date/time functions that works like 'now' but keeps the same time for the entire transaction. (check-in: [5e4f45af96] user: drh branch: txn-date, size: 243623)
15:29
[de7267b75b] part of check-in [4d21640c58] Merge latest trunk changes into this branch. (check-in: [4d21640c58] user: dan branch: reuse-schema, size: 245314)
2023-02-06
17:35
[19654882e3] part of check-in [46e79167b9] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [46e79167b9] user: drh branch: begin-concurrent, size: 244175)
2023-02-02
14:27
[179393f827] part of check-in [5a22010c35] Merge latest enhancments into this branch from branch wal2. (check-in: [5a22010c35] user: dan branch: begin-concurrent-pnu-wal2, size: 244115)
2023-01-12
19:51
[43eeee1ea8] part of check-in [0546165159] Fix sqlite3_prepare() so that it only invokes the progress handler on every N-th call to sqlite3ProgressCheck(), where N is the progress handler step count. Also fix faulty asserts exposed by the ability to interrupt in the middle of sqlite3_prepare(). (check-in: [0546165159] user: drh branch: progress-during-prepare, size: 243496)
19:43
[2b3b552db5] part of check-in [deb26d034b] Merge latest trunk changes, including fixes for RBU pass-through mode, with this branch. (check-in: [deb26d034b] user: dan branch: reuse-schema, size: 245158)
13:25
[d817f813a6] part of check-in [79636f2d80] Attempt to provide a mechanism to do early termination of long-running statement preparation by invoking the progress handler at strategic points during sqlite3_parpare(). This experiment shows that sqlite3_prepare() might leave the resulting prepared statement uninitialized following an interrupt. (check-in: [79636f2d80] user: drh branch: progress-during-prepare, size: 243375)
2023-01-09
12:01
[079ccd9c16] part of check-in [51a5d83c42] Fix JSON functions so that they work correctly under PRAGMA trusted_schema. Forum thread c88a671ad083d153. (check-in: [51a5d83c42] user: drh branch: trunk, size: 243340)
2023-01-04
11:58
[a91f9e4d07] part of check-in [f0ca57207e] Remove the unused "sqlite3StackAllocZero()" macro. (check-in: [f0ca57207e] user: drh branch: trunk, size: 242996)
2023-01-03
18:51
[e0c0fdb6a4] part of check-in [284382d378] Avoid an unnecessary call to strlen() in the sqlite3VdbeMemStringify() routine, for a performance increase and size reduction. (check-in: [284382d378] user: drh branch: trunk, size: 243119)
2022-12-23
14:49
[98bc12d319] part of check-in [c14bbe1606] Fix lots of harmless, nuisance compiler warnings, mostly unused parameter warnings in extensions. (check-in: [c14bbe1606] user: drh branch: trunk, size: 243120)
11:32
[281c83af21] part of check-in [a02e19dd6c] Squelch a new (and, in this case, harmless) compiler warning. (check-in: [a02e19dd6c] user: stephan branch: trunk, size: 243124)
2022-12-21
21:01
[d71b6e65f9] part of check-in [1bfae9b3c6] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [1bfae9b3c6] user: drh branch: reuse-schema, size: 244934)
20:43
[8591475240] part of check-in [bcab19d21b] Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [bcab19d21b] user: drh branch: begin-concurrent-pnu-wal2, size: 243735)
20:17
[4fc61615b0] part of check-in [397fb07bb4] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [397fb07bb4] user: drh branch: begin-concurrent-report, size: 244944)
20:07
[0bb7efbc27] part of check-in [0c198aee53] Update the begin-concurrent branch with the latest enhancements on trunk. (check-in: [0c198aee53] user: drh branch: begin-concurrent, size: 243795)
19:11
[da23a13868] part of check-in [371f9b8838] More efficient implementation of large precisions on the "%c" format for the built-in printf(). This is an effort to avoid a reported timeout on a (ridiculous) query generated by OSSFuzz. (check-in: [371f9b8838] user: drh branch: trunk, size: 243116)
2022-12-20
01:48
[3a1e92597b] part of check-in [f113eebdbe] Do not use indexed expressions to replace the expression being indexed on a RIGHT JOIN as that leads to problems, as shown by dbsqlfuzz a644e70d7683a7ca59c71861a153c1dccf8850b9. (check-in: [f113eebdbe] user: drh branch: trunk, size: 243116)
2022-12-15
20:03
[4bcf6f13b8] part of check-in [44135d6ea8] 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: [44135d6ea8] user: drh branch: trunk, size: 243013)
2022-12-14
17:52
[58dac6ab13] part of check-in [ea278438b7] Merge all the latest trunk enhancements into the coroutines-exp2 enhancement branch. (check-in: [ea278438b7] user: drh branch: coroutines-exp2, size: 242969)
14:41
[0c93dfce0e] part of check-in [6ebb178c6b] If the SELECT that implements a subquery or a VIEW or a CREATE TABLE AS is a compound with different result datatypes on two or more arms of the compound, then the overall column type becomes BLOB (ANY). (check-in: [6ebb178c6b] user: drh branch: refactor-subquery-types, size: 242820)
09:06
[347989e316] part of check-in [fe5a77bcc4] 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: [fe5a77bcc4] user: drh branch: refactor-subquery-types, size: 242776)
2022-12-13
15:54
[fc21fb942f] part of check-in [4dfb1b450b] Refactor the sqlite3SelectAddColumnTypeAndCollation() routine. Improved comments. Now called sqlite3SubqueryColumnTypes(). (check-in: [4dfb1b450b] user: drh branch: refactor-subquery-types, size: 242800)
2022-12-09
18:26
[ef0c1af2d7] part of check-in [78723a9a7e] Remove the SQLITE_PREPARE_SAFEOPT flag. The name is obsolete and it is at the wrong level. Instead use the SF_UpdateFrom flags on the Select object. (check-in: [78723a9a7e] user: drh branch: coroutines-exp2, size: 242961)
2022-12-06
15:24
[5a91a427ab] part of check-in [e2318a30bf] Simplified experimental changes to promote the use of co-routines. Less cruft than the coroutines-exp1 branch, but still does not work. Checked in as a work-in-progress. (check-in: [e2318a30bf] user: drh branch: coroutines-exp2, size: 242886)
2022-12-02
20:32
[0c9934acd8] part of check-in [5580083364] Enhance the sqlite3_stmt_scanstatus() API and add sqlite3_stmt_scanstatus_v2(). For creation of easier to read query performance reports. (check-in: [5580083364] user: dan branch: scanstatus_v2, size: 242812)
2022-11-30
19:11
[4ddd98e423] part of check-in [8ec361695a] Attempt to rationalize the bits associated with ".wheretrace". Provide a decoder key in sqliteInt.h for what each bit is intended to do. (check-in: [8ec361695a] user: drh branch: trunk, size: 242764)
2022-11-29
17:52
[a8d507577c] part of check-in [f64a224244] 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: [f64a224244] user: drh branch: trunk, size: 241819)
2022-11-25
13:08
[5dd5d3d47f] part of check-in [5200b84195] Improved comments. Add assert()s to verify that the AggInfo structure is unchanged after registers have been assigned. (check-in: [5200b84195] user: drh branch: agg-with-indexed-expr, size: 241712)
2022-11-23
17:56
[f4917d6631] part of check-in [84c06023f4] This attempt at modifying AggInfo to make use of indexed expressions does not work. It gets an incorrect answer for the test case shown in the ticket. (check-in: [84c06023f4] user: drh branch: agg-with-indexed-expr, size: 241435)
2022-11-22
20:58
[894f7d98b1] part of check-in [f8932e04d4] Merge enhancements and fixes from trunk. (check-in: [f8932e04d4] user: drh branch: agg-with-indexed-expr, size: 241501)
19:56
[6a24230f29] part of check-in [db07471c53] Include the treetrace bitmap comment accidentally omitted from the previous check-in. (check-in: [db07471c53] user: drh branch: trunk, size: 241406)
19:51
[35db0abe8e] part of check-in [070634781a] Merge trunk fixes and enhancements into the agg-with-indexed-expr branch. (check-in: [070634781a] user: drh branch: agg-with-indexed-expr, size: 240488)
19:49
[3bdf90cb75] part of check-in [8036445a36] Rename the SELECTTRACE macro to TREETRACE, so that is corresponds to the new CLI command. Renumber all of the bits in the bitmask used to enable various kinds of tracing, and add a trace bitmap decoder in sqliteInt.h. Changes to debugging logic only. No (intentional) changes to production code. (check-in: [8036445a36] user: drh branch: trunk, size: 240459)
15:43
[fd60519592] part of check-in [dc5bd34963] Since the memory registers used by the columns and functions of an AggInfo object are sequential, it is not neecessary to remember each register separately. We can simply remember the first one and do the math when others are needed. (check-in: [dc5bd34963] user: drh branch: agg-with-indexed-expr, size: 240492)
14:31
[a16a36f7b2] part of check-in [d79c58ef08] Omit the unnecessary AggInfo.mnReg field. (check-in: [d79c58ef08] user: drh branch: agg-with-indexed-expr, size: 240383)
13:33
[62ff4e899d] part of check-in [cba837eae9] This is the first in what is anticipated to be a long sequence of incremental changes aimed at improving aggregate query processing, and in particular helping aggregate queries take better advantage of indexes on expression. The end goal is to resolve ticket [99378177930f87bd], though it remains to be seen whether or not I can get there with this approach. (check-in: [cba837eae9] user: drh branch: agg-with-indexed-expr, size: 240464)
2022-11-21
16:40
[42bcbb6ceb] part of check-in [a2962d0187] Change the name of the Parse.pIdxExpr field to pIdxEpr so that the name is distinct from all other identifiers in the code and thus less confusing. (check-in: [a2962d0187] user: drh branch: trunk, size: 240463)
2022-11-19
00:08
[1a2cec0f76] part of check-in [ff494449ef] Databases created using sqlite3_deserialize() should report their filename as an empty string, not as "x". Fix for ticket [53043c9793715f08]. (check-in: [ff494449ef] user: drh branch: trunk, size: 240464)
2022-11-18
17:50
[d924a3cbfc] part of check-in [186db57d26] Add the SQLITE_DBCONFIG_LENIENT_JSON configuration option. Modify the built-in JSON routines such that when this setting is active, arguments that that ought to be JSON but still give a reasonable result (ex: NULL) rather than raising an error. (check-in: [186db57d26] user: drh branch: lenient-json, size: 240470)
2022-11-05
17:52
[583cf2d098] part of check-in [fe44e7ef53] Fix harmless compiler warnings. (check-in: [fe44e7ef53] user: drh branch: reuse-schema, size: 242207)
15:31
[d5094a93de] part of check-in [224eaf2622] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [224eaf2622] user: drh branch: reuse-schema, size: 242197)
2022-11-04
19:09
[db84679419] part of check-in [aa2e247b58] Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [aa2e247b58] user: drh branch: begin-concurrent-pnu-wal2, size: 241008)
18:47
[dee38fa7f5] part of check-in [d8568a848a] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [d8568a848a] user: drh branch: begin-concurrent-report, size: 242217)
18:33
[ca227b8596] part of check-in [b361ee983c] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [b361ee983c] user: drh branch: begin-concurrent, size: 241068)
2022-11-01
12:01
[2c24ba38f7] part of check-in [a3a500127d] Improvements to comments. Change the "optimization_control" TCL command in the test harness so that it returns the new optimization mask, for verification. (check-in: [a3a500127d] user: drh branch: tkt-57c47526, size: 240389)
00:52
[960d80f443] part of check-in [b6692de374] Enforce column affinity on the materialization of a subquery or view. (check-in: [b6692de374] user: drh branch: tkt-57c47526, size: 240373)
2022-10-26
11:11
[2449c9ea29] part of check-in [3dfdfb3f12] Remove the sqlite3StdTypeMap global constant that was made obsolete by [aa6e908619624867]. (check-in: [3dfdfb3f12] user: drh branch: trunk, size: 240319)
2022-10-24
21:58
[b12ab310ee] part of check-in [80fbb30f28] This check-in attempts to make the SrcItem object smaller by combining the zDatabase and pSchema fields into a single union. It mostly works, but there are some issues, and the performance savings is minimal. So it is side-tracked onto this dead-end branch. (check-in: [80fbb30f28] user: drh branch: failed-opt-attempt, size: 240457)
18:42
[9a40d5b075] part of check-in [f65c95658f] Fix typo in comment. (check-in: [f65c95658f] user: drh branch: trunk, size: 240358)
18:33
[666631a1b7] part of check-in [69d704224e] Add a comment to a previously undescribed member of the Walker union. (check-in: [69d704224e] user: drh branch: trunk, size: 240358)
13:50
[c3ee9809b0] part of check-in [3d1992de47] Improve the ability of the query planner to recognize covering indexes even on tables with more than 63 columns and where the index is over columns beyond the 63rd column. (check-in: [3d1992de47] user: drh branch: branch-3.28, size: 204337)
2022-10-22
20:13
[18590a040a] part of check-in [1390417be4] Enhance the query planner with the ability to discern when an index is covering even when it indexes columns well beyond the 63rd column. (check-in: [1390417be4] user: drh branch: covering-index-enh, size: 240302)
13:49
[36f456f599] part of check-in [d96f6cc847] Clarification on the meaning of SrcList and SrcItem and especially the SrcItem.colUsed and Index.colNotIdxed fields. Comment changes only - no changes to code. (check-in: [d96f6cc847] user: drh branch: trunk, size: 240260)
2022-10-21
20:12
[449848d59d] part of check-in [5dd7858820] Begin transitioning the fixed-length (64-bit) bitmap used to keep track of the subset of columns of a table that are used by a query into a more general structure that can work with wide tables. Experimental. (check-in: [5dd7858820] user: drh branch: column-set, size: 240079)
2022-10-20
16:30
[ce8bf54321] part of check-in [56df1482ab] Add a bit to the optimization disabling mask for the indexed expression optimization. (check-in: [56df1482ab] user: drh branch: trunk, size: 239805)
13:36
[f4f3ae8be1] part of check-in [56442c9bdd] The generalized indexed expression optimization of [2435112867fbd7b6] makes the prior [a47efb7c8520a011] enhancement from 2017 obsolete. This check-in removes the older optimization. (check-in: [56442c9bdd] user: drh branch: trunk, size: 239726)
2022-10-19
11:22
[d748774587] part of check-in [3da1032878] If a query uses an index where one or more of the columns of the index is an expression and if the corresponding expression is used elsewhere in the query, then strive to read the value of the expression out of the index, rather than recomputing it. This is the "Indexed Expression Optimizations". (check-in: [3da1032878] user: drh branch: branch-3.28, size: 204206)
2022-10-18
20:27
[872ab50cc2] part of check-in [bf6d837fdd] Improved byte-code comments for the OP_Column opcodes used by the indexed expression optimization. (check-in: [bf6d837fdd] user: drh branch: index-expr-opt, size: 239745)
2022-10-17
14:46
[ed402c12a8] part of check-in [8f460b3b15] Improved comments and function names. No logic changes. (check-in: [8f460b3b15] user: drh branch: index-expr-opt, size: 239621)
14:29
[2a182a906a] part of check-in [56ef97e64e] Merge trunk enhancements into index-expr-opt branch. (check-in: [56ef97e64e] user: drh branch: index-expr-opt, size: 239393)
10:15
[27916b91f3] part of check-in [4575247152] Make use of alloca() in wherePathSolver() when SQLITE_USE_ALLOCA is defined. (check-in: [4575247152] user: drh branch: trunk, size: 238408)
2022-10-15
11:27
[30e6fdc957] part of check-in [08b033c737] Only extract an expression from an index when the index is not a null row in an outer join. (check-in: [08b033c737] user: drh branch: index-expr-opt, size: 239192)
2022-10-13
21:08
[a856afa8ff] part of check-in [2e8d4fd4cf] This experimental branch attempts to use columns for an index-on-expression in place of the expression that is being indexed. This particular check-in mostly works, but there are still issues. (check-in: [2e8d4fd4cf] user: drh branch: index-expr-opt, size: 239122)
2022-10-12
16:35
[d15694b228] part of check-in [5e1848ce38] Merge trunk into fiddle-opfs as a preliminary step for a clean merge in the other direction. (check-in: [5e1848ce38] user: stephan branch: fiddle-opfs, size: 238207)
2022-10-04
10:35
[1d27d00dca] part of check-in [897e187cad] Change the name of the autoconf-generated configuration file from "config.h" to "sqlite_cfg.h" to work around a bug in a dependency checker, reported in a tweet from Joey Castillo. (check-in: [897e187cad] user: drh branch: trunk, size: 238118)
2022-10-01
13:45
[13e1876c46] part of check-in [64ebcbe416] Merge trunk into fiddle-opfs branch. (check-in: [64ebcbe416] user: stephan branch: fiddle-opfs, size: 238203)
13:28
[89f9576803] part of check-in [c8d77f3980] Merge the Parse.prepFlags change from trunk. (check-in: [c8d77f3980] user: drh branch: stmt-cache, size: 238484)
13:17
[7571703e6d] part of check-in [b7da0bcdf7] Replace the Parse.disableVtab field with Parse.prepFlags for increased generality, a small size reduction, and a small performance increase. (check-in: [b7da0bcdf7] user: drh branch: trunk, size: 238114)
12:00
[e36fd30282] part of check-in [7812aea6ea] Merge the latest trunk enhancements into the stmt-cache branch. (check-in: [7812aea6ea] user: drh branch: stmt-cache, size: 238503)
2022-09-30
14:14
[3bbbcedb67] part of check-in [b119a5e896] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [b119a5e896] user: drh branch: reuse-schema, size: 239941)
14:04
[c9b07e3a55] part of check-in [68a61513f9] Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [68a61513f9] user: drh branch: begin-concurrent-pnu-wal2, size: 238752)
13:42
[8b42e08750] part of check-in [4d6141f32d] Merge the latest trunk changes into the begin-concurrent-report branch (check-in: [4d6141f32d] user: drh branch: begin-concurrent-report, size: 239961)
13:29
[45d92bb022] part of check-in [ba2539f6de] Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: [ba2539f6de] user: drh branch: begin-concurrent, size: 238812)
2022-09-28
17:10
[7bba148584] part of check-in [cf0999d4f8] Prototype implementation of "PRAGMA reset_database". This pragma differs from SQLITE_DBCONFIG_RESET_DATABASE in that the pragma only works if the database is reasonably well-formed, whereas the dbconfig works regardless. (check-in: [cf0999d4f8] user: drh branch: reset-database, size: 238138)
2022-09-17
18:29
[587be0322b] part of check-in [852812d1e2] Include the kv-vfs as an optional VFS on unix builds if the SQLITE_OS_KV_OPTIONAL compile-time option is present. (check-in: [852812d1e2] user: drh branch: kv-vfs, size: 238222)
2022-09-10
18:20
[44eb45c25d] part of check-in [f6632e69c2] Move the vfskv.c extension to src/os_kv.c and make it part of the amalgamation, activated if and only if SQLITE_OS_KV is true. (check-in: [f6632e69c2] user: drh branch: kv-vfs, size: 238133)
2022-09-05
13:36
[e938d47c07] part of check-in [efd54164b0] Merge patches for version 3.39.3 into the reuse-schema-3.39 branch. (check-in: [efd54164b0] user: drh branch: reuse-schema-3.39, size: 239809)
12:39
[96015cf7d0] part of check-in [31304de83e] Version 3.39.3 patches applied to the begin-concurrent branch. (check-in: [31304de83e] user: drh branch: begin-concurrent-3.39, size: 238680)
2022-09-02
12:12
[9491831b5f] part of check-in [34c6ec3989] Mutex protect access to the sqlite3_test_directory and sqlite3_data_directory global variables. See forum thread 719a11e1314d1c70. (check-in: [34c6ec3989] user: drh branch: branch-3.39, size: 238001)
11:45
[94e7fc2a5f] part of check-in [8e6ad3a3e9] Mutex protect access to the sqlite3_test_directory and sqlite3_data_directory global variables. See forum thread 719a11e1314d1c70. (check-in: [8e6ad3a3e9] user: drh branch: trunk, size: 238133)
11:12
[a46ea998c6] part of check-in [ebbe9634d6] Improved mutex protection of the sqlite3_temp_directory and sqlite3_data_directory global variables. (check-in: [ebbe9634d6] user: drh branch: tempdir-mutex, size: 238167)
00:36
[9c46510e10] part of check-in [5ee3515fbb] Experimental changes to put sqlite3_temp_directory behind a mutex. (check-in: [5ee3515fbb] user: drh branch: tempdir-mutex, size: 238132)
2022-08-24
17:55
[71316870f7] part of check-in [c217b763b1] First attempt at adding a built-in prepared statement cache. This is mostly working, but still has a few obscure faults. (check-in: [c217b763b1] user: drh branch: stmt-cache, size: 238367)
2022-08-22
16:30
[9d3fe16425] part of check-in [9c05a48ee0] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [9c05a48ee0] user: drh branch: reuse-schema, size: 239805)
16:08
[1a1030b304] part of check-in [dde76e91d3] Merge all recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: [dde76e91d3] user: drh branch: begin-concurrent-pnu-wal2, size: 238616)
15:48
[3849b1be5a] part of check-in [2ec6e9e134] Merge all recent trunk enhancements into the begin-concurrent-report branch. (check-in: [2ec6e9e134] user: drh branch: begin-concurrent-report, size: 239825)
15:42
[9c2801376f] part of check-in [7eac6136ab] Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: [7eac6136ab] user: drh branch: begin-concurrent, size: 238676)
15:18
[ebf18764e4] part of check-in [c296a9d958] Performance enhancement for sqlite3DbFree(). (check-in: [c296a9d958] user: drh branch: trunk, size: 237997)
02:00
[51ccf8da51] part of check-in [e5eaa80e81] Add the new internal interface sqlite3DbNNFreeNN(db,ptr) where both the db and ptr parameters are guaranteed to be non-NULL. Use this where appropriate to save more than 2 million CPU cycles on the standard performance test. (check-in: [e5eaa80e81] user: drh branch: trunk, size: 237920)
2022-08-10
17:03
[3d599ca877] part of check-in [ba6bf33147] Merge the branch-3.28a fixes into branch-3.28. (check-in: [ba6bf33147] user: drh branch: branch-3.28, size: 202869)
2022-08-08
16:25
[3ae1d20f57] part of check-in [3518cd7cb1] Avoid trying to cast an over-sized floating point value into an integer. (check-in: [3518cd7cb1] user: drh branch: trunk, size: 237879)
2022-07-25
11:19
[373b51eb92] part of check-in [dbe522b011] If the LHS of a LEFT JOIN is flattened into an aggregate parent query, avoid executing OP_IfNullRow on an unopened cursor by disallowing the index-only optimization. (Later:) Does not work if automatic indexes are disabled. (check-in: [dbe522b011] user: dan branch: nonworking-flatten-left-join, size: 237930)
2022-07-22
19:28
[c97b6351db] part of check-in [28934a9d92] Omit the EP_MemToken flag that was made obsolete by [e1f1cfe7f4387b60], for a size reduction and performance increase. (check-in: [28934a9d92] user: drh branch: trunk, size: 237849)
2022-07-21
16:07
[1ed35df2b3] part of check-in [578538baf2] Merge the fixes from branch-3.39 into the reuse-schema branch. (check-in: [578538baf2] user: drh branch: reuse-schema-3.39, size: 239673)
2022-07-11
18:26
[059d5a017e] part of check-in [4d6f907712] Fix harmless compiler warnings about unused debugging functions in treeview.c. (check-in: [4d6f907712] user: drh branch: trunk, size: 237865)
2022-06-28
21:52
[1c15f191da] part of check-in [77fe737610] Merge latest fixes from begin-concurrent-pnu-wal2 branch. (check-in: [77fe737610] user: dan branch: begin-concurrent-report-wal2, size: 239604)
2022-06-16
13:57
[e0c6c4b30a] part of check-in [7f405fe209] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [7f405fe209] user: drh branch: reuse-schema, size: 239644)
13:56
[a79c2ba968] part of check-in [82e7e83601] Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [82e7e83601] user: drh branch: begin-concurrent-pnu-wal2, size: 238455)
13:44
[0a104fc310] part of check-in [8b446d0b85] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [8b446d0b85] user: drh branch: begin-concurrent-report, size: 239664)
13:37
[38a25ea450] part of check-in [221e07ed78] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [221e07ed78] user: drh branch: begin-concurrent, size: 238515)
2022-06-08
15:30
[8353e96646] part of check-in [c585d6a467] Add restriction (29) to the query flattener - do not allow flattening that would leave both EP_InnerON and EP_OuterON constraints on the same join term. (check-in: [c585d6a467] user: drh branch: right-join-query-flattener, size: 237836)
2022-06-01
11:05
[bc88540ae4] part of check-in [1c9812c458] Move the sqlite_offset() function implementation to be an in-line function, thereby avoiding special case code and freeing up a bit in the FuncDef.flags field. (check-in: [1c9812c458] user: drh branch: trunk, size: 237764)
2022-05-28
15:01
[10e20c29c7] part of check-in [4d46296ef6] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [4d46296ef6] user: drh branch: reuse-schema, size: 239544)
14:51
[cb829a6fa2] part of check-in [4d65f45b31] Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [4d65f45b31] user: drh branch: begin-concurrent-pnu-wal2, size: 238355)
14:32
[8e1c8cb40d] part of check-in [034d2c511a] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [034d2c511a] user: drh branch: begin-concurrent-report, size: 239564)
14:25
[17a9c6f74e] part of check-in [d6f6ee5cbc] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [d6f6ee5cbc] user: drh branch: begin-concurrent, size: 238415)
2022-05-21
18:03
[3064533677] part of check-in [16bf350683] Defer materializing a view or subquery until the materialization is actually needed, so that if it is not needed, not useless work is performed. (check-in: [16bf350683] user: drh branch: deferred-materialize, size: 237736)
2022-05-17
15:33
[66cfd348a3] part of check-in [495f0353db] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [495f0353db] user: drh branch: reuse-schema, size: 239479)
2022-05-13
19:50
[fbe2d12cc1] part of check-in [12ee29d632] Walk back the optimization from check-in [cc458317bd77046c] that tries to reuse the same ephemeral cursor of a list subquery when that subquery is reused, as it does not work in cases where the list subquery is used both for lookups and for scans. (check-in: [12ee29d632] user: drh branch: trunk, size: 237671)
16:38
[1f9e228f1b] part of check-in [6f741d6cfb] Redefine the acccess rules for the Expr.w union so that the Expr.w.iJoin member is accessible on either EP_OuterON or EP_InnerON. (check-in: [6f741d6cfb] user: drh branch: trunk, size: 237739)
14:52
[ba4057968a] part of check-in [1ffea07ff9] Improved names for flags on the Expr object: EP_FromJoin becames EP_OuterON and EP_InnerJoin becomes EP_InnerON. (check-in: [1ffea07ff9] user: drh branch: trunk, size: 237737)
2022-05-10
13:06
[566cf59250] part of check-in [9f6d6e6135] Merge all recent trunk changes into the reuse-schema branch. (check-in: [9f6d6e6135] user: drh branch: reuse-schema, size: 239548)
12:45
[ae796a3902] part of check-in [d28af1f8a5] Merge the latest trunk enhancements into theh begin-concurrent-pnu-wal2 branch. (check-in: [d28af1f8a5] user: drh branch: begin-concurrent-pnu-wal2, size: 238359)
12:24
[08fccdb13b] part of check-in [e6b5224d71] Merge the latest trunk enhancements into the begin-concurrent-report branch. Had to restore the sqlite3VdbeSerialPut() routine that was removed in check-in [6f4d6f212a3558c2] when it was inlined because that routine is used again in a different place by this branch. (check-in: [e6b5224d71] user: drh branch: begin-concurrent-report, size: 239568)
12:00
[4ceabc7d6e] part of check-in [f65bd76760] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [f65bd76760] user: drh branch: begin-concurrent, size: 238419)
2022-05-09
21:57
[bf9d00e4c1] part of check-in [c013544116] Update this branch with latest changes from trunk, and the fts5 fix for "BEGIN CCONCURRENT" transactions. (check-in: [c013544116] user: dan branch: begin-concurrent-report-wal2, size: 235170)
2022-05-02
20:49
[7c8146fc57] part of check-in [5341d4bbe9] Organize the various flag bits of the ExprList_item object into a substructure so that the whole lot can be copied all at once. Faster and smaller code. (check-in: [5341d4bbe9] user: drh branch: right-join, size: 237740)
20:14
[850fea2046] part of check-in [e01f4c05c2] Merge trunk fixes into the right-join branch. (check-in: [e01f4c05c2] user: drh branch: right-join, size: 237706)
20:04
[de084be0bc] part of check-in [158b80bed6] Improved comments. (check-in: [158b80bed6] user: drh branch: right-join, size: 237643)
19:59
[73faf6b222] part of check-in [6f9c0b07aa] Name resolution and "*" wildcard expansion for parenthesized FROM clauses seems to work the same as PG. The code is chaos, however, and needs some cleanup. (check-in: [6f9c0b07aa] user: drh branch: right-join, size: 237518)
15:31
[3247ce8034] part of check-in [bcaa4a4474] Document (in comments) that the SQLITE_FlttnUnionAll bit has a specific value needed by TH3. (check-in: [bcaa4a4474] user: drh branch: trunk, size: 237400)
15:10
[3aaaf14804] part of check-in [afbcf075c1] Merge the latest trunk fixes and enhancements into the right-join branch. (check-in: [afbcf075c1] user: drh branch: right-join, size: 237491)
14:32
[b076cfab94] part of check-in [cc458317bd] Improvement on check-in [a193749730d6cfba] so that the subroutine call to the IN operator right-hand side generator from the RIGHT JOIN no-match logic does not generate unreachable byte code. (check-in: [cc458317bd] user: drh branch: trunk, size: 237337)
2022-04-29
17:13
[4092f9f239] part of check-in [293afa8111] Multiple enhancements to the TreeView output for SrcItem, cherrypicked from the right-join experimental branch. (check-in: [293afa8111] user: drh branch: trunk, size: 237269)
2022-04-28
18:17
[453038c918] part of check-in [3aafccb5c3] In treeview.c, show the columns of the table associated with each SrcItem. (check-in: [3aafccb5c3] user: drh branch: right-join, size: 237423)
12:52
[0266967fa7] part of check-in [3fd9706bba] Merge trunk enhancements into the right-join branch. (check-in: [3fd9706bba] user: drh branch: right-join, size: 237354)
2022-04-27
13:12
[f249dead22] part of check-in [436d0a5837] Merge the version 3.38.3 fixes into the reuse-schema-3.8 subbranch. (check-in: [436d0a5837] user: drh branch: reuse-schema-3.38, size: 235011)
13:00
[81f9fe2e2f] part of check-in [5590f0a4e6] Merge version 3.38.3 fixes onto the begin-concurrent-wal2-3.38 branch. (check-in: [5590f0a4e6] user: drh branch: begin-concurrent-wal2-3.38, size: 233822)
2022-04-25
21:21
[272c5ca0a1] part of check-in [4fbb9ffe72] Fix a problem with automatic indexes introduced by check-in [664b461bb5063d980] and reported by forum post 0d3200f4f3bcd3a3. (check-in: [4fbb9ffe72] user: drh branch: branch-3.38, size: 233203)
19:40
[11cd60560c] part of check-in [7ca3456c00] Failed first attempt to fix a problem with automatic indexes introduced by check-in [664b461bb5063d980] and reported by forum post 0d3200f4f3bcd3a3. I thought that I had tested this prior to check-in and that it worked. But after checking it in, I find that there are many test failures. (check-in: [7ca3456c00] user: drh branch: autoindex-fix, size: 237200)
14:59
[2ed6fde4c3] part of check-in [c0f9ebab54] Add a new optimizer disabling bit to disable just the UNION ALL branch of the query flattener. (check-in: [c0f9ebab54] user: drh branch: trunk, size: 237144)
2022-04-23
07:29
[1805e81219] part of check-in [3a6b0db451] Fix minor problems with the new join table name resolution logic. (check-in: [3a6b0db451] user: drh branch: right-join-colnames, size: 237219)
2022-04-22
23:18
[6b76dd4bb8] part of check-in [c3a427575f] Add the ability to access the USING columns of the right or left tables of an OUTER JOIN even if the OUTER JOIN is in parentheses. Prototype code only. (check-in: [c3a427575f] user: drh branch: right-join-colnames, size: 237126)
2022-04-21
12:11
[7baf404c44] part of check-in [6b326b3bcf] Further attempts to get name resolution to work correctly with parenthisized FROM clauses. Work-in-progress. Lots of crashes and wrong answers. (check-in: [6b326b3bcf] user: drh branch: right-join-paren, size: 237131)
2022-04-20
15:07
[36b5d1cce1] part of check-in [0da2232624] Improved tracking of nested SELECT objects used to implement parenthensized FROM terms. (check-in: [0da2232624] user: drh branch: right-join, size: 237065)
2022-04-19
19:51
[f1c2ad8969] part of check-in [e0744da95f] Improved comment on the JF_LTORJ constant definition. (check-in: [e0744da95f] user: drh branch: right-join, size: 236753)
2022-04-18
19:48
[e748c98555] part of check-in [5bcf4aa3bf] Disable the unused EU4_EXPR mode for the IdList object. (check-in: [5bcf4aa3bf] user: drh branch: right-join, size: 236687)
2022-04-16
19:13
[afec51781b] part of check-in [6d5d6e0403] Since the query planner is unable to cope with a LEFT JOIN on the left-hand side of a RIGHT JOIN, detect that situation early and raise a parsing error. This is a temporary measure that needs to be fixed. (check-in: [6d5d6e0403] user: drh branch: right-join, size: 236653)
2022-04-15
18:30
[51b79f1db1] part of check-in [91530990e0] When expanding "*" in the result set of a SELECT, do not attach a table name to columns that are in subsequent USING clauses. (check-in: [91530990e0] user: drh branch: right-join-using, size: 236646)
15:47
[d0d71e92d3] part of check-in [40f3c95871] Enhance the IdList object to exist in a single memory allocation (rather than a separate allocate for the base object and the array of IDs). Also permit an IdList object to store an Expr pointer together with each name. (check-in: [40f3c95871] user: drh branch: right-join, size: 236570)
2022-04-14
16:34
[ce8d798a96] part of check-in [9b9038bcd0] Rerun the subroutines that compute row-values if necessary from within the RIGHT JOIN body subroutine. (check-in: [9b9038bcd0] user: drh branch: right-join, size: 236170)
2022-04-11
14:26
[cfdfe65eeb] part of check-in [d91faeffea] Show LEFT and RIGHT JOIN processing in the EXPLAIN QUERY PLAN output. (check-in: [d91faeffea] user: drh branch: right-join, size: 236095)
12:38
[fa220cb1b0] part of check-in [0f6f61c366] Make a distinction between (1) WHERE clause constraints, (2) ON/USING constraints on outer joins, and (3) ON/USING clause constraints on inner joins. Formerly, there was no distinctionb between 1 and 3, but RIGHT JOIN needs to know the difference. Make RIGHT JOIN aware of this difference and add test cases. (check-in: [0f6f61c366] user: drh branch: right-join, size: 236090)
11:48
[8a804f4024] part of check-in [29927926eb] Merge the Expr.w.iJoin name change from trunk into the right-join branch. (check-in: [29927926eb] user: drh branch: right-join, size: 236056)
11:25
[5260c849fd] part of check-in [e8c00442d2] Rename the Expr.w.iRightJoinTable to just Expr.w.iJoin, so that the words "RightJoin" in the former name do not lead readers to believe that this has something to do with RIGHT JOINs in particular. (check-in: [e8c00442d2] user: drh branch: trunk, size: 235994)
2022-04-08
19:20
[f8dc31c997] part of check-in [415abd6731] Preliminary code to support RIGHT JOIN. Everything seems to work, except that the code to compute the unmatched rows for the RIGHT JOIN has not yet been added, so the result of a RIGHT JOIN is currently the same as an INNER JOIN. (check-in: [415abd6731] user: drh branch: right-join, size: 236056)
17:01
[364699d46b] part of check-in [8efd61e851] Enhance the sqlite_dbpage fix at check-in 642a0b4752743 from about a month ago such that it still takes a transaction on all attached databases, but it only starts a read transaction for read-only operations, rather than starting a write transaction for everything. (check-in: [8efd61e851] user: drh branch: trunk, size: 235994)
2022-04-07
18:17
[8262a5a484] part of check-in [fa5276725f] The ".testctrl optimizations 0x400000" command disables the generation of OP_ReleaseReg opcodes. OP_ReleaseReg opcodes are usually only generated for SQLITE_DEBUG builds and are used to verify that registers are descoped propertly. But they can get in the way of code understanding when studying bytecode dumps. So this new optimization setting is provided to temporarily turn OP_ReleaseReg opcodes off. (check-in: [fa5276725f] user: drh branch: trunk, size: 235988)
01:11
[dbd5537c36] part of check-in [158156a3e3] Improved technique for parsing the ON and USING clauses of a join is faster and uses less memory. (check-in: [158156a3e3] user: drh branch: trunk, size: 235911)
2022-04-06
18:30
[f9484b03c6] part of check-in [84c239a071] Improvements to the display of AST for DML statements. (check-in: [84c239a071] user: drh branch: trunk, size: 235442)
15:41
[e7b2a0a394] part of check-in [b0939d6f4d] Attempt to show triggers in the TreeView output from DELETE, INSERT, and UPDATE statements. (check-in: [b0939d6f4d] user: drh branch: trunk, size: 235425)
12:54
[2cd3008975] part of check-in [abb34c0830] Corrections and updates to the header comment describing the TriggerStep object. No changes to code. (check-in: [abb34c0830] user: drh branch: trunk, size: 234938)
12:25
[811d8defe1] part of check-in [bc33168cf1] Add the sqlite3Show() family of debugging interfaces under SQLITE_DEBUG. No changes to deliverable builds. Rename SQLITE_ENABLE_SELECTTRACE to SQLITE_ENABLE_TREETRACE in ctime.c. (check-in: [bc33168cf1] user: drh branch: trunk, size: 234908)
11:08
[eaecce0fe9] part of check-in [393fa32e18] Rename debugging defines and variables from SELECTTRACE to TREETRACE (and similar) since the functionality has how expanded to include data structures beyond SELECT statements. Should not affect deliverable builds. (check-in: [393fa32e18] user: drh branch: trunk, size: 234503)
10:37
[1edf4da9aa] part of check-in [fbd288ff3d] Add additional tree display routines for DELETE and UPDATE. No changes to deliverable code. (check-in: [fbd288ff3d] user: drh branch: trunk, size: 234448)
00:29
[0d08bc66b1] part of check-in [f308412203] Add new diagnostic "sqlite3TreeView" routines for IdList, Upsert, and for INSERT statements. This is all debugging code. There are no changes to release builds. (check-in: [f308412203] user: drh branch: trunk, size: 234100)
2022-04-01
18:45
[5a78671963] part of check-in [d126f304cd] 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: [d126f304cd] user: drh branch: trunk, size: 233716)
2022-03-26
17:39
[e14fce3e17] part of check-in [73a15377ef] Merge the version 3.38.2 patches with the begin-concurrent-pnu-wal2 branch to create this new sub-branch. (check-in: [73a15377ef] user: drh branch: begin-concurrent-wal2-3.38, size: 233766)
2022-03-12
15:30
[60cd72d514] part of check-in [934276d15e] Merge the version 3.38.1 patches into a sub-branch of reuse-schema. (check-in: [934276d15e] user: drh branch: reuse-schema-3.38, size: 234955)
15:21
[5ea76b5687] part of check-in [f3fa81963e] Merge the latest trunk changes into the reuse-schema branch. (check-in: [f3fa81963e] user: drh branch: reuse-schema, size: 235210)
15:11
[2d8909ee65] part of check-in [0071d9da18] Merge the latest trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: [0071d9da18] user: drh branch: begin-concurrent-pnu-wal2, size: 234021)
14:54
[b69c2e76ae] part of check-in [c4a61135d5] Merge trunk enhancements, including 3.38.1 patches, into the begin-concurrent-report branch. (check-in: [c4a61135d5] user: drh branch: begin-concurrent-report-3.28, size: 235230)
14:47
[61ed6a31ce] part of check-in [aa8b5e9558] Merge the latest trunk enhancements, including the 3.38.1 patches plus additional performance enhancements, into the begin-concurrent branch. (check-in: [aa8b5e9558] user: drh branch: begin-concurrent, size: 234081)
2022-03-11
15:16
[2ce7d86863] part of check-in [5d739aff96] Fix a harmless compiler warning. (check-in: [5d739aff96] user: drh branch: trunk, size: 233402)
2022-03-10
16:01
[7ab4575383] part of check-in [d9475ebcde] Refactor Window.pFunc into Window.pWFunc to disambiguate from other uses of the variable or field named "pFunc". (check-in: [d9475ebcde] user: drh branch: trunk, size: 233402)
2022-03-09
14:29
[e7b93bb693] part of check-in [e92c4fdb99] Fix the sqlite_dbpage virtual table so that it starts a write transaction on all attached schemas. (check-in: [e92c4fdb99] user: drh branch: branch-3.38, size: 233147)
14:22
[a98a9cfc7e] part of check-in [642a0b4752] Fix the sqlite_dbpage virtual table so that it starts a write transaction on all attached schemas. (check-in: [642a0b4752] user: drh branch: trunk, size: 233402)
2022-02-27
21:10
[4a8b7d6857] part of check-in [7cf2d1f039] Cache values of UnpackedRecord.aMem[0] into new fields of UnpackedRecord. This avoids extra indirections and saves about 750K cycles. (check-in: [7cf2d1f039] user: drh branch: trunk, size: 233236)
2022-02-15
20:56
[698eac5ed8] part of check-in [b9ba43fcb3] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [b9ba43fcb3] user: drh branch: reuse-schema, size: 234789)
20:47
[f08a7ce47a] part of check-in [1336d2f23f] Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [1336d2f23f] user: drh branch: begin-concurrent-pnu-wal2, size: 233600)
20:24
[2ed40df981] part of check-in [213df7a063] Merge recent trunk enhancements into the begin-concurrent-report branch. (check-in: [213df7a063] user: drh branch: begin-concurrent-report, size: 234809)
20:18
[16215a0d93] part of check-in [94838f16ba] Merge the latest trunk changes into the begin-concurrent branch. (check-in: [94838f16ba] user: drh branch: begin-concurrent, size: 233660)
2022-02-10
21:26
[f8814239fb] part of check-in [6e25cb0890] Enhance SQLITE_TESTCTRL_LOCALTIME_FAULT so that is able to install an alternative localtime() interface so that the localtime logic an be better tested. (check-in: [6e25cb0890] user: drh branch: trunk, size: 232981)
2022-02-09
16:18
[5a22bd250c] part of check-in [460abf93ac] Prototype implementation of IF EXISTS and IF NOT EXISTS clauses on the various forms of ALTER TALE. (check-in: [460abf93ac] user: drh branch: alter-table-if-exists, size: 233043)
2022-02-05
23:11
[b6619030ed] part of check-in [5b8d257790] Enhance sqlite3_error_offset() to report the position of unresolved identifiers. (check-in: [5b8d257790] user: drh branch: trunk, size: 232900)
21:49
[763162b933] part of check-in [32a3a53b62] Record the position of many identifiers in the parse using the new Expr.w.iOfst field. This is done with the idea of providing offset results for sqlite3_error_offset() for a more kinds of errors, though that part is not yet implemented. (check-in: [32a3a53b62] user: drh branch: trunk, size: 232841)
2022-02-04
18:12
[2a03a8fd75] part of check-in [5744e1020b] Merge trunk enhancements into the reuse-schema branch. (check-in: [5744e1020b] user: drh branch: reuse-schema, size: 234552)
18:02
[e9c4488317] part of check-in [cb045aba7c] Merge recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: [cb045aba7c] user: drh branch: begin-concurrent-pnu-wal2, size: 233363)
17:51
[78f28b34ff] part of check-in [1c88bcfff5] Merge all recent trunk enhancements into the begin-concurrent-report branch. (check-in: [1c88bcfff5] user: drh branch: begin-concurrent-report, size: 234572)
17:40
[21f4ad9b41] part of check-in [85054a8691] Merge trunk enhancements into the begin-concurrent branch. (check-in: [85054a8691] user: drh branch: begin-concurrent, size: 233423)
2022-02-01
14:58
[838df3e9ba] part of check-in [eb84b80e1f] Add new interfaces to enable virtual table to process IN operator constraints all at once, rather than one element at a time. (check-in: [eb84b80e1f] user: drh branch: batch-in-operator, size: 232744)
2022-01-27
16:14
[8ef2996e02] part of check-in [74fa5757ee] Give the virtual table xBestIndex method access to (some) OFFSET and LIMIT clauses. (check-in: [74fa5757ee] user: drh branch: vtab-limit-offset, size: 232683)
2022-01-25
16:28
[c09adfced3] part of check-in [6e4154d414] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [6e4154d414] user: drh branch: reuse-schema, size: 234453)
16:05
[ce80b11178] part of check-in [3d949775e3] Merge the latest trunk changes into begin-concurrent-pnu-wal2 (check-in: [3d949775e3] user: drh branch: begin-concurrent-pnu-wal2, size: 233264)
15:48
[73e412061d] part of check-in [42e6d842ab] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [42e6d842ab] user: drh branch: begin-concurrent-report, size: 234473)
15:20
[c142e938ce] part of check-in [dae81f45d2] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [dae81f45d2] user: drh branch: begin-concurrent, size: 233324)
2022-01-24
15:34
[33fbafb55b] part of check-in [6a45d8fe8b] Make it so that any Parse object is always linked into the database conenction while it is active. Hence, an OOM will cause Parse.nErr to be set. (check-in: [6a45d8fe8b] user: drh branch: trunk, size: 232645)
12:48
[911022922c] part of check-in [ad7aace761] Make sure the sqlite3OomFault() routine sets an error in the Parse object if there is a Parse object active and linked to the database connection. (check-in: [ad7aace761] user: drh branch: trunk, size: 232444)
2022-01-17
20:01
[e8c397d046] part of check-in [769ff85765] Merge the latest trunk changes into the reuse-schema branch. (check-in: [769ff85765] user: drh branch: reuse-schema, size: 234251)
19:46
[60518b1113] part of check-in [45fa7efecb] Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [45fa7efecb] user: drh branch: begin-concurrent-pnu-wal2, size: 233062)
19:24
[1cc6e31816] part of check-in [ef6fc89507] Bring the begin-concurrent-report branch up to date with all the latest trunk enhancements. (check-in: [ef6fc89507] user: drh branch: begin-concurrent-report, size: 234271)
19:17
[e04fce9233] part of check-in [02daae7a67] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [02daae7a67] user: drh branch: begin-concurrent, size: 233122)
19:10
[ad96a10be5] part of check-in [22fb505005] Merge the begin-concurrent-pnuu branch into begin-concurrent. (check-in: [22fb505005] user: drh branch: begin-concurrent, size: 232340)
2022-01-07
14:09
[4d30195580] part of check-in [e525892d3d] Merge 3.37.2 changes into the begin-concurrent-pnu branch. (check-in: [e525892d3d] user: drh branch: begin-concurrent-3.37, size: 232429)
2022-01-06
14:16
[7f12b123d3] part of check-in [d7ec5a2b4a] Merge the 3.37.2 patches into the reuse-schema branch. (check-in: [d7ec5a2b4a] user: drh branch: reuse-schema-3.37, size: 233560)
01:40
[21a31abf60] part of check-in [583b47d865] An attempt to integrate the JSON functions directly into the SQLite core, rather than holding them as an extension. (check-in: [583b47d865] user: drh branch: json-in-core, size: 232443)
2022-01-02
18:10
[4bf21edf5c] part of check-in [4f1313c67f] 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: [4f1313c67f] user: drh branch: branch-3.37, size: 231752)
17:00
[b64ef54425] part of check-in [ee8b2397a6] Move the pTriggerPrg and pCleanup elements of the Parse object up into the section of that object that is persisted across calls to sqlite3NestedParse(). This fixes a memory leak reported in forum post 24bd1fef7e9323ef. (check-in: [ee8b2397a6] user: drh branch: branch-3.37, size: 231661)
12:01
[9782b7b22a] part of check-in [5232c9777f] 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: [5232c9777f] user: drh branch: trunk, size: 232067)
2021-12-31
19:20
[66637abecd] part of check-in [6fb2a1bb02] Simplify the sqlite3RunParser() routine by omitting the third parameter. Results in a binary that is about 100 bytes smaller and 1.4M cycles faster. (check-in: [6fb2a1bb02] user: drh branch: trunk, size: 231976)
16:37
[443810b432] part of check-in [562805cf48] Move the pTriggerPrg and pCleanup elements of the Parse object up into the section of that object that is persisted across calls to sqlite3NestedParse(). This fixes a memory leak reported in forum post 24bd1fef7e9323ef. (check-in: [562805cf48] user: drh branch: trunk, size: 231985)
2021-12-30
00:37
[850b013088] part of check-in [bb8522fe0d] When implementing a multi-way compound SELECT using merge, try to balance the merge tree. (check-in: [bb8522fe0d] user: drh branch: trunk, size: 231985)
2021-12-24
20:22
[418dd1a178] part of check-in [b518ce7743] Add the sqlite3_error_offset() interface. Use it in the CLI to provide better context for error messages. (check-in: [b518ce7743] user: drh branch: improved-error-context, size: 231913)
2021-12-15
13:48
[6d84b46059] part of check-in [cffc31bf9a] Update this branch with the latest trunk and wal2 changes, including the checkpoint-on-close wal2 mode fix. (check-in: [cffc31bf9a] user: dan branch: begin-concurrent-report-wal2, size: 233429)
2021-12-10
21:01
[e7dd69a85c] part of check-in [8e98ba1eeb] Factor out the logic that does quoting for the SQL quote() function, so that it might be reused for other purposes. (check-in: [8e98ba1eeb] user: drh branch: trunk, size: 231780)
2021-12-09
19:42
[b4391c3c2a] part of check-in [ce42039f56] Remove unused code and fix comments. Final cleanup before merging. (check-in: [ce42039f56] user: drh branch: bloom-filter, size: 231686)
01:28
[31b9673bc2] part of check-in [88b43d798c] Add SQLITE_TESTCTRL_LOGEST and enhance the LogEst utility program. Improvements to testability of bloom filters. (check-in: [88b43d798c] user: drh branch: bloom-filter, size: 231826)
2021-12-06
20:16
[f4fbb14ea3] part of check-in [8a9036ee61] 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: [8a9036ee61] user: drh branch: bloom-filter, size: 231866)
13:07
[ab40ea9c29] part of check-in [a7adcf6908] Attempt to vary the size of Bloom filters based on an estimate of how many keys the filter will hold. (check-in: [a7adcf6908] user: drh branch: bloom-filter, size: 231909)
2021-12-05
20:19
[178eb899c1] part of check-in [06f6fefd67] Run as many Bloom filters as possible before index lookups. (check-in: [06f6fefd67] user: drh branch: bloom-filter, size: 231862)
2021-12-01
21:07
[4a19ff088c] part of check-in [0864bfbf07] Merge trunk fixes into the bloom-filter branch. (check-in: [0864bfbf07] user: drh branch: bloom-filter, size: 231791)
19:17
[375bb03b5c] part of check-in [a818ba2ed6] Check for foreign key constraint errors prior to returning the results from a RETURNING clause. See forum post 793beaf322. (check-in: [a818ba2ed6] user: drh branch: trunk, size: 231713)
16:31
[a44a3474b2] part of check-in [50ac4de1d7] Add a Bloom filter to the automatic-index mechanism. (check-in: [50ac4de1d7] user: drh branch: bloom-filter, size: 231739)
2021-11-27
15:12
[965ab1531e] part of check-in [f83d50d507] Merge version 3.37.0 into the reuse-schema branch. (check-in: [f83d50d507] user: drh branch: reuse-schema, size: 233469)
15:11
[fb84d6eaa6] part of check-in [2171996a02] Merge version 3.37.0 into the begin-concurrent-pnu-wal2 branch. (check-in: [2171996a02] user: drh branch: begin-concurrent-pnu-wal2, size: 232280)
14:56
[3dc82c792a] part of check-in [126d7a1d88] Merge version 3.37.0 into the begin-concurrent-report branch. (check-in: [126d7a1d88] user: drh branch: begin-concurrent-report, size: 233487)
14:48
[43d34bba92] part of check-in [910001f283] Merge version 3.37.0 into the begin-concurrent-pnu branch. (check-in: [910001f283] user: drh branch: begin-concurrent-pnu, size: 232338)
14:45
[72d2835262] part of check-in [c5f2ad1942] Merge version 3.37.0 into the begin-concurrent branch. (check-in: [c5f2ad1942] user: drh branch: begin-concurrent, size: 232205)
12:03
[193e716a67] part of check-in [7c567338ae] Fix a harmless comment typo. (check-in: [7c567338ae] user: drh branch: trunk, size: 231661)
2021-11-22
17:08
[9e70f673c2] part of check-in [9b2ffa8477] Merge trunk enhancements into the begin-concurrent-report-wal2 branch. (check-in: [9b2ffa8477] user: drh branch: begin-concurrent-report-wal2, size: 233430)
17:01
[b0ce438fc4] part of check-in [8a9fad0f71] Merge trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [8a9fad0f71] user: drh branch: begin-concurrent-pnu-wal2, size: 232281)
16:39
[2def09c82b] part of check-in [ddc11f5599] Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: [ddc11f5599] user: drh branch: begin-concurrent-report, size: 233488)
16:27
[de78ebbe54] part of check-in [aa045e7b09] Merge the latest trunk enhancements into the begin-concurrent-pnu branch. (check-in: [aa045e7b09] user: drh branch: begin-concurrent-pnu, size: 232339)
16:14
[debaeeea25] part of check-in [8f3e68424a] Merge the latest trunk changes into the begin-concurrent branch. (check-in: [8f3e68424a] user: drh branch: begin-concurrent, size: 232206)
16:05
[d8f4c1145a] part of check-in [d08832cb93] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [d08832cb93] user: drh branch: reuse-schema, size: 233470)
13:35
[524adaf6fe] part of check-in [d7ef96bae4] Fix the build for SQLITE_OMIT_CTE. (check-in: [d7ef96bae4] user: drh branch: trunk, size: 231662)
2021-11-17
14:21
[22b0a54cc5] part of check-in [8eef878213] Apply the begin-concurrent-report patch to the wal2 branch. (check-in: [8eef878213] user: dan branch: begin-concurrent-report-wal2, size: 233410)
2021-11-16
13:36
[42c8f4c05d] part of check-in [a33f5e93ec] Fix a problem causing an OOM within an ALTER TABLE ADD COLUMN command that adds a column with a CHECK constraint to go unreported. (check-in: [a33f5e93ec] user: dan branch: trunk, size: 231651)
2021-11-10
10:59
[c36cdf01fc] part of check-in [3feb0f1c38] 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: [3feb0f1c38] user: drh branch: trunk, size: 231719)
2021-11-09
15:36
[f496dc905c] part of check-in [122f4a762a] Merge all recent trunk changes into the begin-concurrent-report branch. (check-in: [122f4a762a] user: drh branch: begin-concurrent-report, size: 233468)
15:26
[2ba9d5db3b] part of check-in [b9802d0b47] Merge all recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: [b9802d0b47] user: drh branch: begin-concurrent-pnu, size: 232319)
15:18
[d5e9880fb0] part of check-in [07bc13395d] Merge all recent trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [07bc13395d] user: drh branch: begin-concurrent-pnu-wal2, size: 232261)
15:06
[e22eaea36a] part of check-in [2d0c8f3099] Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: [2d0c8f3099] user: drh branch: begin-concurrent, size: 232186)
14:36
[9fe3da1e5d] part of check-in [6603f00581] Merge all trunk enhancements prior to the walIndexPage() fix into the begin-concurrent branch. (check-in: [6603f00581] user: drh branch: begin-concurrent, size: 231048)
14:00
[12389e2358] part of check-in [748bce4c01] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [748bce4c01] user: drh branch: reuse-schema, size: 233382)
2021-11-08
23:24
[8e77085906] part of check-in [74aec5dd1d] Refactor the code that figures out which SELECT in a cascade of nested queries a particular aggregate function belongs to. This fixes the problem reported by forum post c7cc2aa3546e39c1. New test cases in dbsqlfuzz and th3. (check-in: [74aec5dd1d] user: drh branch: trunk, size: 231642)
16:38
[ab88d3f3d8] part of check-in [6f4369666e] Add assert()s that verify that cursor numbers on subqueries are always greater than outer cursor numbers. Except, this is not always true in the presence of query flattening. We might need to relax that constraint. This branch will probably become a dead-end. For now it is saved for reference. (check-in: [6f4369666e] user: drh branch: well-ordered-cursors, size: 231714)
2021-11-05
23:32
[4b2d96f8e5] part of check-in [ca09148e13] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [ca09148e13] user: drh branch: reuse-schema, size: 233376)
2021-11-04
14:04
[c280f33f02] part of check-in [9147390d98] Show the preferred schema table names in the output of "PRAGMA table_list". (check-in: [9147390d98] user: drh branch: trunk, size: 231636)
00:51
[26c7c88de6] part of check-in [005a864277] First the shadow table mechanism so that it works even if the shadow table comes before the virtual table in the sqlite_schema table, as can happen after a VACUUM. (check-in: [005a864277] user: drh branch: trunk, size: 230948)
2021-11-03
15:59
[1af24220f4] part of check-in [b007a39dd3] Improved the error message that results when a schema parse fails after ALTER TABLE ADD COLUMN. (check-in: [b007a39dd3] user: drh branch: trunk, size: 230850)
2021-10-30
17:30
[02f7ccc971] part of check-in [638c1b0c50] Merge trunk changes into this branch. (check-in: [638c1b0c50] user: dan branch: autovacuum-pages-callback, size: 230717)
2021-10-29
14:04
[7080e33bb7] part of check-in [7623132efe] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [7623132efe] user: drh branch: reuse-schema, size: 232244)
2021-10-22
11:17
[317bbdf926] part of check-in [1a038242dc] Fix harmless compiler warnings. Improve the independence of some TCL tests. (check-in: [1a038242dc] user: drh branch: trunk, size: 230504)
2021-10-21
14:37
[292546a65e] part of check-in [0770f320b9] Merge all recent trunk changes into the begin-concurrent-report branch. (check-in: [0770f320b9] user: drh branch: begin-concurrent-report, size: 232333)
14:27
[e0f0234351] part of check-in [4d972744c3] Merge trunk enhancements into begin-concurrent-pnu branch. (check-in: [4d972744c3] user: drh branch: begin-concurrent-pnu, size: 231184)
14:24
[d8a5d7c8d5] part of check-in [1958e6faca] Merge trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [1958e6faca] user: drh branch: begin-concurrent-pnu-wal2, size: 231126)
14:13
[bfd352211c] part of check-in [ae4eed0b7e] Merge recent trunk enhancements into begin-concurrent branch. (check-in: [ae4eed0b7e] user: drh branch: begin-concurrent, size: 231051)
14:10
[2ed3bfc7a7] part of check-in [cd15fc3c08] Merge recent trunk enhancements into the reuse-schema branch (check-in: [cd15fc3c08] user: drh branch: reuse-schema, size: 232247)
2021-10-20
17:58
[df3bc11691] part of check-in [0ae8dd132d] Enabled the testcase() macros under SQLITE_DEBUG. (check-in: [0ae8dd132d] user: drh branch: trunk, size: 230507)
2021-10-15
23:02
[896cc476bb] part of check-in [bb6f2b8b48] Demostrate a prototype sqlite3_autovacuum_pages() interface. (check-in: [bb6f2b8b48] user: drh branch: autovacuum-pages-callback, size: 230614)
2021-10-12
02:17
[642c17df9e] part of check-in [1ceb73f316] Fix harmless compiler warnings in the debug build for MSVC. (check-in: [1ceb73f316] user: mistachkin branch: trunk, size: 230401)
2021-10-08
18:15
[ef4da7ea99] part of check-in [b8c9a54664] Further to the previous check-in, remove the "harmless()" macro definition as it is no longer used. (check-in: [b8c9a54664] user: drh branch: trunk, size: 230389)
10:25
[1c533af6dd] part of check-in [e77ac4050c] Minor improvements to comments in the data structure definitions. No changes to code. (check-in: [e77ac4050c] user: drh branch: trunk, size: 231103)
2021-10-07
23:04
[d83718ee23] part of check-in [9b91fbcfcc] New assert() statements to protect the u1 and u2 unions of SrcList. (check-in: [9b91fbcfcc] user: drh branch: trunk, size: 230768)
20:46
[62fad2ae3a] part of check-in [87e2f5eb43] Protect access to the Expr.y union using nearby assert()s and branches. (check-in: [87e2f5eb43] user: drh branch: trunk, size: 230644)
17:43
[e62e6eab35] part of check-in [8eaa1d4a98] Protect all accesses to the Expr.x union using nearby assert()s and branches. (check-in: [8eaa1d4a98] user: drh branch: trunk, size: 230679)
13:40
[398111a3db] part of check-in [9af863f065] Protect all accesses to the FuncDef.u and Expr.u unions using nearby assert()s or branches. (check-in: [9af863f065] user: drh branch: trunk, size: 230155)
2021-10-06
10:36
[67d38ee799] part of check-in [566e697489] Fix a macro typo introduced by [5da112c02f9e8d0b] that prevented coverage tests from working. (check-in: [566e697489] user: drh branch: trunk, size: 229715)
2021-10-04
18:21
[ef9b68563e] part of check-in [1c67f957fc] Fix harmless static analyzer warnings in sessions, rtree, fts3 and fts5. Add the -DSQLITE_OMIT_AUXILIARY_SAFETY_CHECKS compile-time option to cause ALWAYS() and NEVER() macros to be omitted from the build. (check-in: [1c67f957fc] user: drh branch: fix-warnings, size: 229715)
12:16
[e684919644] part of check-in [71b102942c] Merge recent trunk changes into the begin-concurrent-report branch. (check-in: [71b102942c] user: drh branch: begin-concurrent-report, size: 231335)
12:09
[8af03a8091] part of check-in [35ad7bc6e0] Merge recent trunk enhancements into begin-concurrent-pnu branch. (check-in: [35ad7bc6e0] user: drh branch: begin-concurrent-pnu, size: 230186)
12:02
[9e0abe82c7] part of check-in [bce02eaa0c] Merge recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: [bce02eaa0c] user: drh branch: begin-concurrent-pnu-wal2, size: 230128)
11:54
[d299d0bc58] part of check-in [4f5ef7aa4c] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [4f5ef7aa4c] user: drh branch: begin-concurrent, size: 230053)
11:49
[149e887c58] part of check-in [64234c5c9a] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [64234c5c9a] user: drh branch: reuse-schema, size: 231249)
2021-10-03
00:12
[e105aa8ec6] part of check-in [e548e9299d] Add the sqlite3ResultStrAccum() internal interface to simplify the the implementation of functions that return strings. (check-in: [e548e9299d] user: drh branch: trunk, size: 229509)
2021-10-01
22:48
[2cfc990650] part of check-in [f47f7f7822] Fix a problem with group_concat() when it is used as a window function with a sliding window, as described by forum thread ccf3b5673ba852cf. (check-in: [f47f7f7822] user: drh branch: trunk, size: 229453)
20:39
[c481cd4864] part of check-in [2f7c946c5f] Change things so that SQLITE_OMIT_VIRTUALTABLE implies SQLITE_OMIT_ALTER_TABLE. (check-in: [2f7c946c5f] user: dan branch: trunk, size: 229408)
00:25
[90aabdfc42] part of check-in [04399cf964] Fixes to the version of "varsep" group_concat so that (1) it builds under separate compilation and (2) omits tabs in source code and (3) runs faster than trunk. This variant of the group_concat_varsep branch might be preferred over the tip because it preserves (undocumented) legacy behavior about the position of separators relative to terms. (check-in: [04399cf964] user: drh branch: group_concat-fix-legacy, size: 229274)
2021-09-25
17:07
[06a8f97a64] part of check-in [70c221c5cf] Add const to parameters on various internal interfaces. (check-in: [70c221c5cf] user: drh branch: trunk, size: 229229)
2021-09-24
16:14
[8e88176d15] part of check-in [a3c71a673d] Add lots of new "const" on internal function parameters. There is opportunity for many more - this is a work in progress. (check-in: [a3c71a673d] user: drh branch: trunk, size: 229162)
02:14
[25af7dcb14] part of check-in [c7560c1329] Ensure that the db->init.azInit array is initialized at all times. dbsqlfuzz 0ad6d441f9bf3dfc32626a9900bc1700495b16f9 (check-in: [c7560c1329] user: drh branch: trunk, size: 229012)
2021-09-15
14:48
[b62ee1fc9d] part of check-in [c9a4ab0590] Fix non-build for a test configuration (check-in: [c9a4ab0590] user: larrybr branch: trunk, size: 229012)
2021-08-23
10:28
[4cb73cc4b9] part of check-in [d8fd1a2bfd] 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: [d8fd1a2bfd] user: drh branch: trunk, size: 229010)
2021-08-19
02:58
[a0e00a52b9] part of check-in [97c9248b3b] Enhance PRAGMA integrity_check so that it verifies the datatype of all columns in STRICT tables. (check-in: [97c9248b3b] user: drh branch: strict-tables, size: 228980)
2021-08-18
19:22
[732ef4ade4] part of check-in [a19305e5cf] 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: [a19305e5cf] user: drh branch: strict-tables, size: 228941)
13:13
[25581e5914] part of check-in [78732b9f98] What would it be like if you could add the keyword "STRICT" after a CREATE TABLE statement to cause the table to (1) allow only a few well-defined datatypes, (2) rigidly enforce those types, (3) require NOT NULL on PK columns, (4) always enforce foreign key constraint, and so forth? This branch seeks to explore that question. (check-in: [78732b9f98] user: drh branch: strict-tables, size: 228942)
12:05
[a65ddfb177] part of check-in [b9b0dcd5af] Rename the Column.eType field to Column.eCType - with an extra "C". (check-in: [b9b0dcd5af] user: drh branch: trunk, size: 228886)
2021-08-09
19:41
[05f9d4541c] part of check-in [25a768cb8a] Merge recent trunk enhancements into the begin-concurrent-report branch. (check-in: [25a768cb8a] user: drh branch: begin-concurrent-report, size: 230710)
19:33
[89c77974b5] part of check-in [514b3cef6b] Merge recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: [514b3cef6b] user: drh branch: begin-concurrent-pnu, size: 229561)
18:35
[acac8c2c35] part of check-in [47a9b75981] Merge recent trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: [47a9b75981] user: drh branch: begin-concurrent-pnu-wal2, size: 229503)
18:21
[4bb88a664b] part of check-in [b88b632830] Merge recent trunk enhancemenets into the begin-concurrent branch. (check-in: [b88b632830] user: drh branch: begin-concurrent, size: 229428)
18:17
[e36399792a] part of check-in [c8d1f17fde] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [c8d1f17fde] user: drh branch: reuse-schema, size: 230624)
18:13
[a7f02fb629] part of check-in [d44f74f14a] Further improvements to the eOpenState bit values. (check-in: [d44f74f14a] user: mistachkin branch: trunk, size: 228884)
17:36
[548e07437d] part of check-in [5100b0456b] Improved Hamming bit-distance between the SQLITE_STATE constants. (check-in: [5100b0456b] user: drh branch: trunk, size: 228884)
13:06
[9a0fa72633] part of check-in [fd8f498f5d] Fix comments associated with sqlite3.eOpenState. No logic changes. (check-in: [fd8f498f5d] user: drh branch: trunk, size: 228871)
2021-08-07
23:16
[7406ab3637] part of check-in [e5d6512aa1] Refactor sqlite3.magic into sqlite3.eOpenState. (check-in: [e5d6512aa1] user: drh branch: trunk, size: 228870)
2021-08-06
15:26
[c12ad0bda1] part of check-in [0914270078] Fix harmless compiler warnings. Omit redundant copies of os_common.h and hwtime.h from the amalgamation. (check-in: [0914270078] user: drh branch: trunk, size: 228904)
2021-08-05
15:27
[3dbca90401] part of check-in [832ac4c1ee] Store the collating sequence name for each column of a table as an extension to the column name, for an additional savings in the heap space needed to hold the schema. (check-in: [832ac4c1ee] user: drh branch: trunk, size: 228870)
2021-08-03
17:05
[a898f49718] part of check-in [385e3b4e9d] Merge recent trunk enhancements into the begin-concurrent-report branch. (check-in: [385e3b4e9d] user: drh branch: begin-concurrent-report, size: 230186)
16:49
[e7c3298aaf] part of check-in [2c25f25b22] Merge recent trunk changes into the begin-concurrent-pnu branch. (check-in: [2c25f25b22] user: drh branch: begin-concurrent-pnu, size: 229037)
16:44
[ce126c858e] part of check-in [5b6f6514bd] Merge recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: [5b6f6514bd] user: drh branch: begin-concurrent-pnu-wal2, size: 228979)
16:31
[7b402af9dc] part of check-in [8d806cf93c] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [8d806cf93c] user: drh branch: begin-concurrent, size: 228904)
16:11
[d1a8974ade] part of check-in [d71adc3fd8] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [d71adc3fd8] user: drh branch: reuse-schema, size: 230100)
2021-08-02
18:03
[6f02ceb8d6] part of check-in [8b781dcaf6] Refactor field names in the Column object, zCnName and zCnColl, to make them unique and thus easier to find amid all the other code. (check-in: [8b781dcaf6] user: drh branch: trunk, size: 228360)
16:41
[8601c62028] part of check-in [bbb6759bcf] Refactor the Table object to reduce its memory footprint. (check-in: [bbb6759bcf] user: drh branch: trunk, size: 228381)
2021-07-31
20:30
[ea94bc5f08] part of check-in [8646547e54] Refactor the way that DEFAULT expressions are stored on columns, in order to save memory in the common case where the column has no DEFAULT clause. (check-in: [8646547e54] user: drh branch: trunk, size: 227789)
2021-07-30
23:30
[e2fbf849a7] part of check-in [d2da62a9df] Recognize certain standard datatypes ("INT", "INTEGER", "REAL", "TEXT", and "BLOB") and if a column has one of those datatypes, store the type part of the bit-field information in the Column structure to save space. (check-in: [d2da62a9df] user: drh branch: trunk, size: 227621)
18:39
[1041c70f63] part of check-in [980f7292af] Avoid clownfeet in the names columns when the column names are quoted in the original CREATE TABLE statement. (check-in: [980f7292af] user: drh branch: trunk, size: 226864)
2021-07-29
17:23
[441f226f8e] part of check-in [ef2a085039] Complete warning-free build on old PPC iBook. (check-in: [ef2a085039] user: drh branch: wal-asserts, size: 226832)
2021-07-20
07:35
[0982664df2] part of check-in [039f540373] Demonstration code to show how NOT NULL and CHECK constraints can be verified after an ALTER TABLE ADD COLUMN. (check-in: [039f540373] user: drh branch: add-column-constraint-check, size: 226832)
2021-07-16
22:43
[b3762f49d8] part of check-in [85ddaf1b59] Try to omit the ORDER BY clause in subqueries if doing so does not change the result in any way. See Forum post 2d76f2bcf65d256a for details and history. (check-in: [85ddaf1b59] user: drh branch: trunk, size: 226756)
20:16
[a71d18dc76] part of check-in [6854b5919b] Minor comment improvements. (check-in: [6854b5919b] user: drh branch: omit-subquery-order-by, size: 226675)
2021-07-15
19:29
[74ca966744] part of check-in [ef97c3e7c3] Attempt to omit ORDER BY clauses from FROM-clause subqueries if those ORDER BY clauses do not affect the output. See forum thread 2d76f2bcf65d256a for discussion. This can help the query flattener in some cases, resulting in faster query plans. The current implemention does not always work. (check-in: [ef97c3e7c3] user: drh branch: omit-subquery-order-by, size: 226674)
2021-07-12
14:38
[59e2f279ae] part of check-in [9e001b635f] Fix a defect in the query-flattener optimization identified by ticket [8f157e8010b22af0]. This fix is associated with CVE-2020-15358. (check-in: [9e001b635f] user: dan branch: branch-3.28a, size: 202768)
2021-07-09
13:29
[3a76e446ad] part of check-in [0e968f9de3] Merge latest trunk changes into this branch. (check-in: [0e968f9de3] user: dan branch: reuse-schema, size: 227896)
2021-07-08
23:35
[129619232a] part of check-in [060aec37ac] Rename optional SQLITE_CUSTOM_INC define to SQLITE_CUSTOM_INCLUDE. (check-in: [060aec37ac] user: mistachkin branch: trunk, size: 226156)
22:12
[41bba374a1] part of check-in [71e6490bbe] Allow library build to #include a user-specified header. (check-in: [71e6490bbe] user: larrybr branch: trunk, size: 226141)
2021-07-07
13:53
[db26ff390e] part of check-in [6b22f4e71d] Improve the error message in cases where there is a row-value on the LHS of an IN() operator, the RHS is a list (not a sub-select) and at least one element of the list is not a row-value with the correct number of elements. (check-in: [6b22f4e71d] user: dan branch: trunk, size: 225767)
2021-07-06
20:44
[c78fbfc341] part of check-in [981d230ece] Handle "<vector> IN (<vector>, <vector> ...)" in the same way as "<vector> IN (VALUES(<vector>, <vector>, ...)". (check-in: [981d230ece] user: dan branch: trunk, size: 225762)
2021-07-05
18:37
[b5e0732368] part of check-in [e306952690] Add the ATOMIC_INTRINSICS compile-time output output. Move sqlite3Int.h in front of ctime.c so that default values that are not overridden are shown in PRAGMA compile-time option output. (check-in: [e306952690] user: drh branch: trunk, size: 225710)
17:15
[72bdf36702] part of check-in [e690abb9e4] Revert [5204c2c4a7b73a64], restoring the old pre-processor logic for determining the availability of the __atomic_store_n()/__atomic_load_n() primitives. (check-in: [e690abb9e4] user: dan branch: trunk, size: 225638)
11:27
[bb5868a443] part of check-in [740cb43025] Allow sub-queries in the FROM clause of an UPDATE...FROM statement to access the object being updated without using an alias, as is required in the parent query. (check-in: [740cb43025] user: dan branch: trunk, size: 225682)
01:11
[6cfa7b7380] part of check-in [026f08d4cf] Ensure that TK_SELECT_COLUMN Expr nodes always have their iTable field set to to the number of columns in the vector. This is not strictly necessary. It just simplifies the state description and make the code easier to reason about. (check-in: [026f08d4cf] user: drh branch: trunk, size: 225672)
2021-06-22
18:32
[fccf952bd5] part of check-in [48fdec22c9] Add the sqlite3_changes64() and sqlite3_total_changes64() API functions. (check-in: [48fdec22c9] user: dan branch: trunk, size: 225668)
2021-06-17
17:44
[4d4d201a98] part of check-in [2ff7e56249] Merge recent trunk changes into branch-concurrent-pnu-wal2 via that wal2 branch. (check-in: [2ff7e56249] user: drh branch: begin-concurrent-pnu-wal2, size: 226287)
17:38
[154e430648] part of check-in [204dbc15a6] Merge recent trunk enhancements into begin-concurrent-report via begin-concurrent-pnu. (check-in: [204dbc15a6] user: drh branch: begin-concurrent-report, size: 227494)
17:30
[ad3ffc57e6] part of check-in [229107b196] Merge recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: [229107b196] user: drh branch: begin-concurrent-pnu, size: 226345)
17:29
[604ce07937] part of check-in [59303e69c3] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [59303e69c3] user: drh branch: begin-concurrent, size: 226212)
17:26
[3e236c3a57] part of check-in [92d8f967c9] Merge recent trunk enhancements into reuse-schema branch. (check-in: [92d8f967c9] user: drh branch: reuse-schema, size: 227408)
2021-06-14
20:08
[ab37a8dd95] part of check-in [c09d90eec2] Fix an ALTER TABLE problem with handling infinite loops of CTEs in the database schema. (check-in: [c09d90eec2] user: dan branch: trunk, size: 225668)
14:35
[c2f3217d0c] part of check-in [f21a53fb41] Update this branch with latest changes from trunk. (check-in: [f21a53fb41] user: dan branch: reuse-schema, size: 227331)
14:25
[bddaf1045b] part of check-in [0ab899012c] Update this branch with latest changes from wal2. (check-in: [0ab899012c] user: dan branch: begin-concurrent-pnu-wal2, size: 226210)
14:01
[31376e9d1e] part of check-in [a485d1a1b8] Update this branch with latest changes from begin-concurrent-pnu. (check-in: [a485d1a1b8] user: dan branch: begin-concurrent-report, size: 227417)
13:49
[336e807302] part of check-in [74b42754d0] Update this branch with latest changes from trunk. (check-in: [74b42754d0] user: dan branch: begin-concurrent-pnu, size: 226268)
12:23
[887c428241] part of check-in [d81996340a] Update this branch with latest trunk changes. (check-in: [d81996340a] user: dan branch: begin-concurrent, size: 226135)
2021-06-12
17:45
[30723f0f05] part of check-in [6796b7a248] An alternative approach to the use-after-free problem. (check-in: [6796b7a248] user: drh branch: alternative-oom-fix, size: 225591)
2021-06-11
11:14
[c33a273408] part of check-in [8b1f9a51e9] Fix problems with ALTER TABLE and schemas that contain views with some recursive CTEs, or CTEs that reference other CTEs. Forum post 9d965f2956. (check-in: [8b1f9a51e9] user: dan branch: trunk, size: 225590)
2021-06-04
13:40
[61f717ac42] part of check-in [677e645e69] Revamp SQLITE_TESTCTRL_TUNE to provide visibility of current turning parameter values. (check-in: [677e645e69] user: drh branch: seekscan-improvements, size: 225546)
13:16
[96c6caf72c] part of check-in [f1199d58b9] Add support for SQLITE_TESTCTRL_TUNE and the ".testctrl tune ID VALUE" command in the CLI. (check-in: [f1199d58b9] user: drh branch: seekscan-improvements, size: 225488)
2021-06-02
19:28
[de7cf989da] part of check-in [f674c41e5c] Add an optimization control bit to disable the OP_SeekScan optimization. (check-in: [f674c41e5c] user: drh branch: seekscan-improvements, size: 224777)
2021-05-22
15:05
[13f8b7f204] part of check-in [dbc65a6958] Merge latest trunk changes into this branch. (check-in: [dbc65a6958] user: dan branch: reuse-schema, size: 226441)
2021-05-21
17:31
[00259853d6] part of check-in [4efefb5938] Merge latest changes from wal2 into this branch. (check-in: [4efefb5938] user: dan branch: begin-concurrent-pnu-wal2, size: 225320)
16:32
[81408a969e] part of check-in [1dc6cf5113] Merge the latest trunk changes into begin-concurrent-report branch via the begin-concurrent-pnu branch. (check-in: [1dc6cf5113] user: drh branch: begin-concurrent-report, size: 226527)
16:17
[8b2ad8ea70] part of check-in [a8d05f8e92] Merge recent trunk changes into the begin-concurrent-pnu branch. (check-in: [a8d05f8e92] user: drh branch: begin-concurrent-pnu, size: 225378)
15:33
[e4c952b917] part of check-in [0dba9010ad] Merge all recent trunk changes into the begin-concurrent branch. (check-in: [0dba9010ad] user: drh branch: begin-concurrent, size: 225245)
13:32
[af4fc18cc0] part of check-in [fd8b68a474] Add a new sqlite3_config() option for setting the maximum precision of a printf() substitition. The default value is 100,000. It was formerly more than 2 billion. The default can be changed using the SQLITE_PRINTF_PRECISION_LIMIT compile-time option. (check-in: [fd8b68a474] user: drh branch: compile-time-precision-limit, size: 224768)
2021-05-20
17:15
[6d0c49ed21] part of check-in [f7dcc4b519] Ensure that objects within view definitions are not incorrectly resolved to CTEs that are part of the statement using the view. (check-in: [f7dcc4b519] user: dan branch: trunk, size: 224701)
00:44
[f859750f2e] part of check-in [5614279daf] Replace [0f0959c6f95046e8] with a new and better solution that also fixes the CTE name resolution problem described in forum post 8590e3f6dc. Test cases for both problems added. (check-in: [5614279daf] user: drh branch: trunk, size: 224627)
2021-05-19
12:17
[16d132f438] part of check-in [699c33990a] Improved column name and column type determination for the RETURNING clause. (check-in: [699c33990a] user: drh branch: trunk, size: 224560)
2021-05-17
16:20
[f65c88936a] part of check-in [4c6cd54a8d] Fix problems with refering to CTEs from within sub-selects in PARTITION BY or ORDER BY clauses of window frame definitions. Also a problem with renaming a column when the schema contains a trigger containing a correlated sub-select within a window frames PARTITION BY or ORDER BY clause. (check-in: [4c6cd54a8d] user: dan branch: trunk, size: 224495)
2021-05-08
17:18
[2b1cbc7f78] part of check-in [6df3b03e00] Enable the sqlite3_serialize() and sqlite3_deserialize() interfaces by default. Omit the SQLITE_ENABLE_DESERIALIZE option and replace it with the SQLITE_OMIT_DESERIALIZE option. (check-in: [6df3b03e00] user: drh branch: trunk, size: 224380)
2021-05-07
14:16
[9189083397] part of check-in [c5e2de1d24] This was suppose to be a merge from trunk. But something went wrong. (check-in: [c5e2de1d24] user: dan branch: bad-merge, size: 226122)
2021-05-04
12:07
[fa1af0cba6] part of check-in [16252d73fa] Back out the EXISTS-to-IN optimization. It slows things down rather than speeds them up depending on the query. And (see forum post 8692d94725) it sometimes results in an incorrect answer. We may come back and revisit this optimization later, but for now it seems best just to disable it. (check-in: [16252d73fa] user: drh branch: trunk, size: 224382)
2021-04-22
18:02
[a00cc0642e] part of check-in [c7909e8e0d] Raise an error on an attempt to rename an eponymous virtual table. (check-in: [c7909e8e0d] user: drh branch: trunk, size: 224459)
2021-04-19
19:59
[234ab17b17] part of check-in [bef2238de9] An improvement to check-in [1a341378ab24a509] that omits the new Walker.bWalkWinDefn boolean (which is not always initialized) and uses a special value for xSelectCallback2 instead. (check-in: [bef2238de9] user: drh branch: trunk, size: 224389)
2021-04-17
13:46
[73abdd2a63] part of check-in [1a341378ab] Ensure that variables are not used in the WINDOW clause of a query inside of a trigger. dbsqlfuzz d9cf66100064952b66951845dfab41de1c124611 (check-in: [1a341378ab] user: drh branch: trunk, size: 224406)
2021-04-12
16:59
[95679aa6ad] part of check-in [5ba15ebb34] Fix a segfault that could occur if the ORDER BY clause of a compound SELECT contains a sub-select that uses one or more window functions. (check-in: [5ba15ebb34] user: dan branch: trunk, size: 224334)
2021-04-10
13:37
[a908dadfca] part of check-in [7d67497074] Refactor NameContext.nErr into nNcErr to avoid confusion with Parse.nErr. Do not abandon sqlite3ResolveExprList() on nNcErr if nErr is still zero as we might have hit a problem with ORDER BY resolution that should be a suppressed error. dbsqlfuzz 41b9dad40919d3549ca7e52d893da81a6dded4ad (check-in: [7d67497074] user: drh branch: trunk, size: 224266)
2021-04-07
17:46
[043c8af8fa] part of check-in [655c28412f] Merge latest changes into this branch. (check-in: [655c28412f] user: dan branch: begin-concurrent-report, size: 226092)
17:32
[488332a51f] part of check-in [1f3f7e4bf3] Merge latest trunk changes into this branch. (check-in: [1f3f7e4bf3] user: dan branch: begin-concurrent-pnu, size: 224943)
15:23
[5cbcb97dd2] part of check-in [4b4f87913a] Merge version 3.35.4 with this branch. (check-in: [4b4f87913a] user: dan branch: reuse-schema-3.35, size: 226116)
2021-04-03
19:23
[b6331a513c] part of check-in [0dcf808ddf] Fix a crash in handling queries of the form "SELECT aggregate(DISTINCT tbl.col) FROM ... LEFT JOIN tbl ...". Fixes a problem introduced by [ef4ac0ddd297bbd3]. (check-in: [0dcf808ddf] user: dan branch: trunk, size: 224266)
2021-04-02
20:53
[8659e0f7bb] part of check-in [a221625933] Merge latest trunk changes with this branch. (check-in: [a221625933] user: dan branch: begin-concurrent-report, size: 226075)
20:40
[e2924d739b] part of check-in [a7e612ee8f] Merge latest trunk changes into this branch. (check-in: [a7e612ee8f] user: dan branch: begin-concurrent-pnu, size: 224926)
20:29
[c001113a83] part of check-in [9842084230] Merge latest trunk changes into this branch. (check-in: [9842084230] user: dan branch: begin-concurrent, size: 224793)
2021-03-31
13:51
[e56aa05ef7] part of check-in [77a30f3f7a] Defer deletion of expressions that are optimized out by the AND optimizer in the sqlite3ExprAnd() routine until the corresponding Parse object is deleted. This avoids a dangling pointer in AggInfo if sqlite3ExprAnd() is invoked by the push-down optimization. The dangling pointer appears to be harmless in release builds, only showing up in debug builds. Problem found by dbsqlfuzz. (check-in: [77a30f3f7a] user: drh branch: branch-3.35, size: 224376)
13:31
[c5cfae5891] part of check-in [c36b43589a] Defer deletion of expressions that are optimized out by the AND optimizer in the sqlite3ExprAnd() routine until the corresponding Parse object is deleted. This avoids a dangling pointer in AggInfo if sqlite3ExprAnd() is invoked by the push-down optimization. The dangling pointer appears to be harmless in release builds, only showing up in debug builds. Problem found by dbsqlfuzz. (check-in: [c36b43589a] user: drh branch: trunk, size: 224249)
2021-03-29
18:53
[109a148929] part of check-in [380b46054b] 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: [380b46054b] user: drh branch: compare-opcode-opt, size: 224202)
2021-03-28
23:37
[1330dbc07b] part of check-in [afb18f6454] Alternative implementation of the comparison opcode speed-up of check-in [4a8805d9a66dc888] that should pass muster with UBSAN. (check-in: [afb18f6454] user: drh branch: trunk, size: 224347)
2021-03-26
14:04
[c4fd0becfa] part of check-in [4d425e641d] Merge up all the 3.35.3 changes into the begin-concurrent-pnu-wal2 branch. (check-in: [4d425e641d] user: drh branch: begin-concurrent-pnu-wal2, size: 224948)
13:47
[19e6e608d6] part of check-in [4ba9fc34c5] Merge patch 3.35.3 into the begin-concurrent-report branch. (check-in: [4ba9fc34c5] user: drh branch: begin-concurrent-report, size: 226155)
13:38
[9bccf5ae7b] part of check-in [7e4c48afcc] Merge version 3.35.3 changes into the begin-concurrent-pnu branch. (check-in: [7e4c48afcc] user: drh branch: begin-concurrent-pnu, size: 225006)
13:31
[6b3b9b4529] part of check-in [988da36c86] Merge from 3.35.3 into the begin-concurrent branch. (check-in: [988da36c86] user: drh branch: begin-concurrent, size: 224873)
2021-03-24
17:28
[87bb2f645f] part of check-in [ef4ac0ddd2] Improvements to distinct aggregates such that they can sometimes avoid using an ephermeral table to test for duplicates if the column that is distinct is part of an index. (check-in: [ef4ac0ddd2] user: drh branch: trunk, size: 224224)
2021-03-23
16:34
[0f6446f612] part of check-in [0770470488] When doing schema updates, try to convert (incorrect) double-quoted strings into (SQL-standard) single-quoted strings. (check-in: [0770470488] user: drh branch: trunk, size: 224161)
14:27
[ff7d50a542] part of check-in [1d3c4662c2] Add the ExprList.nAlloc column and use it to make the sqlite3ExprListAppend() routine much faster. (check-in: [1d3c4662c2] user: drh branch: trunk, size: 224390)
2021-03-15
19:34
[452b2b8dfa] part of check-in [0fe60a63ae] Merge version 3.35.1 into the reuse-schema branch. (check-in: [0fe60a63ae] user: drh branch: reuse-schema, size: 226069)
2021-03-14
19:55
[0f81c7eb3a] part of check-in [a2adae907a] An alternative approach for fixing ticket [1c24a659e6d7f3a1]. (check-in: [a2adae907a] user: drh branch: tkt-1c24a659-b, size: 224329)
2021-03-13
17:21
[d10a181d06] part of check-in [01312a3dbd] Fix typos in comments and add test cases. (check-in: [01312a3dbd] user: dan branch: distinct-agg-opt, size: 224163)
2021-03-12
18:33
[312fc96be9] part of check-in [198bc510d6] Merge latest trunk changes into this branch. (check-in: [198bc510d6] user: dan branch: distinct-agg-opt, size: 224162)
2021-03-11
20:07
[9a3af47539] part of check-in [88c3c173e0] Merge latest wal2 changes into this branch. (check-in: [88c3c173e0] user: dan branch: begin-concurrent-pnu-wal2, size: 224719)
19:26
[f4d7a66d97] part of check-in [6994a2d8af] Merge latest changes from begin-concurrent-pnu into this branch. (check-in: [6994a2d8af] user: dan branch: begin-concurrent-report, size: 225926)
19:08
[e8cad670ae] part of check-in [eb3101364f] Merge latest trunk changes with this branch. (check-in: [eb3101364f] user: dan branch: begin-concurrent-pnu, size: 224777)
18:52
[493f3c3668] part of check-in [79d44ebd53] Update this branch with latest changes from trunk. (check-in: [79d44ebd53] user: dan branch: begin-concurrent, size: 224644)
10:55
[a3b80c98ca] part of check-in [ef8c6e06cb] Merge latest trunk changes into this branch. (check-in: [ef8c6e06cb] user: dan branch: reuse-schema, size: 225840)
2021-03-10
16:35
[3652edb9e6] part of check-in [7b65fb9f7b] Do not confuse the constant SQLITE_MAX_ATTACHED with the maximum number of schemas. Add the new SQLITE_MAX_DB constant for the maximum number of schemas. Forum post a006d86f72. (check-in: [7b65fb9f7b] user: drh branch: trunk, size: 224100)
2021-03-09
16:06
[75d9504d22] part of check-in [eb919611fd] Experimental optimization for distinct aggregates (e.g. "SELECT count(DISTINCT <expr) FROM ..."). (check-in: [eb919611fd] user: dan branch: distinct-agg-opt, size: 223991)
2021-03-04
16:03
[7c4679b3b0] part of check-in [e893f88750] Earlier detection of a misplaced ORDER BY or LIMIT clause in a compound SELECT. This prevents problems in recursive CTEs with multiple recursive terms in which there is an ORDER BY or LIMIT clause on the last non-recursive term. (check-in: [e893f88750] user: drh branch: trunk, size: 223929)
2021-03-03
19:54
[dea0bc6242] part of check-in [73bf458e1d] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [73bf458e1d] user: drh branch: reuse-schema, size: 225631)
19:41
[f43406e959] part of check-in [b0fc8ca14e] Merge in recent enhancements. (check-in: [b0fc8ca14e] user: drh branch: begin-concurrent-pnu-wal2, size: 224510)
19:25
[d960927392] part of check-in [59d3ec295a] Merge recent trunk enhancemenets into the begin-concurrent-pnu branch. (check-in: [59d3ec295a] user: drh branch: begin-concurrent-pnu, size: 224568)
19:17
[36c6e44690] part of check-in [acdafef836] Merge recent trunk changes into the begin-concurrent branch. (check-in: [acdafef836] user: drh branch: begin-concurrent, size: 224435)
2021-02-22
20:56
[11b9d47e9b] part of check-in [dac51f303b] Allow WHERE terms to be pushed down into sub-queries that contain window functions, provided that the WHERE term is made up of entirely of constants and copies of expressions found in the PARTITION BY clauses of all window functions in the sub-query. (check-in: [dac51f303b] user: dan branch: window-functions-pushdown, size: 223891)
03:04
[d7982229bd] part of check-in [a6bb272ec0] Add the AS MATERIALIZED and AS NOT MATERIALIZED syntax that works like it does in PostgreSQL. (check-in: [a6bb272ec0] user: drh branch: as-materialize-redux, size: 223813)
2021-02-21
23:44
[4e6c2c06e0] part of check-in [ba59159fbe] Materialize any CTE that is used more than once. (check-in: [ba59159fbe] user: drh branch: as-materialize-redux, size: 223472)
21:04
[dbe0a5541c] part of check-in [bfd5bf2c73] Rename the "struct SrcList_item" object to the more succinct "SrcItem". This is a symbolic change only. The logic is unmodified. (check-in: [bfd5bf2c73] user: drh branch: trunk, size: 222375)
2021-02-20
14:57
[180c58de36] part of check-in [f03efe905d] Break out the Cte object from the With object. This will make it simpler to add new kinds of Cte objects (ex: DML statements) and/or MATERIALIZED keywords in the future. It brings trunk into closer alignment with the experimental as-materialize branch. (check-in: [f03efe905d] user: drh branch: trunk, size: 222303)
12:47
[652ccfddec] part of check-in [7a90571e0a] Merge changes from trunk. (Later:) Abandon this line of development. See the as-materialize-redux branch. (check-in: [7a90571e0a] user: drh branch: as-materialize, size: 224449)
2021-02-18
22:47
[4bd449478d] part of check-in [9ea640073f] Merge changes from trunk into the alter-table-drop-column branch. (check-in: [9ea640073f] user: drh branch: alter-table-drop-column, size: 222111)
15:45
[4d57a17d46] part of check-in [f985a78ecc] Improvement to the INSERT optimization of check-in [16ac213c57196361] so that it works with SQLITE_ENABLE_HIDDEN_COLUMN but is also easier to maintain and a little faster as well. (check-in: [f985a78ecc] user: drh branch: trunk, size: 221940)
2021-02-17
21:13
[2b9857cce5] part of check-in [7a1399671f] Use the sqlite3ParserAddCleanup() mechanism to ensure that the AggInfo structure associated with an aggregate query is deallocated, for a performance increase and size reduction. (check-in: [7a1399671f] user: drh branch: trunk, size: 221674)
20:08
[d701e73873] part of check-in [10538ec6fc] Fix various issues with the changes on this branch. Add test cases for the same. (check-in: [10538ec6fc] user: dan branch: alter-table-drop-column, size: 221959)
2021-02-16
20:43
[514b41619e] part of check-in [f0217937d7] Add experimental implementation of ALTER TABLE DROP COLUMN. Only some cases work so far. (check-in: [f0217937d7] user: dan branch: alter-table-drop-column, size: 221898)
16:32
[d0f3ca58ec] part of check-in [bf0fd9b23a] Trying to get the new AS MATERIALIZE syntax of CTEs to work. There are still performance and memory management issues. This is a WIP check-in. (check-in: [bf0fd9b23a] user: drh branch: as-materialize, size: 224126)
00:48
[e9122436bf] part of check-in [78dcddd969] Change the syntax from "GENERATED AS" to "AS MATERIALIZED" so as to match the syntax of PostgreSQL 12+. (check-in: [78dcddd969] user: drh branch: with-generated-as, size: 222229)
2021-02-13
23:46
[20ee41712b] part of check-in [186ec18b24] If the GENERATED keyword occurs before the AS keyword in a common table expression (CTE) definition, then that CTE becomes an "optimization barrier". For now, that means the CTE is always materialized. It also means that query flattener or pushdown optimizations that cross the CTE boundary are omitted. (check-in: [186ec18b24] user: drh branch: with-generated-as, size: 222023)
21:01
[e5de6401f5] part of check-in [15692ec02b] Add a test-control that allows setting a LIKE pattern for common table expression names such that CTEs with matching names become an optimization barrier - They are not flattened and are implemented by materialization. (check-in: [15692ec02b] user: drh branch: optbarrier-test-ctrl, size: 221945)
16:39
[4cb469678a] part of check-in [9692f51080] Avoid manifesting a CTE (or other view) multiple times when it is possible to reuse the first manifestation. (check-in: [9692f51080] user: drh branch: trunk, size: 221788)
2021-02-12
21:07
[c849d0f05d] part of check-in [964ff68d8f] Parsing of DML statements in a WITH clause. But at this point, it just generates an error about "not yet supported". (check-in: [964ff68d8f] user: drh branch: dml-in-cte, size: 221783)
2021-02-10
20:20
[2ecdd62dc8] part of check-in [d29c41bd26] Merge latest trunk changes into this branch. (check-in: [d29c41bd26] user: dan branch: reuse-schema, size: 223447)
2021-02-05
17:34
[fc56cfde30] part of check-in [078dbff04a] Remove unreachable code. Fix a shift UB problem introduced yesterday and discovered by OSSFuzz. (check-in: [078dbff04a] user: drh branch: trunk, size: 221707)
2021-02-04
21:19
[eb303ae364] part of check-in [e73dbce8c5] Initial commit (check-in: [e73dbce8c5] user: shearer branch: selective-debug, size: 223027)
20:52
[c51a21569e] part of check-in [8a65fbeecf] Snapshot. New design appears to work on a simple test case. (check-in: [8a65fbeecf] user: drh branch: returning-manifested, size: 221733)
17:29
[596729ed0c] part of check-in [04b77d6321] Preliminary changes for a new implementation of RETURNING that captures all results in a buffer and plays them all back after the DML statement completes. This avoids problems with interleaved DML statements. This particular check-in is a non-functional work in progress. (check-in: [04b77d6321] user: drh branch: returning-manifested, size: 221522)
11:14
[9462cda2dd] part of check-in [e1eb621319] Work toward handling interleaved RETURNING statements. Trunk does not handle that case correctly. This branch is a partial implementation of ideas that might, however. (check-in: [e1eb621319] user: drh branch: interleaved-returning, size: 221565)
2021-01-29
21:18
[0fda3b2c05] part of check-in [b0e3ae303d] Allow "*" wildcards in the RETURNING clause. (check-in: [b0e3ae303d] user: drh branch: returning, size: 221434)
19:32
[e3ad4cc28d] part of check-in [b7ef4dc21f] Working prototype. (check-in: [b7ef4dc21f] user: drh branch: returning, size: 221454)
14:22
[aebfa715fe] part of check-in [29fbaf0e3e] Incorporate the sqlite3TriggerList() optimization from trunk. And move the pReturning field to the uninitialized area in the Parse object, to save memset() time. (check-in: [29fbaf0e3e] user: drh branch: returning, size: 220813)
2021-01-27
20:35
[c005efbb5f] part of check-in [5fbcb208d2] Merge recent enhancements from trunk. (check-in: [5fbcb208d2] user: drh branch: returning, size: 220810)
2021-01-21
15:40
[3e5bc04466] part of check-in [4f676466e6] Fix a problem caused by using an SQL variable in an OVER clause within a trigger program. (check-in: [4f676466e6] user: dan branch: fix-over-trigger, size: 220708)
2021-01-15
15:17
[d921214bba] part of check-in [a80c9a076d] Add a new optimizer disabling bit to close off the exists-to-in optimization, for testing purposes. (check-in: [a80c9a076d] user: drh branch: exists-to-in, size: 220692)
2021-01-13
19:28
[6aad58a5ae] part of check-in [fd0c9a123b] Expand the number of optimization-disable bits from 16 to 32. Use one of the new bits to disable the min/max optimization, so that we can more easily verify that we get the same answer both with and within that optimization. (check-in: [fd0c9a123b] user: drh branch: minmax-opt-exp, size: 220615)
15:23
[cecaa4eea2] part of check-in [188772a1db] Further enhancements to the min/max optimization of check-in b8ba2f17f938c035 to fix the performance regression identified by forum post 4050026ab8. (check-in: [188772a1db] user: drh branch: minmax-opt-exp, size: 220509)
2021-01-12
20:16
[de0ba6b4f9] part of check-in [abf8da8156] Lexer and grammar rules for a RETURNING clause on DELETE/INSERT/UPDATE. Actually making this work, though, will involve a lot more code which will likely slow down processing for the common case where there is no RETURNING clause. Furthermore, RETURNING seems to be of limited usefulness and it is not standard SQL. So we abandon it here. These experimental changes are parked in a branch as an historical reference. If circumstances changes, we might take up the cause again some day. (check-in: [abf8da8156] user: drh branch: returning, size: 220557)
15:30
[c7c7e0e797] part of check-in [38ef8ab983] Fix a potential use-after-free following an OOM in sqlite3ParserAddCleanup() and add a mechanism to detect situations where this might occur in the future. (check-in: [38ef8ab983] user: drh branch: parse-cleanup, size: 220455)
2021-01-11
20:37
[e484ffb8ce] part of check-in [affa2b7b31] Add a linked list of ParseCleanup objects to the end of a Parse object and use that list as a place to put other sub-objects that need to be deallocated. Have a single such list for infrequently used sub-objects is more efficient than doing an a separate check for each kind of sub-object. Edit: Now possible to have use-after-free following an OOM. (check-in: [affa2b7b31] user: drh branch: parse-cleanup, size: 220323)
2021-01-09
18:24
[0eb4c251a6] part of check-in [5204c2c4a7] More detailed compile-time testing before attempting to use atomic load intrinsics. See forum post fc0237a39b30ac0a. (check-in: [5204c2c4a7] user: drh branch: trunk, size: 219931)
2021-01-01
18:23
[1ae150649f] part of check-in [41f45c8e89] Size reduction and performance increase in sqlite3Prepare(). (check-in: [41f45c8e89] user: drh branch: trunk, size: 219886)
2020-12-22
20:35
[bd9c97bbf5] part of check-in [9587fa8b29] Fix SQLITE_OMIT_WINDOWFUNC builds by moving declaration of sqlite3ExpandSubquery out of "ifndef SQLITE_OMIT_WINDOWFUNC" block. (check-in: [9587fa8b29] user: dan branch: trunk, size: 219852)
2020-12-21
19:50
[53c440c2e6] part of check-in [d554f710a5] Fix problems with joining UNION ALL sub-queries against other sub-queries that contain LEFT JOIN. (check-in: [d554f710a5] user: dan branch: trunk, size: 219852)
2020-12-20
14:51
[830d395a43] part of check-in [88d93ee380] Always declare the sqlite3WhereTrace variable, even for non-debug builds. (check-in: [88d93ee380] user: drh branch: trunk, size: 219852)
2020-12-17
11:30
[a697022ddc] part of check-in [9f41f60405] Merge latest trunk changes into this branch. (check-in: [9f41f60405] user: dan branch: reuse-schema, size: 221592)
2020-12-16
14:20
[6d8363d245] part of check-in [31cd1bbfa5] Remove an unnecessary and incorrect #ifdef. Fix harmless compiler warnings. (check-in: [31cd1bbfa5] user: drh branch: trunk, size: 219852)
2020-12-14
16:50
[6d16cbd378] part of check-in [daf0465021] Merge the latest trunk enhancements into the begin-concurrent-pnu branch. (check-in: [daf0465021] user: drh branch: begin-concurrent-pnu, size: 220569)
16:26
[4c5c1eebe5] part of check-in [a1708e8457] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [a1708e8457] user: drh branch: begin-concurrent, size: 220436)
15:39
[ef8b4b3992] part of check-in [6b01a24daa] Enhance UPSERT so that it allows multiple ON CONFLICT clauses and does not require a conflict target for DO UPDATE. (check-in: [6b01a24daa] user: drh branch: trunk, size: 219892)
2020-12-12
00:28
[31492bf5f9] part of check-in [f22c21a94c] New test cases with corresponding bug fixes. (check-in: [f22c21a94c] user: drh branch: generalized-upsert, size: 219497)
2020-12-11
01:17
[aff99a1938] part of check-in [155142314f] Logic is in place to handle multiple ON CONFLICT clauses, but it does not work. Any use of ON CONFLICT will likely lead to memory faults. This is an incremental check-in to save my place. (check-in: [155142314f] user: drh branch: generalized-upsert, size: 219496)
2020-12-10
20:31
[72c7bfc483] part of check-in [64a4a91ecc] Use an iterator for the index loop in sqlite3GenerateConstraintChecks(). The idea is that this iterator can be enhanced to traverse the indexes in any order, as required by multi-index UPSERT. (check-in: [64a4a91ecc] user: drh branch: generalized-upsert, size: 219318)
18:07
[6f99431f5b] part of check-in [7337eed629] Merge trunk changes into this branch. (check-in: [7337eed629] user: dan branch: vacuum-lomem, size: 218919)
18:06
[47bc1232d1] part of check-in [101cef1491] Better integrate the changes on this branch with OP_Insert and OP_IdxInsert. (check-in: [101cef1491] user: dan branch: vacuum-lomem, size: 218601)
12:49
[0e042bd760] part of check-in [a47e35ee2d] The DO UPDATE code generator searches for the correct ON CONFLICT clause to use. (check-in: [a47e35ee2d] user: drh branch: generalized-upsert, size: 219259)
2020-12-09
23:35
[6b9e04aff5] part of check-in [c0de6c1fb2] Fix compilation issues with MSVC related to C99. (check-in: [c0de6c1fb2] user: mistachkin branch: trunk, size: 218842)
20:30
[f01f37844e] part of check-in [3194c00c2c] For upsert, the constraint check code generator uses a copy of the index list for the target table, which can potentially be reordered. (check-in: [3194c00c2c] user: drh branch: generalized-upsert, size: 219180)
13:11
[f8e462357e] part of check-in [8ccb8d1d55] Improved comments in sqliteInt.h. No changes to code. (check-in: [8ccb8d1d55] user: drh branch: generalized-upsert, size: 218969)
2020-12-08
14:29
[351d29fad6] part of check-in [2ca62f4c71] Enhance UPSERT parsing to allow multiple ON CONFLICT clauses. Only the very last clause may omit the conflict target, but the conflict target may now be omitted for the DO UPDATE resolution. (check-in: [2ca62f4c71] user: drh branch: generalized-upsert, size: 218606)
2020-12-07
17:15
[6ab40b33a1] part of check-in [4db5f2f787] Begin adding new SQL functions that depend on -lm: ceil(), ceiling(), floor(), ln(), log(), and log10() so far. More to follow. (check-in: [4db5f2f787] user: drh branch: trunk, size: 218524)
2020-12-04
18:47
[c62e228ba6] part of check-in [846e8444f7] Update this branch with latest trunk changes. (check-in: [846e8444f7] user: dan branch: reuse-schema, size: 220021)
01:17
[c897ea47eb] part of check-in [d36d6f2923] Alternative implementation of ".selecttrace" and ".wheretrace" that uses a test-control rather than global variables. (check-in: [d36d6f2923] user: drh branch: traceflags-test-control, size: 218281)
2020-11-26
18:41
[a40064e6dc] part of check-in [b451bb724e] Merge latest changes from wal2 branch. (check-in: [b451bb724e] user: dan branch: begin-concurrent-pnu-wal2, size: 218601)
17:54
[973e01f456] part of check-in [d2de81a24f] Merge latest changes from begin-concurrent-pnu into this branch. (check-in: [d2de81a24f] user: dan branch: begin-concurrent-report, size: 219807)
17:36
[16c573c101] part of check-in [a42e6f34f5] Merge latest changes from trunk into this branch. (check-in: [a42e6f34f5] user: dan branch: begin-concurrent-pnu, size: 218659)
11:37
[1ce4c76643] part of check-in [ddb97eeef7] Update this branch with latest changes from trunk. (check-in: [ddb97eeef7] user: dan branch: begin-concurrent, size: 218526)
2020-11-18
21:15
[0b579b0cba] part of check-in [6004de525d] Merge trunk changes into this branch. (check-in: [6004de525d] user: dan branch: reuse-schema, size: 219722)
2020-10-27
11:13
[c6c4c310b6] part of check-in [eb6e5fc189] Typo in btree.h (and unwanted merge; this branch for cherrypicking btree.h only) (check-in: [eb6e5fc189] user: shearer branch: btree-code-documentation, size: 218304)
2020-10-22
18:58
[e19d89d6a1] part of check-in [263293f1e6] Minor tweaks to query planning weights so that when STAT4 is enabled and functioning, a full table scan is more likely to be selected if that seems like the fastest solution. Only do this when STAT4 info is available because an error has a large potential downside. (check-in: [263293f1e6] user: drh branch: branch-3.28, size: 202793)
15:47
[c01115c8dd] part of check-in [0f42099ad6] Sometimes it makes sense to do a full table scan rather than try to use an index when most of the rows will be selected. This branch is trying to tune the query planner to make that happen more often. (check-in: [0f42099ad6] user: drh branch: avoid-bad-indexes, size: 217982)
2020-09-25
09:42
[4ef96d64b0] part of check-in [3a576608e6] Merge recent trunk changes into the btree-code-documentation branch (check-in: [3a576608e6] user: shearer branch: btree-code-documentation, size: 218225)
2020-09-24
11:41
[8cd4cbd10c] part of check-in [770dbedddc] Added context to explain that the test coverage is about MC/DC in general, not just an SQLite-specifc test harness. (check-in: [770dbedddc] user: shearer branch: btree-code-documentation, size: 218170)
2020-09-17
00:46
[34319c13e9] part of check-in [7d2b590d3a] DISTINCT may not be ignored inside a UNION ALL common table expression. Fix for ticket [c51489c3b8f919c5] (check-in: [7d2b590d3a] user: drh branch: trunk, size: 217903)
2020-09-16
16:55
[c0e801eb5d] part of check-in [2e269dcdef] Merge bugfixes made since version 3.33.0 into this branch. (check-in: [2e269dcdef] user: dan branch: reuse-schema-3.33, size: 219586)
16:38
[51a6847d9e] part of check-in [8504161154] Do not skip over TK_IF_NULL_ROW operators when bypassing TK_COLLATE operators. Fix to check-in [ac31edd3eeafcef4] which was itself a fix for ticket [45f4bf4eb4ffd788]. (check-in: [8504161154] user: dan branch: branch-3.33, size: 217846)
2020-09-04
17:40
[368d826546] part of check-in [ca8deb44c7] Update this branch with latest changes from trunk. (check-in: [ca8deb44c7] user: dan branch: reuse-schema, size: 219588)
2020-08-27
18:36
[d8d69318b1] part of check-in [5ce34a955b] Include the original text of the CHECK constraint in the error message for anonymous CHECK constraints. (check-in: [5ce34a955b] user: drh branch: trunk, size: 217848)
2020-08-19
23:32
[7dd1f3a93e] part of check-in [871f2ddcfb] Do not skip over TK_IF_NULL_ROW operators when bypassing TK_COLLATE operators. Fix to check-in [ac31edd3eeafcef4] which was itself a fix for ticket [45f4bf4eb4ffd788]. (check-in: [871f2ddcfb] user: drh branch: trunk, size: 217822)
2020-08-17
21:03
[34fb4aa27d] part of check-in [0ecda43371] When doing an UPDATE or DELETE using a multi-column index where only a few of the earlier columns of the index are useful for the index lookup, postpone doing the main table seek until after all WHERE clause constraints have been evaluated, in case those constraints can be covered by unused later terms of the index, thus avoiding unnecessary main table seeks. (check-in: [0ecda43371] user: dan branch: branch-3.28, size: 202714)
2020-08-14
20:04
[86ad0f9164] part of check-in [a495f60d31] For UPDATE and DELETE, use OP_DeferredSeek always. If the seek must later be resolved, add the OP_FinishSeek opcode after all WHERE clause terms have been processed. This obviates the need for the WHERE_SEEK_TABLE and WHERE_SEEK_UNIQ_TABLE flags to sqlite3WhereBegin() and the ensuing complication, and it allows the covering index optimization to be used further into WHERE clause processing. (check-in: [a495f60d31] user: drh branch: delete-bytecode-optimization, size: 217816)
13:55
[23e85f73cf] part of check-in [e456d43708] Merge the 3.33.0 release into the reuse-schema branch. (check-in: [e456d43708] user: drh branch: reuse-schema, size: 219580)
2020-08-11
16:46
[a1aa5457ca] part of check-in [d5b254f94c] Remove an unused #define from sqliteInt.h. (check-in: [d5b254f94c] user: drh branch: trunk, size: 217840)
14:55
[827cf0bf10] part of check-in [b1a77b7ead] Merge all changes since the 3.32.0 release into the reuse-schema branch. (check-in: [b1a77b7ead] user: drh branch: reuse-schema, size: 219679)
14:06
[2b9bd070a1] part of check-in [3ee73880ed] Update this branch with latest from begin-concurrent-pnu. (check-in: [3ee73880ed] user: dan branch: begin-concurrent-report, size: 219764)
13:22
[4b987a6c9a] part of check-in [ebefcb8607] Merge all the latest changes into the begin-concurrent-pnu-wal2 branch. (check-in: [ebefcb8607] user: drh branch: begin-concurrent-pnu-wal2, size: 218558)
2020-08-10
21:30
[70a268a722] part of check-in [2ae78c993e] Merge recent trunk fixes into the begin-concurrent-pnu branch. (check-in: [2ae78c993e] user: drh branch: begin-concurrent-pnu, size: 218616)
21:16
[7909ae035b] part of check-in [ed4c742c4e] Merge recent trunk enhancements into begin-concurrent. (check-in: [ed4c742c4e] user: drh branch: begin-concurrent, size: 218483)
21:01
[a938ad036c] part of check-in [5bbd4bddd3] Simplify #ifdefs associated with Parse.eParseMode. Fix an #ifdef error associated with SQLITE_OMIT_AUTOVACUUM. (check-in: [5bbd4bddd3] user: drh branch: trunk, size: 217939)
14:18
[4952e11e2a] part of check-in [9d670a3183] Fix harmless compiler warnings that surface in newer versions of GCC. (check-in: [9d670a3183] user: drh branch: trunk, size: 218022)
2020-08-08
17:02
[ed67c2f3f1] part of check-in [5ecd03a27b] Change the name of sqlite3SelectTrace to sqlite3_unsupported_selecttrace. (check-in: [5ecd03a27b] user: dan branch: trunk, size: 217712)
2020-07-31
20:56
[bdf744479f] part of check-in [eb7a9c04bd] Improved non-locking PRNG. (check-in: [eb7a9c04bd] user: drh branch: begin-concurrent, size: 218230)
17:08
[8a5a98ab7c] part of check-in [ebd39665e5] Merge latest wal2 changes into this branch. (check-in: [ebd39665e5] user: dan branch: begin-concurrent-pnu-wal2, size: 218305)
2020-07-30
19:56
[ed9663c7ae] part of check-in [fd01e78827] Merge begin-concurrent-pnu changes into this branch. (check-in: [fd01e78827] user: dan branch: begin-concurrent-report, size: 219511)
19:37
[b483045ee0] part of check-in [2b3241cf67] Merge latest trunk change into this branch. (check-in: [2b3241cf67] user: dan branch: begin-concurrent-pnu, size: 218363)
19:19
[514c845d7f] part of check-in [e8a6651539] Merge latest trunk changes into this branch. (check-in: [e8a6651539] user: dan branch: begin-concurrent, size: 218228)
2020-07-29
16:18
[ef4686733d] part of check-in [a80ae2c98b] Dozens and dozens of typo fixes in comments. This change adds no value to the end product and is disruptive, so it is questionable whether or not it will ever land on trunk. (check-in: [a80ae2c98b] user: drh branch: typos, size: 217574)
2020-07-22
18:03
[ec260b2441] part of check-in [6c3a2727dc] When parsing the schema, detect out-of-bounds rootpage values and throw an error. (check-in: [6c3a2727dc] user: drh branch: rootpage-bounds-check, size: 217686)
13:38
[eb4f7746ca] part of check-in [9ce1710aad] Continuing work toward supporting unsigned 32-bit page numbers. (check-in: [9ce1710aad] user: drh branch: larger-databases, size: 217620)
10:36
[97a2733b02] part of check-in [d2aac00120] Merge fixes from trunk. (check-in: [d2aac00120] user: drh branch: larger-databases, size: 217576)
2020-07-21
18:25
[e07f073568] part of check-in [14eed318aa] Add the sqlite3Int64ToText() routine and use it to convert integers to text, as it is much faster than the generic text formatter. (check-in: [14eed318aa] user: drh branch: trunk, size: 217576)
2020-07-20
12:47
[8c43ad1408] part of check-in [9cb7da9bdb] Initial changes to allow database up to 281TB in size. (check-in: [9cb7da9bdb] user: drh branch: larger-databases, size: 217540)
2020-07-17
16:31
[9682c3ce6b] part of check-in [d90a37e930] Make it an error to repeat the target object/alias of an UPDATE statement in its FROM clause. (check-in: [d90a37e930] user: dan branch: update-from, size: 217540)
11:07
[bb31b654db] part of check-in [12a909fb3d] Bring this branch up to date with begin-concurrent-pnu. (check-in: [12a909fb3d] user: dan branch: begin-concurrent-report, size: 217531)
2020-07-16
20:57
[547b075d41] part of check-in [2160ede1d1] Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: [2160ede1d1] user: dan branch: begin-concurrent-pnu-wal2, size: 216325)
20:39
[6cc1e3b893] part of check-in [e9393a18cb] Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: [e9393a18cb] user: dan branch: begin-concurrent-pnu, size: 216383)
20:10
[2c4cc451a4] part of check-in [24eead9204] Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: [24eead9204] user: dan branch: mistake, size: 216248)
2020-07-15
15:32
[e2684c4ba7] part of check-in [5176cb7a6a] Fix a problem in SQLITE_ENABLE_HIDDEN_COLUMN builds occuring when an UPDATE...FROM fired an INSTEAD OF trigger. (check-in: [5176cb7a6a] user: dan branch: update-from, size: 217469)
2020-07-14
19:51
[9b73bd726b] part of check-in [4f6d8d0ebf] Support UPDATE...FROM statements in trigger programs. (check-in: [4f6d8d0ebf] user: dan branch: update-from, size: 216951)
2020-07-13
18:04
[e0049e2f4d] part of check-in [5ee3c27e20] Merge latest trunk changes with this branch. (check-in: [5ee3c27e20] user: dan branch: update-from, size: 216777)
2020-07-10
21:43
[8366e482a1] part of check-in [1e87da9c93] Remove unnecessary code from the window functions implementation. (check-in: [1e87da9c93] user: drh branch: trunk, size: 216556)
2020-07-06
12:13
[f89ed824bc] part of check-in [612eb590ea] 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: [612eb590ea] user: drh branch: trunk, size: 216598)
2020-06-19
11:34
[5f9b119efd] part of check-in [7bb08b1bfc] Refactoring various names. No changes in the resulting machine code. (check-in: [7bb08b1bfc] user: drh branch: trunk, size: 216538)
2020-06-18
14:30
[c15119b494] part of check-in [c2d3676339] Merge the 3.32.3 release into the reuse-schema branch. (check-in: [c2d3676339] user: drh branch: reuse-schema-3.32, size: 217872)
2020-06-17
12:37
[04a6d2745c] part of check-in [d55b8e7993] Merge miscellaneous fixes from trunk into the 3.32 branch. (check-in: [d55b8e7993] user: drh branch: branch-3.32, size: 216132)
2020-06-15
20:27
[0a13c93b25] part of check-in [61782a7ae3] Provide "sqlite_schema" as an alternative name to the table that holds the database schema. (check-in: [61782a7ae3] user: drh branch: trunk, size: 216742)
13:51
[abf448e9f8] part of check-in [10fa79d00f] Fix a defect in the query-flattener optimization identified by ticket [8f157e8010b22af0]. (check-in: [10fa79d00f] user: drh branch: trunk, size: 216485)
2020-06-11
00:57
[fe320867c4] part of check-in [30c6d895b5] Provide the ability to use the SELECTTRACE() debugging macro outside of the select.c source file. Use this to add a new SELECTTRACE() entry in window.c for improved tracing of window-function parse-tree rewriting. (check-in: [30c6d895b5] user: drh branch: trunk, size: 216409)
2020-06-09
14:56
[6c523dc65a] part of check-in [9a4cc1dbf2] Crazy experimental change to refcount the AggInfo objects. (check-in: [9a4cc1dbf2] user: drh branch: refcount-agginfo, size: 216008)
13:38
[8fddd3ff00] part of check-in [a53bdd311c] Give the expression pointer fields of AggInfo distinctive names in order to simplify tracking of all their uses. (check-in: [a53bdd311c] user: drh branch: trunk, size: 216046)
11:59
[73968c2546] part of check-in [b5711b4eea] Improved tree-view debugging output for aggregate functions. (check-in: [b5711b4eea] user: drh branch: trunk, size: 216046)
2020-06-08
12:49
[5483382f76] part of check-in [44a58d6cb1] When an Expr object is changed and that Expr is referenced by an AggInfo, then also update the AggInfo. Also, persist all AggInfo objects until the Parse object is destroyed. This is a new fix for ticket [c8d3b9f0a750a529]. (check-in: [44a58d6cb1] user: drh branch: branch-3.32, size: 216056)
2020-06-07
20:18
[04621e8c61] part of check-in [3c840b4df3] AggInfo objects might be referenced even after the sqlite3Select() function that created them has exited. So AggInfo cannot be a stack variable. And it must not be freed until the Parse object is destroyed. (check-in: [3c840b4df3] user: drh branch: persist-agginfo, size: 216060)
17:33
[dda913aa72] part of check-in [7682d8a768] Alternative fix to ticket [c8d3b9f0a750a529]: Prior to deleting or modifying an Expr not that is referenced by an AggInfo, modify the AggInfo to get its own copy of the original Expr. (check-in: [7682d8a768] user: drh branch: persist-agginfo, size: 215946)
2020-06-06
20:48
[7b31ca4988] part of check-in [05418b2a4a] Merge multiple changes from trunk to address concerns with window-function parse-tree rewriting. (check-in: [05418b2a4a] user: drh branch: branch-3.32-early-winfunc-rewrite, size: 216360)
18:34
[2e95a4e41c] part of check-in [03b32be44d] In the query flattener, defer deleting content until after associated Parse object is destroyed, in case some of the deleted expressions have been collected for use by sAggInfo. (check-in: [03b32be44d] user: drh branch: early-winfunc-rewrite-dev, size: 216364)
2020-06-05
15:56
[d853d36c70] part of check-in [79eff1d038] Do parse-tree transformations required for window functions prior to running aggregate function analysis. Fix for ticket [c8d3b9f0a750a529]. (check-in: [79eff1d038] user: drh branch: branch-3.32-early-winfunc-rewrite, size: 216309)
14:10
[c8e3e65ac0] part of check-in [fe702aa08c] Move the parse tree rewrite for window functions earlier in the process, before sqlite3ExprAnalyzeAggregates() has run. Add new assert()s to verify that aggregate analysis always remains valid until the end of SELECT processing. (check-in: [fe702aa08c] user: drh branch: early-winfunc-rewrite, size: 216313)
2020-06-04
16:34
[f5e422635c] part of check-in [362255791f] Use __has_extension(c_atomic) instead of __has_feature(c_atomic) to detect support for atomic load and store operations with clang. (check-in: [362255791f] user: dan branch: trunk, size: 215710)
2020-05-25
18:18
[be11191981] part of check-in [0f9464c509] Merge version 3.32.1 into the begin-concurrent-pnu-wal2 branch. (check-in: [0f9464c509] user: drh branch: begin-concurrent-pnu-wal2, size: 216207)
18:03
[d434b8d810] part of check-in [e8d79d2bae] Merge versoin 3.32.1 into the begin-concurrent-pnu branch. (check-in: [e8d79d2bae] user: drh branch: begin-concurrent-pnu, size: 216265)
17:27
[d26d6ed7bd] part of check-in [5e08e36067] Merge version 3.32.1 into the begin-concurrent branch. (check-in: [5e08e36067] user: drh branch: begin-concurrent, size: 216130)
16:34
[087cb10287] part of check-in [ecf8dece03] Update the reuse-schema branch to version 3.32.1 (check-in: [ecf8dece03] user: drh branch: reuse-schema, size: 217446)
2020-05-24
03:01
[37f74544c8] part of check-in [dac438236f] Move some utility Walker callbacks into the walker.c source file, as they seem to belong there better. (check-in: [dac438236f] user: drh branch: trunk, size: 215706)
00:30
[9b05097d99] part of check-in [efdbb2b499] Minor fix to a comment. No code changes. (check-in: [efdbb2b499] user: drh branch: trunk, size: 215606)
2020-05-18
19:55
[76d6c74a53] part of check-in [5dc355ccf6] Merge latest trunk changes into this branch. (check-in: [5dc355ccf6] user: dan branch: begin-concurrent-pnu-wal2, size: 216110)
16:19
[0cb5bc0bf4] part of check-in [c69f030b1e] Merge recent changes from trunk. (check-in: [c69f030b1e] user: drh branch: begin-concurrent-pnu, size: 216168)
15:41
[71a17928a9] part of check-in [9e4a7b3ed8] Merge latest trunk changes into this branch. (check-in: [9e4a7b3ed8] user: dan branch: begin-concurrent, size: 216033)
2020-05-16
19:00
[30fc243428] part of check-in [5af4abe98c] Merge trunk enhancements in the reuse-schema branch. (Actual date of this check-in is 2020-05-18.) (check-in: [5af4abe98c] user: drh branch: reuse-schema, size: 217349)
2020-05-14
21:16
[8878a88c18] part of check-in [eca0ba2cf4] Do not allow a virtual table to be renamed into the name of one of its shadows. (check-in: [eca0ba2cf4] user: drh branch: trunk, size: 215609)
2020-05-13
18:03
[610ea213d8] part of check-in [fce173cd21] Implement the IIF(x,y,z) SQL function that is short-hand for "CASE WHEN x THEN y ELSE z END". For compatibility with SQL Server. (check-in: [fce173cd21] user: drh branch: trunk, size: 215509)
17:26
[1a44887a8c] part of check-in [a116b20f86] Remove unused constant SQLITE_FUNC_COALESCE. (check-in: [a116b20f86] user: drh branch: trunk, size: 215467)
2020-05-06
20:55
[9d2caeaee7] part of check-in [92dc59132f] Fix harmless compiler warnings. (check-in: [92dc59132f] user: drh branch: setlk-deadlock-changes, size: 215479)
2020-05-04
19:42
[26de171e0a] part of check-in [553423c231] Changes to avoid deadlock in SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: [553423c231] user: dan branch: setlk-deadlock-changes, size: 215494)
2020-04-29
20:11
[cea0d39df2] part of check-in [b717dc3c5f] Fix problems with using LIMIT and FROM clauses as part of single UPDATE statement. (check-in: [b717dc3c5f] user: dan branch: update-from, size: 215724)
17:41
[3caabf4700] part of check-in [823ba94e29] Fix various bugs in new feature on this branch. (check-in: [823ba94e29] user: dan branch: update-from, size: 215790)
2020-04-27
20:55
[bfed03b21b] part of check-in [f353a1a613] Allow a FROM clause in UPDATE statements. (check-in: [f353a1a613] user: dan branch: update-from, size: 215645)
2020-04-09
19:00
[7047360caf] part of check-in [6c11b67bd2] Merge recent trunk changes into begin-concurrent-pnu-wal2. (check-in: [6c11b67bd2] user: drh branch: begin-concurrent-pnu-wal2, size: 216004)
18:51
[ce780f1aed] part of check-in [d6fda470fe] Merge recent trunk changes into the apple-osx branch. (check-in: [d6fda470fe] user: drh branch: apple-osx, size: 217334)
18:44
[d3098bfc47] part of check-in [cedd138c74] Merge recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: [cedd138c74] user: drh branch: begin-concurrent-pnu, size: 216062)
18:29
[15a4ee2554] part of check-in [92f71a88c4] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [92f71a88c4] user: drh branch: begin-concurrent, size: 215927)
15:01
[1f6909cd26] part of check-in [17901ea6a1] Merge trunk enhancements into the approximate-analyze branch. (check-in: [17901ea6a1] user: drh branch: approximate-analyze, size: 215573)
2020-04-06
18:16
[0f3848c463] part of check-in [1e4b6a9398] Performance improvement for column name lookup. (check-in: [1e4b6a9398] user: drh branch: trunk, size: 215503)
2020-04-03
20:14
[32d0ab6d0a] part of check-in [bf6bcfc16e] Restore an #if block inadvertently removed via check-in [9c77bfe41e]. (check-in: [bf6bcfc16e] user: mistachkin branch: branch-3.31, size: 214240)
2020-04-01
17:10
[759336c1f4] part of check-in [7e666b6022] Add support for the "ANALYZE WITH LIMIT=N" syntax. (check-in: [7e666b6022] user: drh branch: analyze-with-limit, size: 215632)
2020-03-31
20:57
[7bab5c24cd] part of check-in [a279b151c1] Add "PRAGMA analysis_limit=N;" to limit the number of rows visited by ANALYZE when N is positive. Positive N also disables collecting stat4. (check-in: [a279b151c1] user: drh branch: approximate-analyze, size: 215480)
2020-03-30
13:35
[b016568688] part of check-in [a49f8ec552] Use __atomic_load_n() and __atomic_store_n() for a few more things where they are available. (check-in: [a49f8ec552] user: dan branch: trunk, size: 215410)
2020-03-21
23:10
[24cc324de1] part of check-in [5d14a1c4f2] Fix to the recomputation of the colUsed field added by check-in [a9bb71ba708ba722]. This fixes ticket [5829597ac43811e3]. (check-in: [5d14a1c4f2] user: drh branch: trunk, size: 214862)
15:41
[3e15c159d5] part of check-in [682b426f56] Ensure that "main" can always be used to refer to the main database, even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. (check-in: [682b426f56] user: dan branch: trunk, size: 214827)
15:10
[493893267f] part of check-in [a85c63daa6] Consolidate some code on this branch. (check-in: [a85c63daa6] user: dan branch: main-alias-fix, size: 214749)
14:05
[84e11419a1] part of check-in [2383aa2cb8] Merge updates from trunk. (check-in: [2383aa2cb8] user: drh branch: explain-improvements, size: 214935)
03:40
[f2cef459c6] part of check-in [62aece6677] Back out the sqlite3_stmt_mode() and EXPLAIN TABLES enhancements, but keep the other miscellaneous improvements to EXPLAIN that were implemented while adding the above: Turn magic numbers into symbolic constants. Add the sqlite3MemPrint() interface accessible to the debugger. Improve the performance and reduce the code size. (check-in: [62aece6677] user: drh branch: explain-improvements, size: 214857)
00:05
[3ccd2aedc5] part of check-in [a9bb71ba70] Recompute the set of columns used for each table when the table is involved in query flattening. (check-in: [a9bb71ba70] user: drh branch: trunk, size: 214764)
2020-03-11
19:41
[5f74c1c52b] part of check-in [d7f1848997] Rename sqlite3ExprCodeAtInit() to sqlite3ExprCodeRunJustOnce(). Other changes to make the new code cleaner. Test cases added. (check-in: [d7f1848997] user: drh branch: do-not-factor-functions, size: 214686)
19:30
[ae74e97c87] part of check-in [b288bbd1df] Add documentation notes and fix outstanding issues on this branch. (check-in: [b288bbd1df] user: dan branch: begin-concurrent-report, size: 215780)
2020-03-10
21:14
[6c365131b4] part of check-in [9ae970fdc1] Fix test and other problems with reporting pages read and written. (check-in: [9ae970fdc1] user: dan branch: begin-concurrent-report, size: 215703)
19:24
[ed6885bb0e] part of check-in [5f60b527b9] Enhanced detection logic for preventing the use of static schema expressions by code generating routines. (check-in: [5f60b527b9] user: drh branch: trunk, size: 214681)
2020-03-09
21:00
[285d794664] part of check-in [b661ccc88f] Report on pages, as well as keys, read and written by BEGIN CONCURRENT transactions. (check-in: [b661ccc88f] user: dan branch: begin-concurrent-report, size: 215666)
2020-03-06
20:51
[5632e059ed] part of check-in [1c1f180eb6] Enhancement to log logical writes as well as reads. (check-in: [1c1f180eb6] user: dan branch: begin-concurrent-report, size: 215577)
2020-03-05
20:59
[f0b23a3030] part of check-in [ab458a319f] Fix reporting for indexed range scans that extend past the end of the data. (check-in: [ab458a319f] user: dan branch: begin-concurrent-report, size: 215478)
19:00
[f45995114c] part of check-in [507f972e91] Merge trunk change [895bd20b29] into this branch. (Actually check-in date was 2020-05-18) (check-in: [507f972e91] user: dan branch: reuse-schema, size: 215891)
18:04
[37511a5bd1] part of check-in [895bd20b29] Report an error if the main, or any other, database encoding is modified by an external process (perhaps using the backup API) after the db has been opened. (check-in: [895bd20b29] user: dan branch: trunk, size: 214151)
16:30
[4fb4427f1d] part of check-in [9d068e1ef0] Merge trunk enhancements into the reuse-schema branch. (Actual check-in date is 2020-05-18) (check-in: [9d068e1ef0] user: drh branch: reuse-schema, size: 215889)
16:13
[a02a77e590] part of check-in [4a5851893c] Change the sqlite3.pDfltColl (the default collating sequence for the database connection) so that it is the collating sequence appropriate for the database encoding, not the UTF8 collating sequence. This helps to ensure that the database encoding collation is always used, even for expressions that do not have an defined collating sequence. Ticket [1b8d7264567eb6fc]. (check-in: [4a5851893c] user: drh branch: trunk, size: 214149)
2020-03-03
21:01
[f779b5b664] part of check-in [427e2c9d95] Extend begin_concurrent_report() so that it reports on accesses to non-intkey tables as well. (check-in: [427e2c9d95] user: dan branch: begin-concurrent-report, size: 215457)
2020-03-02
21:00
[e00a0d6f78] part of check-in [ad961aee15] Fix reporting for some range scan cases. (check-in: [ad961aee15] user: dan branch: begin-concurrent-report, size: 215381)
15:05
[d95f01a6a6] part of check-in [b1880b1899] Merge latest begin-concurrent-pnu changes with this branch. (check-in: [b1880b1899] user: dan branch: begin-concurrent-report, size: 215255)
2020-02-27
15:20
[07f34d426c] part of check-in [3f5650aae6] Merge latest trunk changes into this branch. (check-in: [3f5650aae6] user: dan branch: reuse-schema, size: 215842)
12:33
[05052adff2] part of check-in [9c77bfe41e] Backport the change that allows the filename passed into the xFullPathname to be used as an argument to sqlite3_uri_parameter(). (check-in: [9c77bfe41e] user: drh branch: branch-3.31, size: 214135)
2020-02-17
19:25
[d736043dc6] part of check-in [abc473fb8f] A better (smaller and faster) solution to ticket [4374860b29383380]. (check-in: [abc473fb8f] user: drh branch: trunk, size: 214102)
00:12
[a8979f41b8] part of check-in [9d0d4ab95d] Take care when checking the table of a TK_COLUMN expression node to see if the table is a virtual table to first ensure that the Expr.y.pTab pointer is not null due to generated column optimizations. Ticket [4374860b29383380]. (check-in: [9d0d4ab95d] user: drh branch: trunk, size: 213998)
2020-02-12
20:50
[f5011c0f42] part of check-in [2def75693a] Increase the default upper bound on the number of parameters in a single SQL statement to 32766 (from 999). (check-in: [2def75693a] user: drh branch: trunk, size: 213965)
2020-02-07
01:12
[ce20381974] part of check-in [5a877221ce] Simplify the code by removing the unsupported and undocumented SQLITE_HAS_CODEC compile-time option (check-in: [5a877221ce] user: drh branch: trunk, size: 213966)
2020-02-04
20:22
[7254b0f7ae] part of check-in [76668b5589] Merge latest trunk/wal2 changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, with this branch. (check-in: [76668b5589] user: dan branch: begin-concurrent-pnu-wal2, size: 214574)
20:09
[1ce8cb9e57] part of check-in [23bc80cc86] Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: [23bc80cc86] user: dan branch: begin-concurrent-pnu, size: 214632)
20:08
[07edc65ae9] part of check-in [f253618ac6] Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: [f253618ac6] user: dan branch: begin-concurrent, size: 214497)
20:01
[59194e8ad2] part of check-in [57c36a293e] Enable more detailed log messages in SQLITE_ENABLE_CORRUPT_PGNO builds if database corruption is encountered. (check-in: [57c36a293e] user: dan branch: trunk, size: 214073)
2020-01-28
20:27
[7da4ab402a] part of check-in [59a31b16b5] Faster decoding of 32-bit variable-length integers in cases were we do not need to know the number of bytes in the encoding. (check-in: [59a31b16b5] user: drh branch: trunk, size: 213995)
2020-01-21
21:01
[8897e1f21b] part of check-in [c39e3c14a9] Begin adding instrumentation to record and report on the set of key-ranges a concurrent transaction reads from the database. (check-in: [c39e3c14a9] user: dan branch: begin-concurrent-report, size: 215088)
2020-01-17
15:33
[1c6c05fa64] part of check-in [b302b260ca] More restrictions on changes to shadow tables when in defensive mode. (check-in: [b302b260ca] user: drh branch: branch-3.28, size: 202692)
15:24
[6013f8633a] part of check-in [3d13fbf248] Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. (check-in: [3d13fbf248] user: drh branch: branch-3.28, size: 202499)
2020-01-15
14:26
[be6a29e1fc] part of check-in [f783917800] Merge all recent enhancements and fixes from trunk. (check-in: [f783917800] user: drh branch: reuse-schema, size: 215646)
14:21
[8bf5b4d608] part of check-in [350627f3b1] Merge in the latest trunk changes via the begin-concurrent-pnu branch. (check-in: [350627f3b1] user: drh branch: begin-concurrent-pnu-wal2, size: 214407)
13:48
[4596357bc0] part of check-in [110a081f12] Merge all recent enhancements and fixes from trunk. (check-in: [110a081f12] user: drh branch: begin-concurrent-pnu, size: 214465)
13:34
[2e5ee203d1] part of check-in [95ba2f50fd] Merge fixes and enhancements from trunk into begin-concurrent. (check-in: [95ba2f50fd] user: drh branch: begin-concurrent, size: 214330)
12:49
[7fbd095709] part of check-in [dadedf41c7] Merge all recent enhancements and fixes from trunk into the apple-osx branch. (check-in: [dadedf41c7] user: drh branch: apple-osx, size: 215737)
2020-01-10
18:05
[7a29ba700a] part of check-in [2ae77bd233] Rearchitect the way in which filenames are stored in the Pager object so that the sqlite3_uri_parameter() interface will work from journal and WAL filenames too. This check-in implements the central idea, and compile and runs somewhat, but crashes on an extended test. (check-in: [2ae77bd233] user: drh branch: enhanced-uri, size: 213906)
2020-01-09
01:20
[ee24290276] part of check-in [8878c40753] Fix a problem that restricted edgy functions in TEMP tables. New test cases added. (check-in: [8878c40753] user: drh branch: new-security-options, size: 213969)
2020-01-08
17:28
[0ca99e2070] part of check-in [1da802d54b] Check for whether or not it is safe to use non-innocuous functions as the function is being coded, not when its name is resolved. (check-in: [1da802d54b] user: drh branch: new-security-options, size: 213899)
2020-01-07
16:09
[8c1fcdad74] part of check-in [f5fcf1fbc6] Invert the UNTRUSTED_SCHEMA setting to be TRUSTED_SCHEMA. (check-in: [f5fcf1fbc6] user: drh branch: new-security-options, size: 213844)
2020-01-06
15:25
[badbde0a53] part of check-in [411e8ec221] Refactor names of flags for improved legibility. (check-in: [411e8ec221] user: drh branch: new-security-options, size: 213847)
2020-01-04
20:58
[002066fa9a] part of check-in [65d7d39a85] Refactor the names of the new controls for restricting what actions the schema can take behind the application's back. (check-in: [65d7d39a85] user: drh branch: new-security-options, size: 213563)
01:43
[5a27f58588] part of check-in [9ca906d24a] Enhance PRAGMA function_list so that it shows all instances of each FuncDef, the number of arguments, the encoding, the type, and the flags. Use this capability to locate and fix incorrect function flags in the standard build. (check-in: [9ca906d24a] user: drh branch: new-security-options, size: 213703)
2020-01-03
21:57
[16ece06f4b] part of check-in [1c266cb3be] Invert the SQLITE_FUNC_SAFE bit to be SQLITE_FUNC_UNSAFE. The external bit is still SQLITE_INNOCUOUS. It gets inverted as the appdef function is registered. (check-in: [1c266cb3be] user: drh branch: new-security-options, size: 213684)
20:57
[0ba7721a5f] part of check-in [9ee79b254e] When UNSAFE_IN_VIEW is disabled, only allow functions in views that are tagged with SQLITE_INNOCUOUS. (check-in: [9ee79b254e] user: drh branch: new-security-options, size: 213788)
15:22
[a45a681d64] part of check-in [002406df22] Merge fixes from trunk. (check-in: [002406df22] user: drh branch: new-security-options, size: 213562)
02:20
[a694b38db1] part of check-in [ff9492d3ff] When generating the name of a view (or common table expression) because the SQL does not specify a name, avoid the names "true" and "false" which might be confused for the boolean literals of the same name, leading to an inconsistent abstract syntax tree. (check-in: [ff9492d3ff] user: drh branch: trunk, size: 213033)
2020-01-02
23:50
[03a952654d] part of check-in [091403a670] Merge enhancements from trunk. (check-in: [091403a670] user: drh branch: new-security-options, size: 213523)
21:41
[7f028954dc] part of check-in [bd57e6d923] Merge the latest enhancements from trunk. (check-in: [bd57e6d923] user: drh branch: two-size-lookaside, size: 212994)
2020-01-01
20:17
[52a9d124cf] part of check-in [ce14173252] Ensure that when code for a scalar SELECT featuring window functions is generated more than once by the planner, separate ephemeral tables are opened for each instance. (check-in: [ce14173252] user: dan branch: trunk, size: 211091)
15:43
[e6db732b65] part of check-in [473892a8ec] New test-only SQL functions: implies_nonnull_row(), expr_compare(), and expr_implies_expr(). The SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test-control is modified to toggle internal function access on and off for a single database connection. (check-in: [473892a8ec] user: drh branch: trunk, size: 211091)
13:55
[a7d75ef422] part of check-in [586a65a28f] Factor out code generation for in-line SQL functions into a separate routine inside of expr.c. (check-in: [586a65a28f] user: drh branch: trunk, size: 211016)
2019-12-31
22:52
[3e4c803707] part of check-in [96a2db2612] Experimental branch with new sqlite3_db_config() options that could possible enhance security for applications reading potentially compromised database files. (check-in: [96a2db2612] user: drh branch: new-security-options, size: 210179)
18:39
[e526421d44] part of check-in [3bd095a531] Also set the SQLITE_DIRECTONLY flag on the load_extension() function. (check-in: [3bd095a531] user: drh branch: trunk, size: 209650)
15:12
[edc69ef868] part of check-in [88d2449838] Refactor names. Use "small" instead of "mini" to describe the smaller of the two lookaside memory allocation sizes. (check-in: [88d2449838] user: drh branch: two-size-lookaside, size: 211239)
14:49
[b5784a17e5] part of check-in [39d5557937] Merge recent enhancements from trunk. (check-in: [39d5557937] user: drh branch: two-size-lookaside, size: 211171)
2019-12-29
00:52
[dcd5b4b295] part of check-in [21ef6e9933] Add the OP_FinishSeek opcode which completes an OP_DeferredSeek if the seek has not already completed. Also add the sqlite3WhereUsesDeferredSeek() interface to the query planner. The UPDATE implementation adds an OP_FinishSeek before running the final OP_Insert if one is needed. Ticket [ec8abb025e78f40c] and also an assertion fault reported by Yongheng. (check-in: [21ef6e9933] user: drh branch: trunk, size: 209336)
2019-12-25
23:54
[3e235c7a40] part of check-in [fa58aad48a] When the sqlite3WindowRewrite() routine detects and error, have it convert the SELECT statement into just "SELECT null" so that it does not leave the parse tree in a goofy state that can cause problems with subsequent code before the stack has a chance to unwind and report the error. Ticket [d87336c81c7d0873] (check-in: [fa58aad48a] user: drh branch: trunk, size: 209290)
2019-12-23
18:02
[eada1e78b6] part of check-in [61c2233654] Early detection of database corruption in balance_deeper(). (check-in: [61c2233654] user: drh branch: trunk, size: 209248)
2019-12-19
03:14
[28224ae63b] part of check-in [4146c629c6] More restrictions on changes to shadow tables when in defensive mode. (check-in: [4146c629c6] user: drh branch: branch-3.30, size: 205554)
2019-12-13
22:59
[6326f05f59] part of check-in [fd849d5b6a] Initial exploration of blocky APIs, starting with a variant of sqlite3_exec. (check-in: [fd849d5b6a] user: numist branch: blocky-exec, size: 208731)
15:48
[4948c2046c] part of check-in [7480566843] Cleanup and performance enhancements for mini-lookaside. (check-in: [7480566843] user: drh branch: two-size-lookaside, size: 210369)
12:14
[a036ca4ee9] part of check-in [9c471195f6] Merge fixes from trunk. (check-in: [9c471195f6] user: drh branch: two-size-lookaside, size: 209059)
11:32
[60d92fad64] part of check-in [e5dc2939d3] *Remove* the macros, not just comment them out. (check-in: [e5dc2939d3] user: drh branch: trunk, size: 208534)
11:31
[505a63c618] part of check-in [3ef0d44edd] Remove unused macros formerly used to define built-in aggregate functions. (check-in: [3ef0d44edd] user: drh branch: trunk, size: 208916)
00:49
[344e090acc] part of check-in [59d0f3afe5] Tie up the loose ends in the ExprList size reduction. (check-in: [59d0f3afe5] user: drh branch: exprlist-size-reduction, size: 209435)
2019-12-12
22:11
[5be56f6523] part of check-in [fdda76cfb0] Work toward reducing the incremental size of an ExprList object to 24-byte per entry, from 32-bytes (on a 64-bit machine). This helps the new mini-lookaside allocator to run better by avoiding excessive reallocs. The current change mostly works, but still has a few loose ends to tie up. This check-in is merely a snapshot to save my work. (check-in: [fdda76cfb0] user: drh branch: exprlist-size-reduction, size: 209548)
20:22
[ebb8c7e643] part of check-in [d3783357f8] Change the name of the Expr.a.zName field to zEName, so that it has a name that is distinct from other fields and variables and is hence easier to grep for. (check-in: [d3783357f8] user: drh branch: two-size-lookaside, size: 209247)
17:17
[fad2ac9bc3] part of check-in [5e1949bca9] Change the size of a mini-lookaside allocation to a macro (MINI_SZ) rather than a magic number (128). (check-in: [5e1949bca9] user: drh branch: two-size-lookaside, size: 209247)
02:50
[7965727cc4] part of check-in [b02fdc09c8] More efficient implementation of a lookaside allocator that supports mini (in this case, harcoded to 128B) slots. (check-in: [b02fdc09c8] user: numist branch: two-size-lookaside, size: 209173)
2019-12-09
08:13
[1ac4dfde72] part of check-in [1d2e53a39b] Avoid infinite recursion in the ALTER TABLE code when a view contains an unused CTE that references, directly or indirectly, the view itself. (check-in: [1d2e53a39b] user: dan branch: trunk, size: 208910)
2019-12-05
14:31
[daef6c0ec0] part of check-in [7e5ad8e0ab] Fix a problem in ALTER TABLE that could occur if an index, view or trigger in the schema features an expression of the form ((SELECT ...) IN ()) where the SELECT statement uses a CTE. (check-in: [7e5ad8e0ab] user: dan branch: trunk, size: 208842)
2019-11-16
14:15
[98bc9562ac] part of check-in [6aef58b629] Do not allow CREATE TABLE or CREATE VIEW of an object with a name that looks like a shadow table name. (check-in: [6aef58b629] user: drh branch: defensive-improvements, size: 208849)
13:51
[7bce951adf] part of check-in [8ad34d36a1] Break out the test for writable shadow tables into a separate subroutine. (check-in: [8ad34d36a1] user: drh branch: defensive-improvements, size: 208702)
2019-11-15
02:52
[4d5c6d23ea] part of check-in [2c8af35206] Merge the version 3.30.1 changes into the apple-osx branch. (check-in: [2c8af35206] user: drh branch: apple-osx, size: 207192)
00:52
[70facb03d2] part of check-in [2c35d3f67b] Fix table-valued functions so that they will work as the right table in a LEFT JOIN. Ticket [2ae0c599b735d59e] (check-in: [2c35d3f67b] user: drh branch: trunk, size: 208656)
2019-11-14
13:24
[3a1d168099] part of check-in [d0bc7db6b0] Ensure that the same subquery does not go through the window-function rewrite more than once, even when that subquery is part of a virtual table constraint that lacks the omit flag. (check-in: [d0bc7db6b0] user: drh branch: trunk, size: 208620)
2019-11-12
14:43
[7015c75411] part of check-in [df51ae19c1] Ensure that the main filename and the journal filenames in the pager object are all correctly double-zero terminated. (check-in: [df51ae19c1] user: drh branch: trunk, size: 208542)
2019-11-09
15:31
[4edb543eea] part of check-in [53847f5c28] Change the COLFLAG_NOTAVAIL bitmask so that it fits in the single-byte Walker.eCode field. (check-in: [53847f5c28] user: drh branch: trunk, size: 208479)
2019-11-07
19:59
[6b73ae9301] part of check-in [4ab9dbb939] Experimental branch to provide SQLITE_LIMIT_HEAP_K to limit the amount of allocated memory used by each database connection, individually. (check-in: [4ab9dbb939] user: drh branch: limit_heap_k, size: 208549)
2019-11-06
22:19
[a9afee1875] part of check-in [9e07b48934] Change the way generated columns are computed so that no column is computed inside branch code that might not be taken. Ticket [4fc08501f4e56692] (check-in: [9e07b48934] user: drh branch: trunk, size: 208479)
2019-10-30
18:50
[3ab4cce57f] part of check-in [2978b65ebe] Always disallow the use of non-deterministic functions in CHECK constraints, even date/time functions that use the 'now' or similar keywords. Provide improved error messages when this requirement is not met. Ticket [830277d9db6c3ba1] (check-in: [2978b65ebe] user: drh branch: trunk, size: 208401)
2019-10-24
20:29
[5b2d25ba23] part of check-in [e0f7e321ec] Fix handling of covering indexes that use virtual columns. (check-in: [e0f7e321ec] user: drh branch: generated-columns, size: 208242)
2019-10-22
21:01
[f8609e5a04] part of check-in [9e04ba22df] Take the declared column time into account when computing the values for generated columns, and apply appropriate affinity. (check-in: [9e04ba22df] user: drh branch: generated-columns, size: 208164)
13:01
[ca968d2d34] part of check-in [412799fc55] New testcase() macros. Fix a problem with INSERT when the IPK is to the right of generated columns. (check-in: [412799fc55] user: drh branch: generated-columns, size: 208060)
12:02
[3a498ce50d] part of check-in [ba123b8c20] Merge changes on trunk into the generated-columns branch. (check-in: [ba123b8c20] user: drh branch: generated-columns, size: 207987)
00:03
[5e98328254] part of check-in [90f7c47735] When flipping ("commuting") a comparison operator, set the new EP_Commuted bit rather than adding extra EP_Collate bits, to single later processing that the order of precedence for COLLATE operators is inverted. Fix for ticket [b47e3627ecaadbde] (check-in: [90f7c47735] user: drh branch: trunk, size: 206009)
2019-10-21
01:04
[49ade8ae43] part of check-in [bc368cb090] Changes to the INSERT logic to make it simpler and faster and so that it works with generated columns and BEFORE triggers. (check-in: [bc368cb090] user: drh branch: generated-columns, size: 207916)
2019-10-19
18:47
[1929d5f85c] part of check-in [932a37275d] Work toward getting generated columns to work with triggers. Still more work to do in this area. (check-in: [932a37275d] user: drh branch: generated-columns, size: 207966)
13:29
[7fa9357635] part of check-in [27ab41c910] Refactor names of column index transformation functions, for clarity. Get generated columns working with ALTER TABLE RENAME COLUMN. (check-in: [27ab41c910] user: drh branch: generated-columns, size: 207963)
2019-10-18
22:54
[9fb8d15873] part of check-in [9496b4d378] Use an allocation count and freelist instead of a membership bitfield in the mini lookaside allocator (check-in: [9496b4d378] user: numist branch: 2-size-lookaside, size: 206491)
17:42
[9ccea3812a] part of check-in [9f409649ec] Get generated columns working for WITHOUT ROWID tables. (check-in: [9f409649ec] user: drh branch: generated-columns, size: 207246)
12:52
[769a3d9f24] part of check-in [e8426acb94] Claw back some performance from the sqlite3ExprGetColumnOfTable() routine. (check-in: [e8426acb94] user: drh branch: generated-columns, size: 207134)
02:19
[aa16ccbbe8] part of check-in [0d236698e6] STORED columns can now reference other STORED columns, in any order, as long as there are not loops. (check-in: [0d236698e6] user: drh branch: generated-columns, size: 207135)
2019-10-17
18:35
[67d8d7f2d7] part of check-in [4ad66af04a] In the Table object, change the nVCol field to nNVCol - the number of non-virtual columns, as that is the quantity that we need most. (check-in: [4ad66af04a] user: drh branch: generated-columns, size: 207059)
17:54
[8af46452e8] part of check-in [fe7517bf4d] Some (but not all) INSERT and UPDATE statements now work for STORED columns. (check-in: [fe7517bf4d] user: drh branch: generated-columns, size: 207046)
2019-10-16
22:01
[ecade7aec9] part of check-in [64db39f92d] INSERT with named columns for a table with generated columns. (check-in: [64db39f92d] user: drh branch: generated-columns, size: 206654)
20:05
[6418b27039] part of check-in [120c6b78cb] ALTER TABLE is able to add a VIRTUAL column. (check-in: [120c6b78cb] user: drh branch: generated-columns, size: 206577)
19:31
[47d43085f2] part of check-in [7f9f90b1b8] Simple INSERT and SELECT operations working with VIRTUAL columns. (check-in: [7f9f90b1b8] user: drh branch: generated-columns, size: 206511)
12:18
[dcef2c667f] part of check-in [11d472c1df] Initial experimental code for generated column support. Non-functional. (check-in: [11d472c1df] user: drh branch: generated-columns, size: 206436)
2019-10-11
11:21
[e2331a36c0] part of check-in [eff7cd7f12] Merge the 3.30.1 changes into reuse-schema. (check-in: [eff7cd7f12] user: drh branch: reuse-schema-3.30, size: 207101)
2019-10-10
15:48
[b8cabe8fce] part of check-in [df2060f34f] Be sure to rewrite column references inside FILTER clauses and window frame definitions when flattening queries. Fix for [1079ad19]. (check-in: [df2060f34f] user: drh branch: branch-3.30, size: 205361)
15:17
[40f81bb57b] part of check-in [ccba7202b6] Be sure to rewrite column references inside FILTER clauses and window frame definitions when flattening queries. Fix for [1079ad19]. (check-in: [ccba7202b6] user: dan branch: trunk, size: 205938)
2019-10-09
17:06
[2ce2d769c4] part of check-in [5ba8cee8f7] An alternative, experimental lookaside memory allocator that uses two different slot sizes. (check-in: [5ba8cee8f7] user: sperry branch: 2-size-lookaside, size: 206419)
2019-10-05
17:29
[b3212ce855] part of check-in [eea231f81b] Have sqlite3.c automatically turn on osinst logging for all connections. (check-in: [eea231f81b] user: dan branch: osinst, size: 205425)
14:39
[b70ac8e3e7] part of check-in [17ce1c49cb] Performance optimization to the lookaside-memory disabling mechanism. (check-in: [17ce1c49cb] user: drh branch: trunk, size: 205866)
2019-09-30
16:57
[88d98a0585] part of check-in [0679612412] Merge in the 3.30.0 beta 1 changes. (check-in: [0679612412] user: drh branch: reuse-schema, size: 207029)
16:49
[c38cb68342] part of check-in [ebf8872626] Merge in the 3.30.0 beta 1 enhancements. (check-in: [ebf8872626] user: drh branch: begin-concurrent-pnu-wal2, size: 205790)
16:43
[19a69108a4] part of check-in [ac4b644268] Merge version 3.30.0 beta 1 changes from trunk. (check-in: [ac4b644268] user: drh branch: begin-concurrent-pnu, size: 205792)
16:14
[1ddec0d82c] part of check-in [a003818f70] Merge the 3.30.0 beta 1 changes from trunk. (check-in: [a003818f70] user: drh branch: begin-concurrent, size: 205713)
16:13
[588d1e7a7e] part of check-in [9ce4c79171] Merge the 3.30.0 beta 1 changes from trunk. (check-in: [9ce4c79171] user: drh branch: apple-osx, size: 207120)
2019-09-28
18:28
[246740eab7] part of check-in [661a3789eb] Add missing comment to constant definitions. (check-in: [661a3789eb] user: drh branch: trunk, size: 205289)
2019-09-27
15:01
[6e47f6e042] part of check-in [6a204b192a] Fix sqlite3ExprCompare() so that it ignores differences in the Expr.iTable field for IN operators, as otherwise it can lead to false negatives, which is usually harmless, but can cause problems for an assert() in the window function logic. (check-in: [6a204b192a] user: drh branch: trunk, size: 205144)
2019-09-23
12:38
[5fd0a96062] part of check-in [f907395ef5] Omit the sqlite3IntTokens array constant for a code simplification. (check-in: [f907395ef5] user: drh branch: trunk, size: 205080)
2019-09-16
12:35
[0a25886fc8] part of check-in [27eb223690] Merge all recent trunk enhancements into the reuse-schema branch. (check-in: [27eb223690] user: drh branch: reuse-schema, size: 206859)
12:29
[68569c7fe1] part of check-in [15593bf3ad] Bring the begin-concurrent-pnu-wal2 branch up to date with all the latest enhancements on trunk. (check-in: [15593bf3ad] user: drh branch: begin-concurrent-pnu-wal2, size: 205620)
12:17
[a6ec75e910] part of check-in [54930b7e0a] Merge recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: [54930b7e0a] user: drh branch: begin-concurrent-pnu, size: 205622)
12:08
[9eaaf4229e] part of check-in [93b9ef3f47] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [93b9ef3f47] user: drh branch: begin-concurrent, size: 205543)
12:02
[f9bae4cd4d] part of check-in [a95191deab] Merge the latest changes from trunk into the apple-osx branch. (check-in: [a95191deab] user: drh branch: apple-osx, size: 206950)
2019-09-14
16:21
[4a478f7fa0] part of check-in [3dbed16251] Extra comments on fields of the Window object. (check-in: [3dbed16251] user: drh branch: trunk, size: 205119)
2019-09-07
18:20
[34cc038470] part of check-in [6aa438ce41] Add the SQLITE_SUBTYPE flag, which can be passed to sqlite3_create_function() and similar to indicate to the core that a user function is likely to use sqlite3_result_subtype(). (check-in: [6aa438ce41] user: dan branch: window-functions-subtype-fix, size: 204939)
2019-08-27
19:59
[b1fca535f0] part of check-in [94085fb3e7] Add support for "ORDER BY ... NULLS FIRST" and "ORDER BY ... NULLS LAST". Use this to fix ticket [f8a7060e]. (check-in: [94085fb3e7] user: dan branch: trunk, size: 204846)
17:01
[ce52cf5971] part of check-in [7f5168a76a] 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: [7f5168a76a] user: drh branch: trunk, size: 204647)
2019-08-26
20:41
[6c14c6f3a0] part of check-in [ad816d01d4] Merge in recent fixes from trunk. (check-in: [ad816d01d4] user: drh branch: nulls-last, size: 204869)
14:18
[9a3e2cf34d] part of check-in [bd4bda73df] Improved detection of number of column mismatch for vector assignment in UPDATE statements. Ticket [78acc9d40f0786e8] (check-in: [bd4bda73df] user: drh branch: trunk, size: 204670)
2019-08-23
21:11
[f5a9c61f97] part of check-in [12d2cf8871] Attempt to parse the NULLS LAST clause more efficiently. A few cycles were saved, but at the expense of more code. And there is a bug was introduced somewhere. Not worth continuing down this line. (check-in: [12d2cf8871] user: drh branch: dead-end, size: 204881)
2019-08-22
19:35
[6c5293a35a] part of check-in [63e625c8eb] Merge fixes from trunk. Also fix a reference to the KeyInfo.aSortOrder field, which should now be KeyInfo.aSortFlags (check-in: [63e625c8eb] user: drh branch: nulls-last, size: 204794)
16:38
[52594e495e] part of check-in [44578865fa] Fix the likely(), unlikely(), and likelihood() functions so that they have no affinity, just like any other function. Ticket [7e07a3dbf5a8cd26] (check-in: [44578865fa] user: drh branch: trunk, size: 204595)
2019-08-19
17:26
[84d3b381b5] part of check-in [bb9767a287] Prevent NULLS FIRST/LAST from being used in CREATE INDEX and other statements. (check-in: [bb9767a287] user: dan branch: nulls-last, size: 204748)
2019-08-17
15:47
[ed60d41dbb] part of check-in [db1e60800b] Merge trunk changes into this branch. (check-in: [db1e60800b] user: dan branch: nulls-last, size: 204624)
00:53
[b7d612d9c6] part of check-in [de76737698] The SQLITE_DIRECTONLY flag, when added to sqlite3_create_function() prevents the function from being used inside a trigger or view. (check-in: [de76737698] user: drh branch: trunk, size: 204549)
2019-08-16
22:58
[a89fe72e4a] part of check-in [31e34fa339] Add the ability to unregister a virtual table module by invoking sqlite3_create_module() with a NULL sqlite3_module pointer. (check-in: [31e34fa339] user: drh branch: trunk, size: 204302)
2019-08-15
21:27
[d8e878fa1c] part of check-in [61b4bccd29] Add the SQLITE_DBCONFIG_ENABLE_VIEW option, together with a "db config" command in the TCL interface that can access that option as well as all the other sqlite3_db_config() boolean options. (check-in: [61b4bccd29] user: drh branch: trunk, size: 204135)
20:04
[12e8af40a5] part of check-in [fc745845d8] Provide the SQLITE_DIRECTONLY flag for app-defined functions that prohibits the use of those functions within triggers or views. (check-in: [fc745845d8] user: drh branch: directonly, size: 204298)
13:53
[4875fb4431] part of check-in [4f5b2d9381] Ensure that SQLite does not attempt to process incompatible window functions in a single scan. Fix for [256741a1]. (check-in: [4f5b2d9381] user: dan branch: trunk, size: 204051)
2019-08-13
15:22
[47f291495f] part of check-in [5b4689d89c] Merge latest trunk changes with this branch. (check-in: [5b4689d89c] user: dan branch: reuse-schema, size: 205740)
2019-08-12
16:36
[f1ee001710] part of check-in [07babb0f89] 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: [07babb0f89] user: dan branch: nulls-last, size: 204074)
14:17
[0598c87a99] part of check-in [48d9b48ab4] Add a TESTCTRL that disables the verification of type, name, and tbl_name in the sqlite_master table. (check-in: [48d9b48ab4] user: drh branch: trunk, size: 203999)
00:08
[10b44ee37e] part of check-in [724f4df9cc] Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. (check-in: [724f4df9cc] user: drh branch: trunk, size: 203921)
2019-08-08
16:23
[9286c237c2] part of check-in [845d2f17de] More legacy STAT3 code removed. (check-in: [845d2f17de] user: drh branch: omit-stat3, size: 203822)
15:47
[41365fb249] part of check-in [edf45cd7c6] Fix spurious "no such table: x1" errors in shared-schema mode that could occur when a query that is a join across two or more databases needs to call the xConnect() methods of a virtual table. (check-in: [edf45cd7c6] user: dan branch: reuse-schema, size: 205820)
15:24
[ffac9a2cb4] part of check-in [1e17ea2fd1] Remove support for STAT3. The sqlite_stat3 tables are ignored, if they exist. STAT4 continues to work as it always has, and as it is a superset of STAT3 is the recommended replacement. (check-in: [1e17ea2fd1] user: drh branch: omit-stat3, size: 203822)
2019-08-06
14:37
[e24c813896] part of check-in [e8234f6939] 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: [e8234f6939] user: drh branch: pending, size: 204328)
2019-08-05
19:34
[bd89ac7c55] part of check-in [470ac8d50c] The second option for [61c853857f40da49]: In this mode, columns of VIEWs and subqueries that are formed by expressions have affinity BLOB rather than affinity none, as has usually been the case for a while. But this mode fixes a couple of corner cases involving query flattening and the push-down optimization where that rule was violated. (check-in: [470ac8d50c] user: drh branch: tkt-61c853-B, size: 204262)
19:32
[6350fc633a] part of check-in [09cd0c0c6e] One of two options on how to address ticket [61c853857f40da49]. In this mode, we back out the documentation change of [07b7749da88d54e5] and change the core to work as it has been documented to work since 2017, rather than how it has actually worked since 2009. (check-in: [09cd0c0c6e] user: drh branch: tkt-61c853-A, size: 204224)
18:01
[67de168774] part of check-in [a29f2a7d07] Refactor field Expr.affinity into Expr.affExpr to avoid confusion with other fields and variables named "affinity" and display affExpr it in sqlite3TreeViewExpr() output. (check-in: [a29f2a7d07] user: drh branch: trunk, size: 204214)
2019-08-03
16:17
[fdb9fbcdbc] part of check-in [fd598e475d] In the ".wheretrace 0x100" debugging mode, show the structure of the main parameters to sqlite3WhereBegin() calls. (check-in: [fd598e475d] user: drh branch: trunk, size: 204238)
2019-08-02
20:45
[c4e5e98e0e] part of check-in [3ac5723164] Add the SQLITE_TESTCTRL_PRNG_SEED test control. (check-in: [3ac5723164] user: drh branch: prng-seed-test-control, size: 204157)
2019-07-26
20:54
[170fa79c87] part of check-in [7f1e4e4b99] Merge latest changes from trunk into this branch. (check-in: [7f1e4e4b99] user: dan branch: reuse-schema, size: 205888)
2019-07-22
19:01
[122621557d] part of check-in [e46b2afc99] Consolidate the removal of Window objects from the Select.pWin list into a single subroutine. (check-in: [e46b2afc99] user: drh branch: trunk, size: 204079)
16:20
[01af0390cc] part of check-in [d23f331682] Remove Window objects from the corresponding Select.pWin list when they are deleted. (check-in: [d23f331682] user: dan branch: winfunc-in-orderby, size: 204034)
2019-07-20
21:12
[4d078408e4] part of check-in [23b119671f] Make sure any window definitions in an ORDER BY clause are removed from the SELECT statement if the ORDER BY clause gets optimized out. (check-in: [23b119671f] user: drh branch: winfunc-in-orderby, size: 204203)
2019-07-18
13:33
[0854e01a3f] part of check-in [5a8d0f50f3] Modify the bits used for special flags on this branch to account for the fact that some of them are now used for other purposes. (check-in: [5a8d0f50f3] user: dan branch: reuse-schema, size: 205307)
2019-07-17
19:57
[30dc455dd9] part of check-in [c0d932449d] Always use the stdlib.h intptr_t type for pointer-integer conversions, when it is available. (check-in: [c0d932449d] user: drh branch: trunk, size: 203959)
2019-07-13
16:39
[c13c4abe0d] part of check-in [ee293e5aea] Add support for attaching a FILTER clause to an aggregate function. (check-in: [ee293e5aea] user: dan branch: trunk, size: 203959)
16:22
[e989d94d02] part of check-in [5dac8c38df] Rework the FILTER clause implementation to share more code with window functions. (check-in: [5dac8c38df] user: dan branch: filter-clause, size: 203724)
2019-07-08
21:32
[99f3523d3c] part of check-in [fae92fee54] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [fae92fee54] user: drh branch: reuse-schema, size: 205307)
21:25
[ab51b1eb9e] part of check-in [08dcb4593d] Merge enhancments from wal2, which also merges trunk enhancements. (check-in: [08dcb4593d] user: drh branch: begin-concurrent-pnu-wal2, size: 203999)
21:12
[ad67e0435e] part of check-in [05aa93afdb] Merge enhancements from trunk into the begin-concurrent-pnu branch. (check-in: [05aa93afdb] user: drh branch: begin-concurrent-pnu, size: 203999)
21:06
[3266cd46fe] part of check-in [7fff080335] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [7fff080335] user: drh branch: begin-concurrent, size: 203922)
20:59
[f26ce95f00] part of check-in [de88ed862e] Merge recent enhancements from trunk into apple-osx. (check-in: [de88ed862e] user: drh branch: apple-osx, size: 205329)
2019-07-02
11:56
[13fa73fd67] part of check-in [1f1ae2d6ac] Experimental implementation of FILTER clause for aggregate functions. (check-in: [1f1ae2d6ac] user: dan branch: filter-clause, size: 203659)
2019-06-17
13:56
[bf65dfa656] part of check-in [923cfd53fc] Improved interface to double-quoted string literal enabling/disabling. (check-in: [923cfd53fc] user: drh branch: new-dbconfig-options, size: 203498)
2019-06-14
21:25
[377ffa3293] part of check-in [1fad20925e] Add SQLITE_DBCONFIG options LEGACY_ALTER_TABLE, NO_DQS_SCHEMA, and NO_DQS. (check-in: [1fad20925e] user: drh branch: new-dbconfig-options, size: 203567)
2019-06-11
21:02
[dc9ec3b875] part of check-in [614ecb0af4] The affinity of the unlikely() function and its cousins should be "none". Ticket [0c620df60bffd9ef] (check-in: [614ecb0af4] user: drh branch: trunk, size: 203407)
10:43
[3f4d665dff] part of check-in [36ea13e0a8] Add the new sqlite3ExprUnmapAndDelete() function and use it in place of separate calls to sqlite3RenameExprUnmap() and sqlite3ExprDelete(). (check-in: [36ea13e0a8] user: drh branch: trunk, size: 203391)
2019-05-30
00:46
[73d9395255] part of check-in [ea748edecb] Smaller and faster sqlite3IsNaN() implementation makes deserialization of floating point values much faster. (check-in: [ea748edecb] user: drh branch: trunk, size: 203344)
2019-05-29
21:18
[0769cc94ac] part of check-in [c1d8a3f654] Much faster implementation of applyNumericAffinity() by avoiding some unnecessary calls to sqlite3Atoi64(). (check-in: [c1d8a3f654] user: drh branch: trunk, size: 203186)
2019-05-24
13:04
[193e2321ce] part of check-in [ff9f3e0951] Merge recent enhancements from trunk. (check-in: [ff9f3e0951] user: drh branch: reuse-schema, size: 204947)
2019-05-20
18:43
[1ba98b4b87] part of check-in [b7aad92961] Improvements to the automatic compile-time selection of byte-order, as suggested on the mailing list by Seb Kemper. (check-in: [b7aad92961] user: drh branch: trunk, size: 203138)
18:35
[edde1d3fa1] part of check-in [3e1b55f3ab] A minor variation on check-in [1685610ef8e0dc] which (hopefully) makes the logic a little easier to follow. Also disallows the use of the double-quoted string hack in the query expression used for VACUUM INTO, which is not strictly required, but moves us toward the goal of disallowing the double-quoted string hack everywhere. (check-in: [3e1b55f3ab] user: drh branch: trunk, size: 203041)
17:14
[4f3edd821b] part of check-in [1685610ef8] Disallow string constants enclosed in double-quotes within new CREATE TABLE and CREATE INDEX statements. It is still possible to enclose column names in double-quotes, and existing database schemas that use double-quotes for strings can still be loaded. This addresses ticket [9b78184b]. (check-in: [1685610ef8] user: dan branch: trunk, size: 202977)
10:36
[dd3fba28d7] part of check-in [99eba69b3a] Update the sqlite3ExprCompare() routine so that it does not think "? IS NOT TRUE" is the same as "? IS TRUE". Fix for [d3e7f2ba5b3]. (check-in: [99eba69b3a] user: dan branch: trunk, size: 202897)
2019-05-14
22:25
[b14459b20b] part of check-in [018f3199b9] Merge all the latest trunk enhancements into the reuse-schema branch. (check-in: [018f3199b9] user: drh branch: reuse-schema, size: 204697)
22:07
[8a0e7b6679] part of check-in [3deaa6e23b] Merge the latest trunk and wal2 enhancements. (check-in: [3deaa6e23b] user: drh branch: begin-concurrent-pnu-wal2, size: 203389)
21:51
[cf93dc66a1] part of check-in [e70878b363] Merge the latest trunk enhancements into begin-concurrent-pnu. (check-in: [e70878b363] user: drh branch: begin-concurrent-pnu, size: 203389)
21:51
[efaf52323c] part of check-in [5d3a6e18d4] Merge the latest trunk enhancements into begin-concurrent. (check-in: [5d3a6e18d4] user: drh branch: begin-concurrent, size: 203312)
19:39
[5dec6a1043] part of check-in [40362d5181] Merge recent enhancements from trunk into apple-osx. (check-in: [40362d5181] user: drh branch: apple-osx, size: 204719)
00:43
[b78a1f0bdc] part of check-in [f7aadfab3b] Disable index seek optimizations on REINDEX when the order of primary keys in the index differs from the main table. Fix for ticket [bba7b69f9849b5bf11b4]. (check-in: [f7aadfab3b] user: drh branch: trunk, size: 202888)
2019-05-03
21:17
[443270b81c] part of check-in [c983873132] Add the SQLITE_TESTCTRL_RESULT_INTREAL test-control and use it to create the intreal() SQL function in testfixture. Write a few simple tests to prove this all works. TH3 will hold most of the INTREAL tests, probably. (check-in: [c983873132] user: drh branch: int-real, size: 202814)
2019-04-19
17:26
[866311ac43] part of check-in [0fbd154eb4] Improved optimization of the AND and OR operators. (check-in: [0fbd154eb4] user: drh branch: trunk, size: 202736)
16:21
[b8d576ae65] part of check-in [6de980a09c] Use macros to determine if an expression is always true or always false. (check-in: [6de980a09c] user: drh branch: trunk, size: 202695)
13:38
[3a9497a4d7] part of check-in [7713996aa9] Streamline the processing of the AND operator. Slightly smaller and faster. (check-in: [7713996aa9] user: drh branch: trunk, size: 202398)
2019-04-15
15:35
[666517f86d] part of check-in [5c6c9e7f6f] Merge recent changes from trunk into reuse-schema (check-in: [5c6c9e7f6f] user: drh branch: reuse-schema, size: 204209)
15:28
[eb0bfefc58] part of check-in [1cd536ecc8] Merge all recent enhancements. (check-in: [1cd536ecc8] user: drh branch: begin-concurrent-pnu-wal2, size: 202901)
15:07
[1163de239d] part of check-in [6caaaf21c9] Merge the latest enhancements from trunk. (check-in: [6caaaf21c9] user: drh branch: begin-concurrent-pnu, size: 202901)
14:59
[6bd2d1debf] part of check-in [7c328e8894] Merge the latest enhancements from trunk. (check-in: [7c328e8894] user: drh branch: begin-concurrent, size: 202824)
14:49
[5aa3493a68] part of check-in [378230ae7f] Bring in the latest enhancements from trunk. (check-in: [378230ae7f] user: drh branch: apple-osx, size: 204231)
2019-04-09
21:32
[d229b6a5f7] part of check-in [ea2d4b65e2] Improved reporting of SQLITE_TOOBIG errors while parsing. (check-in: [ea2d4b65e2] user: drh branch: trunk, size: 202400)
2019-04-04
21:40
[93a1f09833] part of check-in [521d5186b8] Merge all the latest changes and enhancements from trunk. (check-in: [521d5186b8] user: drh branch: apple-osx, size: 204191)
20:21
[c4f6390b9c] part of check-in [b40a4edceb] Provide a DBCONFIG to enable or disable virtual tables that match a LIKE pattern. (check-in: [b40a4edceb] user: drh branch: disable-vtab, size: 202422)
14:00
[f6a114e0c6] part of check-in [13a0ea6466] Only preserve rowid values for VACUUM INTO. Keep the legacy behavior of renumbering rowids for ordinary VACUUM. (check-in: [13a0ea6466] user: drh branch: trunk, size: 202360)
2019-04-02
17:45
[b4641800cd] part of check-in [bc0fb1c324] Use a separate bit on db->dbOptFlags to disable the xInverse optimization on window functions, rather than reusing the query-flattener disable bit. (check-in: [bc0fb1c324] user: drh branch: trunk, size: 202286)
00:34
[21566eeb79] part of check-in [0b35aebbb3] Merge enhancements from trunk. (check-in: [0b35aebbb3] user: drh branch: apple-osx, size: 204100)
2019-03-29
01:15
[59b625f88b] part of check-in [965cbcea11] Recover a some of the performance lost by window function alias fix two check-ins back. (check-in: [965cbcea11] user: drh branch: trunk, size: 202269)
2019-03-28
16:15
[15e1fab2ca] part of check-in [1e16d3e8fc] Prevent aliases of window functions expressions from being used as arguments to aggregate or other window functions. (check-in: [1e16d3e8fc] user: dan branch: trunk, size: 202124)
13:03
[773a43d210] part of check-in [ec2f207ded] Improved TreeView display of Window objects. Change the Window.eType field to Window.eFrmType to avoid confusion with other "eType" values. (check-in: [ec2f207ded] user: drh branch: trunk, size: 201993)
2019-03-26
14:04
[45163c961e] part of check-in [e88fc6d0cd] Use the mutex-free PRNG in this branch, since anybody using this branch is probably interested in high concurrency. (check-in: [e88fc6d0cd] user: drh branch: begin-concurrent, size: 202082)
13:28
[3a676f6f67] part of check-in [6433d36617] Bring this branch into closer alignment with begin-concurrent. (check-in: [6433d36617] user: drh branch: begin-concurrent-pnu, size: 202159)
12:07
[92b02dacdd] part of check-in [774d0d5288] Merge recent enhancements from trunk. (check-in: [774d0d5288] user: drh branch: begin-concurrent, size: 201732)
2019-03-21
17:13
[0d7cbc244d] part of check-in [b8e536089b] Disable the feature on this branch in non-SQLITE_ENABLE_SHARED_SCHEMA builds. (check-in: [b8e536089b] user: dan branch: reuse-schema, size: 203467)
2019-03-20
20:02
[d2b17367c2] part of check-in [c1be211c02] Use the IsReuseSchema() macro more consistently. Also, rename it to IsSharedSchema(). (check-in: [c1be211c02] user: dan branch: reuse-schema, size: 202873)
2019-03-16
10:15
[19641f2402] part of check-in [f2d5f7a24c] In order to identify the first row of each partition, check if the rowid in the ephemeral table is 1 instead of using a dedicated flag register. (check-in: [f2d5f7a24c] user: dan branch: window-functions, size: 201917)
2019-03-14
20:53
[a8a26cacf0] part of check-in [d03c7533a1] Parse EXCLUDE clauses in window frames. They do not yet work. (check-in: [d03c7533a1] user: dan branch: window-functions, size: 201865)
16:36
[bd6a2cc9cc] part of check-in [7d66cd2013] Add things to this branch that will be required to support the EXCLUDE clause. (check-in: [7d66cd2013] user: dan branch: window-functions, size: 201861)
2019-03-13
17:20
[67d22d548e] part of check-in [180be26623] Avoid allocating excessive registers for the PARTITION BY expressions when processing window functions. (check-in: [180be26623] user: dan branch: window-functions, size: 201805)
2019-03-11
19:50
[45d85aa38f] part of check-in [0812635383] Remove "cache mode" from the window frame code generator. Handle the same cases by editing the window frame specification itself. (check-in: [0812635383] user: dan branch: window-functions, size: 201875)
2019-03-08
15:30
[7a67213db1] part of check-in [667cce3dce] Merge all the latest enhancements from trunk. (check-in: [667cce3dce] user: drh branch: begin-concurrent-pnu, size: 202159)
2019-03-06
17:12
[24a4818574] part of check-in [e8eee566df] Improvements to the way built-in window functions are handled. (check-in: [e8eee566df] user: dan branch: window-functions, size: 201969)
2019-03-04
21:08
[641932dfd7] part of check-in [9b4d561f68] Merge trunk changes into this branch. (check-in: [9b4d561f68] user: dan branch: window-functions, size: 201954)
21:07
[fa802d30bd] part of check-in [e7a91f1228] Support some "ROWS BETWEEN N PRECEDING AND M FOLLOWING" window functions without caching entire partitions. (check-in: [e7a91f1228] user: dan branch: window-functions, size: 201959)
2019-03-01
18:27
[3e3612cd37] part of check-in [e64ded7b04] Merge the latest enhancements from trunk. (check-in: [e64ded7b04] user: drh branch: apple-osx, size: 203489)
2019-02-25
18:07
[f285e97410] part of check-in [5c1cf30859] Merge latest trunk changes into this branch. (check-in: [5c1cf30859] user: dan branch: reuse-schema, size: 202871)
2019-02-23
00:56
[ea0b576914] part of check-in [0e64ac122a] 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: [0e64ac122a] user: drh branch: branch-3.27, size: 201538)
2019-02-22
23:29
[f253c4ec15] part of check-in [c2d50df8fd] 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: [c2d50df8fd] user: drh branch: tkt-df46dfb631, size: 201658)
2019-02-20
13:23
[72331eb450] part of check-in [be71d1e24c] Merge the latest performance enhancements and fixes from trunk. (check-in: [be71d1e24c] user: drh branch: apple-osx, size: 203494)
03:38
[54028bccc4] part of check-in [b5f90bfe62] Back off the optimization of check-in [e130319317e76119] slightly so that it only applies to IN operators that are used for membership tests. Proposed fix for ticket [df46dfb631f75694]. (check-in: [b5f90bfe62] user: drh branch: tkt-df46dfb631, size: 201668)
2019-02-19
18:00
[420ca17dc2] part of check-in [8ac75b8a88] Improve error messages caused by corrupt database schemas in OPEN_SHARED_SCHEMA mode. (check-in: [8ac75b8a88] user: dan branch: reuse-schema, size: 202876)
2019-02-18
18:16
[ad218b369b] part of check-in [88cbf54eee] Ensure that creating temp schema items does not cause an OPEN_SHARABLE_SCHEMA connection to load all schemas into memory. (check-in: [88cbf54eee] user: dan branch: reuse-schema, size: 202883)
2019-02-16
17:27
[f44de7fea3] part of check-in [c155125fd5] Add support for chaining of WINDOW definitions. (check-in: [c155125fd5] user: dan branch: window-functions, size: 201942)
2019-02-15
19:00
[2e86c769cc] part of check-in [ecf6251ec0] Fix a problem with eponymous virtual tables and SHARED_SCHEMA databases. Also, after preparing statements that require all database schemas (REINDEX, ANALYZE, CREATE, DROP and some PRAGMA statements), do not allow the database connection to return more than one schema to each schema-pool. (check-in: [ecf6251ec0] user: dan branch: reuse-schema, size: 202862)
2019-02-14
21:04
[0238a621a7] part of check-in [d43b3c056c] Fix SQLITE_DBSTATUS_SCHEMA_USED so that it works with SQLITE_OPEN_SHARED_SCHEMA connections. (check-in: [d43b3c056c] user: dan branch: reuse-schema, size: 202769)
18:38
[176ae22317] part of check-in [7257fcc8c9] Change the name of the SQLITE_OPEN_REUSE_SCHEMA flag to SQLITE_OPEN_SHARED_SCHEMA. (check-in: [7257fcc8c9] user: dan branch: reuse-schema, size: 202675)
2019-02-12
19:20
[6173e47d1c] part of check-in [ea611d7cba] Share schemas between databases attached to the same database handle. (check-in: [ea611d7cba] user: dan branch: reuse-schema, size: 202674)
2019-02-11
20:13
[2ddea4f7ce] part of check-in [dbedd81bf2] Merge latest trunk changes into this branch. (check-in: [dbedd81bf2] user: dan branch: reuse-schema, size: 202620)
2019-02-09
17:47
[004eb50cdb] part of check-in [3ca8856a7b] Fix virtual table support for SQLITE_OPEN_REUSABLE_SCHEMA connections. (check-in: [3ca8856a7b] user: dan branch: reuse-schema, size: 202500)
2019-02-08
19:30
[7cd0076d58] part of check-in [2b2e9f81cd] Add test cases and fix problems on this branch. (check-in: [2b2e9f81cd] user: dan branch: reuse-schema, size: 202354)
14:55
[8628c582ea] part of check-in [5c6638040b] Give the sqlite3 object a pointer to the current Parse so that if an OOM occurs, it can automatically set the Parse.rc value to SQLITE_NOMEM. This avoids a frequent extra test of db.mallocFailed in the innermost parser loop. (check-in: [5c6638040b] user: drh branch: trunk, size: 201663)
2019-02-07
18:49
[c85e80d384] part of check-in [628291641f] Merge the offical 3.27.0 release. (check-in: [628291641f] user: drh branch: apple-osx, size: 203374)
2019-02-05
19:51
[e58c4cad95] part of check-in [c089cc4fbe] Merge latest trunk into this branch. (check-in: [c089cc4fbe] user: dan branch: reuse-schema, size: 202174)
19:15
[3fa0106155] part of check-in [e9c5e1891f] Fix memory leaks on this branch. (check-in: [e9c5e1891f] user: dan branch: reuse-schema, size: 200710)
2019-02-04
21:02
[8058f6127b] part of check-in [5dfbef8349] Fix a problem with reloading the schema on this branch. (check-in: [5dfbef8349] user: dan branch: reuse-schema, size: 200706)
2019-02-02
21:02
[0bd3db8ad3] part of check-in [9e8e5f52cf] Try new approach ensuring that each Schema object is only used by one connection/database at any one time. (check-in: [9e8e5f52cf] user: dan branch: reuse-schema, size: 200667)
15:59
[f657e35d82] part of check-in [2e01096b89] Honor key query parameters for SEE on the URI filename for ATTACH and VACUUM INTO. (check-in: [2e01096b89] user: drh branch: trunk, size: 201543)
2019-01-31
15:38
[7899f2f28c] part of check-in [cb72ee0478] Add the SQLITE_CONFIG_MEMDB_MAXSIZE configuration option for configuring the default maximum size of an in-memory database created using sqlite3_deserialize(). This is necessary to make the interface reasonably testable. (check-in: [cb72ee0478] user: drh branch: trunk, size: 201391)
01:39
[40eb4e59a4] part of check-in [507c43537f] Improvements to "PRAGMA parser_trace=ON": Make it a flag pragma, and then use the flag to show the complete SQL text at the beginning of the parse. (check-in: [507c43537f] user: drh branch: trunk, size: 201286)
2019-01-30
18:33
[5e0d820534] part of check-in [f21c6f1343] Detect if two indexes of the same table share a common rootpage while parsing the schema, and throw an error immediately. (check-in: [f21c6f1343] user: drh branch: trunk, size: 201215)
2019-01-17
15:47
[cef250c3c4] part of check-in [475a179a27] Sync up with the latest enhancements on trunk. (check-in: [475a179a27] user: drh branch: apple-osx, size: 203000)
15:40
[a2330a569d] part of check-in [df08d472b0] Revamp the SrcList allocator routines to be methods of Parse instead of being methods of the "sqlite3" object, so that they can leave better error messages when the SrcList object grows too large. (check-in: [df08d472b0] user: drh branch: trunk, size: 201169)
2019-01-11
13:32
[348bc49c8e] part of check-in [5547f39de9] The keywords TRUE and FALSE should only act as boolean literal values if unquoted. (check-in: [5547f39de9] user: drh branch: trunk, size: 201173)
2019-01-10
13:56
[829bebd46e] part of check-in [e22d2f905f] Use the new SQLITE_IDXTYPE_IPK values (3) on Index.idxType to indicate the fake INTEGER PRIMARY KEY index used during query planning. (check-in: [e22d2f905f] user: drh branch: trunk, size: 201077)
2019-01-09
02:02
[57f7bfa8a6] part of check-in [f09aa3248e] Enhance the ALTER TABLE RENAME COLUMN feature so that it works on tables that have redundant UNIQUE and/or PRIMARY KEY constraints. Fix for ticket [bc8d94f0fbd633fd9a051e3] (check-in: [f09aa3248e] user: drh branch: trunk, size: 201009)
2019-01-05
21:09
[488f9b86c1] part of check-in [598d7358e7] If the OP_ParseSchema opcode with a non-NULL P4 operand does not parse any rows out of the sqlite_master table, that indicates that the sqlite_master table is corrupt, so raise an SQLITE_CORRUPT error. (check-in: [598d7358e7] user: drh branch: trunk, size: 200876)
2019-01-02
19:46
[066ad0db3a] part of check-in [86685679b4] Merge changes from begin-concurrent-wal2. Also modify the unix-excl shm-locks on this branch so that it is not an error to attempt to release an EXCLUSIVE lock that is not held. (check-in: [86685679b4] user: dan branch: begin-concurrent-pnu-wal2, size: 201324)
16:08
[3e0bcdea16] part of check-in [5bf212f1a7] Merge latest trunk changes into this branch. (check-in: [5bf212f1a7] user: dan branch: begin-concurrent, size: 200897)
14:34
[a86007d427] part of check-in [6c6fb1c6ea] Raise an error if the argument to VACUUM INTO is an identifier. (check-in: [6c6fb1c6ea] user: drh branch: trunk, size: 200823)
2018-12-31
18:30
[2ed8b7c854] part of check-in [9fb646f29c] Merge enhancements and bug fixes from trunk. (check-in: [9fb646f29c] user: drh branch: reuse-subqueries, size: 200824)
2018-12-29
14:23
[802b760a21] part of check-in [1bdee199a7] Additional small performance increase and size reduction to the sqlite3VdbeMakeLabel() mechanism. (check-in: [1bdee199a7] user: drh branch: trunk, size: 200525)
02:26
[c2ac6a115b] part of check-in [4a0929ac76] A new implementation of sqlite3VdbeMakeLabel() is faster and makes fewer memory allocations by deferring memory allocation until sqlite3VdbeResolveLabel() is called, at which point the code generator has a better idea of how big the relocation table needs to be. The sqlite3VdbeMakeLabel() routine now takes a Parse* parameter instead of Vdbe*. (check-in: [4a0929ac76] user: drh branch: trunk, size: 200503)
2018-12-28
21:40
[1da81c69ce] part of check-in [44e1b55aab] Merge performance enhancements and other patches. (check-in: [44e1b55aab] user: drh branch: factor-out-scalar-subselect, size: 200855)
21:32
[ac354476ce] part of check-in [0f1b9ff9e1] Merge performance enhancements from trunk. (check-in: [0f1b9ff9e1] user: drh branch: reuse-subqueries, size: 200747)
20:14
[00590d0d0b] part of check-in [8f10efc29d] Move the nOpAlloc field from Parse into Vdbe to avoid an extra pointer deference on the fast path in sqlite3VdbeAddOp3(). (check-in: [8f10efc29d] user: drh branch: trunk, size: 200448)
2018-12-27
17:11
[f055700619] part of check-in [ea96001e80] Merge latest wal2 changes with this branch. (check-in: [ea96001e80] user: dan branch: begin-concurrent-wal2, size: 200592)
2018-12-26
15:04
[0e8cc89b4a] part of check-in [50e5f390fb] Here is the beginnings of an effort to factor out the implementation of scalar subqueries to be implemented as subroutines at the end of the main body of bytecode, after the jump back to the OP_Init opcode. This is an incremental check-in that contains only preliminary changes. (check-in: [50e5f390fb] user: drh branch: factor-out-scalar-subselect, size: 200925)
2018-12-24
02:34
[1b34330709] part of check-in [6c44838adb] 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: [6c44838adb] user: drh branch: reuse-subqueries, size: 200817)
2018-12-23
21:27
[031e09cf6e] part of check-in [2b6494b150] Split the code generation for the RHS of IN operators and for SELECT and EXISTS expressions into two separate subroutines, because there is now little commonality between those to functions. This is intended to help make the code easier to read and maintain. (check-in: [2b6494b150] user: drh branch: trunk, size: 200518)
2018-12-21
19:29
[24afd47780] part of check-in [25666e3d03] Add new sqlite3_prepare_v3() flag SQLITE_PREPARE_NO_VTAB, for preparing statements that are not allowed to use any virtual tables. Use this to prevent circular references in triggers on virtual table shadow tables from causing resource leaks. (check-in: [25666e3d03] user: dan branch: prepare-no-vtab, size: 200484)
2018-12-18
17:47
[05dd8ce0e3] part of check-in [a93ca38b43] Merge latest begin-concurrent changes into this branch. (check-in: [a93ca38b43] user: dan branch: begin-concurrent-pnu, size: 200914)
2018-12-15
20:59
[6b99bba999] part of check-in [06bb80eeb8] Merge latest wal2 changes into this branch. (check-in: [06bb80eeb8] user: dan branch: begin-concurrent-wal2, size: 200487)
2018-12-10
20:01
[3dda7ba0ea] part of check-in [c96bf6cca2] Further refinements to the sqlite3_normalized_sql() interface. TH3 now gives 100% MC/DC on that interface. (check-in: [c96bf6cca2] user: drh branch: trunk, size: 200413)
16:00
[369d4774d9] part of check-in [a4c890b0af] Refactor the sqlite3_normalized_sql() implementation. This is a work-in-progress. There are still issues. (check-in: [a4c890b0af] user: drh branch: normalize-refactor, size: 200418)
02:00
[45d1e66115] part of check-in [b1bbc718c7] Merge enhancements from trunk. (check-in: [b1bbc718c7] user: drh branch: apple-osx, size: 202355)
2018-12-08
00:43
[70ce5e14c8] part of check-in [af172b53b4] Allow the INTO clause of VACUUM to be a text-valued expression. (check-in: [af172b53b4] user: drh branch: vacuum-into, size: 200524)
2018-12-07
17:28
[fa86b5689f] part of check-in [036e3320a4] Prototype implementation for the VACUUM INTO command. (check-in: [036e3320a4] user: drh branch: vacuum-into, size: 200522)
2018-12-06
20:18
[904156295f] part of check-in [73a6b8c1b9] Experimental changes to (optionally) allow double-quoted strings to be checked against known identifiers. (check-in: [73a6b8c1b9] user: mistachkin branch: normalize_v4, size: 200601)
03:13
[c319213f12] part of check-in [f2083ee410] Merge fixes from trunk. (check-in: [f2083ee410] user: drh branch: begin-concurrent-pnu, size: 201003)
02:08
[d5c31063b7] part of check-in [1e13aaa29f] Merge bug fixes from trunk. (check-in: [1e13aaa29f] user: drh branch: begin-concurrent, size: 200576)
02:01
[97adda953e] part of check-in [3a2c047989] Remove the unused pColHash field from the Table object. (check-in: [3a2c047989] user: drh branch: trunk, size: 200502)
00:08
[6710aa7113] part of check-in [3793e5d5d6] Merge ALTER TABLE and sqlite3_normalized_sql() bug fixes from trunk. (check-in: [3793e5d5d6] user: drh branch: begin-concurrent-pnu, size: 201098)
00:05
[0475183500] part of check-in [acf10b3f8d] Merge ALTER TABLE and sqlite3_normalized_sql() fixes from trunk. (check-in: [acf10b3f8d] user: drh branch: begin-concurrent, size: 200671)
2018-12-05
23:45
[8a9a4c1cce] part of check-in [e8540377ec] The sqlite3_normalized_sql() interface should not be transforming quoted identifier names into wildcards. Fix this, and at the same time simplify the code substantially. (check-in: [e8540377ec] user: drh branch: trunk, size: 200597)
18:28
[5d9b564fee] part of check-in [edfc2acfcd] Merge enhancements and the ALTER TABLE bug fix from trunk. (check-in: [edfc2acfcd] user: drh branch: apple-osx, size: 202505)
17:48
[e96520f273] part of check-in [94ea637917] Simplifications to the sqlite3_normalized_sql() implementation. (check-in: [94ea637917] user: drh branch: trunk, size: 200674)
13:49
[399dc79d2f] part of check-in [342c9538d9] Merge enhancements from trunk, especially the sqlite3_normalized_sql() enhancement. (check-in: [342c9538d9] user: drh branch: begin-concurrent-pnu, size: 201218)
13:44
[237ceb16e1] part of check-in [47b73f6bfe] Merge enhancements from trunk, especially the enhanced sqlite3_normalized_sql() interface. (check-in: [47b73f6bfe] user: drh branch: begin-concurrent, size: 200791)
13:39
[128f2ef4cd] part of check-in [7da617e97e] Enhance the sqlite3_normalize_sql() interface so that it works even if the prepared statement was not initially compiled using SQLITE_PREPARE_NORMALIZED. Enhance the ".trace" command in the CLI so that it is able to access the full scope of functionality provided by sqlite3_trace_v2() and in particular so that it is able to show normalized SQL output using the newly enhanced sqlite3_normalize_sql() interface. (check-in: [7da617e97e] user: drh branch: trunk, size: 200717)
2018-12-04
14:33
[f54ee1ef1e] part of check-in [e28584e8bc] Performance improvement in sqlite3_step() by creating a new mTrace flag for the legacy xProfile pointer that is set by sqlite3_profile(). (check-in: [e28584e8bc] user: drh branch: trunk, size: 200720)
01:18
[1e26dff5cb] part of check-in [6770ed0873] Attempt to make the parser a little faster by storing the ON and USING clause in a single OnUsing object. (check-in: [6770ed0873] user: drh branch: on-using-opt, size: 200869)
2018-12-03
18:24
[ab9fab2d16] part of check-in [85fd92c71f] Merge in all changes for release 3.26.0. (check-in: [85fd92c71f] user: drh branch: begin-concurrent-pnu, size: 200955)
18:15
[dd9a2390cb] part of check-in [f0ddb358cc] Bring up to date with version 3.26.0. (check-in: [f0ddb358cc] user: drh branch: begin-concurrent, size: 200528)
2018-11-30
16:26
[ca2d5f0305] part of check-in [81e626f4a4] Merge the mutex-free PRNG change into this branch. (check-in: [81e626f4a4] user: dan branch: begin-concurrent-pnu, size: 200647)
2018-11-26
23:35
[d740a15b9e] part of check-in [e8c20a88c1] Merge recent enhancements from trunk. (check-in: [e8c20a88c1] user: drh branch: apple-osx, size: 202285)
18:09
[1161f7579c] part of check-in [6e1330545e] Do not allow direct access to internal-use SQL functions such as sqlite_rename_column() and sqlite3_rename_table() except when the new SQLITE_TESTCTRL_INTERNAL_FUNCTIONS flag is set. (check-in: [6e1330545e] user: drh branch: trunk, size: 200454)
07:34
[b9f89d79c0] part of check-in [76608f750a] Merge latest begin-concurrent changes into this branch. (check-in: [76608f750a] user: dan branch: begin-concurrent-pnu, size: 200297)
07:21
[55a16ddcfa] part of check-in [28a615a2e0] Merge latest trunk changes into this branch. (check-in: [28a615a2e0] user: dan branch: begin-concurrent, size: 200220)
2018-11-20
16:02
[a499dea6af] part of check-in [dfab7170ed] Consolidate the two sqlite3SchemaToIndex() routines. (check-in: [dfab7170ed] user: dan branch: reuse-schema1, size: 200825)
2018-11-19
20:41
[aae85408eb] part of check-in [84be9220db] Fix a problem with virtual tables in shared schemas. (check-in: [84be9220db] user: dan branch: reuse-schema1, size: 200875)
2018-11-17
18:45
[f677e57fdc] part of check-in [9fdd186897] Merge latest trunk changes into this branch. (check-in: [9fdd186897] user: dan branch: reuse-schema1, size: 200787)
18:11
[a64587be4a] part of check-in [6d7a7e5faf] Fix further problems with the feature on this branch. (check-in: [6d7a7e5faf] user: dan branch: reuse-schema1, size: 200720)
2018-11-16
17:04
[86c36aec09] part of check-in [9780829a77] Fix further REUSE_SCHEMA issues. (check-in: [9780829a77] user: dan branch: reuse-schema1, size: 200713)
2018-11-15
21:20
[47d235a0c1] part of check-in [31b6aee755] Fix some problems with the feature on this branch. Many problems remain. (check-in: [31b6aee755] user: dan branch: reuse-schema1, size: 200709)
2018-11-10
20:07
[e8ef63bfd8] part of check-in [977fc44e65] Merge the read-only shadow table and defensive mode enhancments from trunk. (check-in: [977fc44e65] user: drh branch: apple-osx, size: 201977)
03:47
[c10361d952] part of check-in [bf88efcec4] Merge fixes from trunk. (check-in: [bf88efcec4] user: drh branch: read-only-shadow, size: 200146)
2018-11-09
23:45
[eab404b674] part of check-in [e3e9b85ead] Merge fixes from trunk. (check-in: [e3e9b85ead] user: drh branch: apple-osx, size: 201910)
18:44
[925c0379af] part of check-in [ae88f8e1ff] Merge latest trunk changes with this branch. (check-in: [ae88f8e1ff] user: dan branch: reuse-schema, size: 200396)
00:02
[9d39302a82] part of check-in [8d663bfaaa] Disable the use of coroutines for subqueries within a query that is the RHS of an IN operator, as the IN operator might be evaluated more than once. Possible fix for [787fa716be3a7f65], unless we can come up with something better. Later: Counter-example found. (check-in: [8d663bfaaa] user: drh branch: tkt787fa716-deadend, size: 200158)
2018-11-08
22:53
[cad10b3a48] part of check-in [8c74065f00] In the treeview.c module, break out the display of SrcList into a separate subroutine, so that it can be invoked while debugging. (check-in: [8c74065f00] user: drh branch: trunk, size: 200079)
2018-11-06
13:37
[91c7a27a6f] part of check-in [f79b47c985] Add enforcement of read-only on shadow tables. This does not currently work since some virtual tables are attempting to update shadow tables using sqlite3_exec(). (check-in: [f79b47c985] user: drh branch: read-only-shadow, size: 200152)
2018-11-05
23:01
[7a6bbb9a88] part of check-in [31942b3dd3] Initial code to make shadow tables read-only to ordinary SQL. The now xShadowName method is added to the sqlite3_module object and is used to identify potential shadow tables. The SQLITE_PREPARE_SHADOW argument to sqlite3_prepare_v3() is defined. It is designed to permit writing to shadow tables, but is currently an unused placeholder. (check-in: [31942b3dd3] user: drh branch: read-only-shadow, size: 200088)
13:53
[0f41289d90] part of check-in [62acf7a09e] Merge recent trunk enhancements. (check-in: [62acf7a09e] user: drh branch: apple-osx, size: 201739)
2018-11-03
17:31
[8aef40f6e7] part of check-in [7609434582] Correct the internal logic for SQLITE_DBCONFIG_DEFENSIVE. (check-in: [7609434582] user: drh branch: dbconfig-defensive, size: 200021)
16:09
[16a6fe6475] part of check-in [af3f29d493] Add the SQLITE_DBCONFIG_DEFENSIVE flag. (check-in: [af3f29d493] user: drh branch: dbconfig-defensive, size: 199984)
2018-10-31
20:52
[66ec6304f4] part of check-in [4a6ad5190b] Deploy the sqlite3Strlen30NN() function (argument guaranteed to be non-NULL) for a small performance improvement. (check-in: [4a6ad5190b] user: drh branch: trunk, size: 199908)
19:01
[06d329f15c] part of check-in [790ea39a65] Add support for the SQLITE_PREPARE_NORMALIZED flag and the sqlite3_normalized_sql() when compiling with SQLITE_ENABLE_NORMALIZE. Also remove unnecessary whitespace from Makefiles. (check-in: [790ea39a65] user: drh branch: trunk, size: 199856)
01:26
[3cac41bf76] part of check-in [4b370c74ae] Merge fixes from trunk, especially rebustness against corrupt database files. (check-in: [4b370c74ae] user: drh branch: apple-osx, size: 200875)
2018-10-30
16:25
[93692315c6] part of check-in [4f9878107a] Split the SQLITE_WriteSchema flag in two flags, WriteSchema and SQLITE_NoSchemaError. Set only WriteSchema on a VACUUM to avoid problems when trying to vacuum a corrupt database. With this change, the size of the flags field on sqlite3 must grow from 32 to 64 bytes. (check-in: [4f9878107a] user: drh branch: trunk, size: 199044)
2018-10-29
17:53
[be74ca8df8] part of check-in [592b66e805] Add the sqlite3_normalized_sql() API. (check-in: [592b66e805] user: mistachkin branch: normalized_sql, size: 199672)
2018-10-12
22:02
[8ab71fd528] part of check-in [6cb537bdce] Fix the SQLITE_ENABLE_APPLE_SPI compile-time option. (check-in: [6cb537bdce] user: drh branch: apple-osx, size: 200767)
2018-10-09
22:58
[51ba4e3f05] part of check-in [1b60e7a981] Merge enhancements from trunk. (check-in: [1b60e7a981] user: drh branch: apple-osx, size: 200055)
22:50
[0cbefd59ea] part of check-in [ddf6a54ef3] Merge changes for the 3.25.0 release. (check-in: [ddf6a54ef3] user: drh branch: apple-osx, size: 199787)
2018-10-08
18:58
[cc1062f66d] part of check-in [2ac72114a1] Merge latest trunk changes into this branch. (check-in: [2ac72114a1] user: dan branch: reuse-schema, size: 199253)
2018-10-04
18:17
[00532747db] part of check-in [857a1b01df] The 0x8000 optimization flag associated with SQLITE_TESTCTRL_OPTIMIZATIONS causes a large penalty (200) to be added to all sorting costs, which encourages the query planner avoid using the sorter. This flag can be used in experiments to help come up with a more accurate estimate of the true cost of sorting. (check-in: [857a1b01df] user: drh branch: query-planner-debug, size: 199019)
2018-10-01
11:00
[489bda7e69] part of check-in [31ac8dbae4] 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: [31ac8dbae4] user: drh branch: branch-3.25, size: 198819)
2018-09-28
21:11
[da33706d4a] part of check-in [6f3dd9809f] Merge latest begin-concurrent changes into this branch. (check-in: [6f3dd9809f] user: dan branch: begin-concurrent-pnu, size: 199087)
20:58
[0512c7fc38] part of check-in [86750c927c] Merge latest trunk into this branch. (check-in: [86750c927c] user: dan branch: begin-concurrent, size: 199010)
2018-09-27
20:20
[75d8266b27] part of check-in [322ab1fc61] 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: [322ab1fc61] user: drh branch: trunk, size: 198936)
2018-09-24
20:48
[10d7835f2a] part of check-in [31dc8b191c] Add the "PRAGMA legacy_alter_table=ON" command to enable the pre-3.25.0 behavior of ALTER TABLE that does not modify the bodies of triggers or views or the WHERE clause of a partial index. Enable the legacy behavior by default when running the xRename method of virtual tables. (check-in: [31dc8b191c] user: drh branch: branch-3.25, size: 198745)
2018-09-20
20:15
[29ac7a5984] part of check-in [7edd26ed27] Add the "PRAGMA legacy_alter_table=ON" command to enable the pre-3.25.0 behavior of ALTER TABLE that does not modify the bodies of triggers or views or the WHERE clause of a partial index. Enable the legacy behavior by default when running the xRename method of virtual tables. (check-in: [7edd26ed27] user: drh branch: trunk, size: 198862)
19:02
[214e56845f] part of check-in [ad130bb86e] Combine the Expr.pTab and Expr.pWin fields into a union named "y". Add a new EP_WinFunc property that is only true if Expr.y.pWin is a valid pointer. This reduces the size of the Expr object by 8 bytes, reduces the overall amount of code, and shaves over 1 million cycles off of the speed test. (check-in: [ad130bb86e] user: drh branch: trunk, size: 198785)
08:28
[d8a3b17c12] part of check-in [5acad2e92c] Add a PRAGMA that restores the legacy ALTER TABLE RENAME TO behaviour. (check-in: [5acad2e92c] user: dan branch: legacy-alter-table, size: 198801)
2018-09-19
20:14
[5cf4c8f168] part of check-in [24b0f66ac6] Reduce the size of Expr to 64-bytes. This works somewhat, but there are test failures. More importantly, the size reduction from 80- to 64-bytes has not lowered the schema memory usage, but it has made the code a little bigger and a little slower. So the initial evidence is that this Expr refactoring experiment is not working... (check-in: [24b0f66ac6] user: drh branch: expr-simplify, size: 199497)
14:54
[b8a598f500] part of check-in [147c61a6d4] Reduce the size of Expr from 80 to 72 bytes moving the pRight field inside the "x" union. This is an incremental check-in that still has issues. (check-in: [147c61a6d4] user: drh branch: expr-simplify, size: 199404)
2018-09-18
21:35
[0aed6451d2] part of check-in [8849a463d6] In the Expr object, the Expr.eX field determines what value is stored in the Expr.x union. This mostly works, but there are issues identified by valgrind. (check-in: [8849a463d6] user: drh branch: expr-simplify, size: 199359)
2018-09-15
21:38
[83ee9b55db] part of check-in [a71b101635] Optimization: when doing an UPDATE on a table with indexes on an expression, do not update the expression indexes if they do not refer to any of the columns of the table being updated. (check-in: [a71b101635] user: drh branch: trunk, size: 198724)
2018-09-12
08:51
[ce34da1aac] part of check-in [572de7e4e3] Fix an invalid pointer comparison triggered by renaming a table column when there are views with explicit column names in the schema. (check-in: [572de7e4e3] user: dan branch: trunk, size: 198668)
2018-09-08
20:09
[f63f04e3db] part of check-in [206720129e] Fix multiple issues with the ORDER BY LIMIT optimization. This is the proposed resolution to ticket [9936b2fa443fec03ff25]. (check-in: [206720129e] user: drh branch: trunk, size: 198616)
2018-09-06
16:47
[c72e50d876] part of check-in [18beabc848] Fix a problem causing SQLITE_OMIT_VIRTUALTABLE builds to fail. (check-in: [18beabc848] user: dan branch: trunk, size: 198612)
2018-09-05
14:36
[8a75462ee7] part of check-in [2ec7e50cbc] Avoid comparing pointer values after the object that they point to has been deleted. (check-in: [2ec7e50cbc] user: dan branch: alter-table-rename-column, size: 198611)
2018-09-01
15:49
[5444fef2e1] part of check-in [589186c083] Merge fixes and enhancements from trunk. (check-in: [589186c083] user: drh branch: alter-table-rename-table, size: 198567)
2018-08-29
21:00
[83b8d19681] part of check-in [01308bae3a] Extend RENAME TABLE to edit triggers and views. Still buggy. (check-in: [01308bae3a] user: dan branch: alter-table-rename-table, size: 198473)
20:24
[26e48f0c82] part of check-in [f48e9feb3f] Also free up the MEM_RowSet bit in the Mem.flags field and have RowSet objects be destroyed using Mem.xDel. This change results in faster code. (check-in: [f48e9feb3f] user: drh branch: trunk, size: 197165)
2018-08-24
19:04
[2a670143a4] part of check-in [d158e5b12e] Set SQLITE_PTRSIZE to 4 when compiling with xlc on 32-bit AIX. (check-in: [d158e5b12e] user: mistachkin branch: trunk, size: 197155)
2018-08-23
18:56
[49620c948a] part of check-in [ef6729be85] Automatically detect when compiling for AArch64 on windows and set SQLITE_BYTEORDER to little-endian to avoid compile-time testing. (check-in: [ef6729be85] user: drh branch: trunk, size: 197093)
2018-08-21
16:32
[679196cdd2] part of check-in [b9ae9a0a18] Rename internal function sqlite3RenameToken() to sqlite3RenameTokenMap() and sqlite3MoveRenameToken() to sqlite3RenameTokenRemap(). (check-in: [b9ae9a0a18] user: dan branch: alter-table-rename-column, size: 198438)
08:29
[df6ea00a58] part of check-in [479976955e] Minor changes to function tokenExpr() in order to claw back cycles lost to the rename-column change. (check-in: [479976955e] user: dan branch: alter-table-rename-column, size: 198434)
2018-08-18
18:27
[74f819eedf] part of check-in [9d8e73bf71] Additional fixes for harmless compiler warnings that are specific to this branch. (check-in: [9d8e73bf71] user: drh branch: alter-table-rename-column, size: 198433)
2018-08-15
20:28
[78e9b483ad] part of check-in [e272dc2b1c] Have ALTER TABLE RENAME COLUMN edit trigger programs. Only partly working. (check-in: [e272dc2b1c] user: dan branch: edit-trigger-wrapper, size: 198480)
2018-08-14
20:18
[c3bca346f0] part of check-in [db829dc1a2] Have ALTER TABLE RENAME edit column references in CREATE VIEW statements. (check-in: [db829dc1a2] user: dan branch: edit-trigger-wrapper, size: 198486)
19:27
[a7b305c235] part of check-in [37d11b8e82] Improved error messages when an ALTER TABLE RENAME COLUMN fails due to a duplicate column name. (check-in: [37d11b8e82] user: drh branch: alter-table-rename-column, size: 198488)
2018-08-13
17:14
[6a5d651170] part of check-in [5fdb6b0aaf] Edit the WHEN and UPDATE OF clauses of trigger programs as part of ALTER TABLE RENAME COLUMN. (check-in: [5fdb6b0aaf] user: dan branch: edit-trigger-wrapper, size: 198300)
15:09
[6cce5956d8] part of check-in [32edc89203] Fix legacy comments on Token. Begin commenting the new ALTER TABLE RENAME COLUMN code. Fix a memory leak in the sqlite_rename_column() SQL function. (check-in: [32edc89203] user: drh branch: alter-table-rename-column, size: 198302)
2018-08-11
13:40
[170af5be3b] part of check-in [f4497b0136] Reload the entire schema after renaming a column in order to ensure that the schema for any tables for which parent key definitions were changed are reloaded. (check-in: [f4497b0136] user: dan branch: alter-table-rename-column, size: 198116)
2018-08-09
20:47
[4c9dc8cf5a] part of check-in [fa0fc01eb4] Experimental implementation of ALTER TABLE ... RENAME COLUMN. Still buggy. (check-in: [fa0fc01eb4] user: dan branch: alter-table-rename-column, size: 198073)
2018-08-04
17:15
[a5d212bb7a] part of check-in [2041231d56] Fix comments that were made obsolete by the removal of the column cache. (check-in: [2041231d56] user: drh branch: omit-column-cache, size: 197071)
16:54
[353f6ec5d0] part of check-in [80236e81ce] Remove more column-cache residue: The OP_SetColTab and OP_VerifyColTab opcodes and the associated SQLITE_DEBUG_COLUMNCACHE logic. (check-in: [80236e81ce] user: drh branch: omit-column-cache, size: 197165)
15:53
[aafcf34d4c] part of check-in [7d9072b027] Further logic simplifications that flow out of the omission of the column cache. (check-in: [7d9072b027] user: drh branch: omit-column-cache, size: 197503)
14:30
[6cfd489230] part of check-in [db6052e972] Remove additional traces of the column cache. (check-in: [db6052e972] user: drh branch: omit-column-cache, size: 197570)
2018-08-03
23:04
[31b29c0dcc] part of check-in [3f5f60cd75] Completely remove the column cache logic, which has been a persistent source of bugs for many years. Due to recent enhancements to the performance of the OP_Column opcode, removing the column cache actually makes speed-check.sh run faster. Removing the column cache also saves about 1,800 bytes of code space. (check-in: [3f5f60cd75] user: drh branch: omit-column-cache, size: 197790)
2018-07-28
13:37
[d9e843d00a] part of check-in [fc90a53de7] An early attempt at refactoring Expr (check-in: [fc90a53de7] user: drh branch: expr-simplify-branch1, size: 199249)
2018-07-27
23:33
[de37aae03c] part of check-in [02204f8b24] Improvements to the parser to increase coverage. Fix the parser so that at least one expresssion is required after PARTITION BY and within the list of expressions on VALUES(). (check-in: [02204f8b24] user: drh branch: trunk, size: 198531)
16:57
[fafe020e6f] part of check-in [82c67efb72] Constant propagation is now restricted to just the WHERE clause. The mechanism is changed to take affinity and collation into account. This seems to give correct answers. But the search for constant propagation costs 4 million cycles in the speed test. (check-in: [82c67efb72] user: drh branch: propagate-const-opt, size: 198526)
2018-07-26
21:16
[0da0d92964] part of check-in [2fb82ad8eb] Initial implementation of the WHERE-clause constant propagation optimization. (check-in: [2fb82ad8eb] user: drh branch: propagate-const-opt, size: 198472)
2018-07-24
22:02
[4274715863] part of check-in [2bd593332d] Do not abort running queries due to a CREATE INDEX statement. Allow them to run to completion before being reprepared. Fix for ticket [c694113e50321afdf9]. (check-in: [2bd593332d] user: drh branch: trunk, size: 198323)
2018-07-12
19:39
[24e6aaa22d] part of check-in [d33527d223] Merge latest begin-concurrent changes with this branch. (check-in: [d33527d223] user: dan branch: begin-concurrent-pnu, size: 198469)
19:28
[339bc14a89] part of check-in [6a00a34e19] Merge latest trunk changes into this branch. (check-in: [6a00a34e19] user: dan branch: begin-concurrent, size: 198392)
19:14
[c2ceebe60d] part of check-in [650a3fe03d] Add a test-control to disable the skip-scan optimization. (check-in: [650a3fe03d] user: dan branch: trunk, size: 198318)
2018-07-10
20:50
[8570eb9ecb] part of check-in [f2057542cf] Minor comment changes. Add ALWAYS() macros on some unreachable branches in the xStep() methods of built-in window functions. (check-in: [f2057542cf] user: drh branch: trunk, size: 198262)
19:48
[dea40711d9] part of check-in [a7cdc5bc85] Identify Select objects within a single statement using small sequential integers rather than "0x%p". This is more readable and yields the same result on successive runs. (check-in: [a7cdc5bc85] user: drh branch: trunk, size: 198261)
16:04
[7e32765449] part of check-in [cd2da7e1ba] 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: [cd2da7e1ba] user: drh branch: trunk, size: 198433)
15:48
[66452e03bc] part of check-in [af17432eb1] Merge begin-concurrent changes into this branch. (check-in: [af17432eb1] user: dan branch: begin-concurrent-pnu, size: 198579)
15:45
[1cea90fe37] part of check-in [e9a3e8642e] Merge latest trunk changes into this branch. (check-in: [e9a3e8642e] user: dan branch: begin-concurrent, size: 198502)
06:32
[7e24bfe3bf] part of check-in [a2c0e1bec0] Enhance the TreeView mechanism so that it shows the window function data structures as part of the abstract syntax tree. (check-in: [a2c0e1bec0] user: drh branch: trunk, size: 198428)
2018-06-29
17:44
[c14c850bf0] part of check-in [022079cb0d] Instead of using a lemon %fallback directive, have the tokenizer try to figure out whether an instance of "WINDOW" should be TK_WINDOW or TK_ID. (check-in: [022079cb0d] user: dan branch: weak-fallback, size: 197368)
2018-06-22
20:51
[74728a0b20] part of check-in [5f04b01646] Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. (check-in: [5f04b01646] user: dan branch: exp-window-functions, size: 197336)
2018-06-19
19:01
[95836c91a6] part of check-in [4f1fb5c94b] OFD locks are now mostly working, but need additional tests. (check-in: [4f1fb5c94b] user: drh branch: ofd-locks, size: 193773)
17:13
[a67385b64a] part of check-in [801074ce63] Fix a problem with using min() or max() as a window function. (check-in: [801074ce63] user: dan branch: exp-window-functions, size: 197112)
2018-06-18
20:34
[6080a69e0f] part of check-in [943bccd2a6] Fix problems with using window functions in CREATE VIEW statements. (check-in: [943bccd2a6] user: dan branch: exp-window-functions, size: 197107)
16:55
[94c8db9e2b] part of check-in [da03fb4318] Add new API function sqlite3_create_window_function(), for creating new aggregate window functions. (check-in: [da03fb4318] user: dan branch: exp-window-functions, size: 197053)
2018-06-14
19:06
[97525ef265] part of check-in [43eb1e75a4] 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: [43eb1e75a4] user: dan branch: exp-window-functions, size: 196968)
14:30
[f6c6b3b969] part of check-in [5cf5f1808a] Merge latest trunk changes into this branch. (check-in: [5cf5f1808a] user: dan branch: exp-window-functions, size: 196775)
2018-06-11
20:50
[939c1893f7] part of check-in [0cd55e98a4] Clarify the relationship between a Window object and its associated Expr. (check-in: [0cd55e98a4] user: dan branch: exp-window-functions, size: 196437)
17:35
[c8d304712b] part of check-in [b37614a367] Add the OP_SetTabCol and OP_VerifyTabCol opcodes, only when compiling with SQLITE_DEBUG, to do run-time verification of the column cache. (check-in: [b37614a367] user: drh branch: trunk, size: 193696)
2018-06-09
18:09
[04c732e9e7] part of check-in [c71f23590c] Merge recent trunk changes with this branch. (check-in: [c71f23590c] user: dan branch: exp-window-functions, size: 196435)
01:12
[9332b82038] part of check-in [d735872ec3] Compute the bitmask of indexed columns for each index once when the Index objecct is constructed, instead of recomputing it every time it is needed. (check-in: [d735872ec3] user: drh branch: trunk, size: 193358)
2018-06-08
20:58
[8cdd2f8c92] part of check-in [19c983b511] Add support for the WINDOW clause. (check-in: [19c983b511] user: dan branch: exp-window-functions, size: 196369)
16:11
[72c13b9833] part of check-in [236cb75bd1] Do not flatten sub-queries that contain window functions. (check-in: [236cb75bd1] user: dan branch: exp-window-functions, size: 196124)
11:45
[94322676f8] part of check-in [89bbc9ba8f] Fixes to allow group_concat() to be used as a window function. (check-in: [89bbc9ba8f] user: dan branch: exp-window-functions, size: 196080)
2018-06-06
17:12
[8d8f336794] part of check-in [be7004a971] Merge the 3.24.0 changes plus a few subsequent enhancements. (check-in: [be7004a971] user: drh branch: begin-concurrent-pnu, size: 193443)
17:03
[61275d2b6c] part of check-in [d7299bfeb1] Merge changes from trunk, including all the 3.24.0 changes plus some later enhancements. (check-in: [d7299bfeb1] user: drh branch: begin-concurrent, size: 193366)
2018-06-04
14:10
[96b4eedd7c] part of check-in [95fbac39ba] Merge changes from trunk. (check-in: [95fbac39ba] user: drh branch: apple-osx, size: 194411)
08:28
[7a9f462bff] part of check-in [83d6416a86] Merge latest trunk changes into this branch. (check-in: [83d6416a86] user: dan branch: exp-window-functions, size: 196072)
2018-06-02
21:04
[777f048d45] part of check-in [91c1cb7a21] Add support for window functions row_number(), rank(), dense_rank() and percent_rank(). (check-in: [91c1cb7a21] user: dan branch: exp-window-functions, size: 196104)
2018-05-30
20:44
[daa86b28d3] part of check-in [c16125a884] Allow min() and max() to be used as window functions. (check-in: [c16125a884] user: dan branch: exp-window-functions, size: 195803)
2018-05-26
16:00
[d2bd297dba] part of check-in [777189ce88] Store application-defined function names as lower-case to avoid the need for case conversions before calling xFindFunction on virtual tables. Avoid using lookaside to store the destructors for application defined functions, as lookaside should be reserved for transient allocations. (check-in: [777189ce88] user: drh branch: trunk, size: 193292)
2018-05-23
20:55
[735b041705] part of check-in [3a203660f1] Add support for "ROWS BETWEEN <expr> PRECEDING AND <expr> FOLLOWING" window frames. (check-in: [3a203660f1] user: dan branch: exp-window-functions, size: 195662)
2018-05-21
19:45
[a3f0edb26e] part of check-in [bc4b81d60d] Begin adding support for more esoteric window frames. (check-in: [bc4b81d60d] user: dan branch: exp-window-functions, size: 195639)
2018-05-17
19:24
[6b3400a90f] part of check-in [c9f0f14094] Evaluate multiple window functions in a single pass if they use the same window definition. Add xValue callbacks for other built-in aggregate functions. (check-in: [c9f0f14094] user: dan branch: exp-window-functions, size: 195445)
2018-05-16
20:58
[ecb9f7d12a] part of check-in [3781e52085] Start of experimental implementation of SQL window functions. Does not yet work. (check-in: [3781e52085] user: dan branch: exp-window-functions, size: 195369)
2018-05-15
11:55
[1fdcc239cb] part of check-in [72f39efa9b] Merge latest trunk changes into this branch. (check-in: [72f39efa9b] user: dan branch: begin-concurrent-pnu, size: 193475)
11:45
[b05e12d7c8] part of check-in [ae86cf60b6] Merge latest trunk changes with this branch. (check-in: [ae86cf60b6] user: dan branch: begin-concurrent, size: 193398)
2018-05-14
17:12
[beb78cf78e] part of check-in [32b3d11050] Experimental syntax enhancement for an "INDEXED" keyword following a FROM-clause subquery that indicates that an automatic index on that subquery is suggested. (check-in: [32b3d11050] user: drh branch: exp-indexed-clause, size: 193398)
2018-05-09
13:46
[5abdade474] part of check-in [87f261f0cb] Make the internal dynamic string interface available to extensions using the new sqlite3_str object and its associated methods. This is mostly just a renaming of internal objects and methods to use external names, through there are a few small wrapper functions. (check-in: [87f261f0cb] user: drh branch: trunk, size: 193324)
2018-05-04
19:33
[e8308e4ca9] part of check-in [e17bca2cdb] Merge recent enhancements from trunk. (check-in: [e17bca2cdb] user: drh branch: apple-osx, size: 194754)
2018-05-03
23:20
[4b98a37f27] part of check-in [c381f0ea57] In ORDER BY LIMIT queries, try to evaluate the ORDER BY terms first, and it it becomes clear that the row will not come in under the LIMIT, then skip evaluation of the other columns. (check-in: [c381f0ea57] user: drh branch: trunk, size: 193635)
19:47
[7fbd839f07] part of check-in [956fef361a] Optimizations to the new EQP framework. (check-in: [956fef361a] user: drh branch: rework-EQP, size: 193841)
2018-05-02
14:24
[4095263176] part of check-in [82ca44b82f] Fix a dangling-else problem that was causing recursive CTEs to malfunction. Begin fixing test cases to work with the new EQP output. (check-in: [82ca44b82f] user: drh branch: rework-EQP, size: 193974)
00:33
[337e4fe0a9] part of check-in [70b48a7972] Begin reengineering the EXPLAIN QUERY PLAN function to provide more intuitive output. (check-in: [70b48a7972] user: drh branch: rework-EQP, size: 193979)
2018-05-01
01:18
[9aef9530fc] part of check-in [2a75e631ee] The ".selecttrace 0x4000" command causes the AST to be output to stdout as a table with four columns. (check-in: [2a75e631ee] user: drh branch: ast-trace-demo, size: 194294)
2018-04-30
19:32
[3e354edb30] part of check-in [ce4ef46058] Defer loading result column values into registers on an ORDER BY LIMIT until we know that the LIMIT does not exclude the current row. (check-in: [ce4ef46058] user: drh branch: faster-order-by-limit, size: 193891)
2018-04-28
01:27
[8ac0138eae] part of check-in [02e1a13c1f] Add the "PRAGMA reset_database=ON|OFF" command. When on, it causes the database to appear to be empty, causing the next transaction to reset it to an empty database. (check-in: [02e1a13c1f] user: drh branch: reset-database, size: 194097)
2018-04-26
18:01
[288351b650] part of check-in [83a4c9f088] Merge latest changes from trunk. Including the "ORDER BY ... LIMIT" optimization. (check-in: [83a4c9f088] user: dan branch: begin-concurrent-pnu, size: 194181)
17:54
[2947156d68] part of check-in [d8ae7ba083] Merge latest changes from trunk. Including the "ORDER BY ... LIMIT" optimization. (check-in: [d8ae7ba083] user: dan branch: begin-concurrent, size: 194104)
2018-04-25
12:01
[c1deb023eb] part of check-in [58cf812fd8] Avoid many unnecessary calls to sqlite3ReadSchema() and sqlite3Init() when the schema is known to be valid already. (check-in: [58cf812fd8] user: drh branch: trunk, size: 194030)
2018-04-24
19:22
[717add42a8] part of check-in [2d8d13e4a1] Update this branch with latest changes from trunk. (check-in: [2d8d13e4a1] user: dan branch: begin-concurrent-pnu, size: 194109)
19:21
[14eea4c7f0] part of check-in [b27bd799ea] Merge latest trunk changes into this branch. (check-in: [b27bd799ea] user: dan branch: begin-concurrent, size: 194032)
2018-04-23
17:43
[db62bdf052] part of check-in [ca34c2dd20] The ".selecttrace 0x2000" command causes just the top-level parse tree to be displayed, after all transformations, and showing the EQP iSelectId at each level. (check-in: [ca34c2dd20] user: drh branch: trunk, size: 193958)
13:28
[00c10f891d] part of check-in [d47a6bdda0] Ensure that there are no bind-parameters or incorrect schema references in the UPSERT portions of an INSERT within a TRIGGER. (check-in: [d47a6bdda0] user: drh branch: trunk, size: 193898)
2018-04-21
13:51
[e62bf3794b] part of check-in [be47a6f526] Add the %extra_context directive to lemon, as an alternative to %extra_argument. Use this to improve the performance of the parser. (check-in: [be47a6f526] user: drh branch: trunk, size: 193898)
2018-04-20
13:18
[6f26888c81] part of check-in [c37f39d18d] Enhance UPSERT so that the UPDATE uses the same set of cursors as the INSERT. (check-in: [c37f39d18d] user: drh branch: trunk, size: 193898)
2018-04-18
19:56
[a5c534cda7] part of check-in [ef74090a40] Add the "sorter-reference" optimization, allowing SQLite to be configured so that some required values may be loaded from the database after external sorting occurs for SELECT statements with ORDER BY clauses that are not satisfied by database indexes. (check-in: [ef74090a40] user: dan branch: trunk, size: 193488)
15:33
[1d4317da12] part of check-in [3295651917] Fix the build for SQLITE_OMIT_UPSERT (check-in: [3295651917] user: drh branch: upsert, size: 193096)
2018-04-17
18:16
[36471fded3] part of check-in [27cd3b2fb2] Add some more simple test cases for UPSERT. And a minor fix. (check-in: [27cd3b2fb2] user: dan branch: upsert, size: 193092)
2018-04-16
21:12
[ad14bfeab6] part of check-in [b25a7bb769] Add SQLITE_CONFIG_SORTERREF_SIZE configuration option. (check-in: [b25a7bb769] user: dan branch: sorter-reference, size: 191364)
13:00
[39ba44080f] part of check-in [0203f34faa] Add support for the "excluded.*" names in the UPDATE clause of an upsert. (check-in: [0203f34faa] user: drh branch: upsert, size: 193096)
10:47
[1e32dd08ea] part of check-in [54d96772e7] Merge changes from trunk. (check-in: [54d96772e7] user: drh branch: upsert, size: 192855)
10:34
[155bd93e3d] part of check-in [dba3095fee] Reduce the size of the NameContext object by grouping seldom-used fields into a union. (check-in: [dba3095fee] user: drh branch: trunk, size: 191121)
2018-04-14
18:46
[31a7f214a6] part of check-in [9719cb46bb] Experimental change to "SELECT * FROM ... ORDER BY" processing to load some column values from the db after sorting. (check-in: [9719cb46bb] user: dan branch: sorter-reference, size: 191043)
2018-04-13
21:55
[0c303b9431] part of check-in [a9080bc8b8] First cut at logic to perform DO UPDATE for rowid tables. (check-in: [a9080bc8b8] user: drh branch: upsert, size: 192706)
18:59
[063ea084f4] part of check-in [6d3017f92b] Add infrastructure for doing an UPDATE as part of an UPSERT. Still no actual UPDATE code, however. (check-in: [6d3017f92b] user: drh branch: upsert, size: 192652)
15:14
[c1df61473d] part of check-in [d07f05e98b] Get the ON CONFLICT DO NOTHING form of upsert working by mapping it into INSERT OR IGNORE. (check-in: [d07f05e98b] user: drh branch: upsert, size: 192584)
13:06
[97119c8dcc] part of check-in [2c1b1987d8] Back off of the extended upsert syntax that allows multiple ON CONFLICT clauses. The syntax now is exactly as in PostgreSQL and MySQL. Add support for WHERE clauses on the conflict-target phrase, for partial indexes. (check-in: [2c1b1987d8] user: drh branch: upsert, size: 192520)
01:15
[f99a77238e] part of check-in [8096964340] Begin adding upsert logic. This is an incremental check-in. (check-in: [8096964340] user: drh branch: upsert, size: 192835)
2018-04-12
17:28
[f828216a59] part of check-in [e4396c540a] Extend the upsert syntax to allow a WHERE clause on the UPDATE. (check-in: [e4396c540a] user: drh branch: upsert, size: 191959)
15:43
[8b21b91689] part of check-in [c48f64d8ae] Update the upsert parsing so that it accepts conflict-target labels using the PostgreSQL syntax, and also accepts the MySQL "ON DUPLICATE KEY" syntax. (check-in: [c48f64d8ae] user: drh branch: upsert, size: 191879)
13:15
[1c6d9e7344] part of check-in [d83eaed539] Add the Upsert object for holding upsert clause information. (check-in: [d83eaed539] user: drh branch: upsert, size: 191762)
2018-04-10
18:05
[fd7b5647cf] part of check-in [e20fcb5159] Merge all version 3.23.1 changes and enhancements from trunk. (check-in: [e20fcb5159] user: drh branch: apple-osx, size: 192091)
2018-04-07
15:04
[a1a986e2b9] part of check-in [5cc2a5a315] More complete parsing of UPSERT, including UPSERT within a trigger. The sqlite3Insert() logic to actually perform the UPSERT is not yet implemented, however. (check-in: [5cc2a5a315] user: drh branch: upsert, size: 191112)
2018-03-28
15:41
[59a8bd112b] part of check-in [df52e89fff] Update this branch with latest trunk changes. (check-in: [df52e89fff] user: dan branch: server-process-edition, size: 191069)
2018-03-26
17:40
[a4837c57f9] part of check-in [2e54a7433e] Add infrastructure to support for using F_SETLKW with a timeout on system that support that functionality. Requires SQLITE_ENABLE_SETLK_TIMEOUT. (check-in: [2e54a7433e] user: drh branch: lowlevel-lock-timeout, size: 190972)
16:37
[bf922890d3] part of check-in [6c40c5574f] Refactor some internal object element names used by the busy handler, to simplify analysis. (check-in: [6c40c5574f] user: drh branch: trunk, size: 190878)
2018-03-20
21:16
[541896393a] part of check-in [5b7abecc7a] If terms of the WHERE clause require that the right table in a LEFT JOIN not be a null row, then simplify the LEFT JOIN into an ordinary JOIN. (check-in: [5b7abecc7a] user: drh branch: join-strength-reduction, size: 190857)
18:08
[7e9deb145c] part of check-in [5ad668d433] Improvements to the HAVING-to-WHERE optimization. The code uses less space and less CPU, and there is now ".selecttrace" output. (check-in: [5ad668d433] user: drh branch: trunk, size: 190741)
14:00
[61d9f90fc7] part of check-in [257900494f] Merge all recent trunk enchancements, and especially the autoincrement write reduction fix. (check-in: [257900494f] user: drh branch: begin-concurrent-pnu, size: 190894)
13:52
[29a4735667] part of check-in [b0c2f760a6] Merge all recent enhancements from trunk. (check-in: [b0c2f760a6] user: drh branch: begin-concurrent, size: 190817)
11:24
[5c07bbc55d] part of check-in [eddc35f305] Add the ability to disable the push-down optimization using the 0x1000 bit of SQLITE_TESTCTRL_OPTIMIZATIONS. (check-in: [eddc35f305] user: drh branch: push-down-disable, size: 190743)
2018-03-19
22:28
[51d03b4403] part of check-in [03e541f606] Minor improvements to ".selecttrace". No changes to non-debug code. (check-in: [03e541f606] user: drh branch: trunk, size: 190671)
2018-03-14
17:17
[2769d44c1b] part of check-in [a658f80c8f] Merge the latest enhancements from trunk. (check-in: [a658f80c8f] user: drh branch: apple-osx, size: 191858)
2018-03-06
21:43
[2ef60a6d9a] part of check-in [f07e97aed4] Improved documentation for sqlite3_serialize() and sqlite3_deserialize(). Change the name of the compile-time option to enable these interfaces from SQLITE_ENABLE_MEMDB to SQLITE_ENABLE_DESERIALIZE. (check-in: [f07e97aed4] user: drh branch: memdb, size: 190739)
2018-03-02
18:26
[d947d57d77] part of check-in [8ade94ba67] Merge latest changes from begin-concurrent into this branch. (check-in: [8ade94ba67] user: dan branch: begin-concurrent-pnu, size: 190745)
17:40
[51c1a70624] part of check-in [36801effa9] Merge latest trunk changes into this branch. (check-in: [36801effa9] user: dan branch: begin-concurrent, size: 190668)
2018-03-01
13:44
[574a0dd697] part of check-in [c8083de14b] Merge the latest enhancements from trunk. (check-in: [c8083de14b] user: drh branch: memdb, size: 190733)
2018-02-27
14:49
[6c321e404f] part of check-in [6445519e91] Clean up comments and variable names prior to merge. (check-in: [6445519e91] user: drh branch: is-true-operator, size: 190594)
2018-02-26
21:26
[ce6d2c08df] part of check-in [57508518ef] Code simplifications. New test cases. (check-in: [57508518ef] user: drh branch: is-true-operator, size: 190596)
20:15
[a6856d3d1a] part of check-in [8002f87d96] Get the "DEFAULT true" and "DEFAULT false" phrases working correctly in CREATE TABLE. (check-in: [8002f87d96] user: drh branch: is-true-operator, size: 190620)
18:49
[d380646266] part of check-in [cf2abd59be] Refactor for correct NULL handling in the IS TRUE, IS FALSE, IS NOT TRUE, and IS NOT FALSE operators. (check-in: [cf2abd59be] user: drh branch: is-true-operator, size: 190583)
2018-02-12
20:27
[fd8943e9d6] part of check-in [d44d593642] 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: [d44d593642] user: drh branch: trunk, size: 190517)
2018-01-29
16:22
[119e240796] part of check-in [8767f7b880] Ensure the "unique-not-null" flag is set for automatic indexes on columns declared with "col UNIQUE NOT NULL" (where the NOT NULL comes after the UNIQUE). (check-in: [8767f7b880] user: dan branch: trunk, size: 190448)
2018-01-24
15:02
[fc800ea6bb] part of check-in [6ef3de810d] Merge changes from trunk. (check-in: [6ef3de810d] user: drh branch: memdb, size: 190509)
2018-01-15
21:59
[eb9c5d563a] part of check-in [c9d2ec51c8] Merge the enhancements associated with the first 3.22.0 beta. (check-in: [c9d2ec51c8] user: drh branch: apple-osx, size: 191489)
2018-01-12
23:18
[9c70315598] part of check-in [a1b3f28569] Improved comments. Slightly tighter implementation, but no big changes. (check-in: [a1b3f28569] user: drh branch: sqlite3_value_nochange, size: 190370)
2018-01-03
23:54
[315d863d61] part of check-in [512b8e40c4] Fix compiler warnings on Windows. (check-in: [512b8e40c4] user: drh branch: memdb, size: 190431)
19:03
[713ee4be20] part of check-in [2f6e9df9f0] Replace sqlite3_memdb_config() with sqlite3_deserialize(). Remove the "db memdb" command from the TCL interface, replacing it with "db serialize" and "db deserialize". (check-in: [2f6e9df9f0] user: drh branch: memdb, size: 190431)
01:28
[2567341e37] part of check-in [fb2ac2d2fa] Add support for the "memdb" VFS and the sqlite3_memdb_ptr() and sqlite3_memdb_config() interfaces, to enable an SQLite database to be manipulated as an in-memory object. (check-in: [fb2ac2d2fa] user: drh branch: memdb, size: 190355)
2017-12-29
15:04
[fd8702c659] part of check-in [7a7f826e32] 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: [7a7f826e32] user: drh branch: location-function, size: 190292)
13:35
[623712d1ae] part of check-in [6251e438f2] Merge recent enhancements from trunk. (check-in: [6251e438f2] user: drh branch: location-function, size: 190287)
2017-12-27
20:38
[394655443a] part of check-in [fe3d2b97d8] 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: [fe3d2b97d8] user: drh branch: span-refactor, size: 190216)
19:43
[707e078db1] part of check-in [a8e1545cb7] Add and use the internal sqlite3DbSpanDup() interface. (check-in: [a8e1545cb7] user: drh branch: span-refactor, size: 189934)
19:27
[d7054a71c8] part of check-in [7637309135] Merge recent enhancements from trunk. (check-in: [7637309135] user: drh branch: span-refactor, size: 189876)
2017-12-26
18:04
[26bf7cc7aa] part of check-in [1253a872db] Add support for measuring and reporting coverage of the parser state machine using the SQLITE_TESTCTRL_PARSER_COVERAGE test-control. (check-in: [1253a872db] user: drh branch: lemon-improvements, size: 190246)
2017-12-24
00:18
[124be5e9ba] part of check-in [3eab7bdc44] Remove the ExprSpan object. Instead, keep track of the test of subphrases in the parse using the "scanpt" non-terminal. (check-in: [3eab7bdc44] user: drh branch: span-refactor, size: 189809)
2017-12-22
00:52
[003b78433b] part of check-in [5c1fe66660] Modify the new sqlite3_vtab_collation() interface so that it takes a pointer to the sqlite3_index_info object passed into xBestIndex rather than an sqlite3 connection pointer, which the xBestIndex method might not have access to. (check-in: [5c1fe66660] user: drh branch: trunk, size: 190179)
2017-12-21
18:23
[392de8f6d2] part of check-in [fffc7685d1] Change the name of SQLITE_DBCONFIG_FULL_EQP to be SQLITE_DBCONFIG_TRIGGER_EQP (which we can do without breaking compatibility because the former name has not yet appeared in an official release) and streamline its implementation. (check-in: [fffc7685d1] user: drh branch: trunk, size: 190240)
2017-12-16
20:20
[3aca12018e] part of check-in [51be955816] 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: [51be955816] user: drh branch: location-function, size: 190300)
19:16
[4d6580ab91] part of check-in [d5b597b52a] Merge latest trunk changes into this branch. (check-in: [d5b597b52a] user: dan branch: schemalint, size: 190229)
2017-12-12
18:17
[5d3e33fcc9] part of check-in [3fde0b4d05] Merge latest begin-concurrent changes into this branch. (check-in: [3fde0b4d05] user: dan branch: begin-concurrent-pnu, size: 190025)
2017-12-08
19:37
[55b8e7da85] part of check-in [02013fc120] The query planner tries to avoids using indexes that use unknown collating functions. (check-in: [02013fc120] user: drh branch: trunk, size: 190093)
2017-11-29
16:16
[b7eee7a14d] part of check-in [373fa21bff] Merge latest trunk changes into this branch. (check-in: [373fa21bff] user: dan branch: schemalint, size: 190158)
2017-11-28
08:08
[0b11f808ea] part of check-in [1fd1034935] Merge latest trunk changes, including the SQLITE_ENABLE_MULTITHREADED_CHECKS feature, into this branch. (check-in: [1fd1034935] user: dan branch: apple-osx, size: 191141)
2017-11-25
21:09
[4c910d9c0d] part of check-in [7d0b12fcb5] Fix builds with both SQLITE_ENABLE_MULTITHREADED_CHECKS and SQLITE_THREADSAFE=0 defined. (check-in: [7d0b12fcb5] user: dan branch: multithreaded-checks, size: 190022)
17:51
[6b084f4b7c] part of check-in [a66886ac13] Add experimental feature to detect threading bugs in apps that use SQLITE_CONFIG_MULTITHREADED. Enabled at compile time using SQLITE_ENABLE_MULTITHREADED_CHECKS. (check-in: [a66886ac13] user: dan branch: multithreaded-checks, size: 189985)
2017-11-18
17:30
[9b26fbab75] part of check-in [23a3128083] Enhance the log messages produced in some cases if database corruption is encountered by an SQLITE_DEBUG build. (check-in: [23a3128083] user: dan branch: sqlite-corrupt-page, size: 189837)
2017-11-16
19:17
[c4e36ef253] part of check-in [85247880a6] Merge the latest changes, and the stmtvtab1.test fix, from trunk. (check-in: [85247880a6] user: drh branch: apple-osx, size: 190891)
2017-11-14
23:48
[fb297e4b89] part of check-in [3925facd94] In the parse tree, combine LIMIT and OFFSET into a single expression rooted on a TK_LIMIT node, for a small code size reduction and performance increase, and a reduction in code complexity. (check-in: [3925facd94] user: drh branch: trunk, size: 189772)
20:06
[83bee2a797] part of check-in [d90e5f346b] Merge changes from trunk. This fixes the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. (check-in: [d90e5f346b] user: dan branch: begin-concurrent, size: 189948)
20:00
[29a73df20d] part of check-in [1754faefcc] Merge all changes from trunk prior to the read-only WAL enhancement. (check-in: [1754faefcc] user: drh branch: apple-osx, size: 190993)
18:26
[3b807b71e7] part of check-in [b2679d3b7a] Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. This is a modified cherrypick of [dae4a97a]. (check-in: [b2679d3b7a] user: dan branch: branch-3.8.9, size: 166728)
2017-11-10
20:13
[abd4e64bc7] part of check-in [72be33f9c8] Omit some extra code from non-SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds. (check-in: [72be33f9c8] user: dan branch: update-delete-limit-fix, size: 189874)
2017-11-09
19:53
[821479be79] part of check-in [584b88aaf8] Add SQLITE_ENABLE_UPDATE_DELETE_LIMIT for views and WITHOUT ROWID tables. (check-in: [584b88aaf8] user: dan branch: update-delete-limit-fix, size: 190049)
2017-11-06
20:02
[8f69511298] part of check-in [7f217edab4] Merge latest trunk changes into this branch. (check-in: [7f217edab4] user: dan branch: begin-concurrent, size: 189881)
2017-11-01
19:30
[5bea474f3e] part of check-in [bdf791f9f7] Fix the SQLITE_NoopUpdate #define so that it occurs under the correct conditions. (check-in: [bdf791f9f7] user: drh branch: begin-concurrent-pnu, size: 189346)
2017-10-28
20:51
[f5377febf8] part of check-in [d17ef7d153] Reactivate query flattening when the result set of the outer query has no function calls or subqueries. This is a partial reversal of check-in [c9104b59]. Co-routines are still preferred if the outer query has a complex result set, but for simple results sets, query flattening is used. Check-in [4464f40ccd7] is completely backed out due to this change. (check-in: [d17ef7d153] user: drh branch: trunk, size: 189807)
2017-10-24
19:12
[fe1c362553] part of check-in [13be3a441d] Merge all enhancements and fixes from the 3.21.0 release. (check-in: [13be3a441d] user: drh branch: apple-osx, size: 190707)
2017-10-11
20:26
[f7e05ec147] part of check-in [2719cf5c5b] Merge latest trunk changes with this branch. (check-in: [2719cf5c5b] user: dan branch: schemalint, size: 189617)
20:10
[c4d3d3902d] part of check-in [58e42cfd7d] Change some internal details to bring this branch closer to the code on trunk. (check-in: [58e42cfd7d] user: dan branch: schemalint, size: 187548)
13:48
[6f93fd6fde] part of check-in [c2c1d656e3] Initial implementation of the "sqlite_dbpage" virtual table. Currently it is read-only and has a place-holder xBestIndex. (check-in: [c2c1d656e3] user: drh branch: dbpage, size: 189588)
2017-10-03
18:35
[c07bc88eca] part of check-in [f5c395834c] Do not enable SELECT tracing with -DSQLITE_DEBUG. Require the -DSQLITE_ENABLE_SELECTTRACE compile-time option to enable SELECT tracing. (check-in: [f5c395834c] user: drh branch: trunk, size: 189481)
2017-10-02
21:29
[50a509839b] part of check-in [6035c9b272] Add the OK_IF_ALWAYS_TRUE() and OK_IF_ALWAYS_FALSE() macros for marking conditionals that improve performance but do not change the outcome. (check-in: [6035c9b272] user: drh branch: trunk, size: 189506)
2017-09-30
10:50
[99e4beebd4] part of check-in [6aed4ea34c] Make sure the SQLITE_Stat34 optimization switch is always 0x800, a value which is hard-coded in the TH3 test suite. (check-in: [6aed4ea34c] user: drh branch: prefer-coroutine-sort-subquery, size: 189033)
2017-09-29
22:13
[d51b1b549b] part of check-in [6b1651d711] Always render a subquery that is not part of a join as a co-routine. (check-in: [6b1651d711] user: drh branch: prefer-coroutine-sort-subquery, size: 188956)
2017-09-28
01:58
[954fed875c] part of check-in [490e488ea9] Add new routines to simplify dealing with collating sequences in expressions: sqlite3ExprNNCollSeq() and sqlite3ExprCollSeqMatch(). (check-in: [490e488ea9] user: drh branch: trunk, size: 189105)
2017-09-22
20:18
[8943d3b3f9] part of check-in [8d2a1cca61] 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: [8d2a1cca61] user: drh branch: est_count_pragma, size: 188991)
10:49
[6027f4fb80] part of check-in [307b802e86] Merge latest trunk changes into this branch. (check-in: [307b802e86] user: dan branch: begin-concurrent, size: 189071)
2017-09-18
08:51
[cfcfc4238d] part of check-in [2e57335081] Merge latest trunk changes with this branch. (check-in: [2e57335081] user: dan branch: shared-mapping-hack, size: 189347)
2017-09-17
19:45
[12aa1f626b] part of check-in [29227d00a9] Do not make the assumption (as check-in [4da49a95c0f07] incorrectly did) that the ExprList returned by sqlite3ExprListDup() would never be passed into sqlite3ExprListAppend(). Include a new test case that shows this sometimes does happen. (check-in: [29227d00a9] user: drh branch: trunk, size: 188997)
2017-09-15
15:17
[386e5b493c] part of check-in [4da49a95c0] Optimization to the ExprList object to make it slightly smaller and faster. (check-in: [4da49a95c0] user: drh branch: trunk, size: 189105)
2017-09-13
18:38
[0568e9b1ae] part of check-in [ebada0723a] Experimental sqlite3_stmt_retryable() interface. (check-in: [ebada0723a] user: drh branch: sqlite3_stmt_retryable, size: 189112)
2017-09-12
23:58
[2272cd09b7] part of check-in [3a2793aa65] Remove use of the rand_s() function (added by [139081bef9f63c3e]) as it appears to cause issues with some third-party DLLs. (check-in: [3a2793aa65] user: mistachkin branch: trunk, size: 189058)
20:09
[dc8a03250c] part of check-in [afe45271b9] Add the highly-experimental "PRAGMA noop_update=TRUE" command. (check-in: [afe45271b9] user: drh branch: begin-concurrent-pnu, size: 189346)
18:49
[719814190a] part of check-in [de2e371757] Add the highly-experimental "PRAGMA noop_update=TRUE" command. (check-in: [de2e371757] user: drh branch: pragma-noop-update, size: 189299)
2017-09-09
08:03
[63e64c24f1] part of check-in [e63d1a7cd3] Use a mutex-free PRNG for the random() and randomblob() SQL functions and for the randomness used during checkpoint operations. (check-in: [e63d1a7cd3] user: drh branch: mutex-free-randomness, size: 189572)
06:10
[aed4df7184] part of check-in [6a0b9d9d4e] Merge trunk enhancements (check-in: [6a0b9d9d4e] user: drh branch: apple-osx, size: 190341)
2017-09-04
00:33
[f9ae3609a5] part of check-in [c7f9f47b23] Proposed fix for ticket [b899b6042f97f5] (check-in: [c7f9f47b23] user: drh branch: trunk, size: 189222)
2017-08-29
20:21
[60295f5f90] part of check-in [a06263f1ef] Faster memory allocation from lookaside by not trying to keep track of the number of outstanding allocations, and rather computing that value only when requested. (check-in: [a06263f1ef] user: drh branch: trunk, size: 189177)
2017-08-28
17:26
[2725fdc049] part of check-in [cc440400a1] Remove the rarely-used scratch memory allocator. This makes the code smaller, faster, and easier to maintain. In place of the scratch allocator, add the SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite that large memory allocations should be avoided. (check-in: [cc440400a1] user: drh branch: begin-concurrent-branch-3.19, size: 188648)
17:19
[7a7f342f65] part of check-in [d53108e763] Merge recent enhancements from trunk. (check-in: [d53108e763] user: drh branch: begin-concurrent, size: 189202)
15:51
[9a283ecf57] part of check-in [54b000246c] Remove the rarely-used scratch memory allocator. This makes the code smaller, faster, and easier to maintain. In place of the scratch allocator, add the SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite that large memory allocations should be avoided. (check-in: [54b000246c] user: drh branch: trunk, size: 189128)
2017-08-18
14:34
[bc0792db4f] part of check-in [eb1202b5e4] 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: [eb1202b5e4] user: drh branch: trunk, size: 189366)
2017-08-17
02:26
[6dddca4e21] part of check-in [a7bc7752ba] Defer schema resets when the query planner is running. Proposed fix for ticket [be436a7f4587ce517]. (check-in: [a7bc7752ba] user: drh branch: trunk, size: 189366)
2017-08-16
17:06
[b95aa37138] part of check-in [380a7b7a45] Update this branch with the latest changes from trunk. (check-in: [380a7b7a45] user: dan branch: server-process-edition, size: 189309)
2017-08-14
14:53
[854a122ff0] part of check-in [d0da791ba0] Sometimes a TK_COLUMN Expr node can have Expr.pTab==0 if it is a reference to an expression column in an index on an expression. Fix for ticket [aa98619ad08ddcab]. (check-in: [d0da791ba0] user: drh branch: trunk, size: 189212)
06:55
[eaa2c5e52a] part of check-in [bc2498d60f] Update this branch with latest trunk changes. (check-in: [bc2498d60f] user: dan branch: server-process-edition, size: 189226)
2017-08-12
02:01
[5e3c160c1e] part of check-in [6e52fa5fd7] Remove the zBase field from the StrAccum object. Resulting code is slightly smaller and faster. (check-in: [6e52fa5fd7] user: drh branch: trunk, size: 189129)
2017-08-11
19:16
[0eccf839f7] part of check-in [47e716952d] Merge the latest enhancements from trunk. (check-in: [47e716952d] user: drh branch: begin-concurrent, size: 189269)
2017-08-09
20:35
[21a575b64a] part of check-in [a625698048] Add experimental sqlite3_open_v2() flag SQLITE_OPEN_REUSE_SCHEMA. For sharing identical in-memory schema objects between connections. (check-in: [a625698048] user: dan branch: reuse-schema, size: 189512)
2017-08-07
14:15
[eed0fc4376] part of check-in [17bc7ded07] Update this branch with latest trunk changes. (check-in: [17bc7ded07] user: dan branch: server-process-edition, size: 189292)
2017-08-02
22:43
[07e4d3c802] part of check-in [aea5990eab] In the KeyInfo object, refactor the nField and nXField elements into nKeyField and nAllField, which are more useful and run a little faster. (check-in: [aea5990eab] user: drh branch: trunk, size: 189195)
2017-08-01
14:16
[fe648fe59c] part of check-in [24190b221f] Take advantage of atomic-write capabilities in the F2FS filesystem when the database is stored on such a filesystem. This is a compile-time option activated using SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (check-in: [24190b221f] user: drh branch: trunk, size: 189195)
13:54
[513bd57382] part of check-in [aafe1fec80] Merge recent enhancements from trunk. (check-in: [aafe1fec80] user: drh branch: begin-concurrent, size: 188848)
2017-07-29
17:10
[c401277293] part of check-in [b42c87790e] Merge latest trunk changes with this branch. (check-in: [b42c87790e] user: dan branch: server-process-edition, size: 188871)
2017-07-28
02:02
[40785f84fc] part of check-in [def55027b1] Backport of all batch-atomic-write changes through check-in [67bad7fb9b] (check-in: [def55027b1] user: drh branch: batch-atomic-write-3.19, size: 187833)
2017-07-26
19:59
[a1b8df420e] part of check-in [3808a00f06] Add the new sqlite3.mDbFlags field. Factor out bits of sqlite3.flags that do not interact with PRAGMA statements into sqlite3.mDbFlags. (check-in: [3808a00f06] user: drh branch: trunk, size: 188774)
10:04
[3bbfdcff01] part of check-in [622b108915] Fix a comment on the UnpackedRecord.r1 and UnpackedRecord.r2 fields. No changes to code. (check-in: [622b108915] user: drh branch: trunk, size: 188821)
2017-07-24
19:43
[a2b43c6ed6] part of check-in [d0719ad757] Update this branch with latest changes from trunk. (check-in: [d0719ad757] user: dan branch: server-process-edition, size: 188918)
14:44
[bd6be75bc4] part of check-in [a98f07d942] Compiler warning fix associated with date/time functions. (check-in: [a98f07d942] user: drh branch: trunk, size: 188821)
2017-07-22
16:32
[3cbbcb67ba] part of check-in [2e80e19e4f] Keep batch-atomic-writes turned on for journal_mode=MEMORY, but turn them off for synchronous=OFF. Refuse to compile with both SQLITE_MMAP_READWRITE and SQLITE_ENABLE_BATCH_ATOMIC_WRITE. Fix up some comments in the commit logic. (check-in: [2e80e19e4f] user: drh branch: batch-atomic-write, size: 189233)
2017-07-20
21:00
[437217b5d2] part of check-in [7eb9bf2c5b] Split SQLITE_ENABLE_ATOMIC_WRITE into two options - the original and SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (check-in: [7eb9bf2c5b] user: dan branch: batch-atomic-write, size: 188866)
17:47
[6536c0b96e] part of check-in [213c61cb82] Merge all the latest trunk enhancements. (check-in: [213c61cb82] user: drh branch: begin-concurrent, size: 188886)
13:17
[96197a18f0] part of check-in [22eda0985e] Combine the Parse.ckBase and Parse.iSelfTab fields into just Parse.iSelfTab. This fixes a problem with date/time functions in check-constraints. Add some test cases for date/time functions in index expressions and check constraints. (check-in: [22eda0985e] user: drh branch: index-on-date-func, size: 188812)
2017-07-19
18:54
[73847b0993] part of check-in [be0df0a65f] Merge latest trunk changes with this branch. (check-in: [be0df0a65f] user: dan branch: server-process-edition, size: 188351)
17:12
[9b57e05822] part of check-in [55791928f3] Create "pure" versions of the date/time functions that omit the 'now' feature and are therefore deterministic and usable in an index. (check-in: [55791928f3] user: drh branch: pure-date-functions, size: 188802)
2017-07-17
20:21
[eb2f69344e] part of check-in [e181225dc7] Merge all the latest fixes and enhancements from trunk. (check-in: [e181225dc7] user: drh branch: apple-osx, size: 189373)
2017-07-12
17:08
[0ba730cdc8] part of check-in [54f55d3b79] The EP_Resolved flag on the Expr object is not required for correctness nor performance, so remove it. (check-in: [54f55d3b79] user: drh branch: trunk, size: 188254)
12:19
[23e9664742] part of check-in [783100b801] Compile cleanly with SQLITE_OMIT_UTF16. (check-in: [783100b801] user: drh branch: trunk, size: 188270)
2017-07-11
18:11
[c9cc829906] part of check-in [55e93f2560] Fix harmless compiler warnings in the core. (check-in: [55e93f2560] user: drh branch: trunk, size: 188204)
2017-07-10
14:33
[44398832c9] part of check-in [1f9c1f359e] When testing non-indexed WHERE constraints, test those that involve correlated sub-queries last of all. This increases the chances of not having to run the sub-query at all. (check-in: [1f9c1f359e] user: dan branch: defer-where-subqueries, size: 188155)
2017-07-08
20:46
[908c37c3af] part of check-in [5a043aa8dd] Support read-only MVCC transactions in server-mode. Started using "BEGIN READONLY". (check-in: [5a043aa8dd] user: dan branch: server-process-edition, size: 188254)
18:27
[881e00940c] part of check-in [dbb59f6156] Disable compiler intrinsics when using the Intel C Compiler. (check-in: [dbb59f6156] user: drh branch: icc-fix, size: 188176)
2017-07-07
22:58
[0697bcea9c] part of check-in [7f48f6ab2a] Merge in all the latest trunk enhancements. (check-in: [7f48f6ab2a] user: drh branch: apple-osx, size: 189276)
16:40
[e6e015985d] part of check-in [216c757f92] Merge latest trunk changes with this branch. (check-in: [216c757f92] user: dan branch: server-process-edition, size: 188177)
2017-07-06
01:28
[7a7cd6f682] part of check-in [4da663d986] Slightly more compact implementation of the byte-code generator for the COMMIT and ROLLBACK commands. (check-in: [4da663d986] user: drh branch: trunk, size: 188157)
2017-07-05
14:54
[3b055fff77] part of check-in [b7ae4b879f] Add the count-of-view optimization when compiled using SQLITE_COUNTOFVIEW_OPTIMIZATION. (check-in: [b7ae4b879f] user: drh branch: branch-3.8.9, size: 166661)
2017-07-04
19:34
[35b98ec455] part of check-in [d1ba200234] Add the count-of-view optimization when compiled using SQLITE_COUNTOFVIEW_OPTIMIZATION. (check-in: [d1ba200234] user: drh branch: trunk, size: 188197)
2017-06-28
18:07
[37f1a9a326] part of check-in [8f63c58632] Merge the in the latest enhancements from trunk. (check-in: [8f63c58632] user: drh branch: partial-index-variables, size: 188121)
17:29
[a03afe12df] part of check-in [942c3ef8cd] Instead of the new sqlite3_prepare_v3() interface, provide the SQLITE_DBCONFIG_PREPARE_FLAGS interface which sets the flags on the single next call to sqlite3_prepare_v2() or its cousins. (check-in: [942c3ef8cd] user: drh branch: dbconfig-prepare-flags, size: 188181)
2017-06-27
16:48
[7230b8d42d] part of check-in [2b0954060f] Merge latest trunk changes with this branch. (check-in: [2b0954060f] user: dan branch: apple-osx, size: 188985)
2017-06-26
13:57
[620093497e] part of check-in [7076e8283e] Add the SQLITE_DBCONFIG_ENABLE_QPSG option to activate the query planner stability guarantee. This involves refactoring the sqlite3.flags bitvector to carve out a free bit to use. (check-in: [7076e8283e] user: drh branch: enable-QPSG, size: 188107)
2017-06-24
18:10
[770fd49c27] part of check-in [7b59c353b8] Consider the values bound to SQL variables when determining whether or not a partial index may be used. (check-in: [7b59c353b8] user: dan branch: partial-index-variables, size: 187880)
16:35
[34a54fb47d] part of check-in [c2ea62937e] Make sure the config.h header is included by ctime.c, if that header exists. (check-in: [c2ea62937e] user: drh branch: trunk, size: 187866)
2017-06-23
21:05
[6ce241ba81] part of check-in [53b14a3888] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [53b14a3888] user: drh branch: apple-osx, size: 188926)
2017-06-17
17:29
[17e9bce594] part of check-in [95141c6426] Ensure that the value of the THREADSAFE symbol is always included when reporting compile time options, even if it was not explicitly configured. (check-in: [95141c6426] user: dan branch: ctime-refactor, size: 187807)
2017-06-16
19:51
[bdbc175a05] part of check-in [bc1951d699] Rework the code in ctime.c a bit to report on more compile time options. And to only output configuration options passed in to SQLite, not the default values of #define symbols set automatically. Also generate the large array in ctime.c using new script tool/mkctime.tcl, instead of entering it manually. (check-in: [bc1951d699] user: dan branch: ctime-refactor, size: 187734)
2017-06-07
22:32
[f90955604b] part of check-in [e39795d7d7] In SQLITE_DEBUG mode, attempt to log the page number of the database that contained the problem when SQLITE_CORRUPT errors are seen. (check-in: [e39795d7d7] user: drh branch: trunk, size: 187685)
2017-05-31
02:58
[82800fc19f] part of check-in [de28e6514a] Avoid unnecessary memory zeroing during expression list allocation. (check-in: [de28e6514a] user: drh branch: trunk, size: 187512)
00:49
[4faf6f2542] part of check-in [af8c0fed93] Size and performance optimizations to sqlite3ResolveExprNames(). (check-in: [af8c0fed93] user: drh branch: trunk, size: 187512)
2017-05-29
14:26
[80c485ad08] part of check-in [6854a34ed7] Optimizations to the Walker object and its methods to make the code a little smaller and to help it run a little faster. (check-in: [6854a34ed7] user: drh branch: trunk, size: 187533)
2017-05-15
17:34
[b7e590bc90] part of check-in [14ea840036] Merge the latest changes from trunk. (check-in: [14ea840036] user: drh branch: begin-concurrent, size: 187486)
2017-05-11
18:49
[f6dd60bed4] part of check-in [b55c0f14c3] Merge recent enhancements from trunk. (check-in: [b55c0f14c3] user: drh branch: apple-osx, size: 188531)
2017-05-06
16:04
[50a6bec0b8] part of check-in [ed6bad67f5] Update this branch with latest trunk changes. (check-in: [ed6bad67f5] user: dan branch: server-edition, size: 187432)
2017-05-02
19:45
[a8be6c63ce] part of check-in [a7dcf6a79f] Merge the latest enhancements from trunk. (check-in: [a7dcf6a79f] user: drh branch: schemalint, size: 187553)
2017-04-29
20:53
[aea3aa1b81] part of check-in [5375a3ce56] Automatically transfer terms from the HAVING clause to the WHERE clause of an aggregate query in cases where the result of evaluating the term depends only one one or more of the GROUP BY expressions (and on no other inputs). (check-in: [5375a3ce56] user: dan branch: having-where-optimization, size: 187412)
2017-04-26
20:45
[88b07d07c2] part of check-in [64ecf7c7e5] Experimental implementation of pessimistic page-level locking based on rollback mode. (check-in: [64ecf7c7e5] user: dan branch: server-edition, size: 187232)
2017-04-24
16:14
[e053650a22] part of check-in [031feebc94] Bring in all the latest enhancements from trunk. (check-in: [031feebc94] user: drh branch: apple-osx, size: 188331)
2017-04-17
17:03
[0e520ab49f] part of check-in [159e8022a9] Add support for analyzing trigger programs to the sqlite3_expert code. (check-in: [159e8022a9] user: dan branch: schemalint, size: 187353)
2017-04-15
14:30
[bd00872a45] part of check-in [d238694ca4] Add header comment for sqlite3_vtab_collation(). (check-in: [d238694ca4] user: dan branch: schemalint, size: 187279)
2017-04-14
19:41
[8ac5d9b920] part of check-in [3bb6585004] Modify the code in ext/expert/ to use the vtab interface instead of sqlite3_whereinfo_hook(). Remove sqlite3_whereinfo_hook(). (check-in: [3bb6585004] user: dan branch: schemalint, size: 187279)
2017-04-13
01:19
[f0b6ed4d47] part of check-in [132339a1fb] Forward port the skip-ahead-distinct branch which was abandoned for some reason that I do not recall. This port should have been achived by a merge of trunk into the previous head of skip-ahead-distinct, but that did not work. So I had to manually "rebase" the changes. (check-in: [132339a1fb] user: drh branch: skip-ahead-distinct, size: 187280)
2017-04-11
19:00
[5bcafb7c36] part of check-in [0f66a09393] Update this branch with latest trunk changes. (check-in: [0f66a09393] user: dan branch: schemalint, size: 187335)
2017-04-08
19:00
[36eec0868d] part of check-in [e051e8f21b] Merge latest trunk with this branch. (check-in: [e051e8f21b] user: dan branch: schemalint, size: 187251)
00:25
[46dc79e5af] part of check-in [dd16439ea1] Merge the latest trunk changes. (check-in: [dd16439ea1] user: drh branch: apple-osx, size: 188247)
2017-04-07
19:41
[9affb53bb4] part of check-in [a52ef2ad7c] Proof of concept for the ability to use the expression columns in an index on expressions in place of equivalent expressions in the result set or in the WHERE clause. This check-in compiles but is mostly untested. (check-in: [a52ef2ad7c] user: drh branch: covering-index-on-expr, size: 187212)
2017-04-05
12:39
[6cf244eb06] part of check-in [ad90e8bb5e] Split off sqlite3DbFreeNN() from sqlite3DbFree() and use it in cases where we know that the argument to be freed is never NULL. (check-in: [ad90e8bb5e] user: drh branch: trunk, size: 187128)
11:32
[c5e8304083] part of check-in [2b6560ad88] Combine the ExprList_item objects and the ExprList wrapper into a single memory allocation, for improved performance and reduced footprint. (check-in: [2b6560ad88] user: drh branch: trunk, size: 187089)
2017-04-04
04:23
[9af1569ac7] part of check-in [a54aef35da] Add the sqlite3_whereinfo_hook() API - an experimental API replacing the DBCONFIG_WHEREINFO hack on this branch. (check-in: [a54aef35da] user: dan branch: schemalint, size: 187155)
2017-03-31
11:20
[22a0a101c5] part of check-in [cb721d0b36] Merge latest trunk into this branch. (check-in: [cb721d0b36] user: dan branch: schemalint, size: 187145)
2017-03-30
20:35
[df8fa773ff] part of check-in [785c37d9db] Merge changes from the 3.18.0 release. (check-in: [785c37d9db] user: drh branch: begin-concurrent, size: 187106)
20:26
[0c3e3daa67] part of check-in [ed28f15e05] Merge all changes from the 3.18.0 release. (check-in: [ed28f15e05] user: drh branch: apple-osx, size: 188151)
2017-03-25
18:03
[a530e5baf5] part of check-in [833ab3212a] Make the default value for SQLITE_DEFAULT_SYNCHRONOUS a simple integer literal, so that it does not show up goofy in the output of "PRAGMA compile_options;". (check-in: [833ab3212a] user: drh branch: trunk, size: 187032)
2017-03-24
15:09
[33e415da02] part of check-in [fd5676fe7f] Merge all recent enhancements from trunk. (check-in: [fd5676fe7f] user: drh branch: begin-concurrent, size: 187131)
2017-03-06
20:00
[85eba6f130] part of check-in [1650c3f468] Merge all pending 3.18 enhancements from trunk. (check-in: [1650c3f468] user: drh branch: apple-osx, size: 188176)
2017-02-23
00:58
[df268ce1d0] part of check-in [188300a337] 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: [188300a337] user: drh branch: auto-analyze, size: 187057)
2017-02-22
19:49
[bdc181e371] part of check-in [fe07390508] Merge integrity_check and other improvements from trunk. (check-in: [fe07390508] user: drh branch: auto-analyze, size: 186982)
15:11
[a23e18aebd] part of check-in [5264844b06] Fix integrity_check so that it verifies NOT NULL constraints even for tables that have no indexes. Enhance quick_check so that it verifies NOT NULL and CHECK constraints. (check-in: [5264844b06] user: drh branch: integrity-check-improvements, size: 186726)
2017-02-21
14:04
[15f78048a1] part of check-in [7a62fc6abc] 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: [7a62fc6abc] user: drh branch: cumulative-progress-count, size: 186706)
2017-02-18
20:05
[e30c066962] part of check-in [c1adf95958] Add an optimization to OP_Column to speed up sequential OP_Column instructions that read earlier fields from the same cursor. Attempt to reorder OP_Column opcodes so as to take advantage of this. (check-in: [c1adf95958] user: dan branch: sort-column-opcodes, size: 186672)
15:58
[87857c2b8d] part of check-in [d386015f5e] 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: [d386015f5e] user: drh branch: auto-analyze, size: 186909)
02:19
[70abfa92e0] part of check-in [882599a4a7] In the analyze_as_needed pragma, avoid running unnecessary OP_LoadAnalysis and OP_Expire opcodes. Make the analyze_as_needed pragma responsive to the schema name. (check-in: [882599a4a7] user: drh branch: auto-analyze, size: 186954)
2017-02-17
19:24
[60c38b84a7] part of check-in [bfbdd07409] The analyze_as_needed pragma now responds to table size growth and will automatically rerun the analysis after each 10x size increase. (check-in: [bfbdd07409] user: drh branch: auto-analyze, size: 186914)
16:26
[85706e0963] part of check-in [e93db23731] Add the "PRAGMA analyze_as_needed" command. (check-in: [e93db23731] user: drh branch: auto-analyze, size: 186988)
15:26
[5d50606dee] part of check-in [fb2b8ae831] Set the TF_StatsUsed flag on tables when the query planner outcome is affected by the sqlite_stat1 data. Also, change the column names of the "PRAGMA stats" command so that they are not keywords. (check-in: [fb2b8ae831] user: drh branch: auto-analyze, size: 186983)
13:38
[54bc20855f] part of check-in [85026c8ee1] Enhance the Index and Table objects so that they remember if their stats come from the sqlite_stat1 table. Make the "PRAGMA stats" an SQLITE_DEBUG only pragma. Add the flags column to "PRAGMA stats". These are all preliminary steps toward a "PRAGMA analyze_ifneeded;" feature. (check-in: [85026c8ee1] user: drh branch: auto-analyze, size: 186738)
2017-02-16
16:26
[46fe8e5aee] part of check-in [bb8e264227] Fix a comment on a field of the ExprList object. No changes to code. (check-in: [bb8e264227] user: drh branch: trunk, size: 186637)
15:57
[edd1ffa288] part of check-in [7e14044c65] Increase Table.tabFlags from 8 to 32 bits. (check-in: [7e14044c65] user: drh branch: trunk, size: 186626)
14:48
[b4a3871bda] part of check-in [6affb1c89d] Always use the IsVirtual() macro to determine if a Table object is a virtual table. Slightly smaller and faster code. (check-in: [6affb1c89d] user: drh branch: trunk, size: 186626)
14:02
[1c9c511606] part of check-in [325ccfa95e] Merge recent enhancements from trunk. (check-in: [325ccfa95e] user: drh branch: est_count_pragma, size: 186658)
2017-02-15
15:11
[2e3a663814] part of check-in [8d3f485d86] Remove the CLANG_VERSION macro, since we have learned that version numbers in clang are "marketing" and are inconsistent and unreliable. Builds using clang will still use the GCC_VERSION macro since clang works hard to be gcc compatible. (check-in: [8d3f485d86] user: drh branch: branch-3.17, size: 186617)
15:09
[4f85005b10] part of check-in [810d29320b] Remove the CLANG_VERSION macro, since we have learned that version numbers in clang are "marketing" and are inconsistent and unreliable. Builds using clang will still use the GCC_VERSION macro since clang works hard to be gcc compatible. (check-in: [810d29320b] user: drh branch: trunk, size: 186664)
01:02
[96b7be01cd] part of check-in [4ca2b2f8f5] Make SQLITE_GET_MUTEX_TIME a proper noop on non-Win32/non-POSIX. (check-in: [4ca2b2f8f5] user: mistachkin branch: mutexDbg2, size: 188845)
00:45
[09592c9e26] part of check-in [79057716d9] Make fine time granularity work on POSIX. (check-in: [79057716d9] user: mistachkin branch: mutexDbg2, size: 188797)
00:02
[62ec0dc535] part of check-in [9964ad245f] Compilation fix for POSIX. (check-in: [9964ad245f] user: mistachkin branch: mutexDbg2, size: 188627)
2017-02-14
23:58
[b8c2e9ea27] part of check-in [804817549c] Experimental enhancements to mutex debugging. (check-in: [804817549c] user: mistachkin branch: mutexDbg2, size: 188626)
2017-02-13
16:17
[8f2b51c4ad] part of check-in [1913a75810] Merge all changes up through the 3.17.0 release. (check-in: [1913a75810] user: drh branch: apple-osx, size: 187571)
2017-02-11
14:59
[c3f878dcbe] part of check-in [e464b919f7] Fix indexes on expressions so that they can be actually used with a COLLATE clause. (check-in: [e464b919f7] user: drh branch: trunk, size: 186499)
2017-02-09
17:12
[4dc66ec194] part of check-in [798fb9d70d] Cleanup the usage of the SQLITE_DISABLE_INTRINSIC compile-time option. Remove the SQLITE_RUNTIME_BYTEORDER compile-time option. Use -DSQLITE_BYTEORDER=0 instead. Fix a bug in R-Tree that occurs when compiling on a known little-endian machine without the use of intrinsic byteswapping functions. (check-in: [798fb9d70d] user: drh branch: trunk, size: 186452)
2017-02-04
15:29
[feb051fda6] part of check-in [6c3f09028f] Merge recent trunk enhancements. (check-in: [6c3f09028f] user: drh branch: apple-osx, size: 187203)
2017-02-01
15:19
[3724c48e82] part of check-in [510933cb24] Fix the build by making the OPFLAG_ISNOOP macro available unconditionally. (check-in: [510933cb24] user: drh branch: trunk, size: 186084)
2017-01-30
11:38
[6f29b23415] part of check-in [e93d2c49a4] Fix building with SQLITE_OMIT_FOREIGN_KEY defined. (check-in: [e93d2c49a4] user: dan branch: trunk, size: 186127)
2017-01-28
20:46
[fd68157920] part of check-in [4fe879d4b5] In the amalgamation, allocate the parser engine object from stack rather than from heap, for improved performance. This only happens in the amalgamation, since otherwise the sqlite3RunParser() routine does not know the object size. (check-in: [4fe879d4b5] user: drh branch: trunk, size: 186085)
19:45
[c246370f9d] part of check-in [dc555b1039] Avoid redundant table b-tree cursor seeks in UPDATE statements that use the two-pass strategy. (check-in: [dc555b1039] user: dan branch: trunk, size: 186046)
2017-01-27
16:39
[da2cbcedae] part of check-in [0e14fe1b98] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [0e14fe1b98] user: drh branch: apple-osx, size: 187155)
16:24
[10fbede4b8] part of check-in [fe86ff5429] Merge all recent enhancements from trunk. (check-in: [fe86ff5429] user: drh branch: est_count_pragma, size: 186030)
2017-01-25
20:55
[341ce9e5b0] part of check-in [4801bd59a0] 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: [4801bd59a0] user: drh branch: trunk, size: 186036)
14:58
[dc587b0727] part of check-in [118ded403b] 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: [118ded403b] user: drh branch: trim-nulls, size: 185953)
2017-01-19
21:20
[525c061ae9] part of check-in [9ed3852161] If compiled with SQLITE_INLINE_MEMCPY, all memcpy() calls are replaced with in-line code. With that change, cachegrind shows which memcpy() calls are taking the most time. This is a performance-measurement hack only and is not for production use. (check-in: [9ed3852161] user: drh branch: trunk, size: 185910)
2017-01-18
20:14
[7a4cf01ef3] part of check-in [2a8f6c890c] Add temporary code to record and report on the set of b-tree pages read and written by the current transaction. This is likely still buggy. (check-in: [2a8f6c890c] user: dan branch: transaction-pages, size: 185529)
2017-01-17
00:10
[ce3e07c720] part of check-in [7fd560c6d2] Disable intrinsic functions for Windows using Clang, due to reports of linkage errors. This causes a 0.6% performance reduction. We will want to revisit this change in the future. (check-in: [7fd560c6d2] user: drh branch: trunk, size: 185416)
2017-01-10
20:04
[bec6274d89] part of check-in [46db23ccd1] Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. (check-in: [46db23ccd1] user: dan branch: onepass-update, size: 185390)
2017-01-09
06:33
[0081f4d95b] part of check-in [d0e212d08f] Upgrade this branch to 3.16 plus the various fixes that appeared after its release. (check-in: [d0e212d08f] user: dan branch: begin-concurrent, size: 185462)
2017-01-07
00:42
[44a74e425b] part of check-in [746b183683] 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: [746b183683] user: drh branch: vdbe-aux-perf, size: 185420)
2017-01-04
04:10
[9fdfb8789b] part of check-in [2ab997e479] Clean up the implementation of constant function factorization. (check-in: [2ab997e479] user: drh branch: factor-constant-funcs, size: 185388)
01:07
[ba08d9eb98] part of check-in [62e9270a80] Attempt to factor out constant functions from the interior of table scans, since functions can often be expensive to compute. (check-in: [62e9270a80] user: drh branch: factor-constant-funcs, size: 185392)
2017-01-03
21:50
[f3450b70cf] part of check-in [4c2efd4239] Back out the use of __sync_fetch_and_sub() as it does not appear to work. (check-in: [4c2efd4239] user: drh branch: gnu-safe-math, size: 185393)
21:03
[7bfbca7900] part of check-in [ae087123db] Fix a typo in a comment. (check-in: [ae087123db] user: drh branch: gnu-safe-math, size: 185657)
20:20
[25ec82510a] part of check-in [dcbec226ca] Merge changes from the 3.16.1 release (check-in: [dcbec226ca] user: drh branch: apple-osx, size: 185989)
20:01
[898cfcd9e0] part of check-in [f8ebeec211] Use the CLANG_VERSION macro to control clang-specific features. (check-in: [f8ebeec211] user: drh branch: gnu-safe-math, size: 185655)
18:05
[ae113e8223] part of check-in [f69ce75b3d] Use the GCC built-in __sync_fetch_and_sub() to make the sqlite3StatusDown() routine atomic, and thereby avoid some mutexing. (check-in: [f69ce75b3d] user: drh branch: gnu-safe-math, size: 185413)
14:30
[2c22eae7a2] part of check-in [c27cd8a812] Merge all the latest changes from trunk. (check-in: [c27cd8a812] user: drh branch: affinity-sql-func, size: 185156)
2017-01-02
18:40
[943ba94907] part of check-in [12d9493cb2] Change SQLITE_DEFAULT_PCACHE_INITSZ from 100 to 20, which is experimentally determined to be slightly faster. (check-in: [12d9493cb2] user: drh branch: trunk, size: 185085)
18:19
[888327a431] part of check-in [cfb3158204] Avoid unnecessary calls to sqlite3BtreeEnterAll() and sqlite3BtreeLeaveAll() when no btree is using shared-cache. (check-in: [cfb3158204] user: drh branch: trunk, size: 184941)
2016-12-26
00:18
[5a4ac95a34] part of check-in [57e40e1cb1] Add the built-in affinity() SQL function. (check-in: [57e40e1cb1] user: drh branch: affinity-sql-func, size: 184941)
2016-12-23
03:59
[2075e22d50] part of check-in [68ecafa142] Use the VList object to replace Parse.azVar for tracking the mapping between SQL parameter names and parameter numbers. There is a performance improvement, though there are still a few hiccups in the current code. (check-in: [68ecafa142] user: drh branch: VList, size: 184870)
2016-12-16
21:29
[0d51585f95] part of check-in [4b1e780433] Merge recent enhancements from trunk, and especially the pragma-as-vtab change. (check-in: [4b1e780433] user: drh branch: apple-osx, size: 185536)
16:49
[9f4111b574] part of check-in [4b73ee33f3] Experimental merge of the est_count_pragma and the pragma-as-vtab branches. (check-in: [4b73ee33f3] user: drh branch: est-count-pragma-vtab, size: 184411)
15:57
[d4b1e6a694] part of check-in [74a0ca1f15] Merge recent trunk enhancements. (check-in: [74a0ca1f15] user: drh branch: est_count_pragma, size: 184173)
2016-12-15
20:59
[adbe80409c] part of check-in [988a61e8b0] Code to automatically create eponymous virtual tables for read-only pragmas. Compiles, but does not yet work. (check-in: [988a61e8b0] user: drh branch: pragma-as-vtab, size: 184417)
2016-12-14
14:07
[657a892d88] part of check-in [9cae4c2e30] Refactor the Table.nRef field as Table.nTabRef for easier grepping. (check-in: [9cae4c2e30] user: drh branch: trunk, size: 184179)
13:54
[69345b355d] part of check-in [d08b72c38f] Increase the size of the reference count on Table objects to 32 bits. (check-in: [d08b72c38f] user: drh branch: trunk, size: 184179)
2016-12-12
16:15
[26afd41d8d] part of check-in [a24f805b5e] Merge all the latest performance enhancements from trunk. (check-in: [a24f805b5e] user: drh branch: apple-osx, size: 185298)
12:58
[43422c7417] part of check-in [dc006e08b8] Merge recent enhancements from trunk. (check-in: [dc006e08b8] user: drh branch: est_count_pragma, size: 184173)
2016-12-07
15:49
[9d0834b980] part of check-in [f360818737] Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE. (check-in: [f360818737] user: drh branch: trunk, size: 184179)
15:38
[33b14fb2b5] part of check-in [433d16ff3a] Prevent the flattening or where-term push-down optimizations from obscuring misuses of SQL row values that can lead to crashes or assert() failures. (check-in: [433d16ff3a] user: dan branch: trunk, size: 184228)
13:49
[181158754e] part of check-in [afab166313] Always honor the sqlite3.dbOptFlags bitmask, regardless of compile-time options. Continuing fix for ticket [da78413751863]. (check-in: [afab166313] user: drh branch: trunk, size: 184185)
2016-12-06
22:47
[bdfd92824d] part of check-in [2a81763e68] Performance improvement and size reduction in the Expr node allocator function sqlite3PExpr(). (check-in: [2a81763e68] user: drh branch: trunk, size: 184315)
2016-11-30
16:39
[6fc449b953] part of check-in [7ca58a07d3] Merge all the latest changes from trunk. (check-in: [7ca58a07d3] user: drh branch: est_count_pragma, size: 184323)
2016-11-26
20:44
[2f3bf6ade7] part of check-in [41a3af5443] Merge all recent trunk changes, and especially the new sqlite3_snapshot_recover() interface. (check-in: [41a3af5443] user: drh branch: apple-osx, size: 185448)
2016-11-23
20:44
[9fbddc799b] part of check-in [0f95659799] Fix a potential use-after-free error during parsing of malformed CREATE TABLE statement. (check-in: [0f95659799] user: drh branch: branch-3.15, size: 184175)
2016-11-14
20:08
[c471d791b1] part of check-in [c5dbc599b9] Fix a potential use-after-free error during parsing of malformed CREATE TABLE statement. (check-in: [c5dbc599b9] user: drh branch: trunk, size: 184329)
2016-11-10
20:14
[603953faca] part of check-in [0af62fdbd8] Avoid storing redundant fields in sorter records when the sort-key and data have fields in common (as in "SELECT a FROM t1 ORDER BY 1"). (check-in: [0af62fdbd8] user: dan branch: sorter-opt, size: 184309)
2016-11-04
19:09
[d8f69b332b] part of check-in [0e5ffd9123] Merge recent trunk changes, including all the fixes that appeared in version 3.15.1. (check-in: [0e5ffd9123] user: drh branch: apple-osx, size: 185354)
2016-10-31
16:16
[37628fe30c] part of check-in [093d2fc228] Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for disabling SQLite's default checkpoint-on-close behaviour. (check-in: [093d2fc228] user: dan branch: no-ckpt-on-close, size: 184235)
2016-10-20
18:20
[cf6393ad58] part of check-in [fd81d8a430] Add the ability for the PRAGMA statement to accept multiple arguments. Currently all arguments other than the first are ignored. (check-in: [fd81d8a430] user: drh branch: multi-arg-pragma, size: 184149)
2016-10-03
15:28
[8d241c2c0a] part of check-in [d15ae2e530] Avoid unnecessary strlen() calls in sqlite3ExprAssignVarNumber() by passing in the token length from the parser. (check-in: [d15ae2e530] user: drh branch: trunk, size: 184155)
2016-10-01
21:43
[5748a35f10] part of check-in [361940b44d] Rearrange fields in the Parse object to reduce the amount of initialization required. (check-in: [361940b44d] user: drh branch: trunk, size: 184150)
2016-09-30
22:24
[16f22a872a] part of check-in [63cf7eafae] Avoid initializing the column-cache section of the Parse object, since entries in the cache will be initialized as they are used, and avoiding the initial memset() saves many CPU cycles. (check-in: [63cf7eafae] user: drh branch: trunk, size: 184061)
19:14
[dea74ebe04] part of check-in [c1419727f5] Another simplification to the Parse object. (check-in: [c1419727f5] user: drh branch: trunk, size: 183415)
18:35
[8bf4d8ac59] part of check-in [814e41da35] Remove unnecessary fields from the Parse object. (check-in: [814e41da35] user: drh branch: trunk, size: 183486)
2016-09-29
19:50
[2599e8cc7e] part of check-in [984a96d796] Remove the peep-hole optimization of removing OP_Close opcodes that come before OP_Halt, as the extra work of removing those opcodes uses more cycles than just running them. (check-in: [984a96d796] user: drh branch: trunk, size: 183619)
2016-09-28
16:15
[0b39c63b51] part of check-in [0601416347] Merge recent enhancements from trunk. (check-in: [0601416347] user: drh branch: apple-osx, size: 184812)
2016-09-23
21:36
[1137559f2e] part of check-in [8a6ea455cd] Add the EP_Leaf flag bit to the Expr.flags field to indicate Expr nodes that do not have substructure. Use that bit to avoid unnecessary recursion. (check-in: [8a6ea455cd] user: drh branch: trunk, size: 183693)
2016-09-22
18:53
[e7c39dc148] part of check-in [c3774c6a5f] Remove the internal sqlite3CodeOnce() interface, replacing it with a direct call to sqlite3VdbeAddOp0(v,OP_Once). Slightly smaller and faster. (check-in: [c3774c6a5f] user: drh branch: trunk, size: 183616)
2016-09-18
16:08
[1abb4501bb] part of check-in [6bf5ba10d2] Revise the implementation of OP_Once so that it is smaller, faster, and uses less memory. This also fixes an obscure bug introduced 3 days ago by check-in [5990a1bdb4a073]. (check-in: [6bf5ba10d2] user: drh branch: trunk, size: 183646)
2016-09-16
17:50
[8a856df8ec] part of check-in [e3d9efa277] Merge recent changes from trunk. (check-in: [e3d9efa277] user: drh branch: apple-osx, size: 184759)
2016-09-14
01:43
[81198400a6] part of check-in [db3614825f] Backport the ORDER BY LIMIT optimization to version 3.8.9. (check-in: [db3614825f] user: drh branch: branch-3.8.9, size: 166585)
2016-09-07
18:20
[ec1a08e3eb] part of check-in [00759af053] Merge recent enhancements from trunk. (check-in: [00759af053] user: drh branch: apple-osx, size: 183992)
2016-09-05
09:44
[e7afbfaa40] part of check-in [42670935ab] Fix a crash that could occur under certain circumstances if the vectors on either side of a comparison operator were of a different size. (check-in: [42670935ab] user: dan branch: rowvalue, size: 183694)
2016-08-26
13:19
[c9e010a79a] part of check-in [b0cc6be4eb] Allow ROWID values in indexed vector comparisons. (check-in: [b0cc6be4eb] user: drh branch: rowvalue, size: 183640)
2016-08-20
00:51
[db8aa0c875] part of check-in [f320d47d6b] Add support for vector assignments in the SET clause of an UPDATE statement. (check-in: [f320d47d6b] user: drh branch: rowvalue, size: 183595)
00:07
[84f32ad3a5] part of check-in [d8feea7dcd] Change the way TK_SELECT_COLUMN is handled so that the subquery is only generated once even if part of the vector comparison is used for indexing and the other part is now. This change also is a pathway to vector assignment in UPDATE statements. (check-in: [d8feea7dcd] user: drh branch: rowvalue, size: 183528)
2016-08-19
15:41
[02b7f4bd9f] part of check-in [b17872363b] Merge recent enhancements from trunk. (check-in: [b17872363b] user: drh branch: rowvalue, size: 183327)
14:20
[1530997460] part of check-in [29d63059b4] Add the capability to VACUUM an attached database by specifying the schema name as an argument to the VACUUM command. Since version 2.0, VACUUM has accepted an argument which was silently ignored. Now it has meaning. (check-in: [29d63059b4] user: drh branch: vacuum-attached-db, size: 182873)
2016-08-18
17:55
[f4079dcc83] part of check-in [157347e258] Display VECTOR expressions in .wheretrace and .selecttrace debugging output. (check-in: [157347e258] user: drh branch: rowvalue, size: 183315)
15:21
[1b51d9e1ae] part of check-in [4768a1066c] Merge recent enhancements from trunk. (check-in: [4768a1066c] user: drh branch: rowvalue, size: 183238)
14:33
[f81e279da1] part of check-in [92a22f0134] Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. (check-in: [92a22f0134] user: drh branch: zDbSName, size: 182861)
2016-08-13
10:02
[98d9ccfa30] part of check-in [dfc028cfbe] 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: [dfc028cfbe] user: drh branch: vector-compare, size: 183209)
2016-08-11
19:12
[cf506e205f] part of check-in [d9f8918c5b] Merge version 3.14 plus some subsequent patches (including the page-cache performance patch) from trunk. (check-in: [d9f8918c5b] user: drh branch: begin-concurrent, size: 182906)
2016-08-09
11:44
[c5d6a3bd2f] part of check-in [42ce53f648] Add another timer on pcache1TruncateUnsafe(). (check-in: [42ce53f648] user: drh branch: debug, size: 165583)
01:21
[6422d7d1e8] part of check-in [9d4eb6e475] Refocus the timer on the pager_end_transaction() routine. (check-in: [9d4eb6e475] user: drh branch: debug, size: 165502)
2016-08-04
14:08
[2821f805b8] part of check-in [491f1ef36e] Add extra logging calls to this branch. (check-in: [491f1ef36e] user: dan branch: debug, size: 165480)
09:13
[843e15ad13] part of check-in [bf5a9542d0] Merge the ORDER BY LIMIT fix, and other enhancements, from trunk. (check-in: [bf5a9542d0] user: drh branch: apple-osx, size: 183951)
2016-08-03
16:14
[a1cf00afd6] part of check-in [18af74abc8] Fix stat4-based cost estimates for vector range constraints. (check-in: [18af74abc8] user: dan branch: rowvalue, size: 183145)
2016-08-02
17:45
[9d6623807c] part of check-in [339f85f414] Fix SQLITE_OMIT_SUBQUERY builds. (check-in: [339f85f414] user: dan branch: rowvalue, size: 183041)
2016-07-30
17:59
[ccfffd2433] part of check-in [63ae02d084] Merge latest trunk with this branch. (check-in: [63ae02d084] user: dan branch: rowvalue, size: 182955)
16:39
[618346a0ad] part of check-in [e9d9c6d46b] Remove the EP_Vector expression flag. (check-in: [e9d9c6d46b] user: dan branch: rowvalue, size: 182770)
2016-07-29
18:12
[65473a83bc] part of check-in [4dfebff292] Change the way "(a, b) = (SELECT *)" expressions are handled in where.c if there is an index on one of the columns only. (check-in: [4dfebff292] user: dan branch: rowvalue, size: 182799)
17:36
[d6f221a5bd] part of check-in [9fae75c08b] Using the header file 'intrin.h' requires MSVC 2005 or later. (check-in: [9fae75c08b] user: mistachkin branch: trunk, size: 182832)
16:32
[3726a8b418] part of check-in [ea3c7162dc] Turn memory status off by default. (check-in: [ea3c7162dc] user: drh branch: debug, size: 164762)
2016-07-28
18:42
[5fa89170e0] part of check-in [9765744586] Merge recent trunk fixes. (check-in: [9765744586] user: drh branch: apple-osx, size: 183766)
17:11
[1451694386] part of check-in [f2f1323cc4] Make sure the SQLITE_TCLAPI macro is always defined and use it for all callback functions that must interface with the Tcl C API. (check-in: [f2f1323cc4] user: mistachkin branch: callbackConv, size: 182832)
13:59
[65cf752e1a] part of check-in [9685880f7b] Merge latest trunk changes into this branch. (check-in: [9685880f7b] user: dan branch: rowvalue, size: 182761)
2016-07-27
19:33
[9a6af8787f] part of check-in [719a3b2035] Fix some problems with multi-column IN(SELECT...) processing. (check-in: [719a3b2035] user: dan branch: rowvalue, size: 182622)
18:27
[d25c18c127] part of check-in [a59b5622f7] When estimating the cost of an index scan, factor in the cost savings of being able to use the index to evaluate some WHERE clause terms without having to do a table lookup. (check-in: [a59b5622f7] user: drh branch: improved-index-scan, size: 182647)
2016-07-26
18:15
[a78e530832] part of check-in [d4f3d52c5a] Merge latest trunk changes into this branch. (check-in: [d4f3d52c5a] user: dan branch: rowvalue, size: 182693)
2016-07-25
17:31
[6e4e026581] part of check-in [e98cefb17d] Merge 3.14 alpha changes from trunk. (check-in: [e98cefb17d] user: drh branch: apple-osx, size: 183627)
11:57
[49081ceab0] part of check-in [ccc22e14dc] If both MEMSYS3 and MEMSYS5 are enabled, than automatically disable MEMSYS3. (check-in: [ccc22e14dc] user: drh branch: trunk, size: 182508)
2016-07-23
20:24
[c4877fb051] part of check-in [e2fd6f49b1] Allow vector IN(SELECT ...) expressions to use an index if either all the indexed columns are declared NOT NULL or if there is no difference between the expression evaluating to 0 and NULL (as in a WHERE clause). (check-in: [e2fd6f49b1] user: dan branch: rowvalue, size: 182245)
2016-07-14
01:09
[48cd97eb13] part of check-in [99ee7ee58d] Add the sqlite3_expanded_sql() interface. Refinements to the sqlite3_trace_v2() interface to make it more useful. (check-in: [99ee7ee58d] user: drh branch: sqlite3_trace_v2, size: 182378)
2016-07-13
22:55
[5b8a3e1dc9] part of check-in [cb0062feb0] First cut at implementing the new sqlite3_trace_v2() interface. (check-in: [cb0062feb0] user: drh branch: sqlite3_trace_v2, size: 182377)
2016-07-09
20:23
[dd2dd1d880] part of check-in [b2204215b2] Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch. (check-in: [b2204215b2] user: dan branch: rowvalue, size: 182239)
16:14
[dcf43b8abc] part of check-in [5471aca015] Fix various internal #defines to conform to new C-language naming restrictions, specifically that private-use macros names must not begin with "_". (check-in: [5471aca015] user: drh branch: trunk, size: 182060)
2016-06-16
11:16
[2ac73e9fdd] part of check-in [48b555c42d] Fix a typo in a comment on the SrcList object. (check-in: [48b555c42d] user: drh branch: trunk, size: 182066)
2016-06-15
10:21
[87671d1b47] part of check-in [0f707d1532] Merge changes from trunk. (check-in: [0f707d1532] user: drh branch: apple-osx, size: 183184)
2016-06-10
22:49
[b425bb606c] part of check-in [53a1e5d513] Enhance "PRAGMA table_info" to that it provides information about eponymous virtual tables. (check-in: [53a1e5d513] user: drh branch: trunk, size: 182065)
2016-05-31
21:18
[801e2a569e] part of check-in [49638f180e] An experimental branch with code that allows virtual tables to be declared as WITHOUT ROWID tables. This might be useful for virtual tables that model external data sources that do not have a convenient way of computing a unique rowid. The current check-in almost works, but there are still serious issues. (check-in: [49638f180e] user: drh branch: without-rowid-vtab, size: 182011)
2016-05-23
02:57
[ece2cdeacd] part of check-in [815cc2bb48] Merge changes from trunk. (check-in: [815cc2bb48] user: drh branch: apple-osx, size: 183128)
2016-05-19
22:40
[09621b4b7d] part of check-in [990fe50c91] Appears to work now. Needs test cases, more comments, and code optimization. (check-in: [990fe50c91] user: drh branch: orderby-limit, size: 182009)
22:13
[863cf0d421] part of check-in [852d1eda6e] In a query with both ORDER BY and LIMIT, if the inner loop satisfies the ORDER BY then try to cut short each invocation of the inner loop once the LIMIT has been satisfied. This check-in is a partial implementation only. (check-in: [852d1eda6e] user: drh branch: orderby-limit, size: 181996)
19:31
[19de316bfc] part of check-in [58b516e8c0] Fixup comments on wctrlFlags value definitions. (check-in: [58b516e8c0] user: drh branch: trunk, size: 181950)
18:56
[36ad4f5a86] part of check-in [d01305841d] Clean up the WHERE_* macros used for the wctrlFlags parameter on the sqlite3WhereBegin() interface, freeing up some bits to be used for other things. (check-in: [d01305841d] user: drh branch: trunk, size: 181880)
2016-05-18
21:01
[7c600fe863] part of check-in [915416d15f] Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface. (check-in: [915416d15f] user: drh branch: trunk, size: 181924)
2016-05-16
13:37
[39f288c10f] part of check-in [0d9b82afea] Merge recent fixes from trunk. (check-in: [0d9b82afea] user: drh branch: apple-osx, size: 183048)
2016-05-12
19:17
[4fe51e4e26] part of check-in [24d9fbc1d0] Disable ALWAYS and NEVER when compiled with SQLITE_MUTATION_TEST. (check-in: [24d9fbc1d0] user: drh branch: trunk, size: 181929)
2016-05-09
19:58
[47a90c85a4] part of check-in [da94a6e0eb] Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface. (check-in: [da94a6e0eb] user: drh branch: dev, size: 181891)
2016-05-06
16:49
[8ec741711b] part of check-in [93a2bace57] For DELETE operations, make sure that seeks on the main table are not deferred, since if they are and none of the indexes reference columns of the table, the seek might never occur until the OP_Delete opcode, which is too late. Fix for ticket [16c9801ceba49]. (check-in: [93a2bace57] user: drh branch: trunk, size: 181896)
16:06
[4ab5884aa7] part of check-in [150dd09ebd] In the WHERE generator, when building code for a DELETE operation, make sure that seeks to the main table are not deferred. This is a better fix for the [16c9801ceba49] bug than the previous. (check-in: [150dd09ebd] user: drh branch: ticket-16c9801ce, size: 181890)
2016-05-04
14:45
[c8483dd778] part of check-in [aae389692a] Only disable the one-pass DELETE optimization if the WHERE clause contains a correlated subquery. Uncorrelated subqueries are allowed. This is a refinement of check-in [3f221f592a9a1] that is the fix for ticket [dc6ebeda9396087]. (check-in: [aae389692a] user: drh branch: trunk, size: 181819)
2016-04-29
16:01
[e6ac0d8f8c] part of check-in [91e5c07eaf] Merge the latest enhancements from trunk. (check-in: [91e5c07eaf] user: drh branch: begin-concurrent, size: 181822)
15:52
[981577d9bb] part of check-in [81b76901e6] Merge enhancements from trunk, and in particular the TEMP file deferred I/O enhancements. (check-in: [81b76901e6] user: drh branch: apple-osx, size: 182867)
2016-04-28
20:11
[f4a53f3547] part of check-in [8cdbe89ac6] Comment changes only: Add several optimization marks in rowset.c. Add a header comment that explains what the various special comments mean. (check-in: [8cdbe89ac6] user: drh branch: trunk, size: 181748)
2016-04-21
15:44
[a8883a34e0] part of check-in [8183fa6829] Merge the latest changes from trunk. (check-in: [8183fa6829] user: drh branch: skip-ahead-distinct, size: 180579)
15:35
[02f1f63a3c] part of check-in [a15c49aed0] Merge all recent enhancements from trunk. (check-in: [a15c49aed0] user: drh branch: apple-osx, size: 181630)
01:30
[ec53838948] part of check-in [b2ae5bfa32] Revert sqlite3_enable_load_extension() to its original long-standing behavior. Add SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION which will enable only the C-API and leave the SQL function disabled. (check-in: [b2ae5bfa32] user: drh branch: load-ext-security, size: 180511)
2016-04-20
12:16
[0d9f22432c] part of check-in [1f709fbf93] Merge all recent enhancements from trunk. (check-in: [1f709fbf93] user: drh branch: begin-concurrent, size: 180504)
2016-04-15
22:03
[9b062514bb] part of check-in [87703b7661] Add the SQLITE_SkipAhead optimization setting (check-in: [87703b7661] user: drh branch: skip-ahead-distinct, size: 180498)
2016-04-14
16:40
[49cd2b5cd0] part of check-in [7b7a69d098] Add the SF_HasAgg constant (currently unused). Also enhance the comments on many other constant definitions to detail constraints on their values. (check-in: [7b7a69d098] user: drh branch: trunk, size: 180430)
2016-04-11
19:01
[b3744b2955] part of check-in [9efe2265b1] Performance optimization to sqlite3Dequote() and its callers. (check-in: [9efe2265b1] user: drh branch: trunk, size: 179104)
18:15
[e4a3229829] part of check-in [e35b345cf8] Performance optimizations in the column cache of the code generator, and especially the sqlite3ExprCacheRemove() routine. (check-in: [e35b345cf8] user: drh branch: trunk, size: 178960)
01:06
[8a3ca5847b] part of check-in [6a5cceee48] Factor out the common operation of setting the Expr.x.pSelect field of an Expr object into a subroutine. (check-in: [6a5cceee48] user: drh branch: trunk, size: 178898)
2016-04-07
21:29
[c4dbe726f4] part of check-in [3360ab098a] Carry table column types through into VIEW definitions, where possible. (check-in: [3360ab098a] user: drh branch: branch-3.12.0, size: 178298)
2016-04-05
20:59
[292fbc9dd9] part of check-in [fb555c3c2a] Carry table column types through into VIEW definitions, where possible. (check-in: [fb555c3c2a] user: drh branch: trunk, size: 178846)
17:59
[8da202a3a7] part of check-in [00990020d0] Merge updates from trunk. (check-in: [00990020d0] user: mistachkin branch: winCeLocalTime, size: 179102)
17:50
[f081454624] part of check-in [b7570ac14d] Add the SQLITE_DBCONFIG_REQUIRE_TXN argument for sqlite3_dbconfig() which when set requires an explicit transaction before updating the database. (check-in: [b7570ac14d] user: drh branch: require-write-txn, size: 178849)
2016-03-30
15:30
[594bf31a7a] part of check-in [47887ef89e] Simplifications and clarification to update callback handling in the OP_Delete and OP_Insert opcodes. (check-in: [47887ef89e] user: drh branch: trunk, size: 178778)
2016-03-29
10:36
[d5699c8422] part of check-in [d7381efff4] Merge 3.12.0 changes. (check-in: [d7381efff4] user: drh branch: begin-concurrent, size: 178304)
10:30
[a859dcc9d9] part of check-in [eef557449c] Merge 3.12.0 changes. (check-in: [eef557449c] user: drh branch: apple-osx, size: 179349)
2016-03-24
14:34
[410bd07098] part of check-in [beb5ea1439] Merge the beta changes into sessions. (check-in: [beb5ea1439] user: drh branch: sessions, size: 178884)
2016-03-22
20:05
[3a68b48967] part of check-in [605eba4a75] The sqlite3_column_decltype() routine should return NULL, not an empty string, if the column has no declared type. (check-in: [605eba4a75] user: drh branch: trunk, size: 178230)
14:37
[cb02015eac] part of check-in [2484cc0c3f] Create the "uptr" typedef (the same as uintptr_t when available) and use it to cast pointers before comparison. (check-in: [2484cc0c3f] user: drh branch: trunk, size: 178160)
2016-03-21
22:28
[47847a9197] part of check-in [25d776e452] Fix harmless compiler warnings. (check-in: [25d776e452] user: drh branch: trunk, size: 178071)
15:54
[a5e25cd7eb] part of check-in [8ee7d346c1] Merge all recent changes from trunk. (check-in: [8ee7d346c1] user: drh branch: begin-concurrent, size: 178105)
15:32
[f5cebbea59] part of check-in [3296a0ceed] Merge 3.12.0 beta changes from trunk. (check-in: [3296a0ceed] user: drh branch: sessions, size: 178685)
14:52
[ac21545eed] part of check-in [063f1b3705] Merge the sqlite3_system_errno() change from trunk. (check-in: [063f1b3705] user: drh branch: apple-osx, size: 179150)
10:49
[4eb80a9b9a] part of check-in [86ab864396] Merge updates from trunk. (check-in: [86ab864396] user: drh branch: sqlite_system_errno, size: 178031)
2016-03-19
00:40
[d671225a90] part of check-in [c73b5b9ccf] Fix a VDBE register allocation bug exposed by recent enhancements to PRAGMA integrity_check. (check-in: [c73b5b9ccf] user: drh branch: apple-osx, size: 179038)
00:35
[751ced73be] part of check-in [88439a866b] Fix a register allocation bug in the VDBE code generator for PRAGMA integrity_check; (check-in: [88439a866b] user: drh branch: trunk, size: 177919)
2016-03-17
18:41
[8435a8b21e] part of check-in [41335d8800] An alternative method of encoding the wildcard in "SELECT *". This is an experiment. (check-in: [41335d8800] user: drh branch: select-wildcard, size: 177979)
16:01
[5256653cc0] part of check-in [6782c87b37] Experimental implementation of the sqlite3_system_errno() interface. (check-in: [6782c87b37] user: drh branch: sqlite_system_errno, size: 177961)
2016-03-16
19:34
[636044ff0d] part of check-in [a7978ab6d2] Merge the latest enhancements from trunk. (check-in: [a7978ab6d2] user: drh branch: begin-concurrent, size: 177923)
01:16
[a8838eed1e] part of check-in [6a7ee04b0d] Merge all recent enhancements from trunk. (check-in: [6a7ee04b0d] user: drh branch: sessions, size: 178503)
2016-03-15
12:45
[f627543781] part of check-in [f41a7361a1] Merge updates from trunk - FTS5 fixes and enhancemenets to the tests scripts so that they work with SEE. (check-in: [f41a7361a1] user: drh branch: apple-osx, size: 178968)
09:42
[8c95b3589d] part of check-in [249cd361b8] Update this branch with latest trunk changes. (check-in: [249cd361b8] user: dan branch: schemalint, size: 177962)
2016-03-09
13:39
[84c673f27b] part of check-in [8d4b6b2b51] Automatically disable SQLITE_ENABLE_EXPLAIN_COMMENTS if SQLITE_OMIT_EXPLAIN is defined. (check-in: [8d4b6b2b51] user: drh branch: trunk, size: 177849)
08:08
[dc193eb8a9] part of check-in [59caca4387] Merge latest trunk changes with this branch. (check-in: [59caca4387] user: dan branch: schemalint, size: 177807)
2016-03-08
16:35
[8c9346a756] part of check-in [2974194123] Merge changes from trunk, especially the SQLITE_DEFAULT_SYNCHRONOUS enhancements. (check-in: [2974194123] user: drh branch: apple-osx, size: 178813)
16:07
[24e2eed36a] part of check-in [f6d3156ba9] Drop support for SQLITE_EXTRA_DURABLE. The new SQLITE_DEFAULT_SYNCHRONOUS compile-time option is a more general replacement. (check-in: [f6d3156ba9] user: drh branch: trunk, size: 177694)
15:30
[b017fbf491] part of check-in [592d210436] Make the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS values zero-based to agree with PRAGMA synchronous. (check-in: [592d210436] user: drh branch: default-synchronous, size: 177409)
14:40
[fa49759aff] part of check-in [1fefa967aa] Add compile-time options SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS used to specify the default synchronous settings for all database connections. (check-in: [1fefa967aa] user: drh branch: default-synchronous, size: 176824)
14:01
[16201931b2] part of check-in [58023bfccc] Merge coverage improvements and comment fixes from trunk. (check-in: [58023bfccc] user: drh branch: apple-osx, size: 178217)
01:32
[4c7b8501b3] part of check-in [91bd619d27] Add the ALLBITS macro as a shorthand for "(Bitmask)(-1)". (check-in: [91bd619d27] user: drh branch: trunk, size: 176502)
2016-03-07
20:48
[e7468e1b1b] part of check-in [84f09f00f8] Merge recent enhancements from trunk. (check-in: [84f09f00f8] user: drh branch: apple-osx, size: 178182)
17:49
[cd85b90d94] part of check-in [17fd8f3cf0] Merge the virtual table query planner enhancement, the RTREE cost estimate fix, and the statement journal spill delay enhancement from trunk. (check-in: [17fd8f3cf0] user: drh branch: sessions, size: 177121)
17:37
[8c32c1f456] part of check-in [b6c4202432] Add the SQLITE_CONFIG_STMTJRNL_SPILL option for sqlite3_config(). (check-in: [b6c4202432] user: drh branch: trunk, size: 176467)
2016-03-05
14:00
[2ce28b3c12] part of check-in [dca7b23354] Fix an incorrect #ifdef on sqlite3LogEstToInt(). (check-in: [dca7b23354] user: drh branch: trunk, size: 176388)
2016-03-04
18:45
[7d1257c165] part of check-in [5294c977d9] Merge changes from trunk. (check-in: [5294c977d9] user: drh branch: analyze-worst-case, size: 176761)
16:42
[b0e28df373] part of check-in [456df3365e] Merge recent enhancements from trunk. Default page size is 4096. Writes to statement journals are avoided. (check-in: [456df3365e] user: drh branch: sessions, size: 177040)
14:57
[22d2238dfb] part of check-in [2f0c195ccc] Merge recent enhancements from trunk, and especially the changes that reduce the heap-memory footprint of schemas, and defer opening and writing to statement journals. (check-in: [2f0c195ccc] user: drh branch: apple-osx, size: 178101)
00:13
[8a4810fa90] part of check-in [b5378dcea5] Get in-memory subjournals working for builds without SQLITE_ENABLE_ATOMIC_WRITE. (check-in: [b5378dcea5] user: drh branch: memjournal-exp, size: 176386)
2016-03-03
21:29
[57da6fd6aa] part of check-in [55c00f716d] Merge the latest updates from trunk. (check-in: [55c00f716d] user: drh branch: memjournal-exp, size: 176450)
2016-02-29
21:27
[e05c48a2b9] part of check-in [6326ba5891] The ANALYZE command automatically appends "noskipscan" to sqlite_stat1 entries that have large worst-case repeat estimates but small average repeat estimates. (check-in: [6326ba5891] user: drh branch: analyze-worst-case, size: 176922)
15:53
[8aa9992cb3] part of check-in [842b211627] Reduce the amount of heap required to store many schemas by storing each column datatype appended to the column name, rather than as a separate allocation. (check-in: [842b211627] user: drh branch: schema-storage, size: 176558)
2016-02-27
23:25
[01b4397216] part of check-in [ad3ffe2eec] Update the parser so that it pulls out the column name and type all in one go, rather than using separate reductions. (check-in: [ad3ffe2eec] user: drh branch: schema-storage, size: 176547)
21:16
[bcfbf47854] part of check-in [d8c94a46df] Eliminate the need for the Column.zDflt (using Column.pDflt instead) to reduce the amount of memory needed to hold the schema. (check-in: [d8c94a46df] user: drh branch: trunk, size: 176582)
20:14
[3c4ed7e5dc] part of check-in [e0b0b43165] Extend the code in memjournal.c so that it subsumes the role of journal.c. And (untested) can flush journal or statement journal files to disk after they grow to a specified size. (check-in: [e0b0b43165] user: dan branch: memjournal-exp, size: 176534)
17:16
[eed0520380] part of check-in [3a0c347cca] Experimental "PRAGMA onconflict=FAIL" statement to change the default ON CONFLICT algorithm to something other than ABORT. (check-in: [3a0c347cca] user: drh branch: pragma-onconflict, size: 176717)
2016-02-26
16:14
[a8c20484ff] part of check-in [4fb4aee83d] Merge all recent enhancements from trunk, and in particular the SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER change. (check-in: [4fb4aee83d] user: drh branch: apple-osx, size: 178357)
15:38
[63c0e1b5b5] part of check-in [374b510808] Provide the new SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER option to sqlite3_db_config() that can be used to activate the two-argument version of fts3_tokenizer() for a specific database connection at run-time. (check-in: [374b510808] user: drh branch: trunk, size: 176642)
2016-02-25
21:19
[b9ac8b9c97] part of check-in [832c237fcb] Change the "PRAGMA stats" command to report size values in LogEst units. The eliminates the need for sqlite3LogEstToInt() unless non-standard compile-time options are used, so leave it out except in those cases. (check-in: [832c237fcb] user: drh branch: trunk, size: 176569)
18:54
[73f110a751] part of check-in [b86590043e] Merge all the latest changes from trunk. (check-in: [b86590043e] user: drh branch: sessions, size: 177080)
16:04
[5a87bccd05] part of check-in [d491745cab] Take the LIMIT clause into account when estimating the cost of sorting. (check-in: [d491745cab] user: drh branch: planner-improvements, size: 176426)
2016-02-24
19:57
[5200682fc1] part of check-in [56f62e34ae] Change a char* to const char* in order to suppress some harmless compiler warnings. (check-in: [56f62e34ae] user: drh branch: trunk, size: 176270)
2016-02-23
16:28
[1a2f11f92c] part of check-in [0064a8c77b] Add the SQLITE_BITMASK_TYPE compile-time option. (check-in: [0064a8c77b] user: drh branch: trunk, size: 176270)
2016-02-18
01:36
[15f5a21b31] part of check-in [b7fa0fb339] Merge recent performance enhancements and the enhanced API_ARMOR from trunk. (check-in: [b7fa0fb339] user: drh branch: apple-osx, size: 177904)
2016-02-15
22:01
[47f61c35d5] part of check-in [287f508dd6] Revise compiler checks for the rand_s() function. (check-in: [287f508dd6] user: mistachkin branch: trunk, size: 176189)
18:15
[e2ed86c6f5] part of check-in [9b3454762d] Add the SQLITE_NOMEM_BKPT macro to enhance the ability to debug OOM errors. Only effective with compiling with SQLITE_DEBUG. (check-in: [9b3454762d] user: drh branch: trunk, size: 176121)
17:44
[125f2cbdf7] part of check-in [c393ddc71a] Merge version 3.11.0 (check-in: [c393ddc71a] user: drh branch: begin-concurrent, size: 175521)
00:34
[ddd4a48f3a] part of check-in [3201fbcc51] Improvements to the application-defined function mechanism so that it is more compact and runs faster, especially when the application defines thousands of new SQL functions. (check-in: [3201fbcc51] user: drh branch: many-app-functions, size: 175810)
2016-02-13
23:43
[11685b0cab] part of check-in [6a9c4a3ebf] Enhance ability to debug out-of-memory errors. (check-in: [6a9c4a3ebf] user: mistachkin branch: noMemBkpt, size: 175627)
17:35
[d96632a59d] part of check-in [d198a6db2e] Merge changes from the 3.11.0 release candidate. (check-in: [d198a6db2e] user: drh branch: apple-osx, size: 177162)
14:07
[a6127f268e] part of check-in [4d7a802e73] Merge the changes for the 3.11.0 release candidate from trunk. (check-in: [4d7a802e73] user: drh branch: sessions, size: 176101)
2016-02-11
22:41
[04ca5b3cdb] part of check-in [0beb32d20d] Automatically disable FTS3 and FTS4 when building with SQLITE_OMIT_VIRTUALTABLE. (check-in: [0beb32d20d] user: drh branch: trunk, size: 175447)
21:01
[a1d0d9613e] part of check-in [ed49f297bc] Experimental integration of schemalint functionality with the shell tool. Does not work yet. (check-in: [ed49f297bc] user: dan branch: schemalint, size: 175370)
2016-02-10
16:52
[eb20019610] part of check-in [02fbdbc782] Omit unnecessary CHECK constraints in UPDATE statements, when none of the columns referenced in the CHECK constraint are modified. (check-in: [02fbdbc782] user: drh branch: trunk, size: 175290)
16:03
[8eff197a6c] part of check-in [6a3aaedfb4] Omit NOT NULL checks on unchanging columns in an UPDATE. (check-in: [6a3aaedfb4] user: drh branch: trunk, size: 175213)
2016-02-09
16:09
[b1850d30a1] part of check-in [e1d8ec8554] Code simplification: ALTER TABLE ADD COLUMN always upgrades the file_format to 4 if is not there already. No need to upgrade to only 2 or 3 since format 4 has now been supported for over 10 years. (check-in: [e1d8ec8554] user: drh branch: trunk, size: 175208)
2016-02-05
14:34
[19ed64cd3d] part of check-in [332c8036ca] Merge PRAGMA synchronous=EXTRA and OOM performance enhancements from trunk. (check-in: [332c8036ca] user: drh branch: begin-concurrent, size: 175331)
14:29
[ab8b7a5e7d] part of check-in [201fcbeef3] Merge OOM handling optimizations and PRAGMA synchronous=EXTRA as well as other enhancements from trunk. (check-in: [201fcbeef3] user: drh branch: apple-osx, size: 176972)
14:15
[f58219ec2b] part of check-in [a533608cb0] Merge enhancements from trunk. (check-in: [a533608cb0] user: drh branch: sessions, size: 175911)
13:38
[3aeaff9611] part of check-in [0a802e96ab] Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority cases where db is guaranteed to be not NULL. (check-in: [0a802e96ab] user: drh branch: oom-handling, size: 175257)
01:55
[e251b755c7] part of check-in [c3ef03478a] Improvements to the way that OOM errors are processed. (check-in: [c3ef03478a] user: drh branch: oom-handling, size: 175214)
2016-02-03
19:20
[bf8c17fb55] part of check-in [af92401826] Add "PRAGMA synchronous=EXTRA" which syncs the directory containing the rollback journal when the rollback journal is deleted in order to commit a transaction in DELETE mode. (check-in: [af92401826] user: drh branch: trunk, size: 175017)
01:55
[ed6f750887] part of check-in [ae8b9d2edf] Enhance the internal sqlite3VdbeAddOpList() interface to automatically update jump destinations. Use this feature to simplify the AUTOINCREMENT code generator. (check-in: [ae8b9d2edf] user: drh branch: trunk, size: 175017)
2016-02-02
02:53
[02cef8cd17] part of check-in [347f6a80c2] Merge recent enhancements from trunk. (check-in: [347f6a80c2] user: drh branch: begin-concurrent, size: 175091)
02:30
[d402565f48] part of check-in [e6a4a16312] Merge recent enhancements from trunk. (check-in: [e6a4a16312] user: drh branch: apple-osx, size: 176732)
02:22
[c44a27bbb2] part of check-in [f3f9200115] Merge all recent enhancements from trunk. (check-in: [f3f9200115] user: drh branch: sessions, size: 175671)
00:59
[df7ef31561] part of check-in [7453790c3b] Add the SQLITE_DBCONFIG_REQUIRE_WRITE_TXN connection setting, which if enabled requires all write operations to be enclosed within BEGIN ... COMMIT. (check-in: [7453790c3b] user: drh branch: require-write-txn, size: 175234)
2016-01-30
13:32
[2f80b9b150] part of check-in [85c467041c] Add the BTREE_FORDELETE and BTREE_AUXDELETE flags to the b-tree layer interface and use them. Add assert() statement to verify that they are correct. (check-in: [85c467041c] user: drh branch: trunk, size: 175017)
12:50
[5b552cc0ee] part of check-in [0bdb41c45a] Simplification and size reduction to the printf logic. Remove the bFlags parameter from sqlite3VXPrintf() and sqlite3XPrintf(). Use sqlite3XPrintf() instead of sqlite3_snprintf() for rendering P4 values in EXPLAIN output. (check-in: [0bdb41c45a] user: drh branch: trunk, size: 174775)
2016-01-27
16:26
[12ec54454f] part of check-in [1d3bf6bebd] Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better reflect its purpose. (check-in: [1d3bf6bebd] user: drh branch: fordelete-assert, size: 174797)
2016-01-26
23:32
[0faffdeed2] part of check-in [9a71d56dce] Merge all recent trunk enhancements. (check-in: [9a71d56dce] user: drh branch: btree-fordelete-flag, size: 174797)
15:23
[13058a7764] part of check-in [12ef3a8f3d] Change the automatic index mechanism so that it avoids creating transient indexes on columns that are known to have low cardinality. (check-in: [12ef3a8f3d] user: drh branch: autoindex-planning, size: 174629)
2016-01-23
01:54
[ba1dd2b253] part of check-in [39759a5532] Cleanup localtime() support for Windows CE. (check-in: [39759a5532] user: mistachkin branch: winCeLocalTime, size: 174879)
2016-01-22
17:48
[74e10a7411] part of check-in [7323175337] Add the sqlite3TokenInit() utility function. (check-in: [7323175337] user: drh branch: trunk, size: 174555)
2016-01-21
17:06
[46e0bac7a3] part of check-in [ac2cbadd80] 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: [ac2cbadd80] user: drh branch: btree-fordelete-flag, size: 174760)
15:55
[0403328581] part of check-in [a3cec529f0] Improved comments on the FORDELETE hint. No logic changes. (check-in: [a3cec529f0] user: drh branch: trunk, size: 174518)
2016-01-20
12:18
[d2bf936ba5] part of check-in [5520f600ea] Merge recent enhancements from trunk. (check-in: [5520f600ea] user: drh branch: begin-concurrent, size: 174591)
11:40
[90deb66717] part of check-in [3ed49691a1] Merge all recent enhancements from trunk. (check-in: [3ed49691a1] user: drh branch: apple-osx, size: 176232)
11:33
[cf3ca8ec73] part of check-in [327af5f644] Merge recent enhancements from trunk. (check-in: [327af5f644] user: drh branch: sessions, size: 175171)
02:21
[8c1debffee] part of check-in [da527ddae0] Remove an unnecessary memset() from the symbol name resolver. (check-in: [da527ddae0] user: drh branch: trunk, size: 174517)
01:48
[9c506d4bc7] part of check-in [80dd495f37] During compilation, transfer the azVar[0..nzVar-1] array from Parse to Vdbe rather than copying it. Smaller and faster code. (check-in: [80dd495f37] user: drh branch: trunk, size: 174517)
2016-01-18
00:20
[8fbaf9dc2b] part of check-in [0aaf3febb0] Fix a problem with SQLITE_TEST_REALLOC_STRESS. (check-in: [0aaf3febb0] user: drh branch: trunk, size: 174517)
2016-01-14
22:19
[028d1f8850] part of check-in [0d1b3d7d3c] Combine the xFunc and xStep pointers of the FuncDef object into a single pointer xSFunc. (check-in: [0d1b3d7d3c] user: drh branch: trunk, size: 173927)
15:46
[98ad874dbe] part of check-in [fccc5f20c3] Merge the latest enhancements and fixes from trunk. (check-in: [fccc5f20c3] user: dan branch: begin-concurrent, size: 174104)
2016-01-11
13:10
[09f70fe715] part of check-in [c4a858b228] Merge recent enhancements, and especially the WAL overwrite change, from trunk. (check-in: [c4a858b228] user: drh branch: sessions, size: 174684)
12:49
[da2c7b0ddb] part of check-in [79125ec9d2] Merge enhancements from trunk, and in particular the WAL overwrite feature. (check-in: [79125ec9d2] user: drh branch: apple-osx, size: 175745)
2016-01-08
17:28
[b8ccd34a91] part of check-in [e9a51d2a58] Remove an obsolete #ifdef related to iOS support. (check-in: [e9a51d2a58] user: drh branch: trunk, size: 174030)
2016-01-07
17:09
[987b46b1d8] part of check-in [828958ff77] Small performance and size optimization spotted while working on the shared-cache problem. (check-in: [828958ff77] user: drh branch: trunk, size: 174125)
2016-01-06
15:49
[17f1f082e4] part of check-in [e1d2ffc06d] Merge changes for version 3.10.0. (check-in: [e1d2ffc06d] user: drh branch: begin-concurrent, size: 174235)
14:35
[3b529e6a37] part of check-in [77c28c2b2d] Merge all version 3.10.0 updates. (check-in: [77c28c2b2d] user: drh branch: apple-osx, size: 175876)
2016-01-04
19:02
[961c445154] part of check-in [c785cd7813] Merge in last-minute patches for the 3.10.0 beta. (check-in: [c785cd7813] user: drh branch: sessions, size: 174815)
12:07
[f97614d438] part of check-in [7adb789f45] A new approach to very large sqlite3_mprintf() strings: Back out the [d655a665] check-in and instead make the size fields in StrAccum unsigned. Strings generated by sqlite3_mprintf() can now be as large as 2^31-1 bytes. (check-in: [7adb789f45] user: drh branch: trunk, size: 174161)
2016-01-01
16:42
[30f7e8957e] part of check-in [3e852804c8] Remember the size of the Vdbe.aOp[] array in bytes, to avoid unnecessary calls to sqlite3_msize(). (check-in: [3e852804c8] user: drh branch: trunk, size: 174161)
14:14
[fbda10e359] part of check-in [6bea792c3d] Merge recent trunk enhancements. (check-in: [6bea792c3d] user: drh branch: begin-concurrent, size: 174159)
13:31
[35e07d7cff] part of check-in [5b700f313d] Merge all recent trunk enhancements. (check-in: [5b700f313d] user: drh branch: apple-osx, size: 175800)
13:25
[583ec5b505] part of check-in [c0be246a74] Merge the latest enhancements from trunk. (check-in: [c0be246a74] user: drh branch: sessions, size: 174739)
2015-12-31
15:34
[92f83ab461] part of check-in [9c392c1019] Fix harmless compiler warnings associated with SQLITE_ENABLE_HIDDEN_COLUMNS. (check-in: [9c392c1019] user: drh branch: trunk, size: 174085)
04:34
[d68c05b697] part of check-in [7a0b9413fa] Small size and performance optimization to the VDBE comparison opcodes. (check-in: [7a0b9413fa] user: drh branch: trunk, size: 173979)
2015-12-30
16:51
[526c8514d0] part of check-in [2081d75767] Changes to the way that the default BINARY collating sequence is recorded result in a slightly smaller and slightly faster executable. More work could be done to make this cleaner. (check-in: [2081d75767] user: drh branch: trunk, size: 173963)
2015-12-24
14:53
[6e0c108226] part of check-in [7c7b7f2630] Avoid a harmless compiler warning on systems where the byteorder cannot be determined at compile-time. (check-in: [7c7b7f2630] user: drh branch: trunk, size: 173925)
2015-12-21
15:22
[5a2770eb1f] part of check-in [34073ce87d] Ensure that the Expr objects that describe indexed expressions are not modified by code generation. Fix for an assert() problem found by Jon Metzman using AFL. (check-in: [34073ce87d] user: drh branch: trunk, size: 173918)
2015-12-16
19:55
[175d7f7b55] part of check-in [cb22efaf50] Merge recent enhancements from trunk. (check-in: [cb22efaf50] user: drh branch: begin-concurrent, size: 173946)
19:47
[109deba754] part of check-in [f6c9273cab] Merge recent enhancements from trunk. (check-in: [f6c9273cab] user: drh branch: sessions, size: 174526)
2015-12-12
17:31
[dd30e0e695] part of check-in [21526012c2] Add further tests for the changes on this branch. Also fix a memory-leak that could follow a malloc failure. (check-in: [21526012c2] user: dan branch: onepass-delete-or, size: 174048)
2015-12-11
13:59
[e93e14407e] part of check-in [57b700baa6] Merge recent changes from trunk. Also remove unused variables to permit compiling with -Werror. (check-in: [57b700baa6] user: drh branch: onepass-delete-or, size: 173998)
12:53
[8cde64521e] part of check-in [7e7b240645] Merge recent trunk enhancements, and in particular the snapshot interface. (check-in: [7e7b240645] user: drh branch: apple-osx, size: 175587)
2015-12-10
17:59
[beb4a63b94] part of check-in [05bc4f920c] Move pointer range comparisons into a macro, where they can be dealt with in a more portable way. (check-in: [05bc4f920c] user: drh branch: trunk, size: 173872)
15:09
[d9b64d1223] part of check-in [ad3124c834] Move pointer range comparisons into a macro, where they can be dealt with in a more portable way. (check-in: [ad3124c834] user: drh branch: stdint.h, size: 173872)
2015-12-09
08:13
[e638ac9057] part of check-in [dc236f1118] Merge latest trunk with this branch. (check-in: [dc236f1118] user: dan branch: onepass-delete-or, size: 173485)
2015-12-08
19:50
[8014a4a028] part of check-in [d52376df53] Experimental optimization for DELETE statements with WHERE clauses that qualify for the OR-optimization. (check-in: [d52376df53] user: dan branch: onepass-delete-or, size: 173424)
16:08
[5caacf37a7] part of check-in [f20396adb2] Avoid doing comparisons with pointers that might have been previously been passed to realloc() and/or free(). (check-in: [f20396adb2] user: drh branch: trunk, size: 173359)
2015-12-02
20:40
[0bf170994d] part of check-in [d1a1278d7f] Merge recent enhancements from trunk. (check-in: [d1a1278d7f] user: drh branch: sessions, size: 173952)
20:22
[753af29810] part of check-in [e1fb33c7d2] Merge all recent trunk enhancements, especially the unix VFS changes. (check-in: [e1fb33c7d2] user: drh branch: apple-osx, size: 175013)
2015-11-20
13:49
[f298ca1b9f] part of check-in [41c8b8e39b] Merge all the latest enhancements and fixes from trunk. (check-in: [41c8b8e39b] user: drh branch: begin-concurrent, size: 173372)
13:17
[64256d193a] part of check-in [5446ae64d7] Enhancements to a comment in sqliteInt.h. No changes to code. (check-in: [5446ae64d7] user: drh branch: trunk, size: 173298)
2015-11-19
19:48
[ed4a27c98d] part of check-in [2c9e5436bd] Merge the latest enhancements from trunk. (check-in: [2c9e5436bd] user: drh branch: apple-osx, size: 174942)
19:40
[d85782b8b5] part of check-in [7d6cfc79e7] Merge the latest enhancements from trunk. (check-in: [7d6cfc79e7] user: drh branch: sessions, size: 173881)
18:11
[25d0792e6d] part of check-in [126b998cf1] Fix problems with the way the IsHiddenColumn() macro is defined. (check-in: [126b998cf1] user: drh branch: trunk, size: 173227)
17:55
[d8dc20e7b0] part of check-in [28df5dc4a9] When manifesting a view as part of an DELETE or UPDATE, be sure to include the hidden columns in the manifestation. (check-in: [28df5dc4a9] user: drh branch: trunk, size: 173252)
16:46
[921678cb43] part of check-in [59bd0ec7d4] Fix problems with INSERT INTO ... SELECT ... statements that write to tables with __hidden__ columns. (check-in: [59bd0ec7d4] user: dan branch: trunk, size: 173178)
13:53
[339067553c] part of check-in [5490646b2e] Only support the magic "__hidden__" column name prefix interpretation when compiled with SQLITE_ENABLE_HIDDEN_COLUMNS. (check-in: [5490646b2e] user: drh branch: hidden-columns-in-tables, size: 173170)
2015-11-13
02:13
[649e4e7d7a] part of check-in [f9060b2a98] Merge fixes from trunk. (check-in: [f9060b2a98] user: drh branch: apple-osx, size: 174210)
2015-11-12
23:48
[1b8c1b37f0] part of check-in [ee6f2feec7] Update the SQLLOG logic so that to builds in accordance with the instructions in the header comment. (check-in: [ee6f2feec7] user: drh branch: trunk, size: 172495)
21:55
[40ca51b677] part of check-in [178da33909] Import the test_sqllog.c enhancements from trunk. (check-in: [178da33909] user: drh branch: apple-osx, size: 174425)
20:12
[ebd88d3a2c] part of check-in [cab8126be9] Add support for the SQLITE_SQLLOG_CONDITIONAL environment variable to the logging code in test_sqllog.c. When defined, logging is only performed if the "<database>-sqllog" file is present in the file system when the main database is opened. (check-in: [cab8126be9] user: dan branch: trunk, size: 172710)
16:51
[26cd338647] part of check-in [e72331c719] Merge the latest enhancements from trunk, and in particular the "PRAGMA cache_spill=N" change. (check-in: [e72331c719] user: drh branch: apple-osx, size: 174211)
2015-11-07
17:48
[bc6d24460f] part of check-in [028475cb17] Proposed fix for an infinite loop bug in the WITH clause semantic analysis logic. (check-in: [028475cb17] user: drh branch: infinite-with-loop-bug, size: 172496)
15:19
[a6cddd46ae] part of check-in [2040d88e87] Enhance TreeView to show WITH clauses. Add an assert to detect the infinite loop behavior when certain kinds of errors occur on a nested WITH clause. (check-in: [2040d88e87] user: drh branch: infinite-with-loop-bug, size: 172492)
01:57
[2f6f0e90f5] part of check-in [5429f99b98] Merge recent enhancements and fixes from trunk. (check-in: [5429f99b98] user: drh branch: apple-osx, size: 174151)
01:33
[a02b33a3b6] part of check-in [78bc42e664] Merge recent enhancements and bug fixes from trunk. (check-in: [78bc42e664] user: drh branch: sessions, size: 173090)
2015-11-05
22:30
[12ff325b43] part of check-in [997ce6c90b] Improvements and simplifications to the equality seek logic. Tests are adjusted so that they all pass now. (check-in: [997ce6c90b] user: drh branch: seekeq-experiment, size: 172436)
20:25
[8769e43c68] part of check-in [32e31b9bc8] 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: [32e31b9bc8] user: drh branch: seekeq-experiment, size: 171402)
2015-10-30
17:17
[00b72ce915] part of check-in [f2cde4cfc5] Merge the sqlite3_db_cacheflush() enhancements and other changes from trunk. (check-in: [f2cde4cfc5] user: drh branch: begin-concurrent, size: 171403)
16:50
[b2e72eaa88] part of check-in [395a153ff7] Merge all the latest enhancements from trunk. (check-in: [395a153ff7] user: drh branch: sessions, size: 171983)
16:23
[72eeb2eb3b] part of check-in [6e4306efaf] Merge latest trunk changes, including sqlite3_db_cacheflush(), with this branch. (check-in: [6e4306efaf] user: dan branch: apple-osx, size: 173044)
2015-10-26
20:50
[f97de13012] part of check-in [bc195e1cd9] Merge latest trunk changes, including the SQLITE_IOERR_AUTH error code, with this branch. (check-in: [bc195e1cd9] user: dan branch: apple-osx, size: 172773)
20:11
[b1e72ffe28] part of check-in [20da0849ce] Merge the BTREE_FORDELETE enhancement with this branch. (check-in: [20da0849ce] user: dan branch: cursor-hints, size: 171329)
2015-10-22
20:54
[835fce874a] part of check-in [cdc92919e6] 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: [cdc92919e6] user: dan branch: btree-fordelete-flag, size: 171058)
2015-10-16
20:55
[b015def467] part of check-in [bf866e6c0d] Merge the 3.9.1 updates from trunk. (check-in: [bf866e6c0d] user: drh branch: begin-concurrent, size: 171051)
20:53
[af76837cad] part of check-in [26fa091d68] Merge recent enhancements from trunk. Version now 3.9.1. (check-in: [26fa091d68] user: drh branch: cursor-hints, size: 171248)
03:34
[5332b07164] part of check-in [08e8f04d12] 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: [08e8f04d12] user: drh branch: reorder-column-opcodes, size: 171048)
2015-10-15
21:12
[2d82464793] part of check-in [a447cf90dd] Merge updates from trunk. (check-in: [a447cf90dd] user: mistachkin branch: mutexInitSimpleCmpSwap, size: 171415)
19:21
[1ad779ee62] part of check-in [871e091df6] Enhance the use of the column cache for UPDATE statements, making them more efficient for the case where a column is modified to be an expression of other unmodified columns. (check-in: [871e091df6] user: drh branch: trunk, size: 170977)
15:28
[1d888049aa] part of check-in [6422d223dd] Change sqlite3StatusSet() into sqlite3StatusHighwater() so that only the highwater mark is recorded. This gives a small size reduction and performance improvement. (check-in: [6422d223dd] user: drh branch: trunk, size: 170910)
07:44
[dfc94932c4] part of check-in [5c3a2a6ed6] Merge in the 3.9.0 changes from trunk. (check-in: [5c3a2a6ed6] user: drh branch: begin-concurrent, size: 170978)
2015-10-14
20:09
[d2d529e342] part of check-in [2944414934] Merge in all the 3.9.0 updates from trunk. (check-in: [2944414934] user: drh branch: cursor-hints, size: 171175)
2015-10-09
17:28
[530f13b432] part of check-in [1ccae39b8a] Merge all changes through the first 3.9.0 beta from trunk. (check-in: [1ccae39b8a] user: drh branch: apple-osx, size: 172619)
2015-10-08
14:55
[4150e72a66] part of check-in [35b1b8d4b9] Merge the 3.8.12 beta changes from trunk. (check-in: [35b1b8d4b9] user: drh branch: sessions, size: 171558)
2015-10-06
01:44
[e21cc96bc2] part of check-in [3168326ebf] Adjustments to sqlite3MemoryBarrier() when compiling with MSVC and/or WinCE. (check-in: [3168326ebf] user: mistachkin branch: trunk, size: 170904)
2015-09-30
14:50
[a6edcbabcd] part of check-in [b2face9aa9] Merge recent enhancements from trunk, and especially the fix for ticket [1b266395d6bc10]. (check-in: [b2face9aa9] user: drh branch: sessions, size: 171515)
2015-09-29
17:20
[681f38fc0d] part of check-in [7d272aa62c] Use symbolic names XN_ROWID and XN_EXPR in place of the (-1) and (-2) magic numbers in Index.aiColumn[]. Add asserts to help verify that Index.aiColumn[] is always used correctly. Fix one place in FK processing where Index.aiColumn[] was not being used correctly. (check-in: [7d272aa62c] user: drh branch: trunk, size: 170861)
13:25
[b6516bb272] part of check-in [59662cd2b6] Create the sqlite3IsToplevel(Parse*) interface to check to see if a top-level VDBE is being coded (versus a trigger) and use that interface. (check-in: [59662cd2b6] user: drh branch: vtab-onepass, size: 170597)
2015-09-28
23:45
[9773cdb949] part of check-in [70ec88b299] Avoid unnecessary cursors and seeking when running a DELETE against a WITHOUT ROWID table. (check-in: [70ec88b299] user: drh branch: delete-without-rowid-opt, size: 170579)
2015-09-25
16:29
[ca695ea39a] part of check-in [2c57b2f386] Disable the SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS mechanism and replace it with SQLITE_TESTCTRL_BENIGN_MALLOC_CTRL, which gives better control. (check-in: [2c57b2f386] user: drh branch: malloc-testing, size: 170580)
2015-09-23
16:24
[2e5280bf7e] part of check-in [da0587c522] Simplify thread-safety of mutex initialization. (check-in: [da0587c522] user: mistachkin branch: mutexInitSimpleCmpSwap, size: 170953)
15:54
[ed65bcb0a6] part of check-in [6b85f8cd4d] Merge updates from trunk. (check-in: [6b85f8cd4d] user: mistachkin branch: mutexInitCmpSwap, size: 170916)
2015-09-15
19:16
[c530296105] part of check-in [fc4d1de8ae] Merge enhancements from trunk. (check-in: [fc4d1de8ae] user: drh branch: begin-concurrent, size: 170589)
17:31
[b108aac991] part of check-in [66fe068326] Merge enhancements from trunk. (check-in: [66fe068326] user: drh branch: cursor-hints, size: 170786)
17:20
[c53f35e3c4] part of check-in [f12b8a0f79] Merge trunk enhancements into the apple-osx branch. (check-in: [f12b8a0f79] user: drh branch: apple-osx, size: 172230)
15:55
[211b8080f4] part of check-in [b7469c44be] Merge the latest trunk enhancements with this branch. (check-in: [b7469c44be] user: dan branch: sessions, size: 171169)
2015-09-14
14:45
[5afc6e5040] part of check-in [16e56bdade] Use symbolic names ONEPASS_OFF, ONEPASS_SINGLE, and ONEPASS_MULTI for the various modes of the one-pass optimization. (check-in: [16e56bdade] user: drh branch: trunk, size: 170515)
10:47
[6376e8f553] part of check-in [22ce9218fb] Merge the latest trunk enhancements. (check-in: [22ce9218fb] user: drh branch: sessions, size: 170858)
2015-09-12
19:26
[91bf09de55] part of check-in [eaeb2b80f6] 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: [eaeb2b80f6] user: dan branch: onepass-delete, size: 170295)
18:57
[b3e590f374] part of check-in [334720c017] Import common changes from the mutex initialization branch. (check-in: [334720c017] user: mistachkin branch: trunk, size: 170204)
2015-09-11
05:06
[d7b2c30947] part of check-in [f6a8f57795] Enhance mutex initialization to prevent possible race conditions between sqlite3_initialize() and sqlite3_config(). Also, re-check sqlite3GlobalConfig.isInit after the mutex subsystem has been initialized. (check-in: [f6a8f57795] user: mistachkin branch: mutexInitCmpSwap, size: 170605)
2015-09-10
04:17
[788dc0ea7b] part of check-in [da8a288f8e] Attempt to declare sqlite3MemoryBarrier() correctly for all possible build configurations. (check-in: [da8a288f8e] user: drh branch: trunk, size: 170205)
2015-09-07
20:22
[56a3623697] part of check-in [9cf3e51bcc] Merge parser enhancements and other improvements and bug fixes from trunk. (check-in: [9cf3e51bcc] user: drh branch: begin-concurrent, size: 170170)
2015-09-06
02:51
[dba8add0b9] part of check-in [11a9a786ec] Add a memory barrier to the mutex initialization logic, try to work around an issue reported by WebKit. (check-in: [11a9a786ec] user: drh branch: trunk, size: 170096)
2015-09-05
22:36
[ad5504745e] part of check-in [7ab0b258ea] Omit all use of Expr nodes for TK_AS, as those nodes no longer served a useful purpose and in fact interferred with the query planner. (check-in: [7ab0b258ea] user: drh branch: trunk, size: 170061)
2015-09-01
18:52
[5dda67f9d2] part of check-in [cb77236673] Merge recent enhancements from trunk. (check-in: [cb77236673] user: drh branch: sessions, size: 169795)
18:31
[c452759faf] part of check-in [29570a6048] Merge enhancements from trunk. (check-in: [29570a6048] user: drh branch: cursor-hints, size: 169412)
13:17
[e7e92112a7] part of check-in [ff5137a6dd] Rename SQLITE_FUNC_VARYING to SQLITE_FUNC_SLOCHNG - a more descriptive name for what that bit means. (check-in: [ff5137a6dd] user: drh branch: index-expr, size: 169989)
2015-08-31
21:16
[fde5d96c3d] part of check-in [4871313039] Not only date/time functions, but also functions like sqlite_version() and changes() need to be prohibited from use inside of indexes. (check-in: [4871313039] user: drh branch: index-expr, size: 169911)
17:34
[332ae4f753] part of check-in [c77554b5c4] Make the distinction between truly deterministic functions and date/time functions which only return the same answer for a single query. Only truly deterministic functions are allowed in indexes. Add new expression index test cases. (check-in: [c77554b5c4] user: drh branch: index-expr, size: 169816)
2015-08-28
09:27
[8657f11e82] part of check-in [57bc0194f4] Merge latest trunk changes with this branch. (check-in: [57bc0194f4] user: dan branch: begin-concurrent, size: 169215)
02:12
[680a0371a5] part of check-in [da8646582a] Merge trunk enhancements into the apple-osx branch. Most tests works, but there are yet a few issues to be resolved. (check-in: [da8646582a] user: drh branch: apple-osx, size: 170856)
2015-08-26
18:04
[340fc115a7] part of check-in [ec6ddb3d48] Merge enhancements from trunk. (check-in: [ec6ddb3d48] user: drh branch: index-expr, size: 169345)
14:01
[cac6c31a0c] part of check-in [c2f3bbad77] Evaluate expressions only once when the same expression is used in both the result set and in the ORDER BY clause. (check-in: [c2f3bbad77] user: drh branch: trunk, size: 169141)
11:40
[d76e7c9077] part of check-in [58ba73630e] Refactor With.a.zErr into With.a.zCteErr. No logic changes. (check-in: [58ba73630e] user: drh branch: trunk, size: 169066)
2015-08-25
19:42
[424a2020ef] part of check-in [b3732a4e1b] Move sqlite3IndexColumnAffinity() inside of SQLITE_ENABLE_STAT3_OR_STAT4. (check-in: [b3732a4e1b] user: drh branch: trunk, size: 169066)
19:24
[fd8c4823f4] part of check-in [e8b02902c4] Merge trunk enhancements. (check-in: [e8b02902c4] user: drh branch: index-expr, size: 169326)
19:20
[fdf60b248e] part of check-in [1ee089a72d] Use the sqlite3IndexColumnAffinity() routine to quickly and correctly find the affinity of an index column. (check-in: [1ee089a72d] user: drh branch: trunk, size: 169122)
16:57
[5fe814323e] part of check-in [efaabdb716] Add code to maintain indexes with expression arguments across DELETE, INSERT, and UPDATE statements. Legacy tests pass, but the new code paths are still largely untested. The query planner currently makes no effort to use expression indexes. (check-in: [efaabdb716] user: drh branch: index-expr, size: 169269)
11:16
[0b77fa9840] part of check-in [3e7d6dd62d] Merge latest trunk changes with this branch. (check-in: [3e7d6dd62d] user: dan branch: begin-concurrent, size: 169139)
00:27
[5e2ce12324] part of check-in [0ad0f8d77d] Changes toward being able to process indexes on expressions. Not there yet - this check-in is just movement in that direction. Some tests are failing. (check-in: [0ad0f8d77d] user: drh branch: index-expr, size: 169142)
2015-08-24
20:21
[edbcd0c078] part of check-in [bed42116ad] Enhances the parser so that it accepts arbitrary expressions for the arguments of an index, though the code generator still rejects everything other than simple column names. The sqlite3RestrictColumnListSyntax() routine is removed since that feature is now handled by the parser. (check-in: [bed42116ad] user: drh branch: trunk, size: 169065)
19:56
[54c3393fc2] part of check-in [ba1ab858e2] Change "BEGIN UNLOCKED" to "BEGIN CONCURRENT". (check-in: [ba1ab858e2] user: dan branch: begin-concurrent, size: 168913)
17:42
[79a8e76bcb] part of check-in [d794b34da6] Enhance the CREATE VIEW syntax so that the names of columns of the view can be specified after the view name. (check-in: [d794b34da6] user: drh branch: trunk, size: 169199)
15:39
[1741691824] part of check-in [83cbc4d876] Disallow the use of COLLATE clauses and the ASC and DESC keywords within foreign key constraints and in the argument list to common table expressions. (check-in: [83cbc4d876] user: drh branch: trunk, size: 169083)
2015-08-21
16:22
[d4963f5f6b] part of check-in [deaf3b1856] Merge trunk changes with this branch. (check-in: [deaf3b1856] user: dan branch: begin-concurrent, size: 168911)
2015-08-20
23:54
[198917e212] part of check-in [e9196d5666] Merge recent trunk enhancements, include table-valued functions. (check-in: [e9196d5666] user: drh branch: sessions, size: 169493)
23:45
[58bae1ab01] part of check-in [b9927c876c] Merge recent enhancements from trunk, including table-valued expressions. (check-in: [b9927c876c] user: drh branch: cursor-hints, size: 169110)
2015-08-19
17:11
[89e68539d6] part of check-in [40e12cfe4c] A list of arguments following a table name translates into equality constraints against hidden columns in that table. (check-in: [40e12cfe4c] user: drh branch: table-valued-functions, size: 168839)
15:20
[9fae37f6bc] part of check-in [b919376147] Minor refactor of the SrcList object so that it is able to hold the argument list to a table-valued-function in the FROM clause. (check-in: [b919376147] user: drh branch: table-valued-functions, size: 168723)
02:32
[683b480273] part of check-in [c1f43a7799] Initial implementation of eponymous virtual table instances. (check-in: [c1f43a7799] user: drh branch: table-valued-functions, size: 168443)
2015-08-14
18:50
[cbd6d166c5] part of check-in [581e3d4988] Fix the cursor hint mechanism so that it does the right thing for indexed lookups. (check-in: [581e3d4988] user: drh branch: cursor-hints, size: 168483)
2015-08-13
21:38
[ea5885ac6d] part of check-in [608ab4ac19] Fix a harmless compiler warning. (check-in: [608ab4ac19] user: drh branch: cursor-hints, size: 168405)
20:07
[b12cb9c5e2] part of check-in [82a7a61bc0] 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: [82a7a61bc0] user: drh branch: cursor-hints, size: 168364)
2015-08-10
20:22
[e1a5cfe6c4] part of check-in [ac5d2e9d76] Add the sqlite3_experimental_log_open() interface. This is for diagnostic use only and is not intended to ever go on trunk. (check-in: [ac5d2e9d76] user: drh branch: experimentalIoLog, size: 168627)
2015-07-29
21:47
[9401d7d912] part of check-in [f0075d735a] Add SQLITE_DISABLE_INTRINSIC define to disable use of intrinsic functions (e.g. for certain older compilers and/or platforms). (check-in: [f0075d735a] user: mistachkin branch: trunk, size: 168212)
2015-07-27
19:31
[f14033fa6d] part of check-in [8079421604] Add an experimental "BEGIN UNLOCKED" command. (check-in: [8079421604] user: dan branch: begin-concurrent, size: 168161)
2015-07-24
22:21
[d6389d1902] part of check-in [0298a9a780] Merge test improvements and minor fixes from trunk. (check-in: [0298a9a780] user: drh branch: sessions, size: 168743)
20:43
[81f458941c] part of check-in [2d572b8cdc] For Windows CE, a different header is required for the byteswap intrinsics. (check-in: [2d572b8cdc] user: mistachkin branch: trunk, size: 168089)
2015-07-23
21:59
[cdc9b0c2dc] part of check-in [7f0ee77062] Merge all changes in the latest 3.8.11 beta into the sessions branch. Changes include the rename of OTA to RBU, the WITHOUT-ROWID-OR-Skipscan fix, and improvements to pcache1. (check-in: [7f0ee77062] user: drh branch: sessions, size: 168690)
2015-07-15
23:15
[c67d0a1368] part of check-in [2cdd647951] Enable memory-mapped I/O on FreeBSD and DragonFly. (check-in: [2cdd647951] user: drh branch: trunk, size: 168036)
2015-07-14
21:56
[61e6e8e6f3] part of check-in [6db90ca2b4] Skip trying to include 'intrin.h' when compiling for WinCE with MSVC. (check-in: [6db90ca2b4] user: mistachkin branch: trunk, size: 167978)
15:39
[f5d9aa5d0c] part of check-in [db4cbefb86] Merge trunk changes, including the addition of FTS5 and pcache1 performance enhancements. (check-in: [db4cbefb86] user: drh branch: sessions, size: 168608)
2015-07-07
21:14
[d8d420d66a] part of check-in [ad5fdfbac8] Add a compile-time constant for configuring the default pagecache setup. (check-in: [ad5fdfbac8] user: drh branch: pcache-bulk-local, size: 167954)
2015-07-02
18:47
[b408931086] part of check-in [85ca4409bd] Merge in the latest enhancements from trunks, especially the use of _byteswap_ulong() and similar intrinsics on MSVC. (check-in: [85ca4409bd] user: drh branch: sessions, size: 168222)
2015-06-30
17:28
[bc2cb17551] part of check-in [fe144dd73f] Make use of the _byteswap_ushort() and _byteswap_ulong() compiler intrinsics for MSVC, when available. (check-in: [fe144dd73f] user: mistachkin branch: trunk, size: 167568)
16:29
[2c8f1aad45] part of check-in [39936b33b0] Merge all the latest enhancements from trunk. This merge include FTS5 and a number of notable performance enhancements. (check-in: [39936b33b0] user: drh branch: sessions, size: 167952)
14:01
[cf643b5a34] part of check-in [ce8177e3e6] Only use __builtin_bswap16() with GCC 4.8 and later. (check-in: [ce8177e3e6] user: drh branch: bswap-functions, size: 167298)
2015-06-29
14:11
[8976819854] part of check-in [ab7aeeead3] Simplifications and performance improvement in pager_write(). (check-in: [ab7aeeead3] user: drh branch: trunk, size: 167093)
2015-06-25
15:44
[dc4d9615bc] part of check-in [924f471291] Merge all the latest enhancements from trunk. (check-in: [924f471291] user: drh branch: sessions, size: 167703)
2015-06-23
12:19
[d5df694bc3] part of check-in [4df852ce26] Test that the left and right sides of a compound SELECT operator have the same number of expressions in the expanded expression list before beginning to generate code. (check-in: [4df852ce26] user: dan branch: trunk, size: 167049)
2015-06-17
18:18
[152c1a4cf6] part of check-in [199bfb67fd] Merge all recent enhancements and fixes from trunk. (check-in: [199bfb67fd] user: drh branch: sessions, size: 167639)
2015-06-15
14:43
[95b99b2821] part of check-in [b0badb9902] Fix harmless compiler warnings. (check-in: [b0badb9902] user: drh branch: trunk, size: 166985)
2015-06-11
18:01
[eb4d0375eb] part of check-in [c39cb0e257] Merge recent trunk enhancements and fixes. (check-in: [c39cb0e257] user: drh branch: sessions, size: 167472)
17:58
[e389c788cd] part of check-in [1df8cbbea6] Merge trunk fixes. (check-in: [1df8cbbea6] user: drh branch: view-optimization, size: 166994)
13:58
[8f095bfe43] part of check-in [e63d01c69c] When generating code for partial indexes, be sure not to modify the index condition expression in the schema. (check-in: [e63d01c69c] user: drh branch: trunk, size: 166818)
2015-06-10
17:20
[b9957d1f7a] part of check-in [a1eaf1718e] Resolve FROM-clause subqueries after query planning instead of before. Greatly reduce the estimated cost of automatic indexes for VIEWs and ephemeral tables since performance problems there cannot be mitigated via a CREATE INDEX. (check-in: [a1eaf1718e] user: drh branch: view-optimization, size: 166941)
2015-06-08
22:59
[4cc3db36af] part of check-in [cabf218716] Code refactoring to try to shift FROM-clause subquery manifesting until after the query planner runs. Except this does not currently work because the query planner needs an estimated of the number of rows in the manifested table. Work in progress. (check-in: [cabf218716] user: drh branch: view-optimization, size: 166862)
15:08
[4c6731ce49] part of check-in [c32ce54ca4] Factor out the TreeView parse tree printing module into a separate file. (check-in: [c32ce54ca4] user: drh branch: view-optimization, size: 166765)
2015-06-04
12:08
[851cc2ee6e] part of check-in [6a9cf06337] Change the name of SrcList.a[].zIndex to the more descriptive SrcList.a[0].zIndexedBy. (check-in: [6a9cf06337] user: drh branch: trunk, size: 166963)
2015-06-02
16:09
[98c49cbd56] part of check-in [80889306bf] Add the built-in affinity() SQL function. This turns out to be not as useful as originally envisioned, so abandon it on a branch. (check-in: [80889306bf] user: drh branch: affinity-func, size: 167044)
15:32
[bcf51f6ec3] part of check-in [bce3f04186] Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. (check-in: [bce3f04186] user: drh branch: blob-affinity-rename, size: 166963)
2015-06-01
17:32
[76b6ada92a] part of check-in [e3fa8b936b] Break out the query flattener into a separate source-code file. (check-in: [e3fa8b936b] user: drh branch: flattener-in-new-file, size: 167707)
2015-05-29
19:04
[7f3d18ce72] part of check-in [54bec164eb] Import recent enhancements from trunk. (check-in: [54bec164eb] user: drh branch: sessions, size: 167617)
01:35
[bc8496de6a] part of check-in [a29e117d7e] Using "SELECT ALL" instead of just "SELECT" on a query that uses a single unflattenable subquery or view in its FROM clause will force the subquery to be manifested into a temporary table rather than run incrementally using a co-routine. This is a stop-gap means of controlling the decision to manifest while we try to work out a better to make that decision automatically. (check-in: [a29e117d7e] user: drh branch: trunk, size: 166963)
2015-05-27
15:10
[bf82393211] part of check-in [19e2cebc12] Disallow the use of "rowid" in CTEs - it has never worked correctly and it makes no sense, so we might as well make it an explicit error. Also: add the PRAGMA cell_size_check=ON command. (check-in: [19e2cebc12] user: drh branch: trunk, size: 166897)
13:06
[01d0b87415] part of check-in [0055df0445] CTEs have never had working rowids. So disallow the use of the "rowid" column within CTEs. (check-in: [0055df0445] user: drh branch: no-rowid-in-cte, size: 166818)
03:46
[a45d51a1ba] part of check-in [2ead43f074] Add the "PRAGMA cell_size_check=ON" command. (check-in: [2ead43f074] user: drh branch: cell-size-check-pragma, size: 166764)
2015-05-26
11:53
[26484793b2] part of check-in [3b936913f3] Fix a problem with ignoring UNIQUE constraints on WITHOUT ROWID tables rendered redundant by the PRIMARY KEY. (check-in: [3b936913f3] user: dan branch: trunk, size: 166685)
2015-05-21
17:24
[9ff3e11267] part of check-in [b3bb660af9] Prevent a virtual table from being destroyed while it is in use. Also: replace Vdbe.inVtabMethod with sqlite3.nVDestroy. Simplify the EXPLAIN output for P4.pVtab to only show the sqlite3_vtab pointer. Cherrypick of [cbeb9a1aed8c]. (check-in: [b3bb660af9] user: dan branch: branch-3.8.6, size: 161102)
02:20
[ce9a4d64a1] part of check-in [9e3f64a4f4] Ensure that tables names are dequoted exactly once by the trigger logic. Cherrypick [59e92bd9521f1e8] and [9d887b92f8086961e]. (check-in: [9e3f64a4f4] user: drh branch: branch-3.7.11, size: 141979)
2015-05-20
20:30
[978e6e0178] part of check-in [bd357739d7] Ensure that tables names are dequoted exactly once by the trigger and FK logic. Cherrypick of [59e92bd9521f] and [9d887b92f808]. (check-in: [bd357739d7] user: dan branch: branch-3.8.6, size: 161024)
19:34
[1003899369] part of check-in [fc1a4f293c] Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances. Cherrypick of [eddc05e7bb31]. (check-in: [fc1a4f293c] user: dan branch: branch-3.8.6, size: 161088)
2015-05-19
22:42
[88f58e8885] part of check-in [0a0de8b72c] Merge recent trunk changes, include the R-Tree enhancement that allows 8-byte BLOB arguments to geometry functions, and the fix for the TEXT affinity problem that could cause corrupt indexes. (check-in: [0a0de8b72c] user: drh branch: sessions, size: 166897)
2015-05-15
04:13
[88738d94a3] part of check-in [56ef98a047] Simplifications to error message processing. Fix a possible problem in error message formatting when vacuuming a database with a corrupt schema. (check-in: [56ef98a047] user: drh branch: trunk, size: 166243)
2015-05-14
15:17
[5f7643182e] part of check-in [4f9229445c] Merge in the IS-operator enhancements and other recent changes from trunk. (check-in: [4f9229445c] user: drh branch: sessions, size: 166957)
2015-05-12
23:28
[51bf2dcd74] part of check-in [fbf29b453f] Improve API armor integration. Fix harmless compiler warnings. (check-in: [fbf29b453f] user: mistachkin branch: get-trace, size: 166315)
2015-05-11
11:59
[c9f77bd02f] part of check-in [4e6520159e] Revamp the way the DBSTAT virtual table is registered. (check-in: [4e6520159e] user: drh branch: trunk, size: 166303)
2015-05-05
17:12
[15960c3f5f] part of check-in [de7083cfe2] Merge all trunk enhancements and fixes into the sessions branch. (check-in: [de7083cfe2] user: drh branch: sessions, size: 166849)
2015-05-02
18:25
[42f804c1a0] part of check-in [f8b159794c] Add the SQLITE_LIMIT_PRINTF_WIDTH setting for sqlite3_limit() and associated logic for preventing DOS attacks using printf() with oversized widths or precisions. (check-in: [f8b159794c] user: drh branch: limit-printf-width, size: 166193)
11:45
[20d9c59fd8] part of check-in [7952c32268] Cleanup of the sqlite3StrAccumInit() function. No functionality changes. (check-in: [7952c32268] user: drh branch: trunk, size: 166195)
2015-05-01
15:25
[82cb9dc7f8] part of check-in [6566b72a9c] Remove obselete comment text from the description of the Table object. No changes to code. (check-in: [6566b72a9c] user: drh branch: trunk, size: 166242)
2015-04-29
00:35
[d6b2e99b3d] part of check-in [ca43812bde] Improved support for OSTRACE on Windows. (check-in: [ca43812bde] user: drh branch: trunk, size: 167714)
2015-04-28
23:34
[5a4e0ae0ce] part of check-in [9e593fb3db] Revise when the sqlite3ErrName() function is defined. (check-in: [9e593fb3db] user: mistachkin branch: winTest, size: 167348)
2015-04-23
13:49
[205ef3fbb2] part of check-in [4e5f17d189] Merge the latest trunk enhancements and fixes into the sessions branch. (check-in: [4e5f17d189] user: drh branch: sessions, size: 167553)
2015-04-22
14:41
[823549bbcb] part of check-in [658e20f554] Prototype for an sqlite3_db_log() interface. (check-in: [658e20f554] user: drh branch: sqlite3_db_log, size: 167035)
2015-04-21
16:38
[8abcea1295] part of check-in [9d887b92f8] Ensure that tables names are dequoted exactly once by the trigger logic. (check-in: [9d887b92f8] user: dan branch: trunk, size: 166899)
2015-04-20
01:32
[a146261a56] part of check-in [b8ef1cdee3] Merge all recent trunk enhancements and fixes into the sessions branch. (check-in: [b8ef1cdee3] user: drh branch: sessions, size: 167617)
01:25
[892e58b816] part of check-in [74b7bf1744] Merge all recent trunk enhancements and fixes into the apple-osx branch. (check-in: [74b7bf1744] user: drh branch: apple-osx, size: 168678)
2015-04-19
18:32
[3a1fccc2bb] part of check-in [4ac81fac6c] Bring comments on the INSERT code generator up-to-date. Fix the INSERT code generator so that it correctly handles inserts from a SELECT into a virtual table with non-terminal hidden columns. (check-in: [4ac81fac6c] user: drh branch: trunk, size: 166963)
2015-04-16
16:27
[1b6087a8e8] part of check-in [c37f4d492f] Restore SQLITE_FORCE_OS_TRACE to the MSVC makefile, which was removed during a merge. (check-in: [c37f4d492f] user: mistachkin branch: winTest, size: 166950)
14:13
[af228df2a0] part of check-in [ec5a493ad2] Improvements to the way VALUES clauses are parsed. (check-in: [ec5a493ad2] user: drh branch: trunk, size: 166538)
03:56
[0c5881204c] part of check-in [72485c97c6] Move OSTRACE defines so they are visible to all source files that need them. (check-in: [72485c97c6] user: mistachkin branch: winTest, size: 166950)
03:37
[2aa91b5b50] part of check-in [ae5af70427] Make sure the sqlite3DebugPrintf() function is defined for OSTRACE as well. (check-in: [ae5af70427] user: mistachkin branch: winTest, size: 166544)
03:24
[2c4f9e8a3e] part of check-in [cd1542664e] Merge updates from trunk. Make OSTRACE changes work on Linux. (check-in: [cd1542664e] user: mistachkin branch: winTest, size: 166535)
2015-04-13
23:11
[92d2e2925b] part of check-in [e709d3b4e7] Merge all recent trunk enhances into the apple-osx branch. (check-in: [e709d3b4e7] user: drh branch: apple-osx, size: 168248)
2015-04-12
01:33
[f415bc20c6] part of check-in [5f14f34f07] Merge all recent trunk enhancements into the sessions branch. (check-in: [5f14f34f07] user: drh branch: sessions, size: 167187)
2015-04-10
08:28
[6ee18690cb] part of check-in [08c0b19b89] Update this branch with the latest changes from sorter-opt. (check-in: [08c0b19b89] user: dan branch: insert-select-opt, size: 166541)
08:20
[90b7bfd89d] part of check-in [60be9c1c1a] Update this branch with latest trunk changes. (check-in: [60be9c1c1a] user: dan branch: sorter-opt, size: 166533)
2015-04-08
12:47
[160114e383] part of check-in [301218704c] Merge in all version 3.8.9 changes from trunk. (check-in: [301218704c] user: drh branch: apple-osx, size: 168178)
2015-04-06
12:08
[19c0a189e5] part of check-in [271c110bcf] Merge obscure problem fixes from trunk. (check-in: [271c110bcf] user: drh branch: sessions, size: 167117)
2015-04-04
16:43
[107b02ed6c] part of check-in [427b50fba7] Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses attached to compound SELECT statements. (check-in: [427b50fba7] user: dan branch: compound-order-by-fix, size: 166463)
2015-04-01
18:22
[c0437537f4] part of check-in [4621b2eef8] Merge latest trunk changes with this branch. (check-in: [4621b2eef8] user: dan branch: sorter-opt, size: 166455)
18:20
[df0ee35452] part of check-in [e403460b96] When vacuuming an index that uses no collations other than BINARY, assume that the order of index entries will not be changed by the VACUUM. (check-in: [e403460b96] user: dan branch: sorter-opt, size: 166431)
2015-03-31
19:06
[75e86ef580] part of check-in [f79c236fc5] Build fixes for OSTRACE enhancements. (check-in: [f79c236fc5] user: mistachkin branch: winTest, size: 166470)
17:45
[b54a3815ab] part of check-in [9cc70eee2e] Testing enhancements on Windows. (check-in: [9cc70eee2e] user: mistachkin branch: winTest, size: 166451)
00:10
[e974c4f98e] part of check-in [df94e61f93] Merge all recent trunk enhancements and fixes into the sessions branch. (check-in: [df94e61f93] user: drh branch: sessions, size: 167039)
2015-03-30
23:52
[f0fb2d8e3b] part of check-in [4d42bf5e18] Merge the latest trunk enhancements, and especially the fix for the infinite loop on a DROP TABLE in a corrupt database, into the apple-osx branch. (check-in: [4d42bf5e18] user: drh branch: apple-osx, size: 168100)
2015-03-27
00:21
[d02d2b85cb] part of check-in [fe976c9130] Using MSVC, get the sqlite3IoTrace variable working with the USE_STDCALL and/or DYNAMIC_SHELL options. (check-in: [fe976c9130] user: mistachkin branch: trunk, size: 166385)
2015-03-24
19:43
[c622684344] part of check-in [3ccd64eff7] Update this branch with latest trunk changes. (check-in: [3ccd64eff7] user: dan branch: insert-select-opt, size: 166369)
19:02
[d2804bd5a9] part of check-in [54aaa6f29a] Merge all recent trunk enhancements into the sessions branch. (check-in: [54aaa6f29a] user: drh branch: sessions, size: 167015)
18:49
[e3d6df1934] part of check-in [a2bd81e575] Merge the latest trunk enhancements into the apple-osx branch. (check-in: [a2bd81e575] user: drh branch: apple-osx, size: 168076)
12:51
[bedf15914c] part of check-in [9faefb9627] Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter. (check-in: [9faefb9627] user: drh branch: nVDestroy, size: 166361)
2015-03-23
18:52
[e22a2bfbee] part of check-in [c742bd6047] Add the SQLITE_PTRSIZE macro. Use it to help sqlite3_status() run faster on 32-bit systems. (check-in: [c742bd6047] user: drh branch: status64, size: 166283)
17:25
[de9d20aa57] part of check-in [1ce8e8fa4b] Add the sqlite3_status64() interface. Make the new interface and the legacy sqlite3_status() both atomic and threadsafe. Check threadsafety using assert()s. (check-in: [1ce8e8fa4b] user: drh branch: status64, size: 165887)
2015-03-21
17:00
[70be3eae58] part of check-in [9f1f8b331e] Merge all recent trunk enhancements and especially the blocking WAL-lock fix into the apple-osx branch. (check-in: [9f1f8b331e] user: drh branch: apple-osx, size: 167426)
07:16
[b536f3d79f] part of check-in [35eef4ddd5] Merge recent trunk changes with this branch. (check-in: [35eef4ddd5] user: dan branch: insert-select-opt, size: 165719)
2015-03-20
20:30
[0740285744] part of check-in [0a7f2051b2] Where possible insert the set of new keys for each index in sorted order within "INSERT INTO ... SELECT" statements. (check-in: [0a7f2051b2] user: dan branch: insert-select-opt, size: 165641)
14:57
[f2300529f3] part of check-in [e750830f1e] Provide the BTREE_SEEK_EQ hint to the b-tree layer. (check-in: [e750830f1e] user: drh branch: seek-eq, size: 165711)
08:43
[0f36b72dba] part of check-in [eddc05e7bb] Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances. (check-in: [eddc05e7bb] user: dan branch: trunk, size: 165633)
2015-03-09
13:18
[f54cc2f5c9] part of check-in [5e04eec88e] Merge recent trunk enhancements into the apple-osx branch. (check-in: [5e04eec88e] user: drh branch: apple-osx, size: 167343)
13:07
[9c62b8dff7] part of check-in [68c8937e83] Merge recent trunk enhancements into the sessions branch. (check-in: [68c8937e83] user: drh branch: sessions, size: 166282)
2015-03-02
22:06
[fae682c2b4] part of check-in [7d92f1f11e] Changes so that the amalgamation and the command-line shell build without modifications on VxWorks 7. Still gives a few compiler warnings, and still mostly untested on that platform. (check-in: [7d92f1f11e] user: drh branch: trunk, size: 165628)
17:25
[14e1648f61] part of check-in [17890292cf] Ensure that automatic indexes are *not* considered when doing the the subqueries of the OR-optimization. (check-in: [17890292cf] user: drh branch: trunk, size: 165571)
2015-02-21
15:13
[1e1c08093c] part of check-in [f36bb5fa5c] Merge all recent trunk changes into the sessions branch. (check-in: [f36bb5fa5c] user: drh branch: sessions, size: 166217)
2015-02-13
12:13
[399d21875c] part of check-in [b2449d6776] Merge all recent trunk fixes and enhancements into the apple-osx branch. (check-in: [b2449d6776] user: drh branch: apple-osx, size: 167278)
2015-02-09
16:09
[57a405ae6d] part of check-in [c053448a55] Propagate the COLLATE operator upward through function calls. Initial fix for ticket [ca0d20b6cdddec5e8]. (check-in: [c053448a55] user: drh branch: tkt-2f7170d7, size: 165563)
15:21
[b7b14a15f2] part of check-in [0b7d65e3fd] Disable the query flattener for aggregate subqueries if the parent query uses other subqueries in its result set or WHERE clause or ORDER BY clause. Preliminary fix for ticket [2f7170d73bf9abf8]. However it still contains a defect similar to the COLLATE problem of [ca0d20b6cddd]. (check-in: [0b7d65e3fd] user: drh branch: tkt-2f7170d7, size: 165606)
14:07
[436c02d087] part of check-in [4ef7ceced2] Rename the internal "EP_Constant" bitmask to a less misleading "EP_ConstFunc". (check-in: [4ef7ceced2] user: drh branch: trunk, size: 165349)
2015-02-06
16:03
[82a4ddf7b3] part of check-in [44711921fe] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [44711921fe] user: drh branch: apple-osx, size: 167043)
15:40
[bb33187ba6] part of check-in [ae7eef117f] Merge all the latest enhancements from trunk. (check-in: [ae7eef117f] user: drh branch: sessions, size: 165982)
2015-02-03
15:56
[57f8f45028] part of check-in [1c111447a0] Remove "PRAGMA ota_mode". (check-in: [1c111447a0] user: dan branch: ota-update, size: 165328)
2015-01-30
21:00
[66180aa8f8] part of check-in [3ed6eb2fab] Merge the SQLITE_TESTCTRL_IMPOSTER changes from trunk. (check-in: [3ed6eb2fab] user: drh branch: ota-update, size: 165475)
20:59
[c4e05f7489] part of check-in [42d5601739] Change SQLITE_TESTCTRL_INITMODE to SQLITE_TESTCTRL_IMPOSTER. Revise the order of parameters. Give it the ability to reset the schema parse table so that imposter tables can be erased. (check-in: [42d5601739] user: drh branch: trunk, size: 165328)
2015-01-29
02:26
[d70bca4e33] part of check-in [2305411097] Experimental sqlite_db_config() setting to disable writing to all btrees except for one btree with a particular root page. (check-in: [2305411097] user: drh branch: one-writable-btree, size: 165585)
2015-01-28
12:00
[25b73f7edb] part of check-in [17c69be805] Merge in all changes from trunk. (check-in: [17c69be805] user: drh branch: ota-update, size: 165410)
2015-01-16
12:24
[b20f54ab24] part of check-in [518621f8dc] Merge the 3.8.8 release changes from trunk. (check-in: [518621f8dc] user: drh branch: apple-osx, size: 166978)
2015-01-14
17:16
[ab9ee44bde] part of check-in [0ba124540b] Merge trunk 3.8.8 beta changes into the sessions branch (check-in: [0ba124540b] user: drh branch: sessions, size: 165917)
2015-01-12
18:52
[eaf210295b] part of check-in [ca5f2c5452] Merge updates from trunk. (check-in: [ca5f2c5452] user: mistachkin branch: msvcW4, size: 165263)
18:02
[f25fe9df72] part of check-in [856dd245ce] Work in progress on fixing harmless compiler warnings when using -W4 and MSVC. (check-in: [856dd245ce] user: mistachkin branch: msvcW4, size: 165261)
2015-01-10
16:49
[8cdd843985] part of check-in [9e92a5ed5a] Improvements to compile-time-option hygiene. Use "#if OPTION" instead of "#ifdef OPTION" in cases where that makes sense, so that -DOPTION=0 will work. Add the "Have-Not" configuration in releasetest.tcl which disables all of the "HAVE_component" compile-time options. (check-in: [9e92a5ed5a] user: drh branch: trunk, size: 164977)
2015-01-08
20:06
[892f2d3ba1] part of check-in [5a2dec55bf] Merge recent enhancements from trunk, including test scripts enhancements and the removal of limits on the number of terms in a VALUES clause. (check-in: [5a2dec55bf] user: drh branch: sessions, size: 165629)
19:55
[8f8bc296bb] part of check-in [cc7808427f] Merge the testing enhancements and the unlimited VALUES enhancement from trunk. (check-in: [cc7808427f] user: drh branch: apple-osx, size: 166690)
2015-01-05
19:16
[5d5716d8b3] part of check-in [9ce9e43af3] Handle compound-select statements originating from VALUES clauses as a special case that does not use recursion. (check-in: [9ce9e43af3] user: drh branch: many-VALUEs, size: 164975)
2015-01-02
19:17
[b04caf7cc3] part of check-in [df3cdf9f06] Merge the latest changes from trunk into the apple-osx branch. (check-in: [df3cdf9f06] user: drh branch: apple-osx, size: 166663)
15:55
[3e0079855c] part of check-in [acb0d1e832] Add the SQLITE_CONFIG_PMASZ start-time option. (check-in: [acb0d1e832] user: drh branch: trunk, size: 164948)
2014-12-16
01:05
[69c302a3b1] part of check-in [9817a2864e] Merge threading fixes from trunk into the sessions branch. (check-in: [9817a2864e] user: drh branch: sessions, size: 165536)
00:29
[5d511f0bd5] part of check-in [2c1d8ddab2] Merge latest fixes and enhancements from trunk into apple-osx. (check-in: [2c1d8ddab2] user: drh branch: apple-osx, size: 166597)
2014-12-12
23:17
[d36da9a071] part of check-in [d7bb7ea4ab] Add extra tests to threadtest4.c. Fix a benign data race accessing the text encoding using ENC(db). (check-in: [d7bb7ea4ab] user: drh branch: trunk, size: 164882)
00:20
[073d54f7a6] part of check-in [b7489f9451] Fix a bug in the threadtest4.c program. Remove the keyinfo cache as it provides minimal performance improvements, and then only at SQL preparation time, not at runtime, and it has problems with data races in shared-cache mode. We might later add the keyinfo cache back but only enable it when shared-cache mode is off. (check-in: [b7489f9451] user: drh branch: threadtest4, size: 164788)
2014-12-08
07:50
[9d7b1d5adf] part of check-in [69a312ad3f] Update this branch with latest trunk changes. (check-in: [69a312ad3f] user: dan branch: ota-update, size: 165009)
2014-12-05
14:36
[ef42a0515a] part of check-in [68b23c3d41] Add code to check the validity of CollSeq objects during runtime. This code was not able to detect anomalies such as came up as a result of ticket [e4a18565a36884b00edf66541f38c693827968ab] so it is put into a branch for historical reference, with the intent of leaving it out of trunk. (check-in: [68b23c3d41] user: drh branch: collseq-checking, size: 164936)
2014-12-04
23:42
[be4da0e05d] part of check-in [463ad971d2] Import from trunk support for SQLITE_CHECKPOINT_TRUNCATE and fixes for a couple of obscure bugs. (check-in: [463ad971d2] user: drh branch: apple-osx, size: 166577)
23:35
[aff67183ad] part of check-in [34ffa3b3c0] Incorporate the SQLITE_CHECKPOINT_TRUNCATE enhancement and a couple of obscure bug fixes from trunk. (check-in: [34ffa3b3c0] user: drh branch: sessions, size: 165516)
16:29
[474a00de22] part of check-in [5a80957b04] If a table is the right operand of a LEFT JOIN, then any column of that table can be NULL even if that column has a NOT NULL constraint. Fix for ticket [6f2222d550f5b0ee7ed]. (check-in: [5a80957b04] user: drh branch: branch-3.8.7, size: 164582)
16:27
[28049b803b] part of check-in [6f6fcbe473] If a table is the right operand of a LEFT JOIN, then any column of that table can be NULL even if that column has a NOT NULL constraint. Fix for ticket [6f2222d550f5b0ee7ed]. (check-in: [6f6fcbe473] user: drh branch: trunk, size: 164862)
2014-12-02
16:38
[67297342e0] part of check-in [43c4ba26a2] Merge all recent enhancements and bug fixes from trunk into the apple-osx branch. (check-in: [43c4ba26a2] user: drh branch: apple-osx, size: 166500)
16:31
[4ad823ef8e] part of check-in [2617d93713] Merge all recent fixes and enhancements from trunk into sessions. (check-in: [2617d93713] user: drh branch: sessions, size: 165439)
2014-11-22
09:09
[32d7becef5] part of check-in [600cefdd4d] Add SQLITE_ENABLE_OTA pre-processor directives so that this branch may be compiled with or without OTA. (check-in: [600cefdd4d] user: dan branch: ota-update, size: 164932)
2014-11-21
14:37
[d96b5f3ee0] part of check-in [7ef44c5b5b] Merge latest trunk changes with this branch. (check-in: [7ef44c5b5b] user: dan branch: ota-update, size: 164854)
2014-11-18
21:27
[f9240915e0] part of check-in [ccb601f6df] Merge recent trunk enhancements. (check-in: [ccb601f6df] user: drh branch: apple-osx, size: 166431)
21:20
[29e71a7464] part of check-in [f09055f3c4] Merge recent trunk enhancements, including the read-after-ROLLBACK change and the addition of sqlite3_stmt_scanstatus() support, as well as various minor bug fixes. (check-in: [f09055f3c4] user: drh branch: sessions, size: 165370)
2014-11-15
19:08
[c9e95b8fa9] part of check-in [00fe095057] Adding the "noskipscan" token to an sqlite_stat1.stat field prevents an index for being used with the skip-scan algorithm. (check-in: [00fe095057] user: drh branch: noskipscan-token, size: 164785)
2014-11-12
14:12
[c97db3c4d2] part of check-in [839a6df9f9] Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (check-in: [839a6df9f9] user: drh branch: branch-3.8.7, size: 164505)
2014-11-07
14:37
[71b0bf1a7f] part of check-in [b45bc80bb1] Fix another harmless comment typo. (check-in: [b45bc80bb1] user: drh branch: trunk, size: 164716)
2014-11-01
18:32
[8f67ca79e9] part of check-in [49188b2bb5] Add requirements marks and make minor tweaks to documentation. (check-in: [49188b2bb5] user: drh branch: trunk, size: 164716)
2014-10-31
15:20
[b156fa7ce5] part of check-in [fef8430f12] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [fef8430f12] user: drh branch: apple-osx, size: 166481)
14:53
[339f3f8bf6] part of check-in [28b044a512] Merge recent trunk enhancements, and in particular the improvements to the b-tree balancing logic, into the sessions branch. (check-in: [28b044a512] user: drh branch: sessions, size: 165420)
2014-10-29
18:20
[4f86ac648e] part of check-in [08a27440f1] Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (check-in: [08a27440f1] user: drh branch: trunk, size: 164766)
2014-10-27
18:42
[327b70f818] part of check-in [10aaf3b148] Merge latest enhancements, including the SQLITE_ENABLE_API_ARMOR patch, from trunk. (check-in: [10aaf3b148] user: drh branch: apple-osx, size: 166477)
2014-10-25
13:42
[90519c3b3e] part of check-in [0f08924fe0] Increase the resolution of the second parameter to the likelihood() SQL function (the probability value) so that it can handle probabilities as small as 0.00000001. Formerly, it ran out of precision at 0.001. (check-in: [0f08924fe0] user: drh branch: trunk, size: 164762)
2014-10-24
19:28
[123b28f355] part of check-in [d95d0313c4] Enhance the automatic index logic so that it creates a partial index when doing so gives the same answer for less work. UPDATE: This change introduced a bug described by ticket [2326c258d02ead33]. (check-in: [d95d0313c4] user: drh branch: trunk, size: 164757)
2014-10-22
19:57
[6e9e125698] part of check-in [ca3b00c44e] Change the 0x800 bit of SQLITE_TESTCTRL_OPTIMIZATIONS so that it disables the loading of STAT3 and STAT4 content, not just the using of that content. Change the internal name of that bit to SQLITE_Stat34. (check-in: [ca3b00c44e] user: drh branch: trunk, size: 164575)
15:27
[d6d423b0f6] part of check-in [3c933bf95f] Take steps to avoid misestimating range query costs based on STAT4 data due to the roundoff error of converting from integers to LogEst and back to integers. (check-in: [3c933bf95f] user: drh branch: trunk, size: 164578)
2014-10-20
16:34
[cf72fe02b3] part of check-in [d380a6482a] Merge version-3.8.7 changes with this branch. (check-in: [d380a6482a] user: dan branch: ota-update, size: 164570)
2014-10-14
14:17
[0c5e658705] part of check-in [880df7568a] Merge from trunk recent micro-optimizations and the fix for the DESC index GROUP BY ORDER BY bug. (check-in: [880df7568a] user: drh branch: apple-osx, size: 166216)
13:41
[f712b324ba] part of check-in [83d4114f2a] Merge recent trunk micro-optimizations and the DESC index GROUP BY ORDER BY bug fix into the sessions branch. (check-in: [83d4114f2a] user: drh branch: sessions, size: 165155)
2014-10-13
12:30
[f7812f74f2] part of check-in [134e65c07f] Use OP_SorterColumns in aggregate queries. Remove OPFLAG_CLEARCACHE. (check-in: [134e65c07f] user: drh branch: OP_SorterColumns, size: 164501)
2014-10-10
18:09
[c417a25e23] part of check-in [9ee5686ab3] Changes to enable compiling using VC6. (check-in: [9ee5686ab3] user: drh branch: trunk, size: 164582)
12:56
[eaacd377fa] part of check-in [abfef25472] Merge all recent trunk changes. (check-in: [abfef25472] user: drh branch: sessions, size: 165218)
2014-10-09
11:27
[17ad00f1c7] part of check-in [6fc7207727] Merge the latest trunk enhancements into the apple-osx branch. (check-in: [6fc7207727] user: drh branch: apple-osx, size: 166279)
2014-10-07
15:46
[6ac5e34a59] part of check-in [ca5b789e33] Enhance (and fix) the MEMTYPE tags associated with heap memory allocations when SQLITE_MEMDEBUG is used. (check-in: [ca5b789e33] user: drh branch: trunk, size: 164564)
2014-10-03
19:16
[3e4bd1b228] part of check-in [e6f7f97dbc] Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples under some circumstances. (check-in: [e6f7f97dbc] user: dan branch: stat4-avgeq, size: 164640)
2014-10-01
01:52
[c0e679f9be] part of check-in [2695772c98] Merge the latest enhancements from trunk. (check-in: [2695772c98] user: drh branch: sessions, size: 165219)
01:46
[15966870ee] part of check-in [2078454ac9] Merge the latest enhancements from trunk. (check-in: [2078454ac9] user: drh branch: apple-osx, size: 166280)
2014-09-30
19:04
[5a430c5443] part of check-in [5ce05757aa] Improvements to the new syntax-tree output routines: Omit the "END SELECT" mark and instead terminate the graph at the last item. Increase the maximum tree depth to 100. (check-in: [5ce05757aa] user: drh branch: trunk, size: 164565)
17:31
[254797e622] part of check-in [b6b289182f] Enable the query planner to deal with WHERE clauses that have OR terms nested within AND terms that are nested within OR terms. Also remove an unused function declaration. (check-in: [b6b289182f] user: drh branch: trunk, size: 164558)
12:33
[8242d04760] part of check-in [4ff51325d6] Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). (check-in: [4ff51325d6] user: drh branch: trunk, size: 164615)
2014-09-29
18:47
[ba443d9af2] part of check-in [5e5d6e8680] 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: [5e5d6e8680] user: drh branch: faster-OP_Column, size: 164463)
2014-09-27
19:51
[219f6e9323] part of check-in [497367cb57] Merge recent trunk changes (performance enhancements) into the sessions branch. (check-in: [497367cb57] user: drh branch: sessions, size: 165044)
2014-09-25
02:44
[5e09fe04f9] part of check-in [ef30e0352b] Change that might allow SQLite to build and work using the EBCDIC character set. (check-in: [ef30e0352b] user: drh branch: trunk, size: 164390)
2014-09-24
13:20
[ca777ba045] part of check-in [1ad2bc1ed4] Do not allow parameters in a DEFAULT clause of a CREATE TABLE statement. Ticket [78c0c8c3c9f7c1]. (check-in: [1ad2bc1ed4] user: drh branch: trunk, size: 164288)
2014-09-21
23:08
[f607f57c8b] part of check-in [3967ebe83e] Merge in all recent changes from trunk. (check-in: [3967ebe83e] user: drh branch: apple-osx, size: 165999)
22:49
[35f074ded9] part of check-in [6406b77f2c] Merge all recent trunk changes into the sessions branch. (check-in: [6406b77f2c] user: drh branch: sessions, size: 164938)
00:27
[5ecde21917] part of check-in [c0b61f7092] Improved ".selecttrace" output. (check-in: [c0b61f7092] user: drh branch: select-trace, size: 164284)
2014-09-20
20:24
[1020906859] part of check-in [f1ba68f131] Fix the SELECTTRACE_ENABLE macro so that it doesn't cause problems for testfixture. Add new SELECTTRACE() calls. (check-in: [f1ba68f131] user: drh branch: select-trace, size: 164090)
18:18
[59b0796cd2] part of check-in [cbe0cf9ddf] Enable SELECT query planning tracing when compiled with SQLITE_ENABLE_SELECTTRACE and either SQLITE_DEBUG or SQLITE_TEST. (check-in: [cbe0cf9ddf] user: drh branch: select-trace, size: 164122)
00:02
[6fd801cac9] part of check-in [35db3e2f35] Revise macro usage in 'sqliteInt.h'. (check-in: [35db3e2f35] user: mistachkin branch: sqliteIntMacros, size: 163617)
2014-09-19
20:13
[686e6a49eb] part of check-in [3f3ca76aea] Fix the affinity on inserts into the ANALYZE tables. Change the affinity characters to be upper case, to make the P5 parameter of comparison operators easier to read. (check-in: [3f3ca76aea] user: drh branch: trunk, size: 163590)
2014-09-18
14:36
[9bb8f655b0] part of check-in [4ef4c9a7c8] 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: [4ef4c9a7c8] user: drh branch: trunk, size: 163590)
2014-09-15
15:34
[3210f8bd04] part of check-in [55b8011d5b] Merge latest trunk changes with this branch. (check-in: [55b8011d5b] user: dan branch: ota-update, size: 163630)
14:46
[0803e900eb] part of check-in [0bdf1a086b] Do not flatten aggregate subqueries that contain min() or max() functions so that if the min()/max() are discarded by the outer query, they still function and cause non-aggregate expression to be evaluated on the minimal or maximal row. (check-in: [0bdf1a086b] user: drh branch: trunk, size: 163561)
2014-09-12
04:28
[e9030816d5] part of check-in [2f69a1fa6a] Fix a problem with parser memory allocation on 32-bit systems. (check-in: [2f69a1fa6a] user: drh branch: trunk, size: 163091)
2014-09-11
18:44
[0f6bd5c2bc] part of check-in [7e4978c003] Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_text64(), sqlite3_result_blob64(), and sqlite3_result_text64(). Add the sqlite3_msize() interface. Internal memory allocation routines now use 64-bit unsigned length parameters for safety. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. (check-in: [7e4978c003] user: drh branch: trunk, size: 163094)
16:19
[c208bf79ce] part of check-in [842c6da8f1] Enhance the sqlite3_user_add() interface to initialize the user authentication logic. Add test cases for the extra argument on the end of the authorizer callback. (check-in: [842c6da8f1] user: drh branch: user-auth, size: 163094)
13:44
[cb44c24e5c] part of check-in [596e728b0e] Add support for the extra parameter on the sqlite3_set_authorizer() callback and support for failing an ATTACH with an authentication-required database using bad credentials. The extension is now feature complete, but much testing and bug-fixing remains. (check-in: [596e728b0e] user: drh branch: user-auth, size: 163058)
2014-09-10
19:01
[fdc23ef0c5] part of check-in [a0455f9deb] Add the ".user" shell command and implement the sqlite3_user_add() routine. Incremental check-in. The code compiles but does not work. (check-in: [a0455f9deb] user: drh branch: user-auth, size: 162769)
17:34
[10a1f056b6] part of check-in [c8171ecd0d] Further ideas on user authentication. Not yet working code. (check-in: [c8171ecd0d] user: drh branch: user-auth, size: 162707)
2014-09-09
17:27
[0a9083f9d2] part of check-in [94954850cf] Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_texte64(), sqlite3_result_blob64(), and sqlite3_result_texte64(). Internal memory allocation routines also now use 64-bit unsigned length parameters for safety. Also add the sqlite3_msize() interface. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. (check-in: [94954850cf] user: drh branch: 64-bit-lengths, size: 161578)
14:47
[883f905f17] part of check-in [8440f093ba] Non-working preliminary implementation attempts on user authentication. (check-in: [8440f093ba] user: drh branch: user-auth, size: 162860)
2014-09-08
15:04
[4d6c5c8732] part of check-in [c2885c6bb2] Merge support for large files on Android from trunk. (check-in: [c2885c6bb2] user: drh branch: sessions, size: 162232)
2014-09-06
16:39
[4d1b0488f0] part of check-in [e62aab5e92] Fix typos in comments. No code changes. (check-in: [e62aab5e92] user: peter.d.reid branch: trunk, size: 161578)
01:35
[dbc9a4984a] part of check-in [73954f93c4] Query planner heuristic update: When doing a full table scan on a table that has an equality constraint on an unindexed column, do not allow the estimated number of output rows to be greater than half the total number of rows in the table. (check-in: [73954f93c4] user: drh branch: trunk, size: 161575)
2014-09-02
19:59
[7c09082533] part of check-in [2954ab5010] Add an experimental extension for applying bulk updates to databases. (check-in: [2954ab5010] user: dan branch: ota-update, size: 161725)
15:57
[439ad3b98d] part of check-in [696dc935f7] Merge the latest trunk changes into the apple-osx branch. (check-in: [696dc935f7] user: drh branch: apple-osx, size: 163371)
15:49
[465b40ebe6] part of check-in [d4cce2c71e] Merge the latest trunk changes, including the multi-threaded sorter, into the sessions branch. (check-in: [d4cce2c71e] user: drh branch: sessions, size: 162310)
2014-08-29
19:06
[6244ee9052] part of check-in [33fa041049] Disable worker threads when SQLITE_THREADSAFE=0. Set the default compile-time maximum number of worker threads to 8 and honor the SQLITE_DEFAULT_WORKER_THREADS compile-time constant (which defaults to 0). (check-in: [33fa041049] user: drh branch: threads, size: 161656)
16:20
[e539938b35] part of check-in [1b598c68f3] Add SQLITE_LIMIT_WORKER_THREADS for controlling the maximum number of worker threads. (check-in: [1b598c68f3] user: drh branch: threads, size: 161632)
2014-08-26
02:15
[2ecc10cd81] part of check-in [08ae974ac8] Merge recent performance enhancements and the CAST operator enhancements into the sessions branch. (check-in: [08ae974ac8] user: drh branch: sessions, size: 161381)
02:02
[de747e3ec9] part of check-in [5c27311105] Merge recent performance enhancements and the CAST operator enhancements into the apple-osx branch. (check-in: [5c27311105] user: drh branch: apple-osx, size: 162387)
2014-08-25
23:44
[43419afaed] part of check-in [e3305d4b4e] Remove the SQLITE_CONFIG_WORKER_THREADS configuration parameter. The number of worker threads in the sorter is now determined only by the PRAGMA threads=N setting. (check-in: [e3305d4b4e] user: drh branch: threads, size: 161702)
15:13
[d8eb2d4d4c] part of check-in [29c5e8a7c9] Query or change the maximum number of worker threads allowed on each database connection separately using the "PRAGMA threads" command. (check-in: [29c5e8a7c9] user: drh branch: threads, size: 161739)
13:27
[80d0bb053e] part of check-in [dfdc900f5d] Merge the recent performance enhancements implemented on trunk into the threads branch. (check-in: [dfdc900f5d] user: drh branch: threads, size: 161668)
2014-08-22
18:48
[d8a9be2aa1] part of check-in [a929be5519] Performance enhancement in sqlite3PutVarint(). (check-in: [a929be5519] user: drh branch: trunk, size: 160727)
18:00
[937869c407] part of check-in [cf561d1f0b] Split the sqlite3Error() routine into sqlite3Error() and sqlite3ErrorWithMsg(), for a slight size reduction and performance increase. (check-in: [cf561d1f0b] user: drh branch: trunk, size: 161393)
14:34
[99bd20e5a1] part of check-in [8267d82174] Get the sqlite3VdbeSerialGet() routine to run faster by avoiding the use of local variables. (check-in: [8267d82174] user: drh branch: experimental, size: 161353)
2014-08-15
22:37
[f67d4b2820] part of check-in [c8ade949d4] Aborted merge. (check-in: [c8ade949d4] user: numist branch: obsolete, size: 161465)
2014-08-06
02:03
[b500ee4617] part of check-in [a353a8515f] Merge all recent changes from trunk. (check-in: [a353a8515f] user: drh branch: threads, size: 162024)
01:51
[e8916c78a3] part of check-in [b2e01080cc] Merge 3.8.6 beta changes in from trunk. (check-in: [b2e01080cc] user: drh branch: apple-osx, size: 162743)
01:25
[d60dbbadfd] part of check-in [68a6d5e2f4] Merge the latest 3.8.6 beta changes from trunk. (check-in: [68a6d5e2f4] user: drh branch: sessions, size: 161737)
2014-08-05
19:16
[641f8fbb65] part of check-in [9528682168] Add the ability to evaluate IN operators as a sequence of comparisons as an alternative to the long-standing algorithm of building a lookup table. Use the new implementation in circumstances where it is likely to be faster, such as when the RHS of the IN changes between successive evaluations. (check-in: [9528682168] user: drh branch: trunk, size: 161083)
11:04
[85c03beef5] part of check-in [5ae80b3c8f] Rename the internal Schema.flags field to Schema.schemaFlags. (check-in: [5ae80b3c8f] user: drh branch: trunk, size: 160937)
2014-08-01
15:34
[5cee19f34f] part of check-in [e13175d357] The idea of coding IN operator with a short list on the RHS as an OR expression turns out to be helpful. If the list is of length 1 or 2, the OR expression is very slightly faster, but the ephemeral table approach is clearly better for all list lengths greater than 2. Better to keep the code simple. (check-in: [e13175d357] user: drh branch: IN-operator-improvements, size: 160913)
14:46
[17ece600d3] part of check-in [ee0fd6aaf9] Begin making changes to the IN operator in an attempt to make it run faster and to make the code easier to understand. (check-in: [ee0fd6aaf9] user: drh branch: IN-operator-improvements, size: 161059)
2014-07-31
22:59
[3b17ba74ee] part of check-in [e75b26ee35] Refactoring: Change "pIndex->onError!=OE_None" to use a macro: "IsUniqueIndex(pIndex)". Easier to understand that way. (check-in: [e75b26ee35] user: drh branch: trunk, size: 160503)
2014-07-30
11:49
[cf62c8e9af] part of check-in [654c6c658b] Merge all recent trunk changes, and especially the R-Tree IN operator fix of ticket [d2889096e7bdeac]. (check-in: [654c6c658b] user: drh branch: apple-osx, size: 162061)
2014-07-29
12:40
[56c7fe5627] part of check-in [8f1beeade0] Merge recent trunk changes, and especially the fix for the R-Tree problem described in ticket [d2889096e7bdeac6]. (check-in: [8f1beeade0] user: drh branch: sessions, size: 161055)
00:23
[9c1e5b9651] part of check-in [2773a5f987] Fix the build on windows. (check-in: [2773a5f987] user: drh branch: threads, size: 161342)
2014-07-28
15:01
[f2b28ce010] part of check-in [163c247bd8] Merge recent trunk changes into the threads branch. (check-in: [163c247bd8] user: drh branch: threads, size: 161435)
2014-07-25
21:35
[068e42f41a] part of check-in [e0fa6fdc14] Try to fix harmless compiler warnings reported by Fortify. (check-in: [e0fa6fdc14] user: drh branch: trunk, size: 160401)
2014-07-24
16:54
[7d3b81b03c] part of check-in [770685892c] Merge all recent trunk changes into the threads branch. (check-in: [770685892c] user: drh branch: threads, size: 161436)
16:43
[ea8283fbff] part of check-in [3810dc62d2] Merge recent trunk changes into the apple-osx branch. (check-in: [3810dc62d2] user: drh branch: apple-osx, size: 162062)
16:23
[83f438c598] part of check-in [a9db017eab] Merge recent trunk changes into the sessions branch. (check-in: [a9db017eab] user: drh branch: sessions, size: 161056)
12:19
[152134c622] part of check-in [f8f79f2878] Add support for hexadecimal integer literals in the parser. (check-in: [f8f79f2878] user: drh branch: trunk, size: 160402)
2014-07-23
23:57
[deee99a62c] part of check-in [729ece4088] Add experimental "costmult" logic. Only enabled when compiled with -DSQLITE_ENABLE_COSTMULT. (check-in: [729ece4088] user: drh branch: trunk, size: 160357)
14:52
[e8ff8fdb51] part of check-in [a5b383e077] Remove a surplus function prototype. #ifdef code that is not used when hex integers are omitted at compile time. (check-in: [a5b383e077] user: drh branch: hex-literal, size: 160299)
13:40
[783e77ab49] part of check-in [6c6f0de59b] Change the hex literal processing so that only the SQL parser understands hex literals. Casting and coercing string literals into numeric values does not understand hexadecimal integers. This preserves backwards compatibility. Also: Throw an error on any hex literal that is too big to fit into 64 bits. (check-in: [6c6f0de59b] user: drh branch: hex-literal, size: 160338)
2014-07-22
20:02
[b72a09326d] part of check-in [77f412caf0] Add the OP_ReopenIdx opcode that works like OP_OpenRead except that it becomes a no-op if the cursor is already open on the same index. Update the OR-optimization logic to make use of OP_ReopenIdx in order to avoid unnecessary cursor open requests sent to the B-Tree layer. (check-in: [77f412caf0] user: drh branch: trunk, size: 160254)
00:40
[0991b31a98] part of check-in [b67a6e33f2] For the OR-optimization, avoid generating OP_OpenRead opcodes that reopen exactly the same index. (check-in: [b67a6e33f2] user: drh branch: trunk, size: 160266)
2014-07-21
15:44
[5dbcdcf81c] part of check-in [1a817ae2f3] 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: [1a817ae2f3] user: drh branch: trunk, size: 160186)
2014-06-30
20:25
[54cf6813e9] part of check-in [ae23a65eb1] Merge the latest trunk changes into the threads branch. (check-in: [ae23a65eb1] user: drh branch: threads, size: 160634)
20:02
[19dc376743] part of check-in [a5d94eaba6] Merge the latest trunk enhancements into the sessions branch. (check-in: [a5d94eaba6] user: drh branch: sessions, size: 160254)
19:57
[d8e721af07] part of check-in [f426876fe1] Merge the latest trunk changes into the apple-osx branch. (check-in: [f426876fe1] user: drh branch: apple-osx, size: 161260)
2014-06-26
20:21
[e88614d737] part of check-in [01dc810259] Attempt to use sqlite_stat4 data to estimate the number of rows visited by a range query that uses a skip-scan. This code is largely untested. (check-in: [01dc810259] user: dan branch: stat4-skipscan, size: 159600)
2014-05-29
20:36
[6b40bb90f5] part of check-in [b9fad4490c] Merge trunk changes into the apple-osx branch. (check-in: [b9fad4490c] user: drh branch: apple-osx, size: 161119)
20:29
[b9260ccf4c] part of check-in [9f18e78f03] Merge trunk changes into the sessions branch. (check-in: [9f18e78f03] user: drh branch: sessions, size: 160113)
20:24
[00cd3cf7be] part of check-in [416cb09126] Merge changes from the trunk into the threads branch. (check-in: [416cb09126] user: drh branch: threads, size: 160493)
2014-05-27
18:18
[fccdc735c2] part of check-in [d16e575dac] Change the name of the Index.autoIndex field to Index.idxType and provide symbolic names for the various values of that field rather than using magic numbers. (check-in: [d16e575dac] user: drh branch: trunk, size: 159459)
2014-05-20
00:27
[43694557fe] part of check-in [23722be49a] Merge all recent trunk changes into the apple-osx branch. (check-in: [23722be49a] user: drh branch: apple-osx, size: 160725)
00:20
[01c7555ded] part of check-in [2d33afe0c4] Merge recent trunk changes into the sessions branch. (check-in: [2d33afe0c4] user: drh branch: sessions, size: 159719)
2014-05-19
15:16
[2b247d6b22] part of check-in [17349a49d2] 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: [17349a49d2] user: drh branch: safer-malloc, size: 159065)
2014-05-16
14:27
[7bda339d24] part of check-in [43fcbd9116] Merge all recent changes from trunk, and especially the new sqlite3FaultSim() interface. (check-in: [43fcbd9116] user: drh branch: threads, size: 160099)
14:17
[1977f44283] part of check-in [0d43a7ad9a] Repurpose the SQLITE_TESTCTRL_FAULT_INSTALL test-control to register a callback to be invoked by sqlite3FaultSim(). That test-control has been unused since 2008-06-20 and was never used in any official release. (check-in: [0d43a7ad9a] user: drh branch: trunk, size: 159065)
2014-05-08
23:01
[53c0b5cd25] part of check-in [9411d7dc6f] Initial attempt to merge in all trunk changes over the previous 1.5 years. This check-in compiles but there are compiler warnings and "make test" segfaults after only running a few test modules. (check-in: [9411d7dc6f] user: drh branch: apple-osx, size: 160502)
2014-05-06
15:28
[23b03ab00d] part of check-in [8ad0a123a2] Experimental changes that reduce the size of Expr objects from 72 to 64 bytes each on x64 and from 48 to 44 bytes each on x32. (check-in: [8ad0a123a2] user: drh branch: smaller-expr, size: 159101)
2014-05-05
22:49
[cf88022af7] part of check-in [f1a4bf01a2] Add the "omit_check_constraints" pragma that causes the check constraint expressions to be omitted from the parse tree. (check-in: [f1a4bf01a2] user: drh branch: reduce-schema-size, size: 158921)
19:57
[b1707e267c] part of check-in [35a9f3f178] Try to reduce the amount of memory used to hold the schema when PRAGMA ignore_check_constraints is active. (check-in: [35a9f3f178] user: drh branch: reduce-schema-size, size: 158842)
2014-05-03
11:22
[8510031260] part of check-in [e0dea89b3e] Add the SQLITE_DEFAULT_WORKER_THREADS compile-time option. Fix a NULL-pointer dereference that can occur following OOM. (check-in: [e0dea89b3e] user: drh branch: threads, size: 159876)
2014-05-02
18:05
[76bd7ba540] part of check-in [d9549de317] Merge orderby-planning with this branch. (check-in: [d9549de317] user: dan branch: threads, size: 159624)
2014-04-30
13:19
[b2947801ec] part of check-in [b9f91317c3] Fix long-standing typos in comments. (check-in: [b9f91317c3] user: drh branch: experimental-costs, size: 158842)
2014-04-28
18:02
[76b4d4f0b9] part of check-in [e158812c34] Merge all recent trunk enhancements and fixes into the sessions branch. (check-in: [e158812c34] user: drh branch: sessions, size: 159498)
2014-04-25
20:22
[63656cfa5a] part of check-in [c51efaa5d2] If the user provides likelihood() data for a WHERE clause term used as part of an index key, have the planner use it when calculating the expected number of rows visited by the loop. (check-in: [c51efaa5d2] user: dan branch: experimental-costs, size: 158844)
15:01
[bad694fd6b] part of check-in [1bd74c49dd] Store values loaded from the stat1 table as logarithmic values in memory. (check-in: [1bd74c49dd] user: dan branch: experimental-costs, size: 158938)
2014-04-23
12:57
[cc6486a5cc] part of check-in [e2c9f71a45] Merge all recent trunk changes into the threads branch. (check-in: [e2c9f71a45] user: drh branch: threads, size: 159626)
2014-04-21
13:21
[03e2f60ccb] part of check-in [de9a490f59] Avoid discarding an ORDER BY clause in the case where an identical GROUP BY clauses uses an index to group, but not sort, the rows. Fix for [b75a9ca6b0]. (check-in: [de9a490f59] user: dan branch: trunk, size: 158844)
2014-04-18
12:38
[788c9b7d3b] part of check-in [8729aa3e3e] Merge recent trunk changes into the threads branch. (check-in: [8729aa3e3e] user: drh branch: threads, size: 159513)
01:10
[8697c8e82d] part of check-in [95e77efe07] Merge recent trunk changes into sessions. (check-in: [95e77efe07] user: drh branch: sessions, size: 159385)
00:49
[d3ca0bdd67] part of check-in [2c5363873a] Add the SQLITE_RUNTIME_BYTEORDER compile-time option to force SQLite to check the processor byte-order at run-time. Add additional compile-time byte order checks for ARM, PPC, and SPARC. (check-in: [2c5363873a] user: drh branch: trunk, size: 158731)
00:06
[35a265ef6e] part of check-in [9c6961967a] Add the SQLITE_TESTCTRL_BYTEORDER test control to interrogate SQLite's notion of the processor byte order and whether the byte order is known at compile-time or determined at run-time. (check-in: [9c6961967a] user: drh branch: trunk, size: 158122)
2014-04-13
19:28
[dadd17dbd0] part of check-in [ab23abf392] Remove the unused second argument from sqlite3ExprCachePop(). Add an ALWAYS() on an always-true conditional in sqlite3VdbeResolveLabel(). (check-in: [ab23abf392] user: drh branch: trunk, size: 157934)
19:15
[97df117e13] part of check-in [3122b83640] Make sure column cache elements are cleared correctly when jumping over code for key generation in a partial index. Fix for ticket [2ea3e9fe6379fc3f6]. (check-in: [3122b83640] user: drh branch: trunk, size: 157939)
2014-04-10
02:24
[9b1361478e] part of check-in [a67b5312f6] 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: [a67b5312f6] user: drh branch: trunk, size: 157894)
2014-04-04
22:44
[533154bf9d] part of check-in [e54dded201] Fix harmless compiler warnings. (check-in: [e54dded201] user: drh branch: threads, size: 158675)
2014-04-03
16:35
[2ce2e12bc5] part of check-in [9515c8344a] Merge all recent changes from trunk, including the fix for the OP_SCopy-vs-OP_Copy problem. (check-in: [9515c8344a] user: drh branch: sessions, size: 158547)
16:25
[78c8940112] part of check-in [9d3351b8d7] Fix an integer overflow problem in the sorter. (check-in: [9d3351b8d7] user: dan branch: threads, size: 158636)
2014-04-01
10:19
[3ed0fedb5b] part of check-in [59cd5229e2] Fix a problem with OOM handling in the sorter code. (check-in: [59cd5229e2] user: dan branch: threads, size: 158557)
2014-03-31
19:57
[7f42c2792b] part of check-in [2774710df8] Add the SQLITE_MAX_WORKER_THREADS compile time option. And the SQLITE_CONFIG_WORKER_THREADS sqlite3_config() switch. (check-in: [2774710df8] user: dan branch: threads, size: 158545)
2014-03-28
19:18
[3f5190a4e0] part of check-in [4c7fb54234] Merge latest changes from orderby-planning branch. (check-in: [4c7fb54234] user: dan branch: threads, size: 158167)
03:12
[cc9582a91b] part of check-in [7fa85eaaaf] Enhance the sqlite3VdbeRecordCompare() routines so that if they encounter database corruption, they will set the UnpackedRecord.isCorrupt field and return 0. The sqlite3BtreeMovetoUnpacked() routine detects this and returns SQLITE_CORRUPT, causing the corruption to be reported back to the top-level. (check-in: [7fa85eaaaf] user: drh branch: trunk, size: 157893)
2014-03-26
19:43
[b0fa7a8b72] part of check-in [fc8ca1a87e] Merge in fixes (including the corrupt-database crash fix) and performance enhancements from trunk. (check-in: [fc8ca1a87e] user: drh branch: sessions, size: 158479)
2014-03-25
13:17
[fb667a3d60] part of check-in [b415dfb6cb] Merge all fixes and enhancements from trunk. (check-in: [b415dfb6cb] user: drh branch: threads, size: 158099)
2014-03-24
16:30
[afbf39e967] part of check-in [4d7551ce46] Remove unused variables Parse.nColCache and Parse.iColCache. (check-in: [4d7551ce46] user: dan branch: trunk, size: 157825)
2014-03-21
20:58
[1e16bac177] part of check-in [fa06a6fed9] Add the ability to use indices for the first few terms of an ORDER BY clause, then sort in batches to handle the later terms. (check-in: [fa06a6fed9] user: drh branch: trunk, size: 157953)
19:56
[76b1cf0836] part of check-in [45d8cc678d] Change the names of SRT_DistTable and SRT_Table used by CTE to more meaningful SRT_DistFifo and SRT_Fifo, respectively. Simplify the IgnorableOrderby() macro in the process. (check-in: [45d8cc678d] user: drh branch: trunk, size: 158043)
19:27
[828f61d3c5] part of check-in [1f413aca00] Avoid leaking memory in an obscure case where the flattener adds an ORDER BY clause to the recursive part of a recursive query. (check-in: [1f413aca00] user: dan branch: trunk, size: 157859)
2014-03-20
20:56
[dc37150ad6] part of check-in [eca35871c3] Merge trunk fixes for "x IN (?)" handling. (check-in: [eca35871c3] user: drh branch: orderby-planning, size: 157745)
17:03
[42acfa3d3b] part of check-in [2ea4a9f75f] The "x IN (?)" optimization in check-ins [2ff3b25f40] and [e68b427afb] is incorrect, as demonstrated by the in4-5.1 test case in this check-in. The "COLLATE binary" that was being added to the RHS of IN was overriding the implicit collating sequence of the LHS. This change defines the EP_Generic expression node property that blocks all affinity or collating sequence information in the expression subtree and adds that property to the expression taken from RHS of the IN operator. (check-in: [2ea4a9f75f] user: drh branch: trunk, size: 157835)
15:14
[db6d7cf6e4] part of check-in [b1435f26b0] Fix harmless compiler warnings. (check-in: [b1435f26b0] user: drh branch: trunk, size: 157792)
2014-03-19
14:10
[03f7d4deea] part of check-in [59742dd4c5] First attempt at getting block-sort to work. This is an incremental check-in. There are many problems still to be worked out. (check-in: [59742dd4c5] user: drh branch: orderby-planning, size: 157696)
2014-03-13
15:41
[5b4df32250] part of check-in [d17231b63d] Merge latest trunk changes into this branch. (check-in: [d17231b63d] user: dan branch: threads, size: 158060)
2014-03-06
13:48
[00c7411fe2] part of check-in [1ed463d918] Merge the latest 3.8.4 tweaks from trunk. (check-in: [1ed463d918] user: drh branch: sessions, size: 158440)
00:28
[fa7161b3de] part of check-in [170e058520] Better support for MinGW 4.x. (check-in: [170e058520] user: mistachkin branch: trunk, size: 157786)
2014-03-05
23:12
[d24228c061] part of check-in [a1f2b04285] Merge compiler-warning fixes from trunk. (check-in: [a1f2b04285] user: drh branch: sessions, size: 156979)
15:52
[7497e95a42] part of check-in [eee2a13f2c] Count the number of elements in a SrcList object using an "int" rather than a "u8", to avoid overflows and to work around an issue in the C compiler on AIX. (check-in: [eee2a13f2c] user: drh branch: trunk, size: 156325)
2014-03-04
14:34
[9c34060f8d] part of check-in [7f51ad97f0] Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. (check-in: [7f51ad97f0] user: drh branch: sessions, size: 156977)
00:15
[bf52905559] part of check-in [979da752e6] Do not assume that 'char' is signed. Make it explicit. (check-in: [979da752e6] user: drh branch: broken-on-arm, size: 156323)
2014-03-01
19:44
[b06500d391] part of check-in [3861e85310] Remove the vdbeRecordCompareLargeHeader function. Fix some other details. (check-in: [3861e85310] user: dan branch: experimental, size: 156323)
2014-02-27
20:52
[843e23d43e] part of check-in [8f30b09518] Merge in latest trunk changes. (check-in: [8f30b09518] user: dan branch: experimental, size: 156079)
20:44
[7b42e02c1c] part of check-in [5708937400] Further changes to sqlite3VdbeRecordCompare(). (check-in: [5708937400] user: dan branch: experimental, size: 156151)
2014-02-26
19:05
[036e187f2b] part of check-in [3ad687b7aa] Only run the OP_OpenRead opcodes for a correlated subquery once, on the initial iteration. Keep the cursor open for subsequent runs. This was suppose to be a performance enhancement, but it is difficult to come up with a query where is makes a significant difference. Hence, the change is getting parked in a branch. (check-in: [3ad687b7aa] user: drh branch: open-only-once, size: 156397)
2014-02-25
21:55
[46dfbe0b58] part of check-in [97a8c9733c] Do not allow temporary registers to be in use across an OP_Yield within a co-routine. Fix for ticket [8c63ff0eca81a9132d8]. (check-in: [97a8c9733c] user: drh branch: trunk, size: 156259)
21:01
[6d868994f4] part of check-in [85206e0bba] Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. (check-in: [85206e0bba] user: dan branch: experimental, size: 156131)
14:52
[6725dc99b3] part of check-in [953cdd6ada] QNX requires that _FILE_OFFSET_BITS be set prior to any system #include. (check-in: [953cdd6ada] user: drh branch: trunk, size: 156331)
2014-02-19
14:20
[616f8a225b] part of check-in [d2c047f304] 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: [d2c047f304] user: drh branch: trunk, size: 156237)
2014-02-18
03:07
[22111056d7] part of check-in [b92d31a97d] Add VdbeCoverage() and VdbeCoverageIf() macros for improved VDBE coverage testing. (check-in: [b92d31a97d] user: drh branch: trunk, size: 155904)
2014-02-17
22:40
[004bd50575] part of check-in [ce184c7bb1] Add logic to do test coverage measurements on the VDBE code. (check-in: [ce184c7bb1] user: drh branch: insert-optimization, size: 155966)
14:59
[c5ba0868bd] part of check-in [35b4d6e938] 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: [35b4d6e938] user: drh branch: insert-optimization, size: 155627)
2014-02-16
19:20
[168f311aa9] part of check-in [057c16ee97] Use the modern MinGW major version macro, not the deprecated one. (check-in: [057c16ee97] user: mistachkin branch: mingw4x, size: 157023)
01:55
[82aa6a9b06] part of check-in [aa2d8b0e81] 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: [aa2d8b0e81] user: drh branch: insert-optimization, size: 155627)
2014-02-14
23:35
[bc5e9c7e30] part of check-in [e147230767] Better support for MinGW 4.x. (check-in: [e147230767] user: mistachkin branch: mingw4x, size: 157027)
2014-02-11
04:30
[2c9a421de0] part of check-in [b006792695] Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix. (check-in: [b006792695] user: drh branch: sessions, size: 156283)
2014-02-09
18:02
[5b1f4e30c8] part of check-in [67bfd59d90] Use the WITH clause to help resolve names for SELECT statements on the left of a compound query. Proposed fix for ticket [31a19d11b97088296a]. (check-in: [67bfd59d90] user: drh branch: trunk, size: 155629)
2014-02-08
23:20
[edee30d57d] part of check-in [1e64dd782a] Do away with the "multi-register pseudo-table" abstration. Instead, just use an OP_SCopy to load results directory from the result registers of the co-routine. (check-in: [1e64dd782a] user: drh branch: trunk, size: 155643)
01:40
[ab719053ec] part of check-in [192dea9731] 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: [192dea9731] user: drh branch: trunk, size: 155573)
2014-02-07
19:33
[d3dd8e370f] part of check-in [4043d87979] Fix redundant definitions of _LARGE_FILE and _LARGEFILE_SOURCE. (check-in: [4043d87979] user: drh branch: trunk, size: 155652)
2014-02-06
03:31
[29b97acb02] part of check-in [715fac7749] Use OpenHash instead of OpenEphemeral for the RHS of IN operators if the result is not needed for sorting. (check-in: [715fac7749] user: drh branch: subquery-codegen-refactor, size: 155298)
2014-02-05
19:10
[3f3b1f5935] part of check-in [61c34ba71b] Separate out the code generators for the RHS of an IN operator and for SELECT/EXISTS expressions. (check-in: [61c34ba71b] user: drh branch: subquery-codegen-refactor, size: 155293)
2014-02-04
20:46
[fdab572b35] part of check-in [65d5dcddbd] Remove the SF_Materialize flag from the SELECT object as it does not accomplish anything useful. (check-in: [65d5dcddbd] user: drh branch: trunk, size: 155346)
15:55
[ee8b7647d0] part of check-in [3e1a3f68d7] Rearrange fields in the Parse object for a tighter packing, resulting in an 8% size reduction on x64. (check-in: [3e1a3f68d7] user: drh branch: trunk, size: 155368)
2014-01-28
18:06
[5bec5e943c] part of check-in [7b5f377386] Bring in the latest updates from trunk. (check-in: [7b5f377386] user: drh branch: sessions, size: 155714)
2014-01-24
22:58
[22c8f7112f] part of check-in [87bf60637e] Fixes for various clang warnings. (check-in: [87bf60637e] user: drh branch: trunk, size: 155060)
14:05
[e4d4b5db50] part of check-in [9b43e55919] Bring in all the latest trunk changes, including the Common Table Expressions implementation. (check-in: [9b43e55919] user: drh branch: sessions, size: 155668)
2014-01-22
17:28
[87a90ad481] part of check-in [37b343b018] Get ORDER BY working for recursive queries. (check-in: [37b343b018] user: drh branch: cte-via-queue, size: 155014)
13:35
[16c7332660] part of check-in [3eb5f9f8d6] Add new SelectDest codes, SRT_Queue and SRT_DistQueue in anticipation of adding ORDER BY support on recursive queries. Factor out the recursive query code generator into a separate procedure. (check-in: [3eb5f9f8d6] user: drh branch: cte-via-queue, size: 154926)
00:23
[73074ee596] part of check-in [5e6c4a55f6] Remove an unnecessary parameter from selectInnerLoop(). Clean up comments. (check-in: [5e6c4a55f6] user: drh branch: cte-via-queue, size: 154368)
2014-01-21
01:13
[bd0ae72872] part of check-in [c57deced09] Fix a couple comment typos and one overly long line. No functional changes. (check-in: [c57deced09] user: mistachkin branch: level-pseudocolumn, size: 152075)
00:19
[d5a534b30b] part of check-in [cc1cb32178] Add support for the LEVEL pseudo-column in the recursive part of a common table expression. LEVEL has the value of 1 on the first iteration and successively larger integer values of subsequent iterations. It cannot have a table qualifier. Actual columns named "level" can still be accessed by including the table name qualifier. (check-in: [cc1cb32178] user: drh branch: level-pseudocolumn, size: 152076)
2014-01-20
14:58
[99fd628541] part of check-in [a06235e0f6] Remove an unused #define and add an assert(), both associated with WITH logic. (check-in: [a06235e0f6] user: drh branch: trunk, size: 151790)
2014-01-17
14:59
[9600eeb486] part of check-in [6a549187ed] Fix some problems to do with WITH clauses and name resolution. (check-in: [6a549187ed] user: dan branch: common-table-expr, size: 151862)
2014-01-16
21:02
[d49c0bea52] part of check-in [54eee9fe99] Improve the error messages used to report illegal recursive cte references. (check-in: [54eee9fe99] user: dan branch: common-table-expr, size: 151772)
18:34
[b30bd95081] part of check-in [a296b73360] Allow only a single recursive reference in a recursive CTE. Also require that this reference is not part of a sub-query. (check-in: [a296b73360] user: dan branch: common-table-expr, size: 151823)
2014-01-15
19:42
[6db445ce17] part of check-in [3908e2ea2e] Fixes so that SQLITE_OMIT_CTE builds work. (check-in: [3908e2ea2e] user: dan branch: common-table-expr, size: 151891)
18:35
[d919914573] part of check-in [c948384dfd] Further comments on WITH-clause processing routines in select.c. (check-in: [c948384dfd] user: drh branch: common-table-expr, size: 151860)
18:12
[31bcde5190] part of check-in [61be2da0ae] When resolving names, consider a reference to a recursive CTE column as equivalent to a reference to the outermost name-context. This ensures that correlated sub-queries are correctly identified as such. (check-in: [61be2da0ae] user: dan branch: common-table-expr, size: 151661)
00:24
[2f72428cff] part of check-in [c697d2f83c] Merge recent fixes from trunk. Cherrypick of [c43b59dac1], [a221aa82bb], [e1eba1fb09], and [1e131094b5]. (check-in: [c697d2f83c] user: mistachkin branch: branch-3.8.2, size: 149619)
2014-01-14
20:14
[fc7b251626] part of check-in [a5c2a54a07] Add code to handle recursive CTEs. (check-in: [a5c2a54a07] user: dan branch: common-table-expr, size: 151587)
2014-01-13
15:12
[a350bcf6d6] part of check-in [a26f399ba4] Add code to handle non-recursive CTEs in the same way as SQL views. (check-in: [a26f399ba4] user: dan branch: common-table-expr, size: 151343)
2014-01-11
19:19
[2710b3a6c6] part of check-in [704d3931b8] Update the parser so that sub-queries and CTEs may have WITH clauses. (check-in: [704d3931b8] user: dan branch: common-table-expr, size: 150973)
13:22
[bb093076ba] part of check-in [da98b7205e] Parse common table expressions. But do not do anything with them (yet). (check-in: [da98b7205e] user: drh branch: common-table-expr, size: 150510)
2014-01-10
20:46
[0c65967bb8] part of check-in [c9ea7d199f] Allow a VALUES clause to be used any place that a SELECT statement can be used. (check-in: [c9ea7d199f] user: drh branch: trunk, size: 150387)
2014-01-04
19:27
[672ef78e9e] part of check-in [8f6e6149a1] Avoid redundant register loads during index key generation when doing a DELETE or INTEGRITY_CHECK on a table with multiple indices. (check-in: [8f6e6149a1] user: drh branch: trunk, size: 150434)
16:49
[40fa66cb72] part of check-in [874b7e9999] Omit OP_Close operations that occur immediately prior to OP_Halt and which cannot be jumped over. (check-in: [874b7e9999] user: drh branch: trunk, size: 150423)
2014-01-02
19:35
[a77cb6c740] part of check-in [10d851353c] Avoid unnecessary affinity transformations when building indices using data from a table. (check-in: [10d851353c] user: drh branch: trunk, size: 150349)
2014-01-01
14:00
[6266486845] part of check-in [a221aa82bb] Enhance sqlite3_randomness(N,P) such that it resets the internal PRNG if N is less than 1. Subsequent calls to sqlite3_randomness() will reinitialize the internal PRNG by calling the xRandomness() method of the default VFS. (check-in: [a221aa82bb] user: drh branch: trunk, size: 150353)
2013-12-24
12:09
[edf19afa8c] part of check-in [cfd110bf5d] Merge the latest trunk changes into the sessions branch. (check-in: [cfd110bf5d] user: drh branch: sessions, size: 151041)
2013-12-23
19:09
[fdb8c1e4bc] part of check-in [c289a253c0] Move elements of the Vdbe object that are only used during statement preparation out into the Parse object. (check-in: [c289a253c0] user: drh branch: trunk, size: 150387)
2013-12-21
17:07
[49c7a1223c] part of check-in [862228e505] Avoid compiler warnings by only enabling sqlite3ErrName() when SQLITE_TEST is defined. (check-in: [862228e505] user: drh branch: trunk, size: 150212)
2013-12-20
13:11
[d0815177df] part of check-in [2c7fd9b043] Simplify the accumulator reset for aggregate query processing so that it uses a single multi-register OP_Null rather than a separate OP_Null for each register. (check-in: [2c7fd9b043] user: drh branch: trunk, size: 150276)
2013-12-17
15:03
[b7e9da8774] part of check-in [6db7052eee] Add the printf() SQL function. (check-in: [6db7052eee] user: drh branch: printf-sql-function, size: 150196)
2013-12-14
18:24
[8c7d6a7f34] part of check-in [32477642d7] Merge in all recent preformance enhancements from trunk. (check-in: [32477642d7] user: drh branch: sessions, size: 150403)
2013-12-13
16:23
[3c1c14a551] part of check-in [9d347f547e] Simplication and optimization of error message handling. (check-in: [9d347f547e] user: drh branch: trunk, size: 149749)
2013-12-09
19:03
[c59b756b3a] part of check-in [9227ad48e1] Performance optimizations for sqlite3VXPrintf(). (check-in: [9227ad48e1] user: drh branch: trunk, size: 149707)
2013-12-07
23:35
[ccf72d1267] part of check-in [bfefc57554] Do not allow cursor hints to use expressions containing subqueries. This change fixes the problem seen in the previous check-in. (check-in: [bfefc57554] user: drh branch: cursor-hints, size: 149805)
20:39
[081102b2fb] part of check-in [3a9bec524e] 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: [3a9bec524e] user: drh branch: cursor-hints, size: 149724)
2013-12-02
21:58
[f4056513ed] part of check-in [67c34ccfa9] Merge all recent 3.8.2 beta changes from trunk. (check-in: [67c34ccfa9] user: drh branch: sessions, size: 150307)
2013-11-29
15:39
[f3a5d663fe] part of check-in [f865be10e8] Change the name of the CORRUPTIBLE macro to CORRUPT_DB. (check-in: [f865be10e8] user: drh branch: trunk, size: 149653)
15:06
[c26e4cde71] part of check-in [15e4f63d1f] Add a new sqlite3_test_control() that indicates that database files are always well-formed. Use this during testing to enable assert() statements that prove conditions that are always true for well-formed databases. (check-in: [15e4f63d1f] user: drh branch: trunk, size: 149540)
2013-11-26
18:00
[dad3dff932] part of check-in [fc9ae83956] Merge in performance enhancements from trunk. (check-in: [fc9ae83956] user: drh branch: sessions, size: 149610)
2013-11-21
21:23
[9d586cb375] part of check-in [487f20366c] Do not reuse factored constants that might have had their encodings changed. (check-in: [487f20366c] user: drh branch: trunk, size: 148956)
20:48
[5cf2c563e8] part of check-in [882622662d] Fix the code generator to honor turning off constant expression factoring. (check-in: [882622662d] user: drh branch: trunk, size: 148886)
16:08
[8cd0bb5b2c] part of check-in [50d350abbc] When one or more arguments to a function are constants, try to factor out just those arguments into initialization code. (check-in: [50d350abbc] user: drh branch: trunk, size: 148633)
14:33
[300dbe249e] part of check-in [1b0f779e19] Add the ability to factor constant functions out of inner loops. But do not factor out non-constant functions, like random(). (check-in: [1b0f779e19] user: drh branch: trunk, size: 148453)
2013-11-16
20:13
[03b91c6bce] part of check-in [8f479a7275] Enhance the DELETE logic so that it can make use of WHERE_ONEPASS_DESIRED for rowid tables. (check-in: [8f479a7275] user: drh branch: optimize-delete, size: 147954)
2013-11-15
18:15
[e16eb6e621] part of check-in [d10fb49a92] Changes to make the new constant expression factoring logic more general and more testable. (check-in: [d10fb49a92] user: drh branch: expr-codegen-enhancement, size: 147949)
15:52
[11b0dd04b1] part of check-in [835be656bb] Improvements to the Expr comparison routine to make it more general. Improvements to unary-minus code generation so that it can make use of a global constant register with a zero value. (check-in: [835be656bb] user: drh branch: expr-codegen-enhancement, size: 147823)
01:10
[c5dfd52fcc] part of check-in [8dc5c76c76] Rework the logic that factors constant expressions out of inner loops, making it both simpler and faster. (check-in: [8dc5c76c76] user: drh branch: expr-codegen-enhancement, size: 147863)
2013-11-14
19:18
[a14cf06840] part of check-in [7596d1bf80] Merge the skip-scan optimization into the sessions branch. (check-in: [7596d1bf80] user: drh branch: sessions, size: 148480)
2013-11-13
17:58
[2ec1d71220] part of check-in [8ce33f4c81] Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify some of the other debugging logic. (check-in: [8ce33f4c81] user: drh branch: trunk, size: 147826)
2013-11-11
22:55
[4d218f4480] part of check-in [5addd1234d] Merge in the WITHOUT ROWID changes. A few tests are failing now. They will be fixed in a follow-on check-in. (check-in: [5addd1234d] user: drh branch: sessions, size: 148407)
2013-11-08
16:54
[3da1940a2b] part of check-in [fd11afa5f5] Performance improvement: Avoid unnecessary seeks on REPLACE INTO for a WITHOUT ROWID table. (check-in: [fd11afa5f5] user: drh branch: trunk, size: 147753)
15:19
[b4311956d2] part of check-in [6f187a0fb1] Performance improvements: Avoid unnecessary seeks when doing a single-row UPDATE on a WITHOUT ROWID table. (check-in: [6f187a0fb1] user: drh branch: trunk, size: 147750)
2013-11-06
19:59
[360c8a4840] part of check-in [defd5205a7] Reference count the KeyInfo object. Cache a copy of an appropriate KeyInfo for each index in the Index object, and reuse that one copy as much as possible. (check-in: [defd5205a7] user: drh branch: omit-rowid, size: 147744)
2013-11-05
13:33
[765c394183] part of check-in [54b2219297] 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: [54b2219297] user: drh branch: omit-rowid, size: 147456)
2013-11-03
02:27
[0d272caa9b] part of check-in [1315d9109c] Improved comments on foreign key logic. (check-in: [1315d9109c] user: drh branch: omit-rowid, size: 147352)
2013-11-02
14:37
[7cc1b32804] part of check-in [b7544bb280] Store the root page of the PRIMARY KEY index for a WITHOUT ROWID table in the sqlite_master entry for the main table and omit the sqlite_master entry for the PRIMARY KEY. (check-in: [b7544bb280] user: drh branch: omit-rowid, size: 147025)
2013-11-01
17:08
[bc4588b0d2] part of check-in [c525ac5630] Change the interface to sqlite3GenerateConstraintChecks() for improved lucidity and to fix issues in dealing with UPDATEs for WITHOUT ROWID tables. Make sure iDataCur and iIdxCur are initialized when processing DELETEs of a VIEW. UPDATE processing distinguishes between changes to ROWID and PRIMARY KEY. (check-in: [c525ac5630] user: drh branch: omit-rowid, size: 147007)
01:45
[69c16a6a7f] part of check-in [cdf00248cf] A couple of bug fixes. (check-in: [cdf00248cf] user: drh branch: omit-rowid, size: 147009)
2013-10-31
12:13
[41c5b67e6c] part of check-in [deacbd21b5] Moving UPDATE towards the iDataCur/iIdxCur representation. Still not working for WITHOUT ROWID, though. (check-in: [deacbd21b5] user: drh branch: omit-rowid, size: 147009)
11:15
[c41205f31e] part of check-in [1adfca6019] 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: [1adfca6019] user: drh branch: omit-rowid, size: 147062)
2013-10-30
20:22
[f8fc23b598] part of check-in [0d4fea7462] Continue working to get UPDATE operational for WITHOUT ROWID tables. Fix PRAGMA integrity_check so that it works on WITHOUT ROWID tables. (check-in: [0d4fea7462] user: drh branch: omit-rowid, size: 147045)
02:37
[03e6459326] part of check-in [2fcac05607] Merge EXPLAIN enhancements from trunk. (check-in: [2fcac05607] user: drh branch: omit-rowid, size: 146993)
02:28
[6eff1bbd7e] part of check-in [e1a89b56f7] Add the SQLITE_ENABLE_EXPLAIN_COMMENTS compile-time option to enable extra commentary in the EXPLAIN output. Formerly, this was only available with SQLITE_DEBUG. (check-in: [e1a89b56f7] user: drh branch: trunk, size: 146399)
2013-10-26
13:36
[2653257af4] part of check-in [e6650e16dd] 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: [e6650e16dd] user: drh branch: omit-rowid, size: 146796)
2013-10-25
14:46
[674cee6761] part of check-in [9eafafa31c] Basic DELETE operations now working on WITHOUT ROWID tables. (check-in: [9eafafa31c] user: drh branch: omit-rowid, size: 146925)
2013-10-24
19:48
[a0834a450c] part of check-in [85daf51746] Update the interface to the sqlite3GenerateRowDelete() utility so that it is able to handle WITHOUT ROWID tables. The implementation still needs to be completed. (check-in: [85daf51746] user: drh branch: omit-rowid, size: 146920)
2013-10-23
22:23
[62dee86c51] part of check-in [2c028ddc85] Construct secondary indices on WITHOUT ROWID tables. (check-in: [2c028ddc85] user: drh branch: omit-rowid, size: 146925)
13:30
[dc7c57e1d7] part of check-in [b21d831b2a] Some inserts and queries working for multi-column primary keys and WITHOUT ROWID. (check-in: [b21d831b2a] user: drh branch: omit-rowid, size: 146847)
01:57
[7cde277316] part of check-in [3f8016dee2] Some simple inserts and queries working on WITHOUT ROWID tables. (check-in: [3f8016dee2] user: drh branch: omit-rowid, size: 146781)
00:32
[a60fca7b3f] part of check-in [35a3606071] Build internal data structures appropriately for WITHOUT ROWID tables. (check-in: [35a3606071] user: drh branch: omit-rowid, size: 146617)
2013-10-22
18:01
[b365e0f5ae] part of check-in [a106ce86cd] The Index object now has nKeyCol and nColumn. nColumn is the total number of columns and nKeyCol is the number of key columns. Currently these always differ by one. Refactor aiColumn[] to be of type i16 instead of int. (check-in: [a106ce86cd] user: drh branch: omit-rowid, size: 146403)
14:28
[bf4e57f30d] part of check-in [45efc94f9a] Add a procedure to handle the messy details of allocating an Index object from the heap. (check-in: [45efc94f9a] user: drh branch: omit-rowid, size: 146344)
2013-10-21
23:55
[86649319e6] part of check-in [4e69dd5f9b] Minor refactoring of the PRIMARY KEY parsing logic to facilitate enhancements. (check-in: [4e69dd5f9b] user: drh branch: omit-rowid, size: 146405)
02:14
[426774ce05] part of check-in [131cc6e152] Simplification of the syntax: Merely append "WITHOUT rowid" to the end of the table definition. (check-in: [131cc6e152] user: drh branch: omit-rowid, size: 146284)
2013-10-19
23:31
[64409173b3] part of check-in [0248ec5e6e] Experimental changes toward "index only" tables. Add the ability to specify options on CREATE TABLE statements using the WITH clause modeled after PostgreSQL and SQL Server. Only the "omit_rowid" option is currently recognized and that option is currently a no-op. (check-in: [0248ec5e6e] user: drh branch: omit-rowid, size: 146296)
2013-10-15
14:10
[cc58deabef] part of check-in [e111e4edf9] Merge the latest trunk changes into the sessions branch. This merge should fix the build for WinRT. (check-in: [e111e4edf9] user: drh branch: sessions, size: 146856)
2013-10-14
15:41
[4dd81a25a9] part of check-in [b8b5f6c8f6] Fix for building with SQLITE_OMIT_FOREIGN_KEY. (check-in: [b8b5f6c8f6] user: dan branch: trunk, size: 146202)
2013-10-11
13:27
[eeebd2522b] part of check-in [03593817ab] Make sure the sqlite3.h file occurs at the very top of the sqlite3.c amalgamation. (check-in: [03593817ab] user: drh branch: trunk, size: 146200)
2013-10-10
20:13
[8605554b15] part of check-in [136445ba02] Synchronize with the trunk. (check-in: [136445ba02] user: drh branch: sessions, size: 146854)
2013-10-07
16:53
[a5fa87b540] part of check-in [8e78557a40] Try to remember statistics from ANALYZE using LogEst instead of u64. (check-in: [8e78557a40] user: drh branch: log-stats, size: 146188)
2013-10-05
19:18
[5dbfc960fb] part of check-in [8b4aa0c7a2] Completely remove the iScanRatio field. The PRAGMA index_list(TABLE) command shows the estimated row size in the forth column. It also generates a row for the table with an index name of NULL. The query planner still does not take row size estimates into account - that is the next step. (check-in: [8b4aa0c7a2] user: drh branch: row-size-est, size: 146200)
18:16
[75a6f6b26a] part of check-in [66c4a251d6] Begin an experimental refactoring to estimate the average number of bytes in table and index rows and to use that information in query planner. Begin by renaming WhereCost to LogEst and making that type and its conversion routines available outside of where.c. (check-in: [66c4a251d6] user: drh branch: row-size-est, size: 146270)
2013-10-04
15:30
[da0e92df95] part of check-in [07462bb605] Improved estimates of the relative speed of index scans based on declared datatypes of columns in the table. Add "r" column to PRAGMA index_info, showing the estimated relative scan rate. (check-in: [07462bb605] user: drh branch: index-scan-rate, size: 144927)
2013-10-03
19:21
[c32d524fac] part of check-in [d59d97b0a8] Experimental branch allowing different postulated scan rates for each index. (check-in: [d59d97b0a8] user: drh branch: index-scan-rate, size: 144858)
15:39
[50f51427e7] part of check-in [500c5932fe] The sqlite3FixInit() routine cannot fail. So change the return type from "int" to "void". (check-in: [500c5932fe] user: drh branch: trunk, size: 144788)
12:29
[d759d22c3c] part of check-in [f35f6ae3da] Return an error if an attempt is made to create a trigger with an SQL variable embedded within it. If such a variable reference is found within a trigger definition loaded from the sqlite_master table, silently replace it with a NULL. (check-in: [f35f6ae3da] user: dan branch: trunk, size: 144787)
2013-09-16
12:57
[18c7f80e7e] part of check-in [daf6ba413c] The date and time functions use the exact same notion of "now" for every invocation within the same call to sqlite3_step(). (check-in: [daf6ba413c] user: drh branch: trunk, size: 144724)
2013-09-12
23:42
[896034293a] part of check-in [695aee46e9] Refactor the ExprSetIrreducible() macro into ExprSetVVAProperty(*,EP_NoReduce). This is a naming change only. The logic is the same. (check-in: [695aee46e9] user: drh branch: unlikely-func, size: 144668)
17:29
[5d368cb028] part of check-in [4c84d1b4c2] Merge in the Expr.flags expansion to 32-bits. Use an extra bit to help optimize the sqlite3ExprSkipCollate() routine. (check-in: [4c84d1b4c2] user: drh branch: unlikely-func, size: 144757)
16:50
[e4cb0c8700] part of check-in [579a512538] Increase the number of bits available in Expr.flags. Other tweaks aimed at making expression processing more robust. (check-in: [579a512538] user: drh branch: expr-tuning, size: 144524)
01:33
[600a1da8ca] part of check-in [117fa5fbc9] Remove two obsolete fields from the sqlite3 object. (check-in: [117fa5fbc9] user: drh branch: trunk, size: 144689)
2013-09-07
00:29
[ac21b3aeb0] part of check-in [b65dc53415] Continuing refinements of the logic to take WHERE clause terms not used for indexing into account when computing the number of output rows from each table. (check-in: [b65dc53415] user: drh branch: unlikely-func, size: 145010)
2013-09-06
15:23
[fd9005fab1] part of check-in [036fc37a03] Initial implementation of the unlikely() SQL function used as a hint to the query planner. (check-in: [036fc37a03] user: drh branch: unlikely-func, size: 144929)
13:10
[32e959dba9] part of check-in [97b10e66e9] Combine the FuncDef.iPrefEnc and FuncDef.flags fields into a single new FuncDef.funcFlags field. (check-in: [97b10e66e9] user: drh branch: trunk, size: 144850)
2013-09-05
18:40
[a083fc4eff] part of check-in [e940b5de49] When preparing an UPDATE statement, avoid generating VDBE code for those foreign key related actions and constraint checks that may be seen to be unnecessary by considering the subset of table columns potentially modified by the UPDATE. (check-in: [e940b5de49] user: dan branch: trunk, size: 144781)
2013-08-29
15:08
[7806162e2d] part of check-in [e7ebc8f74f] Merge from trunk: (1) Recent bug fixes (2) STAT4 support (3) win32-longpath support. (check-in: [e7ebc8f74f] user: drh branch: sessions, size: 145401)
2013-08-27
23:15
[600086a508] part of check-in [67a9a392ed] Adjust ANALYZE for improved test coverage. Use the SQLITE_ENABLE_STAT3_OR_STAT4 macro (created in sqliteInt.h) to conditionally include code, instead of a boolean specifying both macros separately. (check-in: [67a9a392ed] user: drh branch: trunk, size: 144747)
20:16
[97b1005b81] part of check-in [9d1424c91a] Reduce the amount of code run and memory used for ANALYZE in the common case where neither STAT3 and STAT4 are enabled. (check-in: [9d1424c91a] user: drh branch: trunk, size: 144371)
2013-08-26
23:18
[f3636620ad] part of check-in [a32af0abe5] Merge the STAT4 capability into trunk. (check-in: [a32af0abe5] user: drh branch: trunk, size: 144299)
2013-08-22
15:07
[93fe5b4c62] part of check-in [831492dca8] Merge in minor bug fixes and performance tweaks from trunk leading up to the version 3.8.0 release. (check-in: [831492dca8] user: drh branch: sessions, size: 145000)
2013-08-21
21:12
[124e4b19cd] part of check-in [700dbbea86] Simplification to the StrAccum object and the sqlite3StrAccumAppend() method that also results in slightly better performance. (check-in: [700dbbea86] user: drh branch: trunk, size: 144346)
17:35
[e4ae9edb97] part of check-in [854ba30490] 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: [854ba30490] user: dan branch: trunk, size: 144374)
2013-08-19
12:49
[a24a7f54dd] part of check-in [67587a3348] Merge in all the latest updates and enhancements from trunk. (check-in: [67587a3348] user: drh branch: sessions, size: 144975)
2013-08-16
20:42
[eae58298bc] part of check-in [cdb181c04f] Add the cache_spill pragma. (check-in: [cdb181c04f] user: drh branch: cache_spill, size: 144321)
12:26
[85cc797544] part of check-in [c69b512af2] Merge recent trunk changes into the STAT4 branch. (check-in: [c69b512af2] user: drh branch: sqlite_stat4, size: 144202)
2013-08-15
20:24
[b2a4e9a85e] part of check-in [c78b357c00] Bare identifiers in ORDER BY clauses bind more tightly to output column name, but identifiers in expressions bind more tightly to input column names. This is a compromise between SQL92 and SQL99 behavior and is what PostgreSQL and MS-SQL do. Ticket [f617ea3125e9c]. (check-in: [c78b357c00] user: drh branch: trunk, size: 144249)
14:27
[ac5de15640] part of check-in [f30abdf9d8] Clarification and typo fixes in comments related to name resolution. No changes to code. (check-in: [f30abdf9d8] user: drh branch: trunk, size: 144395)
2013-08-12
20:14
[35ee14455a] part of check-in [cca8bf4372] If ENABLE_STAT3 is defined but ENABLE_STAT4 is not, have ANALYZE create and populate the sqlite_stat3 table instead of sqlite_stat4. (check-in: [cca8bf4372] user: dan branch: sqlite_stat4, size: 144347)
16:34
[646063fc15] part of check-in [6d45078e62] Re-enable reading from the sqlite_stat3 table (as well as sqlite_stat4). (check-in: [6d45078e62] user: dan branch: sqlite_stat4, size: 144239)
2013-08-07
19:46
[0ff4797705] part of check-in [7b70b419c4] Replace variable Index.avgEq (average number of rows in keys for which there is no sample in sqlite_stat4) with vector Index.aAvgEq. (check-in: [7b70b419c4] user: dan branch: sqlite_stat4, size: 144203)
18:42
[dfb02189a2] part of check-in [08f74c45ec] Merge latest trunk changes with this branch. (check-in: [08f74c45ec] user: dan branch: sqlite_stat4, size: 144208)
15:57
[42adcd08a2] part of check-in [9159b43eb2] Remove the unused sqlite3Utf8to16() utility function. (check-in: [9159b43eb2] user: drh branch: sqlite_stat4, size: 143839)
15:52
[f56ec862ae] part of check-in [353950a526] When estimating the number of rows scanned using data from the sqlite_stat4 table, avoid allocating UnpackedRecord and KeyInfo structures until they are definitely required. (check-in: [353950a526] user: dan branch: sqlite_stat4, size: 143931)
2013-08-06
20:01
[31057687e0] part of check-in [2973f5ca73] When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan. (check-in: [2973f5ca73] user: dan branch: sqlite_stat4, size: 143988)
14:52
[1f9abddff7] part of check-in [69d5bed017] Merge in the latest changes from trunk. (check-in: [69d5bed017] user: drh branch: sessions, size: 145048)
2013-08-05
22:05
[def0e436c0] part of check-in [c589b2fed7] Performance optimization: Avoid calling convertCompoundSelecctToSubquery() on queries that do not use the UNION, EXCEPT, or INTERSECT operators. (check-in: [c589b2fed7] user: drh branch: trunk, size: 144394)
19:11
[abae976c5c] part of check-in [7301bedd94] 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: [7301bedd94] user: drh branch: trunk, size: 144236)
2013-08-03
20:24
[37e2952ce8] part of check-in [2beea303a1] Begin adding experimental sqlite_stat4 table. This commit is buggy. (check-in: [2beea303a1] user: dan branch: sqlite_stat4, size: 143804)
2013-08-02
20:44
[717511de3c] part of check-in [7e1acb3907] Merge in the latest trunk changes, including partial indexes, the MAX_PATH fix in os_win.c, and the sqlite3_cancel_auto_extension() API. (check-in: [7e1acb3907] user: drh branch: sessions, size: 144679)
2013-08-01
13:04
[7c6ad474ce] part of check-in [8e07aa2ad5] Fill out an initial implementation of the sqlite3ExprImpliesExpr() function. (check-in: [8e07aa2ad5] user: drh branch: partial-indices, size: 144025)
03:36
[b39d566354] part of check-in [6b73ae7c12] Test cases and bug fixes for the partial index logic. (check-in: [6b73ae7c12] user: drh branch: partial-indices, size: 144015)
01:14
[b69d7bac8a] part of check-in [fb9044d15a] Add the logic to keep partial indices up to date through DML statements and when new partial indices are created. This new logic is untested except to verify that it does not interfere with full indices. (check-in: [fb9044d15a] user: drh branch: partial-indices, size: 144021)
2013-07-31
23:22
[911e2fe9bb] part of check-in [8ca3eac111] Add logic to the query planner to only use partial indices if the WHERE clause constrains the search to rows covered by the partial index. This is just infrastructure. The key routine, sqlite3ExprImpliesExpr(), is currently a no-op so that partial indices will never be used. (check-in: [8ca3eac111] user: drh branch: partial-indices, size: 143947)
19:05
[ffe632c1de] part of check-in [f2aa7842c8] Resolve names in CREATE INDEX WHERE clauses and detect errors. Disallow expressions that contain variables, subqueries, or functions. The expression is still not used for anything, however. still unused. (check-in: [f2aa7842c8] user: drh branch: partial-indices, size: 143900)
18:12
[c99f22c5bd] part of check-in [6794b2dcb4] Here begins an experimental branch for exploring the idea of a partial index. This check-in is able to parse a WHERE clause on a CREATE INDEX statement, but does not actually do anythingn with that WHERE clause yet. (check-in: [6794b2dcb4] user: drh branch: partial-indices, size: 143756)
2013-07-29
15:54
[89b52c053e] part of check-in [c0809b5e32] Comment and preprocessor macro cleanup. (check-in: [c0809b5e32] user: drh branch: trunk, size: 143683)
2013-07-11
15:31
[b25c57bb70] part of check-in [8dfc0b78c3] 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: [8dfc0b78c3] user: drh branch: sessions, size: 144671)
15:22
[6d3115f774] part of check-in [6557c40798] Add the experimental "query_only" pragma. (check-in: [6557c40798] user: drh branch: trunk, size: 144017)
15:03
[074f5cdfb9] part of check-in [527121ac3c] Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS value for sqlite3_db_status(). This is a cherry-pick of a sequence of five checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70]. (check-in: [527121ac3c] user: drh branch: trunk, size: 143943)
12:19
[62b11aa829] part of check-in [3a2ab74c85] Rename the SQLITE_DeferForeignKeys macro to shorter SQLITE_DeferFKs. Move the "defer_foreign_keys" pragma into the flagPragma() routine. (check-in: [3a2ab74c85] user: drh branch: sessions, size: 144597)
2013-07-10
18:14
[df1a921448] part of check-in [908141d5bf] Fix harmless compiler warnings in the progress callback logic. (check-in: [908141d5bf] user: drh branch: trunk, size: 143726)
13:33
[2819a1e488] part of check-in [ece960c496] Experimental "PRAGMA query_only=BOOLEAN" statement that is able to turn write capabilities on and off. (check-in: [ece960c496] user: drh branch: query_only, size: 143799)
2013-07-09
13:05
[a83b0cef30] part of check-in [af3ca4c6e5] Pull in all the latest changes from trunk. (check-in: [af3ca4c6e5] user: drh branch: sessions, size: 144567)
2013-07-03
19:53
[5a005fde92] part of check-in [1d44e5d3c2] Experimental change to the handling of foreign key constraint violations when applying a changeset: all foreign keys, immediate and deferred, are deferred until the end of the transaction (or sub-transaction) opened by the sqlite3changeset_apply(). A single call to the conflict-handler (if any) is made if any FK constraint violations are still present in the database at this point. The conflict-handler may choose to rollback the changeset or to apply it, constraint violations and all. (check-in: [1d44e5d3c2] user: dan branch: sessions, size: 144414)
2013-06-28
17:29
[e461e0f910] part of check-in [60c19b8679] Add a bit to the SQLITE_TESTCTRL_OPTIMIZATIONS option for sqlite3_file_control() that will disable the use of SQLITE_STAT3 information in the query planner. (check-in: [60c19b8679] user: drh branch: trunk, size: 143726)
01:24
[15f1a7e514] part of check-in [59f98c5c24] Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. (check-in: [59f98c5c24] user: drh branch: trunk, size: 143654)
2013-06-27
23:54
[d73fc173b9] part of check-in [14f7969634] Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes "nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and "nVdbeExec". (check-in: [14f7969634] user: drh branch: trunk, size: 143648)
17:40
[e8d5ed8a3a] part of check-in [1937fd8eec] Make sure that sqlite3_stmt_readonly reports false for PRAGMA journal_mode and PRAGMA wal_checkpoint. Ticket [a589ec069e3]. Also keep track of whether a prepared statement does no reading or writing. (check-in: [1937fd8eec] user: drh branch: trunk, size: 143650)
2013-06-26
13:31
[e92a2e1b81] part of check-in [086a127236] Bring the sessions branch up-to-date with all the latest trunk changes. (check-in: [086a127236] user: drh branch: sessions, size: 144227)
2013-06-22
15:44
[e6f069b07f] part of check-in [d929df9b1b] Add the ability to disable the omit-join-table optimization for testing purposes. (check-in: [d929df9b1b] user: drh branch: omit-join-table-opt, size: 143573)
2013-06-21
18:32
[c3279fe5fa] part of check-in [fa2a91e6c6] Merge updates from trunk. (check-in: [fa2a91e6c6] user: mistachkin branch: toTypeFuncs, size: 147887)
00:35
[cabeb04015] part of check-in [2c2577e69c] Modify the query planner interface so that it always passes in the result set. This is the first step toward adding an optimization that will omit tables from a join that do not contribute to the result. (check-in: [2c2577e69c] user: drh branch: omit-join-table-opt, size: 143500)
2013-06-13
15:16
[82a0f3e7c3] part of check-in [3a72af2a95] Make the MIN() and MAX() macros available in sqliteInt.h. Add TUNING comments to the NGQP and adjust costs slightly. (check-in: [3a72af2a95] user: drh branch: nextgen-query-plan-exp, size: 143424)
2013-06-11
18:59
[026a52f3e2] part of check-in [ba897100fe] Improved processing of DISTINCT. (check-in: [ba897100fe] user: drh branch: nextgen-query-plan-exp, size: 143290)
13:30
[f2e51444e1] part of check-in [f1cac24f06] Fix the Parse.nQueryLoop state variable to work with NGQP. (check-in: [f1cac24f06] user: drh branch: nextgen-query-plan-exp, size: 143222)
2013-06-10
20:46
[4284f3a915] part of check-in [69cf877283] Fix some minor issues with logarithmic cost in NGQP. (check-in: [69cf877283] user: drh branch: nextgen-query-plan-logcost, size: 143215)
2013-06-05
23:39
[7b85b09d74] part of check-in [1574653b9b] Move the definitions of the WhereLevel and WhereInfo objects out of sqliteInt.h and into where.c. This will facilitate future refactoring of the internal query planner data structures. (check-in: [1574653b9b] user: drh branch: nextgen-query-plan-exp, size: 143218)
2013-06-04
12:42
[259d999abe] part of check-in [e605c468e3] Refactor the ORDER BY optimizer in the NGQP so that it is easier to maintain and so that it can support optimizing out GROUP BY and DISTINCT clauses. (check-in: [e605c468e3] user: drh branch: nextgen-query-plan-exp, size: 146713)
2013-05-31
15:50
[3ddccdf8ef] part of check-in [816f8add7e] Remove the definitions of objects that are no longer used: WhereCost, WherePlan, and WhereBestIdx. (check-in: [816f8add7e] user: drh branch: nextgen-query-plan-exp, size: 146566)
2013-05-30
17:43
[c386fb7c61] part of check-in [001539df4b] Cut over the NGQP query planner. Remove lots of legacy code. This check-in compiles but does not work. The test suite gets incorrect answers and crashes. (check-in: [001539df4b] user: drh branch: nextgen-query-plan-exp, size: 147749)
11:48
[55f43f10f1] part of check-in [aebe1f2603] Merge recent trunk changes into the NGQP branch. (check-in: [aebe1f2603] user: drh branch: nextgen-query-plan-exp, size: 148264)
2013-05-28
17:25
[46fb17f604] part of check-in [c3381cd495] Remove the obsolete and unused sqlite3.inTrans field. (check-in: [c3381cd495] user: drh branch: trunk, size: 147862)
12:11
[e8306784f8] part of check-in [a0d5cc9315] Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (check-in: [a0d5cc9315] user: drh branch: trunk, size: 147940)
2013-05-27
17:59
[9e12a56e05] part of check-in [211f7a5374] Update the NGQP to record which loops need be run in reverse order to satisfy ORDER BY clauses. (check-in: [211f7a5374] user: drh branch: nextgen-query-plan-exp, size: 148341)
2013-05-24
13:55
[0b0ba16c14] part of check-in [7c8f992c04] Merge the latest trunk changes into the NGQP branch. (check-in: [7c8f992c04] user: drh branch: nextgen-query-plan-exp, size: 148264)
12:47
[ba610d8082] part of check-in [61a1045239] Set _XOPEN_SOURCE to 600 so that fchmod() will (hopefully) work on FreeBSD. (check-in: [61a1045239] user: drh branch: trunk, size: 147939)
2013-05-21
15:52
[3b89d4517d] part of check-in [67367f1e1f] Work toward improving the NGQP's ability to optimize out ORDER BY clauses. (check-in: [67367f1e1f] user: drh branch: nextgen-query-plan-exp, size: 148655)
2013-05-15
08:00
[8ed1fae121] part of check-in [6fbad95725] Merge updates from trunk. (check-in: [6fbad95725] user: mistachkin branch: toTypeFuncs, size: 148355)
2013-05-14
15:31
[b9b6a2e972] part of check-in [9fe2029255] First attempt to get ORDER BY optimization working in NGQP. (check-in: [9fe2029255] user: drh branch: nextgen-query-plan-exp, size: 148657)
2013-05-10
02:11
[fab5580c75] part of check-in [5ed31c8279] Merge in the latest trunk changes. (check-in: [5ed31c8279] user: drh branch: nextgen-query-plan-exp, size: 148657)
02:00
[b4411cfc1c] part of check-in [82d50e1980] Free up bits of wsFlags for reuse. Install the ORDER BY optimization infrastructure for the NGQP. (check-in: [82d50e1980] user: drh branch: nextgen-query-plan-exp, size: 148525)
2013-05-09
23:40
[2b53aa18b8] part of check-in [512f8a1ef8] Merge trunk changes into the sessions branch. (check-in: [512f8a1ef8] user: drh branch: sessions, size: 148984)
2013-05-08
03:05
[aee09cf5ee] part of check-in [5d37587c50] Add the NGQP solver. (check-in: [5d37587c50] user: drh branch: nextgen-query-plan-exp, size: 148327)
2013-05-03
18:29
[4b768ec538] part of check-in [3879ab1b53] Merge all recent trunk changes into the sessions branch. (check-in: [3879ab1b53] user: drh branch: sessions, size: 148852)
2013-05-02
00:15
[0d76a0aa7c] part of check-in [ccaf4c3f7e] Begin inserting some experimental code for the next generation query planner. (check-in: [ccaf4c3f7e] user: drh branch: nextgen-query-plan-exp, size: 148262)
2013-04-30
07:58
[4cc782c9a8] part of check-in [400fc4c37f] Add the #ifdefs for sqlite3ErrName() to sqliteInt.h as well. (check-in: [400fc4c37f] user: mistachkin branch: winOsTrace, size: 148330)
2013-04-28
01:44
[1a2b576d60] part of check-in [b347b5d1a0] Initial work on reforming usage of OSTRACE by the Windows VFS. (check-in: [b347b5d1a0] user: mistachkin branch: winOsTrace, size: 148231)
2013-04-26
12:08
[de835c5840] part of check-in [460752b857] Reduce the default SQLITE_MAX_MMAP_SIZE slightly so that it fits in a signed 32-bit integer. (check-in: [460752b857] user: drh branch: trunk, size: 148198)
2013-04-25
00:57
[3585ea1bb8] part of check-in [39b4e6ff93] Make sure the affinity and datatype of sub-subqueries are initialized prior to subqueries as the latter relies on the former. (check-in: [39b4e6ff93] user: drh branch: trunk, size: 148180)
2013-04-22
23:59
[a9f727c0d5] part of check-in [6994826c07] Merge the latest trunk changes into the sessions branch. (check-in: [6994826c07] user: drh branch: sessions, size: 148764)
2013-04-16
18:24
[2a83cfec99] part of check-in [109d6767d2] Omit sqlite3_compileoption_used() entries that are not explicitly stated on the compiler command-line, except keep SQLITE_THREADSAFE around so that there is always at least one compilation option. (check-in: [109d6767d2] user: drh branch: trunk, size: 148110)
2013-04-15
17:03
[9933ad95b2] part of check-in [ea1404a10a] Refactoring the mmap interface. The controlling pragma is now "mmap_size" instead of "mmap_limit". Also change SQLITE_CONFIG_MMAP_LIMIT and SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and SQLITE_FCNTL_MMAP_SIZE, respecctively. The default mmap_size is now always 0, meaning that memory mapped I/O is off by default. There is a new compile-time option SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size. Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic and causes it to be omitted from the build. An extra argument is added to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we know that it does not work, meaning that it cannot be turned on by mistake on those platforms. (check-in: [ea1404a10a] user: drh branch: trunk, size: 147914)
2013-04-13
19:59
[7580edf7e7] part of check-in [ad53924dca] Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names. Candidate fix for ticket [2500cdb9be]. (check-in: [ad53924dca] user: drh branch: tkt-2500cdb9be, size: 146963)
2013-04-08
20:47
[1c517a89cf] part of check-in [8a4314a398] Disable the use of memory-mapped I/O if the SQLITE_DISABLE_MMAP macro is defined. Automatically define this macro for OpenBSD and QNX. Other systems are likely to be added to the disabled list over time. (check-in: [8a4314a398] user: drh branch: trunk, size: 146817)
2013-04-01
22:38
[1664dc5ad6] part of check-in [78141d0a16] Add the SQLITE_CONFIG_MMAP_LIMIT configuration option for overriding the SQLITE_DEFAULT_MMAP_LIMIT compile-time setting. Enhance "PRAGMA mmap_limit" so that without a specific database name, it sets the limit on all database files and changes the default for any future databases that might be added using ATTACH. (check-in: [78141d0a16] user: drh branch: experimental-mmap, size: 146641)
2013-03-19
19:28
[2c3d830ae7] part of check-in [6183f1bd86] Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size". (check-in: [6183f1bd86] user: dan branch: experimental-mmap, size: 146558)
2013-03-13
20:52
[d86179b5d5] part of check-in [d63fa039a0] Merge updates from trunk. (check-in: [d63fa039a0] user: mistachkin branch: toTypeFuncs, size: 146524)
06:34
[a0a6b155f5] part of check-in [d6cd3c780c] Merge latest trunk changes into this branch. (check-in: [d6cd3c780c] user: dan branch: sessions, size: 147153)
2013-03-12
20:38
[0f8f05ee4d] part of check-in [62316ebaca] Fix the ORDER BY optimization with IN constraints when the RHS of the IN constraint is a descending index. (check-in: [62316ebaca] user: drh branch: desc-orderby-fix-1, size: 146499)
18:34
[e390bfafb5] part of check-in [614a038ad2] A proposed fix for the DESC ORDER BY bug of ticket [4dd95f6943fbd18]. Seems to work, but lots more testing is needed prior to moving to trunk. (check-in: [614a038ad2] user: drh branch: desc-orderby-fix-1, size: 146533)
11:38
[8515d149d4] part of check-in [62adb0e0d7] Merge recent changes to trunk into sessions branch. (check-in: [62adb0e0d7] user: dan branch: sessions, size: 147118)
09:07
[4d3c88acd0] part of check-in [05c4463ec5] Increase strictness of the new experimental functions and add more tests. (check-in: [05c4463ec5] user: mistachkin branch: toTypeFuncs, size: 146410)
2013-03-11
13:37
[59477c6ddb] part of check-in [f9027cb47b] Define _BSD_SOURCE when building on OpenBSD. This is required for fchmod(). (check-in: [f9027cb47b] user: dan branch: trunk, size: 146464)
2013-03-06
02:12
[4b854bf7da] part of check-in [d69d21903b] Merge all the latest trunk changes into the sessions branch. (check-in: [d69d21903b] user: drh branch: sessions, size: 147039)
2013-02-19
18:34
[601c887f6d] part of check-in [d71abab085] Truncate over-length source lines in sqliteInt.h to 80 characters or less. (check-in: [d71abab085] user: drh branch: trunk, size: 146385)
2013-02-13
13:42
[61a5958645] part of check-in [7e14dc734d] Enhancements to the query planner to make use of indices for ORDER BY even when IN constraints are in the WHERE clause. Add extended error codes for all SQLITE_CONSTRAINT errors. (check-in: [7e14dc734d] user: drh branch: sessions, size: 147051)
01:00
[758285f17a] part of check-in [2cef8b68f0] Allow an index to be used for sorting even if prior terms of the index are constrained by IN operators. (check-in: [2cef8b68f0] user: drh branch: trunk, size: 146397)
2013-02-09
13:58
[8e01aa31d5] part of check-in [5461104668] Add extended error codes for constraint errors. (check-in: [5461104668] user: drh branch: constraint-error-codes, size: 146321)
2013-02-08
18:48
[c1e7fe135e] part of check-in [f78395c889] Loop through the elements on the RHS of an IN operator in reverse order when the ORDER BY clauses specifies DESC. (check-in: [f78395c889] user: drh branch: IN-with-ORDERBY, size: 146392)
2013-01-29
19:14
[6267485592] part of check-in [ae565ff3e0] New debugging pragmas: PRAGMA vdbe_debug=ON is short-hand for the sql_trace, vdbe_listing, and vdbe_trace pragmas. PRAGMA vdbe_debug enables tracing of sqlite3VdbeAddOp() calls. None of this is active unless compiled with SQLITE_DEBUG. (check-in: [ae565ff3e0] user: drh branch: trunk, size: 146316)
2013-01-25
02:10
[aa9282588b] part of check-in [82d3d1ae82] Enhancements to the query planner to exploit transitive relationships in the WHERE clause, and other minor changes to bring the sessions branch into alignment with the trunk. (check-in: [82d3d1ae82] user: drh branch: sessions, size: 146943)
2013-01-17
16:43
[fb4109b7a7] part of check-in [593d67c8b0] Add the ability to disable transitive constraints using the sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS) interface. (check-in: [593d67c8b0] user: drh branch: transitive-constraints, size: 146289)
2013-01-16
17:08
[a6b3f816df] part of check-in [13171eb5dc] Enhance the query planner to exploit transitivity of join constraints in a multi-way join. (check-in: [13171eb5dc] user: drh branch: transitive-constraints, size: 146221)
2013-01-07
17:31
[8829b00e8d] part of check-in [bf90f1fbf8] Merge updates from trunk. (check-in: [bf90f1fbf8] user: mistachkin branch: configReadOnly, size: 146195)
2013-01-03
22:22
[f3f74ba8e7] part of check-in [7e068e39b3] Merge recent trunk changes into the sessions branch. (check-in: [7e068e39b3] user: drh branch: sessions, size: 146778)
00:45
[e998703742] part of check-in [4cf5ed7ea1] Now supports result sets of the form "TABLE.*" with nested FROM clauses. (check-in: [4cf5ed7ea1] user: drh branch: name-resolution-fix, size: 146124)
2013-01-02
12:29
[2ce2d742e3] part of check-in [a5f4d2b641] Merge all the latest trunk changes into the name-resolution enhancement branch. (check-in: [a5f4d2b641] user: drh branch: name-resolution-fix, size: 145991)
2013-01-01
14:01
[2091fb64a2] part of check-in [5a2ac94483] Reduce the size of the Index object (by 8 bytes on x64). (check-in: [5a2ac94483] user: drh branch: trunk, size: 145482)
2012-12-20
01:15
[2e5d50f26a] part of check-in [e408dc9080] Add PRAGMA foreign_key_check. Name the child and parent tables as part of a "foreign key mismatch" error. (check-in: [e408dc9080] user: drh branch: trunk, size: 145413)
2012-12-19
13:41
[c708c868f1] part of check-in [3e7d84db78] Add commentary to the ExprList object to explain how zSpan is overloaded. Add test cases for the new name resolution functionality. (check-in: [3e7d84db78] user: drh branch: name-resolution-fix, size: 145817)
2012-12-18
19:36
[f7581eb79d] part of check-in [7fecced466] Optimize the degenerate case of a FROM clause table name enclosed all by itself inside parentheses. Generate code as if the parentheses did not exist, rather than the old behavior of manifesting the parenthesized table into a transient table. Also, tag every FROM-clause SELECT subquery that is generated by a parenthesized FROM-clause expression using the SF_NestedFrom flag. The new SF_NestedFrom flag is not yet used for anything. (check-in: [7fecced466] user: drh branch: trunk, size: 145308)
2012-12-17
16:46
[fed3071c8d] part of check-in [01c980e9bb] Prototype for PRAGMA that checks all foreign key constraints on a table. (check-in: [01c980e9bb] user: drh branch: foreign-key-check, size: 145336)
2012-12-08
23:37
[e08e87a07d] part of check-in [4f6d69ae94] Pull the latest trunk changes into the sessions branch, and in particular the collating-sequence refactorization. (check-in: [4f6d69ae94] user: drh branch: sessions, size: 145885)
06:46
[b9d79d391e] part of check-in [e65db42c9f] Merge updates from trunk. (check-in: [e65db42c9f] user: mistachkin branch: configReadOnly, size: 145244)
2012-12-07
22:18
[d1f0866c69] part of check-in [0aaf52a339] 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: [0aaf52a339] user: drh branch: ticket-71e333e7, size: 145231)
18:38
[02e8c8d6f3] part of check-in [972443b4eb] Some errors in veryquick resolved. Many more to go. (check-in: [972443b4eb] user: drh branch: ticket-71e333e7, size: 145156)
2012-12-06
21:16
[9cec95011e] part of check-in [fd011cb22f] Remove the Expr.pColl field and compute the collating sequence as it is needed. This fixes the test script "shared9.test", though there is still a memory leak. And there are other problems. Consider this a work-in-progress. (check-in: [fd011cb22f] user: drh branch: ticket-71e333e7, size: 145057)
20:19
[d660a5ad54] part of check-in [0d7b5d455c] Cherrypick [557c69055a3] and [0064bab7714] (OP_Once-related fixes for triggers). (check-in: [0d7b5d455c] user: dan branch: branch-3.7.9, size: 143241)
01:03
[666935d603] part of check-in [7b6951016f] Remove obsolete comments from the definition of the CollSeq object. (check-in: [7b6951016f] user: drh branch: trunk, size: 145173)
2012-12-05
10:01
[72ab83e698] part of check-in [11aa47b0a8] If the atomic-write property is enabled, a transaction may be committed in journal_mode=DELETE mode without ever actually creating a journal file on disk. In this case, do not attempt to unlink() the journal file when committing the transaction. (check-in: [11aa47b0a8] user: dan branch: trunk, size: 145807)
2012-11-27
21:56
[3a67c14ba5] part of check-in [ba8d08b670] Update the sessions branch to include the SQLLOG enhancement, the SQLITE_IOERR_DELETE_NOENT fix, and a fix for the number-of-documents bug in FTS4. (check-in: [ba8d08b670] user: drh branch: sessions, size: 146380)
2012-11-26
19:50
[68f23dcfc3] part of check-in [cd501bbccf] Add an option to register global hooks used for logging all SQL executed by an application. (check-in: [cd501bbccf] user: dan branch: sqllog, size: 145726)
2012-11-10
01:27
[b071b5d387] part of check-in [2993ca2020] Merge the latest changes from trunk: chiefly the outer/inner loop query optimizer scoring enhancement and the INSTR() function. (check-in: [2993ca2020] user: drh branch: sessions, size: 146274)
2012-11-09
17:59
[79c00e24d8] part of check-in [942556342a] Try to take into account the cost of inner loops when selecting which table of a join to use for the outer loop. (check-in: [942556342a] user: drh branch: inner-loop-cost, size: 145620)
2012-10-30
21:03
[205fa7fd18] part of check-in [fce667f2d9] Pull all the latest trunk enhancements into the sessions branch. (check-in: [fce667f2d9] user: drh branch: sessions, size: 146214)
14:39
[f29ed6fbbf] part of check-in [564631f3e4] Make it possible to disable the subquery-by-coroutine optimization using sqlite3_test_control(). Remove an always-false conditional. (check-in: [564631f3e4] user: drh branch: subquery-as-coroutine, size: 145560)
00:29
[c1927e2b0d] part of check-in [7af3acbbd4] Add an optimization that attempts to run a subquery as a coroutine rather than manifesting it into a temporary table. (check-in: [7af3acbbd4] user: drh branch: subquery-as-coroutine, size: 145481)
2012-10-26
13:34
[462f955201] part of check-in [325364a984] Backport the shared-cache-fix branch. (check-in: [325364a984] user: drh branch: branch-3.7.14, size: 144440)
2012-10-16
23:08
[3fad6e332d] part of check-in [f021559d8a] Merge updates from trunk. (check-in: [f021559d8a] user: mistachkin branch: configReadOnly, size: 145381)
2012-10-15
14:25
[c00feec4f6] part of check-in [76767d651f] Merge all the latest core changes into the sessions branch. (check-in: [76767d651f] user: drh branch: sessions, size: 145964)
2012-10-10
09:46
[b49674b1c9] part of check-in [f7437153b9] Move a couple of WAL-related function declarations in sqliteInt.h and pager.h into "#ifndef SQLITE_OMIT_WAL" blocks. Otherwise, the amalgamation fails to build using some compilers with SQLITE_OMIT_WAL (static function declared but not defined). (check-in: [f7437153b9] user: dan branch: trunk, size: 145310)
2012-10-09
14:58
[fec16c0932] part of check-in [f1fbb8c5bf] Merge the latest trunk changes, especially the ORDER BY optimizer enhancements but also other fixes, onto the sessions branch. (check-in: [f1fbb8c5bf] user: drh branch: sessions, size: 145929)
2012-10-07
14:14
[57db1b9d59] part of check-in [bbb0d189b7] Merge updates from trunk. (check-in: [bbb0d189b7] user: mistachkin branch: configReadOnly, size: 145346)
2012-10-05
18:35
[f68df9333d] part of check-in [ac81ae493f] Backport fixes to shared-cache mode, from the shared-cache-fix branch, to version 3.7.9 (check-in: [ac81ae493f] user: drh branch: branch-3.7.9, size: 143144)
17:44
[1c5c35cc83] part of check-in [698ec7769d] Merge the shared-cache related fixes from the shared-cache-fix branch to the trunk. (check-in: [698ec7769d] user: dan branch: trunk, size: 145275)
14:43
[6066ed7dac] part of check-in [8ea67522fb] Consolidate all occurrences of the "no such collation sequence" error message into a single spot. (check-in: [8ea67522fb] user: drh branch: trunk, size: 145087)
2012-10-04
19:33
[27105bbf39] part of check-in [2b370dea70] Shared-cache mode fixes for views and virtual tables. (check-in: [2b370dea70] user: dan branch: shared-cache-fix, size: 145277)
2012-10-03
20:25
[387103b56f] part of check-in [1138815c62] Merge updates from trunk. (check-in: [1138815c62] user: mistachkin branch: configReadOnly, size: 145160)
2012-09-28
13:05
[34844b6665] part of check-in [6ca8eae1f8] Merge the latest trunk changes (especially "PRAGMA busy_timeout" and the ORDER BY query planner optimizations) into the sessions branch. (check-in: [6ca8eae1f8] user: drh branch: sessions, size: 145743)
10:57
[44d0917a4f] part of check-in [6a5c59dd7e] Merge the latest trunk changes (PRAGMA busy_timeout and the ORDER BY query planner enhancements) into the apple-osx branch. (check-in: [6a5c59dd7e] user: drh branch: apple-osx, size: 146749)
2012-09-27
23:27
[c29395d6e6] part of check-in [98b633717a] Fix some corner case behavior in the new ORDER BY optimization logic. Remove the SQLITE_OrderByIdx bit from the SQLITE_TESTCTRL_OPTIMIZATIONS mask, since enabling it caused many TH3 tests to fail when the NO_OPT configuration parameter was engaged, and since there really isn't any need to turn that optimization off. The SQLITE_OrderByIdxJoin bit remains. (check-in: [98b633717a] user: drh branch: qp-enhancements, size: 145089)
15:05
[6ad55f4efb] part of check-in [d2fcba1e14] Add more bits to the bit vector that is used to disable optimizations for built-in test. Add specific bit patterns to disable ORDER BY using an index in general and for joins. Use macros to test for bits in the disabled-optimization bit vector, in order to make the code clearer. (check-in: [d2fcba1e14] user: drh branch: qp-enhancements, size: 145157)
2012-09-26
23:17
[cbcd2dd649] part of check-in [96496ddae1] Further refactoring of the ORDER BY related query-planning logic in order to make it easier to extend to support optimizing out ORDER BY on joins. No actual behavior changes, yet. (check-in: [96496ddae1] user: drh branch: qp-enhancements, size: 144631)
2012-09-25
12:45
[a07fdc8635] part of check-in [4a470741b6] Merge updates from trunk. (check-in: [4a470741b6] user: mistachkin branch: configReadOnly, size: 144628)
2012-09-24
15:30
[6b17114bb5] part of check-in [22989f3588] Change the internal sqlite3WhereBegin() to report that the ORDER BY clause is satisfied by indices using the WhereInfo.nOBSat field of the returned structure. (check-in: [22989f3588] user: drh branch: trunk, size: 144557)
2012-09-21
00:04
[6d02f0bbca] part of check-in [79e922f7ae] 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: [79e922f7ae] user: drh branch: trunk, size: 144516)
2012-09-20
15:41
[a970883533] part of check-in [cf40b7b5eb] Continuing incremental enhancements of SELECT code generation: Remove the Select.affinity field. Use SelectDest.affSdst instead. (check-in: [cf40b7b5eb] user: drh branch: trunk, size: 144476)
14:26
[bcfaf463a0] part of check-in [0cda241a2b] Refactoring of DISTINCT code. Change the name of the local variable "distinct" to "distinctTab". Generate cleaner code w/o unnecessary P4 and P5 values on the OP_Null for WHERE_DISTINCT_ORDERED. (check-in: [0cda241a2b] user: drh branch: trunk, size: 144551)
2012-09-19
17:31
[7fa267db55] part of check-in [8232050190] Add comments to the WHERE_DISTINCT_* macros. No changes to code. (check-in: [8232050190] user: drh branch: trunk, size: 144551)
2012-09-17
20:44
[5cbd434014] part of check-in [ccb8ecc30c] Add the ability to disable the covering-index-scan optimization at compile-time, start-time, or at run-time. Add test cases to check this configurability. (check-in: [ccb8ecc30c] user: drh branch: fullscan-covering-index, size: 144309)
19:12
[1228a3d216] part of check-in [4c21ee2d26] Remove obsolete bits from the bitvector that defines disabled optimizations in the SQLITE_TESTCTRL_OPTIMIZATIONS verb of sqlite3_test_control(). (check-in: [4c21ee2d26] user: drh branch: trunk, size: 144159)
18:56
[3f2ed42529] part of check-in [8b962c94a2] Remove an unnecessary parameter from sqlite3Utf8Read() resulting in a slight performance increase. (check-in: [8b962c94a2] user: drh branch: trunk, size: 144425)
2012-09-15
13:29
[0423f0a673] part of check-in [a93ee09cdc] Factor out the code that generates a co-routine for evaluating the SELECT on the RHS of an INSERT statement so that the same code can potentially be reused in other places. (check-in: [a93ee09cdc] user: drh branch: trunk, size: 144436)
2012-09-13
19:59
[03ad3f925f] part of check-in [6b252a0d1a] Improved alignment of fields in the Expr object gives an 8-byte size reduction on 64-bit machines. (check-in: [6b252a0d1a] user: drh branch: trunk, size: 144380)
14:42
[f31b576c4d] part of check-in [1cb9aedfcf] Reduce the size of the Table object by 16 bytes on 64-bit machines, mostly by avoiding intermixing pointer fields with integer fields. (check-in: [1cb9aedfcf] user: drh branch: trunk, size: 144380)
14:22
[3f34cdf724] part of check-in [4163f5f194] Change boolean fields in the Column object from unsigned characters into bits in a single bit mask variable. (check-in: [4163f5f194] user: drh branch: trunk, size: 144380)
2012-09-10
10:29
[7539de59f2] part of check-in [7c3401657a] Initial prototype of SQLITE_CONFIG_READONLY. (check-in: [7c3401657a] user: mistachkin branch: configReadOnly, size: 144323)
2012-08-31
14:23
[569cb02b65] part of check-in [87995dc940] Update with latest trunk changes. (check-in: [87995dc940] user: dan branch: sessions, size: 144906)
14:10
[0cd30dc6f6] part of check-in [bc9b9cd058] Merge in latest trunk changes. (check-in: [bc9b9cd058] user: dan branch: apple-osx, size: 145912)
2012-08-25
10:01
[053e03a532] part of check-in [9b19b84753] Fix all known instances of 'repeated the' style typos in comments. No changes to code. (check-in: [9b19b84753] user: mistachkin branch: trunk, size: 144252)
01:38
[a6ca480c34] part of check-in [6723add4f4] Merge all the latest trunk changes into the apple-osx branch. (check-in: [6723add4f4] user: drh branch: apple-osx, size: 145913)
01:21
[15ae668e04] part of check-in [aa62d6881b] Merge the latest trunk changes into the sessions branch. (check-in: [aa62d6881b] user: drh branch: sessions, size: 144907)
00:49
[da99fe107f] part of check-in [865dfcbaa5] Backport check-in [62678be3df35cd]: When the same index is used for all OR-terms in a WHERE clause, then try to use that index as a covering index. (check-in: [865dfcbaa5] user: drh branch: branch-3.7.2, size: 137971)
2012-08-24
23:24
[497e89badd] part of check-in [b722143d07] Move field WhereLevel.pCovidx inside the union to WhereLevel.u.pCovidx. (check-in: [b722143d07] user: drh branch: multi-or-covering-index, size: 144253)
18:44
[d5d7449433] part of check-in [a3e26038a1] Fix a problem to do with multi-or queries and automatic indexes. (check-in: [a3e26038a1] user: dan branch: multi-or-covering-index, size: 144258)
10:52
[66b3bc97e6] part of check-in [1dc8c7c741] Experimental change to support the covering index optimization for queries with OR terms in the WHERE clause that search a single index more than once. (check-in: [1dc8c7c741] user: dan branch: multi-or-covering-index, size: 144252)
2012-08-23
16:18
[f4748d1811] part of check-in [3c3ffa901f] Further improvements to the processing of nested aggregate queries. (check-in: [3c3ffa901f] user: drh branch: nested-agg, size: 144172)
2012-08-16
11:24
[1ef5f8b64d] part of check-in [f4125771e2] Update the threads branch to include all the latest trunk changes. (check-in: [f4125771e2] user: drh branch: threads, size: 144202)
2012-08-15
16:21
[23284c2be6] part of check-in [fc07a4795e] Merge all the latest trunk changes into the sessions branch. (check-in: [fc07a4795e] user: drh branch: sessions, size: 144582)
2012-08-06
18:50
[c8169801f8] part of check-in [d045f8b2d4] 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: [d045f8b2d4] user: dan branch: sorter-coalesce-writes, size: 143928)
2012-07-23
21:43
[ed41801550] part of check-in [b589f1efb3] Refactor field names in the SelectDest object to make them distinct and easier to grep for. (check-in: [b589f1efb3] user: drh branch: trunk, size: 143770)
2012-07-21
22:49
[4bb99c7309] part of check-in [793195d371] Add Win32 support to the internal threads interface. Also, add several asserts and fix a few typos. (check-in: [793195d371] user: mistachkin branch: threads, size: 144044)
19:40
[273e9d0029] part of check-in [0e4d977a4a] Add an internal interface that allows the code to take advantage of multiple cores by pushing subcomputations off into separate threads. The interface is not currently used. (check-in: [0e4d977a4a] user: drh branch: threads, size: 143951)
2012-07-18
16:07
[42082771df] part of check-in [defd828e90] Remove another branch from the DbMalloc() paths. (check-in: [defd828e90] user: dan branch: calloc, size: 143898)
2012-06-21
15:51
[2bc2ebc2ff] part of check-in [fb8893abee] Add the sqlite3_close_v2() interface (from the deferred-close branch) that allows close operations to happen out-of-order in bindings to garbage-collected langauges. (check-in: [fb8893abee] user: drh branch: trunk, size: 143770)
15:12
[4e092561a4] part of check-in [6131a0002f] Fix spelling typo. (check-in: [6131a0002f] user: mistachkin branch: trunk, size: 143642)
14:25
[aedc97651f] part of check-in [b80bc52f89] Fix the SQLITE_ZERO_MALLOC compile-time option so that it works on windows. (check-in: [b80bc52f89] user: drh branch: trunk, size: 143641)
2012-06-08
01:13
[81f3ce54d7] part of check-in [9d1b851562] Merge trunk changes into the apple-osx branch. (check-in: [9d1b851562] user: drh branch: apple-osx, size: 145078)
2012-06-07
23:58
[5b446b260e] part of check-in [c621403983] Merge all trunk changes, including the WinRT enhancements, into the sessions branch. (check-in: [c621403983] user: drh branch: sessions, size: 144072)
2012-06-05
19:20
[29b5348f00] part of check-in [42338e9e69] Merge the latest trunk changes into shared-schema branch. Also fix a C99-ism in that branch. (check-in: [42338e9e69] user: drh branch: shared-schema, size: 143418)
2012-06-02
14:32
[d3b7409a51] part of check-in [e276a02b7f] The sqlite3_close() interface returns SQLITE_OK even if there are outstanding sqlite3_stmt and sqlite3_backup objects. The connection becomes a zombie. Resource deallocation is deferred until the last sqlite3_stmt or sqlite3_backup object closes. This is intended to help SQLite play nicer with garbage collectors. (check-in: [e276a02b7f] user: drh branch: deferred-close, size: 143402)
2012-05-29
19:25
[64cffc7ff4] part of check-in [07935d10d3] Link the NDEBUG macro to SQLITE_DEBUG so that when SQLITE_DEBUG is defined, NDEBUG is automatically undefined an dwhen SQLITE_DEBUG is undefined NDEBUG is automatically defined. (check-in: [07935d10d3] user: drh branch: trunk, size: 143274)
2012-05-22
13:11
[e68fc7ec85] part of check-in [972e75bb5d] Version 3.7.12.1 (check-in: [972e75bb5d] user: drh branch: apple-osx, size: 144665)
13:01
[d13f48a106] part of check-in [d07b7b67d1] Version 3.7.12.1 (check-in: [d07b7b67d1] user: drh branch: sessions, size: 143659)
2012-05-21
20:13
[97ccae71ae] part of check-in [f3dd1fafd4] Candidate fix for the nested aggregate query problem of ticket [c2ad16f997ee9c8e]. (check-in: [f3dd1fafd4] user: drh branch: nested-agg, size: 143005)
19:11
[59a27074ef] part of check-in [7222609693] Convert the NameContext object from using u8 booleans to using individual bits in a single u8 as its booleans. This change might become a basis for a fix for [c2ad16f997ee9c]. (check-in: [7222609693] user: drh branch: nested-agg, size: 142927)
2012-05-15
18:28
[05b22e5816] part of check-in [aa0c3493d3] The former sqlite3ResetInternalSchema() routine was really two different routines, selected by parameter, each with a confused mission. So split this routine up into three separate smaller routines, calling each separately as needed. Hopefully this will make further refactoring and schema reset collateral damage containment easier. (check-in: [aa0c3493d3] user: drh branch: shared-schema, size: 142912)
17:15
[cef468b8f1] part of check-in [46f4eb5430] When a connection disconnects from a shared-cache database, only delete the in-memory schema if there are no other connections. (check-in: [46f4eb5430] user: dan branch: shared-schema, size: 142822)
2012-04-19
20:43
[ec90f0d797] part of check-in [b72f07b4a2] Update the apple-osx branch so that it includes all of the latest trunk changes. (check-in: [b72f07b4a2] user: drh branch: apple-osx, size: 144428)
2012-04-18
01:41
[572c5e6aca] part of check-in [87a0eab5d9] Import all the latest trunk changes into the sessions branch. (check-in: [87a0eab5d9] user: drh branch: sessions, size: 143422)
2012-04-17
16:38
[c5e917c4f1] part of check-in [430bb59d79] Improved handling of aggregate subqueries within an aggregate query. (check-in: [430bb59d79] user: drh branch: trunk, size: 142768)
2012-04-07
00:09
[ce7d8404f1] part of check-in [09d5581c81] Fix the application-defined function logic so that functions with a variable number of parameters can be replaced or deleted correctly. Also refactor some of the function-finder code for clarity of presentation. (check-in: [09d5581c81] user: drh branch: trunk, size: 142780)
2012-03-31
02:46
[efee04f7c9] part of check-in [18ec60cacd] Merge all the latest trunk changes into the apple-osx branch. (check-in: [18ec60cacd] user: drh branch: apple-osx, size: 144441)
2012-03-30
17:30
[0ad8c0d697] part of check-in [fb9b9987de] Merge all recent trunk changes into the sessions branch. (check-in: [fb9b9987de] user: drh branch: sessions, size: 143435)
15:48
[d701123ab4] part of check-in [1b75f301af] When a named CHECK constraint fails, include the name of the constraint in the error message. (check-in: [1b75f301af] user: drh branch: trunk, size: 142781)
2012-03-28
01:34
[3756ece33f] part of check-in [b899dbeb60] 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: [b899dbeb60] user: drh branch: faster-typeof-and-length, size: 142717)
2012-03-19
16:21
[e4a50c6ae8] part of check-in [f999197b75] Merge latest trunk changes into apple-osx branch. (check-in: [f999197b75] user: dan branch: apple-osx, size: 143703)
11:17
[f94543c697] part of check-in [2277c70b6f] Merge the latest trunk changes into the sessions branch. (check-in: [2277c70b6f] user: dan branch: sessions, size: 142548)
2012-03-15
21:28
[e65429a6f1] part of check-in [254f99ea9f] Add the sqlite3_db_readonly() interface. This is still tentative, pending a closer look at other ideas to accomplish the same thing. (check-in: [254f99ea9f] user: drh branch: db-readonly-api, size: 142043)
2012-03-07
19:13
[306a6f0c67] part of check-in [9a0f90d9de] If a CHECK constraint is named, report that name on the error message when the constraint fails. (check-in: [9a0f90d9de] user: drh branch: named-check-constraints, size: 142056)
2012-03-05
16:39
[e38af5c1f5] part of check-in [504bf49086] Pull in all the latest trunk changes. (check-in: [504bf49086] user: drh branch: apple-osx, size: 143652)
16:26
[3242e4adac] part of check-in [ff86875ca3] Merge in the latest trunk changes. (check-in: [ff86875ca3] user: drh branch: sessions, size: 142497)
2012-02-22
16:58
[b013dab7d4] part of check-in [fd8d744027] Change the SQLITE_FCNTL_PRAGMA file-control so that it can return a string value. (check-in: [fd8d744027] user: drh branch: file-control-pragma, size: 141992)
2012-02-13
16:43
[ea24b5f2d2] part of check-in [9b66c79e05] 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: [9b66c79e05] user: drh branch: nonblocking-rollback, size: 142001)
13:44
[4d30cbbfd6] part of check-in [922bcbb423] Generalize the interrupt mechanism so that individual statements can be interrupted and so that codes other than just SQLITE_INTERRUPT can be returned as a consequence of an interrupt. (check-in: [922bcbb423] user: drh branch: generalize-interrupt, size: 142070)
2012-02-10
18:18
[6a46b1a5e7] part of check-in [e248598649] Pull the latest trunk changes into the apple-osx branch. (check-in: [e248598649] user: drh branch: apple-osx, size: 143657)
17:54
[b62e6f8dfc] part of check-in [361fb66a79] Pull all the latest trunk changes into the sessions branch. (check-in: [361fb66a79] user: drh branch: sessions, size: 142502)
2012-02-02
15:50
[736f3a7748] part of check-in [0bc594e861] Data structure cleanup. Remove unused fields. Rearrange other files for tighter packing and reduced memory usage. (check-in: [0bc594e861] user: drh branch: trunk, size: 141997)
03:38
[e4275be35f] part of check-in [25df2a7458] Simplified array allocation in the IdList and AggInfo objects. (check-in: [25df2a7458] user: drh branch: trunk, size: 143247)
01:58
[f6b1d14dba] part of check-in [5963de303a] Remove the nAlloc field from the ExprList object. (check-in: [5963de303a] user: drh branch: trunk, size: 143462)
2012-01-31
14:24
[f388afe0c1] part of check-in [77b3430de6] Futher pedantic fixes to the sqlite3_uri_boolean() interface. (check-in: [77b3430de6] user: drh branch: trunk, size: 143472)
2012-01-28
19:41
[005e7da944] part of check-in [230983e86a] Add support for IF NOT EXISTS on CREATE VIRTUAL TABLE. (check-in: [230983e86a] user: drh branch: trunk, size: 143468)
15:22
[ee35c21bb1] part of check-in [eb3b6a0ceb] Add support for multiple rows of VALUES in an INSERT statement. (check-in: [eb3b6a0ceb] user: drh branch: trunk, size: 143463)
2012-01-19
16:57
[60d36e72f0] part of check-in [ab80f2c3b2] Make the use and function of SQLITE_DYNAMIC clearer. Add assert() statement to help ensure that SQLITE_DYNAMIC is not misused. (check-in: [ab80f2c3b2] user: drh branch: trunk, size: 143393)
2012-01-17
15:29
[b2bceb6691] part of check-in [96900c47e4] Remove the undocumented PRAGMA omit_readlock hack. (check-in: [96900c47e4] user: drh branch: trunk, size: 143150)
2012-01-05
13:02
[701b38210f] part of check-in [a9bcb432f5] Merge all of the latest trunk changes into the sessions branch. (check-in: [a9bcb432f5] user: drh branch: sessions, size: 143754)
2012-01-03
21:54
[738b994ee7] part of check-in [8a048423f0] Pull all the latest trunk changes over into the apple-osx branch. (check-in: [8a048423f0] user: drh branch: apple-osx, size: 144909)
2011-12-23
01:04
[b8fdd9c39c] part of check-in [6191c5e451] Change the name ZERO_DAMAGE to the more descriptive POWERSAFE_OVERWRITE. The query parameter used to control this device characteristic is now "psow". (check-in: [6191c5e451] user: drh branch: statvfs, size: 143249)
2011-12-10
23:18
[165409fa8a] part of check-in [5061d85ff9] Minor cleanups of the compound-subquery flattening logic. New test cases added for joins the compound subquery. (check-in: [5061d85ff9] user: drh branch: trunk, size: 143033)
15:55
[7a64e24659] part of check-in [bcbc7152d4] Import the experimental parse-tree explainer, with fixes, from the tree-explain branch. Disabled by default. Use SQLITE_ENABLE_TREE_EXPLAIN to turn it on. (check-in: [bcbc7152d4] user: drh branch: trunk, size: 143033)
14:44
[d781d89415] part of check-in [1a360da0f8] Merge the latest trunk changes into tree-explain branch. (check-in: [1a360da0f8] user: drh branch: tree-explain, size: 142939)
2011-12-09
13:24
[de3db02a1e] part of check-in [557c69055a] Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442]. (check-in: [557c69055a] user: dan branch: trunk, size: 142194)
2011-12-08
21:08
[78c821539e] part of check-in [59e0d4f3d9] Merge the latest trunk changes into the apple-osx branch. (check-in: [59e0d4f3d9] user: drh branch: apple-osx, size: 143757)
2011-12-06
19:44
[96041958f4] part of check-in [79ae51c5b1] Begin adding the data-structure explaining subsystem. All is contained within (check-in: [79ae51c5b1] user: drh branch: tree-explain, size: 142842)
13:24
[142ef5ed3f] part of check-in [092d53315e] Do not reuse temp registers originally allocated to a subroutine within the main body of the program logic, since if the subroutine is called while the reused temp registers are in use, their values will get clobbered. Candidate fix for ticket [3a77c9714e63330] (check-in: [092d53315e] user: drh branch: trunk, size: 142097)
2011-11-29
15:40
[6f28b69d77] part of check-in [431556cac0] Remove unused fields from the Parse object. Documentation and formatting improvements on data structure definitions. (check-in: [431556cac0] user: drh branch: trunk, size: 142058)
15:04
[bbc4c0b01e] part of check-in [b10d091ec0] Remove unused boolean fields from the UnpackedRecord object. (check-in: [b10d091ec0] user: drh branch: trunk, size: 142295)
14:46
[f49fb4fdcb] part of check-in [ab89b047e8] Removed the unused "type" field from the CollSeq (collating sequence) object. (check-in: [ab89b047e8] user: drh branch: trunk, size: 142460)
2011-11-16
18:08
[f412e020e1] part of check-in [457513f21f] Merge the PCACHE2 changes into trunk. (check-in: [457513f21f] user: drh branch: trunk, size: 142881)
16:23
[ce631f204a] part of check-in [a5418c7fc2] Remove code made obsolete by the changes to index processing that allow range search on the rowid. (check-in: [a5418c7fc2] user: drh branch: trunk, size: 142881)
2011-11-08
20:08
[f87f241b98] part of check-in [c275c9d323] Experimental change to the pcache interface to allow page buffers to be allocated separately from their associated container structures. (check-in: [c275c9d323] user: dan branch: experimental-pcache, size: 142956)
2011-11-07
13:05
[b0b6df8f7f] part of check-in [a35f52b1ad] Change the default file format from 1 to 4. This means that, unless PRAGMA legacy_file_format=ON is used first, new databases will not be readable by versions prior to 3.3.0 (2006-01-10). (check-in: [a35f52b1ad] user: drh branch: trunk, size: 142956)
2011-10-31
14:42
[65a6ba854a] part of check-in [4fa9ee7947] Pull the latest trunk changes into the apple-osx branch. (check-in: [4fa9ee7947] user: drh branch: apple-osx, size: 144616)
14:34
[3772c4ab4a] part of check-in [23580718e1] Merge in all changes found in the version 3.7.9 release candidate. (check-in: [23580718e1] user: drh branch: sessions, size: 143461)
2011-10-25
20:36
[e679eece2f] part of check-in [14bc58ca70] Cherrypick changes [53f5cfe115] and [1f7ef0af8d] in order to fix an issue with DISTINCT (check-in: [14bc58ca70] user: drh branch: branch-3.7.2, size: 137890)
2011-10-21
19:06
[c74457cd2c] part of check-in [aed2bf7a3c] Purge lingering references to SQLITE_STAT2 from the code and test scripts. (check-in: [aed2bf7a3c] user: drh branch: trunk, size: 142956)
17:18
[4e8c351ec2] part of check-in [be62ef058b] Merge the latest trunk changes into the apple-osx branch. (check-in: [be62ef058b] user: drh branch: apple-osx, size: 144732)
17:08
[bdf2d6a2c2] part of check-in [8baef58170] Merge the latest trunk enhancements into the sessions branch. (check-in: [8baef58170] user: drh branch: sessions, size: 143577)
2011-10-12
19:04
[6f8e592fc2] part of check-in [6bedb49d68] Suppress a compiler warning that occurs with SQLITE_OMIT_VIRTUALTABLE. (check-in: [6bedb49d68] user: drh branch: trunk, size: 143072)
2011-10-11
14:19
[48d941b4f1] part of check-in [7e2c489822] Merge the latest trunk changes into the apple-osx branch. (check-in: [7e2c489822] user: drh branch: apple-osx, size: 144683)
12:58
[0d9d61edf5] part of check-in [403431cac6] Merge all the latest trunk changes into the sessions branch - especially the SQLITE_ENABLE_STAT3 enhancements. (check-in: [403431cac6] user: drh branch: sessions, size: 143528)
2011-10-10
23:53
[e9a3282529] part of check-in [6cb43f6c6e] Forward port the Apple-specific changes from [db5b7b778c] in the apple-osx-377 branch. Fix this up so that it will compile and run on Linux. (check-in: [6cb43f6c6e] user: drh branch: apple-osx, size: 143768)
22:11
[2f4919d010] part of check-in [db5b7b778c] Merging in cherry picked diffs for persist wal, alloc padding, wal-safe vacuum and sqlite3_file_control based lockstate checking (check-in: [db5b7b778c] user: adam branch: apple-osx-377, size: 142945)
2011-10-07
14:40
[2f66bf0681] part of check-in [9fca05eac5] Prevent infinite recursion of in the query planner for some pathological test cases by disabling OR-clause processing upon first recursion. (check-in: [9fca05eac5] user: drh branch: or-opt, size: 143023)
2011-09-22
20:52
[28cca77ebd] part of check-in [374343c8ad] Remove the restriction on the number of entries per index in sqlite_stat3. (check-in: [374343c8ad] user: drh branch: stat3-trunk, size: 143028)
18:46
[40bc71ab08] part of check-in [3ca7e449e2] Fix an issue in ANALYZE when STAT3 is disabled but both sqlite_stat2 and sqlite_stat3 tables exist. Also add testability tweaks to the STAT3 code. (check-in: [3ca7e449e2] user: drh branch: stat3-trunk, size: 143020)
2011-09-21
00:09
[6cb04e5216] part of check-in [63fc3e4bea] Pull in the latest changes from trunk. Update the STAT3 documentation. (check-in: [63fc3e4bea] user: drh branch: stat3-trunk, size: 143020)
2011-09-20
15:53
[c5c2a76ef6] part of check-in [892723575c] Add SQLITE_STMTSTATUS_CACHE_HIT/MISS and SQLITE_DB_STATUS_CACHE_HIT/MISS. For querying the number of pager cache hits and misses on a statement or connection basis. (check-in: [892723575c] user: dan branch: cache-stats, size: 142186)
2011-09-19
20:56
[76d81cd9da] part of check-in [36be31ff0a] Minor comment change in the description of the different memory allocator options. No changes to code. (check-in: [36be31ff0a] user: drh branch: trunk, size: 142110)
2011-09-16
19:40
[2c05edf4b8] part of check-in [5efb02949d] Merge the latest trunk changes into the sessions branch. (check-in: [5efb02949d] user: drh branch: sessions, size: 142613)
19:36
[751564e4eb] part of check-in [070bf203bb] Merge the latest trunk fixes into the apple-osx branch. (check-in: [070bf203bb] user: drh branch: apple-osx, size: 142704)
19:29
[dea1be7ecc] part of check-in [51908c8f2b] Merge all the latest trunk changes into the experimental STAT3 branch. (check-in: [51908c8f2b] user: drh branch: stat3-trunk, size: 143018)
2011-09-15
23:58
[feb4f2b212] part of check-in [4b8357ee3c] Materialize subqueries using a subroutine and invoke that subroutine prior to each use of the materialization. Fix for ticket [002caede898aee4] (check-in: [4b8357ee3c] user: drh branch: tkt-002caede898, size: 142108)
2011-09-14
19:41
[68a33c1d88] part of check-in [c00e45ede7] Merge latest changes from the trunk into the sessions branch. (check-in: [c00e45ede7] user: dan branch: sessions, size: 142545)
19:05
[d1575c5366] part of check-in [2456b4d0d2] Merge in the latest changes from trunk. (check-in: [2456b4d0d2] user: drh branch: apple-osx, size: 142636)
2011-09-13
19:09
[b7f41c2947] part of check-in [11ca4ed8bf] Merge the latest trunk changes into the stat3-trunk branch. (check-in: [11ca4ed8bf] user: drh branch: stat3-trunk, size: 142950)
2011-09-03
00:17
[c7e37ee49b] part of check-in [68e26c4487] The build works again with -DSQLITE_OMIT_MERGE_SORT. The merge-sorter now avoids spilling to disk (letting the in-memory linked list grow without bound) if PRAGMA temp_store=3. (check-in: [68e26c4487] user: drh branch: merge-sort, size: 142040)
2011-09-02
10:31
[723cda73a3] part of check-in [7769fb988d] Instead of a temporary b-tree, use a linked-list and merge-sort to sort records in main memory in vdbesort.c. (check-in: [7769fb988d] user: dan branch: merge-sort, size: 142257)
2011-09-01
15:32
[f6debf9a9e] part of check-in [bab2e560f6] Experimental code-generator changes to utilize new opcodes for sorting. (check-in: [bab2e560f6] user: drh branch: merge-sort, size: 142195)
2011-08-26
19:20
[a6f805d591] part of check-in [eb036d6f81] Merge the latest trunk changes into the sessions branch. (check-in: [eb036d6f81] user: drh branch: sessions, size: 142639)
19:18
[1bcfb53f94] part of check-in [55af80035f] Merge the latest trunk changes into the apple-osx branch. (check-in: [55af80035f] user: drh branch: apple-osx, size: 142730)
13:52
[4aa5d74183] part of check-in [0df04f920b] Merge branches branch-3.7.2 and stat3-enhancement into a new branch for testing purposes. (check-in: [0df04f920b] user: drh branch: stat3-3.7.2, size: 138842)
13:16
[6dedc0587d] part of check-in [63f2c7859f] Merge the stat3-enhancement branch with trunk, but keep the resulting merge in a separate branch for now. (check-in: [63f2c7859f] user: drh branch: stat3-trunk, size: 143044)
11:25
[86a4fdb3ba] part of check-in [1dada51582] Update compiler error message regarding the choice of memory allocator defines. (check-in: [1dada51582] user: mistachkin branch: trunk, size: 142134)
11:18
[42e6014464] part of check-in [5238a74987] Merge Win32 native heap support into trunk. (check-in: [5238a74987] user: mistachkin branch: trunk, size: 142113)
2011-08-25
18:01
[18876859c6] part of check-in [5a69048681] Disable external merge source when SQLITE_TEMP_STORE==3. Add documentation to the OP_OpenSorter opcode. (check-in: [5a69048681] user: drh branch: trunk, size: 141724)
02:02
[5004ed078f] part of check-in [4257e9b7ca] In the MSVC makefile, support several levels of debugging, each one building on the previous. Also, add comment about the SQLITE_WIN32_MALLOC_VALIDATE macro. (check-in: [4257e9b7ca] user: mistachkin branch: winNativeHeap, size: 141896)
2011-08-24
16:13
[137c2af01e] part of check-in [bf3d0ab538] Experimental work to allow SQLite to use the native Win32 heap API. (check-in: [bf3d0ab538] user: mistachkin branch: winNativeHeap, size: 141631)
2011-08-13
19:35
[f491be51e4] part of check-in [89b2f70884] Further testing and bug fixing for sqlite_stat3. Added the Index.avgEq field to index statistics. Fixed several problems in the query planner associated with stat3. (check-in: [89b2f70884] user: drh branch: stat3-enhancement, size: 142417)
2011-08-12
01:51
[a4c0124ff6] part of check-in [52e1d7e8dd] Begin a branch that experimentally replaces sqlite_stat2 with a new table called sqlite_stat3 that will hopefully facilitate better query planning decisions. (check-in: [52e1d7e8dd] user: drh branch: stat3-enhancement, size: 142259)
2011-08-08
17:18
[fefed2b471] part of check-in [d1248165e3] Add code to actually use the sqlite_stat2.cnt field in the query planner. This changes some plans resulting in a few failures in analyze5.test. (check-in: [d1248165e3] user: drh branch: query-planner-tweaks, size: 142066)
2011-08-06
19:48
[a01882eb98] part of check-in [6d1e2372fe] The sqlite_stat2.cnt field is parsed if it is present. But it is not yet used. A large comment added to analyze.c to explain the format of the ANALYZE system tables. (check-in: [6d1e2372fe] user: drh branch: query-planner-tweaks, size: 142025)
2011-08-05
01:09
[be1ab8bc2c] part of check-in [b9d41c3490] Allow the sqlite_stat2 table to contain a number of samples other than the default of 10. (check-in: [b9d41c3490] user: drh branch: query-planner-tweaks, size: 141629)
2011-08-03
01:07
[8a7ca32a15] part of check-in [c8ba8855d8] Adjust the output row estimating logic when using STAT2. (check-in: [c8ba8855d8] user: drh branch: query-planner-tweaks, size: 141544)
2011-08-02
18:25
[5c29fe37ec] part of check-in [77376b332b] Merge all the latest trunk changes into the apple-osx branch. (check-in: [77376b332b] user: drh branch: apple-osx, size: 142103)
2011-07-22
12:49
[113559f0c2] part of check-in [110cfd6920] Merge the latest trunk changes into the sessions branch. (check-in: [110cfd6920] user: drh branch: sessions, size: 142012)
2011-07-12
14:48
[0e4a570a64] part of check-in [7afb2354d3] Cherrypick change [9f14fa56ba] (the fix for [54844eea3f]) from the trunk. (check-in: [7afb2354d3] user: dan branch: branch-3.7.2, size: 137932)
2011-07-08
16:10
[ba4a6d6288] part of check-in [9f14fa56ba] Fix for [54844eea3f]: Do not create automatic indexes on correlated sub-queries. (check-in: [9f14fa56ba] user: dan branch: trunk, size: 141507)
13:07
[a7143a30c5] part of check-in [18501dd1a8] Extend the SQLITE_TESTCTRL_OPTIMIZATIONS option to disable DISTINCT optimizations. (check-in: [18501dd1a8] user: drh branch: trunk, size: 141447)
2011-07-02
13:34
[efeea5b466] part of check-in [c593792ce0] Cherrypick [45e581bff7] into the 3.7.2 branch. (check-in: [c593792ce0] user: dan branch: branch-3.7.2, size: 137872)
2011-06-30
20:17
[58df570a42] part of check-in [f7ba0219ef] Experimental changes to improve optimization of DISTINCT queries. (check-in: [f7ba0219ef] user: dan branch: experimental, size: 141376)
2011-06-25
21:43
[7240bba17d] part of check-in [c6158b254f] Changes to make pragma synchronous sticky when SQLITE_DEFAULT_WAL_SAFETYLEVEL is used (check-in: [c6158b254f] user: adam branch: apple-osx, size: 141881)
2011-06-23
17:40
[3c2f3f13d8] part of check-in [840bf9c2d9] Pull the latest version 3.7.7 release-candidate changes into the sessions branch. (check-in: [840bf9c2d9] user: drh branch: sessions, size: 141790)
17:29
[7b72f7c692] part of check-in [b61a76a53a] Add a bit to the SQLITE_TESTCTRL_OPTIMIZATIONS setting that will disable affinity when writing to any index, regardless of whether or not the index is on a manifestation of a view. This allows better testing of the fix for ticket [91e2e8ba6ff2e2]. (check-in: [b61a76a53a] user: drh branch: trunk, size: 141285)
2011-06-22
12:01
[72cff2b19f] part of check-in [48d5cab3ac] Update sessions branch with latest trunk changes. (check-in: [48d5cab3ac] user: dan branch: sessions, size: 141713)
2011-06-21
15:15
[6d605800a0] part of check-in [5d4b0c5bfc] Backport the localtime() failure fix of ticket [bd484a090c8077] to the 3.7.6 branch. (check-in: [5d4b0c5bfc] user: drh branch: branch-3.7.6, size: 140574)
12:47
[a9248d3b0d] part of check-in [76ae8257ef] Return an error if localtime_r() fails within one of the date/time functions. Fix for [bd484a090c]. (check-in: [76ae8257ef] user: dan branch: trunk, size: 141208)
2011-06-20
10:44
[928caa4008] part of check-in [4c5e276c90] Merge the latest trunk changes into the sessions branch. (check-in: [4c5e276c90] user: drh branch: sessions, size: 141640)
2011-06-13
12:19
[7b7ec2394b] part of check-in [77f01578bb] Use only unsigned values in the implementatin of LIKE and GLOB so that values won't overflow to negative when dealing with malformed UTF8. (check-in: [77f01578bb] user: drh branch: trunk, size: 141135)
2011-06-07
18:31
[d2a9f6e06b] part of check-in [095cd9a6ec] Fix a comment type on the description of the Schema object. (check-in: [095cd9a6ec] user: drh branch: trunk, size: 141135)
2011-06-01
19:44
[219b21e80f] part of check-in [0b63b71357] Pull the latest trunk changes into the wal-readonly branch. (check-in: [0b63b71357] user: drh branch: wal-readonly, size: 141138)
18:15
[6e58c558c5] part of check-in [b3aaf715b6] Refactor the SQL parameter processing so that parameter names for values that are optimized out of the prepare statement are not forgotten. (check-in: [b3aaf715b6] user: drh branch: trunk, size: 141133)
2011-05-31
17:08
[8936583efb] part of check-in [2c6b5a28e3] Merge the latest trunk changes into the wal-readonly branch. (check-in: [2c6b5a28e3] user: drh branch: wal-readonly, size: 141223)
2011-05-30
13:39
[38481431b3] part of check-in [832886b1e6] Merge the latest trunk changes into the sessions branch. (check-in: [832886b1e6] user: drh branch: sessions, size: 141723)
2011-05-25
15:54
[d9ff5f198b] part of check-in [6df99e52da] Fix a compiler warning. (check-in: [6df99e52da] user: drh branch: trunk, size: 141218)
01:16
[aba3cb057f] part of check-in [92f26a8b8f] Changes to savepoint in virtual tables for simpler and more consistent operation. (check-in: [92f26a8b8f] user: drh branch: trunk, size: 141218)
2011-05-24
15:36
[558170329f] part of check-in [651ef24249] Do not invoke the xRollbackTo or xRelease methods of a virtual table without having first invoked an appropriate xSavepoint method. Add assert() statements to FTS3/4 to verify that this is happening in all cases. (check-in: [651ef24249] user: drh branch: trunk, size: 141216)
2011-05-19
02:48
[2fb482cff7] part of check-in [5b1b536cf8] Merge all the latest trunk changes into the sessions branch, especially the disappearing WAL transaction fix. (check-in: [5b1b536cf8] user: drh branch: sessions, size: 141660)
02:34
[52b58043e9] part of check-in [5791232778] Bring the apple-wal-readonly branch up to date with the latest changes in apple-osx, and especially the fix for disappearing WAL transactions. (check-in: [5791232778] user: drh branch: apple-wal-readonly, size: 141160)
2011-05-17
20:36
[7710875910] part of check-in [96d6098560] Add the ability to limit filenames to 8+3 using the SQLITE_ENABLE_8_3_NAMES compile-time option together with a URI parameter of "8_3_names=1". (check-in: [96d6098560] user: drh branch: trunk, size: 141155)
2011-05-11
14:57
[798fb09648] part of check-in [671ba5fc59] Only open a read-only connection to shared-memory if the "readonly_shm=1" option is specified as part of the database file URI (and if a read-write connection fails). (check-in: [671ba5fc59] user: dan branch: wal-readonly, size: 141001)
2011-05-07
14:40
[b34bd64a7a] part of check-in [139eecbe1b] Fix minor compiler warnings. (check-in: [139eecbe1b] user: drh branch: trunk, size: 140996)
2011-05-06
18:53
[88704cb43f] part of check-in [aa90b94325] Remove some unnecessary modifications from the uri branch. Add a test to show that ATTACH only interprets its argument as a URI if the connection was opened with SQLITE_OPEN_URI (or URI interpretation is globally enabled). (check-in: [aa90b94325] user: dan branch: uri, size: 140966)
2011-05-05
15:46
[1577ac69cb] part of check-in [6883580e6c] Merge the latest trunk changes into the sessions branch. (check-in: [6883580e6c] user: drh branch: sessions, size: 141286)
12:35
[5a7bf51f76] part of check-in [ea562d6d67] Fix a problem in the URI code preventing the amalgamation from building. Add comments describing SQLITE_CONFIG_URI and SQLITE_OPEN_URI to sqlite.h.in. (check-in: [ea562d6d67] user: dan branch: uri, size: 141003)
2011-05-04
17:35
[d1794da981] part of check-in [af279f367e] Merge latest trunk changes with uri branch. (check-in: [af279f367e] user: dan branch: uri, size: 140923)
2011-05-01
22:57
[81894df40e] part of check-in [7155e6f328] 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: [7155e6f328] user: drh branch: branch-3.7.2, size: 137781)
2011-04-27
12:08
[e70a03bb66] part of check-in [ff69f823f2] Fix problems related to savepoint rollback and fts3. (check-in: [ff69f823f2] user: dan branch: vtab-conflict, size: 140781)
2011-04-26
19:21
[1ec9fa7b72] part of check-in [fb4a355871] Extra tests for fts3. And fixes for conflict-handling related problems in fts3. (check-in: [fb4a355871] user: dan branch: vtab-conflict, size: 140871)
2011-04-25
18:49
[5facb244a2] part of check-in [6d2633a6d0] Add support for on conflict clauses to fts3/fts4. (check-in: [6d2633a6d0] user: dan branch: vtab-conflict, size: 140771)
2011-04-22
19:37
[810f45e315] part of check-in [b8a8132e71] Add the start of the "uri-filenames" feature. (check-in: [b8a8132e71] user: dan branch: uri, size: 140643)
2011-04-09
18:07
[9a29e5bb82] part of check-in [83705e90a5] Merge the latest trunk changes into the sessions branch. (check-in: [83705e90a5] user: drh branch: sessions, size: 141006)
17:32
[ac8f3f5846] part of check-in [a46f32900a] Add VerifyCookie instructions to "DROP XXX IF EXISTS" statements if the specified database object does not exist when the statement is prepared. (check-in: [a46f32900a] user: dan branch: trunk, size: 140501)
03:30
[084453ecc6] part of check-in [803530209f] Back port the unordered-index-hack to the 3.7.2 branch. (check-in: [803530209f] user: drh branch: branch-3.7.2, size: 137922)
03:20
[9e53256aa7] part of check-in [8a42e23670] If the keyword "unordered" appears at the end of the SQLITE_STAT1.STAT column for an index, then use that index for equality lookups only, never for range queries or sorting. This feature is currently undocumented and my change or be removed in a future release. (check-in: [8a42e23670] user: drh branch: trunk, size: 140441)
2011-04-05
13:27
[0873a71099] part of check-in [03ca83422f] Pull the latest trunk changes (and hence the schema-parse-refactor changes) into the sessions branch. (check-in: [03ca83422f] user: drh branch: sessions, size: 140880)
2011-04-04
21:25
[7b0150bfda] part of check-in [39c0090783] Additional schema mutex checks for sqlite3RootPageMoved(). Reduce the scope of sqlite3ResetInternalSchema() in a few places. (check-in: [39c0090783] user: drh branch: schema-parse-refactor, size: 140375)
20:40
[4db35e6a25] part of check-in [82c2316240] Minor comment typo corrections. Simplify an assert. No functional changes. (check-in: [82c2316240] user: drh branch: schema-parse-refactor, size: 140365)
18:22
[9a944a2d9b] part of check-in [ae8374af05] Add a description of access rules for the Schema object and lots of asserts to verify that the access rules are followed. (check-in: [ae8374af05] user: drh branch: schema-parse-refactor, size: 140362)
13:40
[56a866476a] part of check-in [71d7440023] Rename sqlite3SchemaFree() to sqlite3SchemaClear() to more accurately reflect its function. (check-in: [71d7440023] user: drh branch: schema-parse-refactor, size: 139629)
13:19
[bb9e764799] part of check-in [95d53c4432] Merge the latest changes of trunk into the session branch. (check-in: [95d53c4432] user: drh branch: sessions, size: 140133)
2011-04-02
20:01
[d45b0b1db4] part of check-in [3d6f2e8235] Change the name of the "tAttachMask" datatype to "yDbMask". (check-in: [3d6f2e8235] user: drh branch: trunk, size: 139628)
2011-03-31
18:36
[d6afefc890] part of check-in [a5aae1743a] 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: [a5aae1743a] user: drh branch: branch-3.7.2, size: 137856)
2011-03-30
21:04
[14325fe41e] part of check-in [6634521461] Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option. (check-in: [6634521461] user: drh branch: sessions, size: 140131)
2011-03-29
15:00
[da41a2f4aa] part of check-in [3b964155f6] If the keyword "unordered" appears at the end of the SQLITE_STAT1.STAT column for an index, then use that index for equality lookups only, never for range queries or sorting. (check-in: [3b964155f6] user: drh branch: unordered-index-hack, size: 139692)
2011-03-23
22:48
[7c11f9a648] part of check-in [9c3a6e4799] Merge in all the latest changes from the trunk, and especially the interface changes to the SystemCall methods of the VFS. (check-in: [9c3a6e4799] user: drh branch: sessions, size: 140053)
18:22
[f8f1d00a22] part of check-in [7aaf877227] Increase the upper bound on SQLITE_MAX_ATTACHED from 30 to 62. (check-in: [7aaf877227] user: drh branch: trunk, size: 139626)
2011-03-21
17:17
[10707dc735] part of check-in [2b3c8b9d9a] Merge in the sqlite3_db_config() enhancements for enabling and disabling FKs and triggers from trunk. (check-in: [2b3c8b9d9a] user: drh branch: sessions, size: 139875)
17:15
[1de0edab31] part of check-in [09e167f9c1] Add the ability to enable and disable foreign key constraints and triggers using calls to sqlite3_db_config(). (check-in: [09e167f9c1] user: drh branch: trunk, size: 139448)
2011-03-19
02:37
[6d71ab98ed] part of check-in [1b736ac293] Merge the fix to ticket [f7b4edece25c99485] into the sessions branch. (check-in: [1b736ac293] user: drh branch: sessions, size: 139803)
2011-03-18
21:55
[223159f987] part of check-in [36c04dd169] Add a generation counter to the Schema object and enhance OP_VerifySchema to also check the Schema generation. Fix for ticket [f7b4edece25c99]. (check-in: [36c04dd169] user: drh branch: trunk, size: 139376)
16:47
[e427f9cff8] part of check-in [9604d13001] Fixes for compiler warnings. Minor code cleanup. (check-in: [9604d13001] user: drh branch: sessions, size: 139724)
12:35
[d65b832eb8] part of check-in [94fd5bb6da] Merge all the latest trunk enhancements into the sessions branch. (check-in: [94fd5bb6da] user: drh branch: sessions, size: 139774)
2011-03-16
09:49
[db209477de] part of check-in [b0015a1cfe] Remove the sqlite3_transaction_hook() API. (check-in: [b0015a1cfe] user: dan branch: sessions, size: 139642)
2011-03-08
02:38
[2cea3e4799] part of check-in [2d5800bd8c] Fix additional cases of possible signed integer overflow, especially with regard to negation. (check-in: [2d5800bd8c] user: drh branch: trunk, size: 139297)
2011-03-05
20:59
[118481da7d] part of check-in [abf2139412] 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: [abf2139412] user: drh branch: trunk, size: 139258)
2011-03-03
20:06
[85e6351830] part of check-in [093d8cd8e2] Add the experimental sqlite3_transaction_hook() API. (check-in: [093d8cd8e2] user: dan branch: sessions, size: 139833)
2011-03-01
18:42
[3a262a299f] part of check-in [6145d7b89f] Add the experimental sqlite3_preupdate_hook() API. (check-in: [6145d7b89f] user: dan branch: sessions, size: 139592)
2011-02-23
13:53
[c3dd1afb5e] part of check-in [e701efbd1d] The robust_flock() fix that accidently included some unrelated, though harmless changes. I should follow my own checklist! (check-in: [e701efbd1d] user: drh branch: mistake, size: 139256)
2011-02-12
05:34
[39a0b4d6bd] part of check-in [9d2b0af266] Fix problems in the backport, reducing the number of errors in the TCL tests to just a few dozen. Most of the remaining errors seem to be real and desirable changes of behavior. (check-in: [9d2b0af266] user: drh branch: branch-3.7.2, size: 137848)
01:59
[f419da0d4c] part of check-in [e72cf118cb] This is the beginning of an attempt to backport recent query planner enhancements to version 3.7.2. The code in this version builds and runs and seems to give correct answers, but it generates suboptimal query plans and hence many of the test cases fail. The test script gives up after 1000 errors. (check-in: [e72cf118cb] user: drh branch: branch-3.7.2, size: 137785)
2011-02-02
16:34
[4290fff17f] part of check-in [bac7342c36] Merge in the blocking-checkpoint enhancement, including the new sqlite3_wal_checkpoint_v2() interface and the PRAGMA wal_checkpoint(full) statement. (check-in: [bac7342c36] user: drh branch: trunk, size: 139165)
2011-01-22
13:32
[45926deaf5] part of check-in [a764915b87] Modify the trace callback mechanism so that SQL commands executed from within virtual table or user function callbacks are passed to the trace callback without parameter expansion and enclosed in SQL comments. (check-in: [a764915b87] user: dan branch: trunk, size: 139148)
2010-12-20
15:51
[3ef5fc89a4] part of check-in [34613f1dc5] Add additional DBSTATUS options for measuring the hit and miss rates against the lookaside memory pool - information useful in tuning the lookaside size. Currently experimental pending analysis of performance impact. (check-in: [34613f1dc5] user: drh branch: experimental, size: 139073)
2010-12-06
21:06
[b96d5ddb8b] part of check-in [ad8bc68197] Add the ability to disable constant factoring using sqlite3_test_control(). Add a TCL interface to this new capability and add tests cases to the TCL test scripts to actually use the new capability. (check-in: [ad8bc68197] user: drh branch: trunk, size: 138999)
2010-12-01
19:00
[5cfee93885] part of check-in [7df43f4892] Change the type of a variable in struct SrcList so that it fits in a 100 byte lookaside buffer on a 64-bit architecture. (check-in: [7df43f4892] user: dan branch: trunk, size: 138919)
2010-11-23
18:59
[7739098f7b] part of check-in [2031974b60] Fix the max_page_count pragma so that it will not set to a value smaller than the current database size, as the documentation requires. Also, remove all occurances of atoi() from the core. (check-in: [2031974b60] user: drh branch: trunk, size: 138919)
2010-11-19
18:51
[eea368b138] part of check-in [ebf74015f0] Merge the checkpoint_fullfsync pragma and the superlock demonstration into the checkpoint-v2 experimental branch. (check-in: [ebf74015f0] user: drh branch: blocking-checkpoint, size: 138906)
18:23
[f5b5041bfe] part of check-in [a069867301] Add the checkpoint_fullfsync pragma which enables F_FULLFSYNC on checkpoint operations only, not during ordinary commit fsyncs. (check-in: [a069867301] user: drh branch: trunk, size: 138889)
2010-11-18
12:11
[4e7045f176] part of check-in [72787c010c] Modify the interface to the blocking wal-checkpoint functionality. (check-in: [72787c010c] user: dan branch: blocking-checkpoint, size: 138828)
2010-11-16
18:56
[fe1cb073b2] part of check-in [7e3fc2c833] 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: [7e3fc2c833] user: dan branch: blocking-checkpoint, size: 138816)
02:49
[dd28f6138c] part of check-in [56bbc53924] Use the estimated number of rows computed for subqueries in the cost computations for outer queries. (check-in: [56bbc53924] user: drh branch: trunk, size: 138811)
2010-11-09
20:08
[a4231c81ff] part of check-in [756589ad6e] Add "PRAGMA checkpoint_fullfsync". Similar to "PRAGMA fullfsync", but enables full fsyncs only during checkpoint operations. Update: This change was added to the trunk by check-in [a069867301de3ca2e17] (check-in: [756589ad6e] user: dan branch: apple-osx-exp, size: 137363)
14:49
[8648d013ce] part of check-in [73c93f5a2a] Further enhancements and fixes for explain query plan. (check-in: [73c93f5a2a] user: dan branch: experimental, size: 138677)
2010-11-08
19:01
[7349903d18] part of check-in [f4747eb83d] Experimental changes to EXPLAIN QUERY PLAN. (check-in: [f4747eb83d] user: dan branch: experimental, size: 138567)
2010-09-30
16:51
[c63b0340df] part of check-in [43fef1cab6] Changes to remove sqlite3FitsIn64Bits(). (check-in: [43fef1cab6] user: shaneh branch: experimental, size: 138419)
00:50
[6fb1558f78] part of check-in [14eed3a0e0] 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: [14eed3a0e0] user: drh branch: experimental, size: 138463)
2010-09-28
14:26
[ea31c7867d] part of check-in [7be03ecc04] Fix several harmless compiler warnings. (check-in: [7be03ecc04] user: drh branch: trunk, size: 138489)
2010-09-27
18:14
[224c8e31f8] part of check-in [53f5cfe115] Simplifications to the expression code generator. Remove about 80 lines of older and obsolete code. (check-in: [53f5cfe115] user: drh branch: trunk, size: 138478)
2010-09-25
22:32
[d8ae67308f] part of check-in [a7645d2938] Enhance the ANALYZE command so that it gathers statistics in the sqlite_stat1 table even for tables that are empty or have no indices. (check-in: [a7645d2938] user: drh branch: trunk, size: 138520)
2010-09-15
17:54
[ef7ed87467] part of check-in [82268a2c3d] Added the sqlite3_soft_heap_limit64() interface. Deprecate the older sqlite3_soft_heap_limit() interface. (check-in: [82268a2c3d] user: drh branch: trunk, size: 138441)
2010-09-08
02:30
[81343db964] part of check-in [0d7a538948] Improved documentation of SQLITE_THREADSAFE and sqlite3_column_text() and evidence marks for each. (check-in: [0d7a538948] user: drh branch: trunk, size: 138524)
2010-08-30
15:02
[4e31d3b587] part of check-in [0900e35348] Remove the sqlite3BtreeFactory() wrapper routine. All modules now call sqlite3BtreeOpen() directly. (check-in: [0900e35348] user: drh branch: trunk, size: 138172)
2010-08-27
17:48
[e3055cc4bd] part of check-in [9a724dfbe8] Add the sqlite3_create_function_v2() API, a version of create_function that allows a destructor to be specified. (check-in: [9a724dfbe8] user: dan branch: trunk, size: 138313)
12:21
[78ed6bd327] part of check-in [51049479a8] Remove unnecessary code from malloc.c. Enhance pcache1.c so that is tries to reuse existing pages, rather than create new pages, when SQLite is under memory pressure. "Memory pressure" means that SQLITE_CONFIG_PAGECACHE memory is nearly exhausted or sqlite3_soft_heap_limit() has been reached. (check-in: [51049479a8] user: drh branch: trunk, size: 137319)
2010-08-17
23:13
[4ac68f5150] part of check-in [220cca50da] Cherrypick the changes for enhancement requests [e090183531fc27474] (use indices on LIKE with no wildcards) and [4711020446da7d93d993] (use nocase index for LIKE even if the column is binary) into the 3.6.23.1 release of the Apple-OSX branch. (check-in: [220cca50da] user: drh branch: apple-osx-3623, size: 134461)
2010-08-09
15:44
[e33b15e817] part of check-in [9cebaf2dca] Fix typos in comments. No functional changes to the code. (check-in: [9cebaf2dca] user: drh branch: trunk, size: 137286)
2010-08-06
02:10
[1086f4a396] part of check-in [a7a15547cc] Change two automatic array variables into static constant arrays. Update and reformat some comments for cleaner presentation. (check-in: [a7a15547cc] user: drh branch: trunk, size: 137284)
2010-07-26
12:05
[a9be6badc6] part of check-in [00e55102a8] Change the way SubProgram objects are deleted so that the code is the same for deletion and measurement. (check-in: [00e55102a8] user: dan branch: experimental, size: 137290)
11:07
[2a057459f6] part of check-in [629e38a8c9] Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: [629e38a8c9] user: drh branch: experimental, size: 137364)
2010-07-25
02:39
[03ee6d40cf] part of check-in [548bf3f7d7] Fixes to prior checkins so that they compile and run even if SQLITE_MEMDEBUG is not defined. (check-in: [548bf3f7d7] user: drh branch: malloc-enhancement, size: 137435)
02:12
[0431c9cd9a] part of check-in [da2f62c502] Further examples of using automatic deallocation to replace "delete" methods. (check-in: [da2f62c502] user: drh branch: malloc-enhancement, size: 137203)
2010-07-24
18:25
[2e5a9ae356] part of check-in [48ef221c28] Add infrastructure to support a hierarchy of memory allocations with automatic deallocation of substructure. (check-in: [48ef221c28] user: drh branch: malloc-enhancement, size: 137120)
16:34
[e24b335bd5] part of check-in [ac1f37a647] Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: [ac1f37a647] user: drh branch: malloc-enhancement, size: 137018)
11:28
[0ec613ec2f] part of check-in [9aa30342f4] Experimental code to measure memory consumed by database schemas and prepared statements. (check-in: [9aa30342f4] user: dan branch: experimental, size: 137116)
2010-07-23
15:41
[13819304fa] part of check-in [6eddc6e601] Remove the Table.dbMem variable, as it is no longer being used for its original purpose. (check-in: [6eddc6e601] user: dan branch: trunk, size: 136955)
08:31
[e0d3c223fe] part of check-in [430be657be] Remove the unused Schema.db variable. (check-in: [430be657be] user: dan branch: trunk, size: 136994)
2010-07-22
17:49
[cb9ca3291a] part of check-in [9f932655f9] Enhance the LIKE/GLOB query optimization so that it works as long as there is an index with the appropriate collating sequence and even if the default collating sequence of the column is different. Ticket [4711020446da7d93d99]. (check-in: [9f932655f9] user: drh branch: trunk, size: 137518)
2010-07-14
18:24
[d9e42f2029] part of check-in [c288ac644d] Make the result of an IN or NOT IN expression with an empty set on the right-hand side always either false or true, respectively, even if the left-hand side is NULL. Ticket [80e031a00f45dc] (check-in: [c288ac644d] user: drh branch: trunk, size: 137470)
06:20
[8e3bc49a0e] part of check-in [5314ca3928] Fix a typo in the IS_BIG_INT macro used by coverage test instrumentation. (check-in: [5314ca3928] user: dan branch: trunk, size: 137431)
2010-07-08
17:40
[8eb5d1c63f] part of check-in [e396184cd3] 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: [e396184cd3] user: drh branch: trunk, size: 137430)
2010-07-07
13:43
[72de24dfe0] part of check-in [8156b57ac3] Add testcase macros to ensure that large-file cases are tested in WAL. (check-in: [8156b57ac3] user: drh branch: trunk, size: 137506)
2010-06-03
12:09
[242987ebd2] part of check-in [dd10a547f1] Remove global variables when compiled with SQLITE_OMIT_WSD (check-in: [dd10a547f1] user: drh branch: trunk, size: 137237)
2010-06-02
05:53
[4e26920ede] part of check-in [e7073e23b8] Add some 'const' markers to static data that is really constant. (check-in: [e7073e23b8] user: dan branch: trunk, size: 137206)
2010-05-14
19:24
[c1ca9bed7c] part of check-in [636f86095e] Make sure the value of an INTEGER PRIMARY KEY column supplied to triggers and especially to FK constraints really contains the ROWID and not the NULL that is stored in the column itself. Ticket [dd08e5a988d00dec]. (check-in: [636f86095e] user: drh branch: trunk, size: 137194)
2010-05-05
00:05
[9819b45610] part of check-in [451fd17575] When the in single-threaded mode, the sqlite3_mutex_alloc() interface still returns a non-NULL value. The mutex doesn't do anything, but it tests non-NULL. This way, extensions (or VFSes) that use sqlite3_mutex_alloc() can tell the difference between an OOM error and mutexes being disabled. (check-in: [451fd17575] user: drh branch: trunk, size: 137126)
2010-05-03
13:37
[e7f1368eb5] part of check-in [11a85b821a] Make sure the mutex is held while calling sqlite3ApiExit() in sqlite3_wal_checkpoint(). Other cleanup of WAL logic. (check-in: [11a85b821a] user: drh branch: wal, size: 137077)
11:05
[cb2b63a953] part of check-in [714e594726] Add the "PRAGMA wal_autocheckpoint" command. Rename "PRAGMA checkpoint" to "PRAGMA wal_checkpoint". (check-in: [714e594726] user: dan branch: wal, size: 137097)
08:04
[1f81585797] part of check-in [9803196dec] Add the sqlite3_wal_checkpoint() and sqlite3_wal_autocheckpoint() APIs. (check-in: [9803196dec] user: dan branch: wal, size: 137097)
2010-05-01
16:40
[3eb613c8ba] part of check-in [9b230c43df] Support compile-time option SQLITE_OMIT_WAL, for building without WAL support. (check-in: [9b230c43df] user: dan branch: wal, size: 136980)
2010-04-29
22:34
[32dfe6294b] part of check-in [62db5fa3b6] Refactor wal.c to use the VFS. This check-in compiles and links and works ok as long as you leave WAL turned off, but WAL does not work. (check-in: [62db5fa3b6] user: drh branch: wal, size: 136949)
2010-04-27
01:56
[700a2df7b8] part of check-in [7a0ac682c3] Merge in recent changes from the trunk (check-in: [7a0ac682c3] user: drh branch: wal, size: 136949)
2010-04-26
19:17
[4303fdad2e] part of check-in [ca9d86baf7] Optimization: Convert an ORDER BY clause into a no-op if the query also contains a GROUP BY clause that will force the same output order. (check-in: [ca9d86baf7] user: drh branch: trunk, size: 136830)
2010-04-24
14:33
[de668d16e7] part of check-in [a352f6285e] Merge with [0291ed974d]. Merge with [0291ed974d]. Merge with [0291ed974d]. (check-in: [a352f6285e] user: dan branch: wal, size: 136818)
14:02
[15339730ee] part of check-in [0291ed974d] When commands such as ALTER TABLE and VACUUM use SQL internally, make sure they use only the built-in functions and not application-defined overrides for those functions. (check-in: [0291ed974d] user: drh branch: trunk, size: 136699)
2010-04-21
06:19
[8da48f6776] part of check-in [278ed41e1d] Minor changes to test cases to account for the fact that databases with read/write versions of 2 are now understood. (check-in: [278ed41e1d] user: dan branch: wal, size: 136745)
2010-04-19
18:03
[6ed0ed7710] part of check-in [9bda601455] Add the sqlite3_log_hook() interface for scheduling checkpoints. (check-in: [9bda601455] user: dan branch: wal, size: 136704)
2010-04-07
16:54
[bd7ff54663] part of check-in [a811a47fbe] Wrap all automatic index changes inside SQLITE_OMIT_AUTOMATIC_INDEX. Add the automatic_index PRAGMA to turn it on and off. (check-in: [a811a47fbe] user: drh branch: experimental, size: 136626)
14:33
[2b4b274e93] part of check-in [c0f67ea131] Enhance comments on the SrcList object definition to better explain the operation of the SrcList.a[].colUsed field. No changes to code. (check-in: [c0f67ea131] user: drh branch: experimental, size: 136553)
2010-04-06
15:57
[ce32d5b93f] part of check-in [1b2a04125f] Automatically generate transient indices for tables in joins that would otherwise have to use a full table scan. (check-in: [1b2a04125f] user: drh branch: experimental, size: 136405)
2010-03-12
16:32
[f9b890585c] part of check-in [c2af2164cf] Add assert()s to mem2.c (activated by SQLITE_MEMDEBUG) which verify that memory alloctions that might have come from lookaside are always freed using a lookaside-aware free routine. (check-in: [c2af2164cf] user: drh branch: trunk, size: 136224)
2010-03-10
14:06
[4e411c08ff] part of check-in [1716821ddb] Fix typo in a comment in the sqliteInt.h. No changes to code. (check-in: [1716821ddb] user: drh branch: trunk, size: 134413)
2010-03-05
16:32
[6873f7f4c2] part of check-in [8858042fa1] Modify the vdbe so that the comparison operator opcodes do not modify the data type of operands. Fix for [aa92c76cd4]. (check-in: [8858042fa1] user: dan branch: trunk, size: 134413)
2010-03-04
16:12
[dd123c74d1] part of check-in [fc2c63ac78] Suppress harmless compiler warnings. (check-in: [fc2c63ac78] user: drh branch: trunk, size: 134409)
2010-02-25
02:32
[4d7df17502] part of check-in [46f406b202] Merge in all of the logging enhancements. This is a cherrypick merge of the following check-ins: [103321e37a], [a8076aede3], [6d910245ad], [7c4cca6d1a], [edea3bb740], [1a6d4bb130], [a8c984c1d6], [69a493182f], and [1168763d2c]. (check-in: [46f406b202] user: drh branch: branch-3.6.22, size: 134407)
2010-02-23
17:36
[32e6eb47d2] part of check-in [7c4cca6d1a] Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging output for CORRUPT, and CANTOPEN errors. (check-in: [7c4cca6d1a] user: drh branch: trunk, size: 134158)
2010-02-22
19:32
[d5fe1c8335] part of check-in [a8076aede3] Log all error messages if logging is enabled. (check-in: [a8076aede3] user: drh branch: trunk, size: 134149)
2010-02-18
18:45
[f86cce6239] part of check-in [103321e37a] Add a new, experimental logging interface designed to aid in debugging of deeply embedded projects that use SQLite. (check-in: [103321e37a] user: drh branch: trunk, size: 134107)
2010-02-03
19:55
[a1df33a2c9] part of check-in [1b6e6094c8] Add a new full-text search variant that tracks the total number of documents and document sizes, to make ranking search results easier. Currently called FTS4. (check-in: [1b6e6094c8] user: drh branch: trunk, size: 133971)
2010-01-14
00:39
[84b20b8be1] part of check-in [67c3aea563] Comment cleanup in sqliteInt.h. (check-in: [67c3aea563] user: drh branch: trunk, size: 133656)
2010-01-13
17:39
[02d9bef4b1] part of check-in [56f232d562] Make the sqlite3IsNaN() function a macro that evaluates to FALSE when compiled with SQLITE_OMIT_FLOATING_POINT. (check-in: [56f232d562] user: drh branch: trunk, size: 134298)
2009-12-30
14:12
[d6c48b1a5c] part of check-in [cc6b959bc1] Adjustments to column cache handling in order to restore 100% branch test coverage. (check-in: [cc6b959bc1] user: drh branch: trunk, size: 134220)
2009-12-24
16:00
[3b9eba31a6] part of check-in [ea4e57e1c1] Immediately purge entries from the column cache when the associated register undergoes an affinity change. Ticket [eb5548a849]. Enhance the SQLITE_TESTCTRL_OPTIMIZATIONS setting of sqlite3_test_control so that it can disable the column cache for testing purposes, in an effort to prevent future problems of a similar nature to this one. (check-in: [ea4e57e1c1] user: drh branch: trunk, size: 134215)
2009-12-22
23:52
[2612705b54] part of check-in [4a97c623f4] Move the query flattener turn-off from a pragma to an sqlite3_test_control() call. Make provisions (not yet implemented) to turn off other optimizers using the same call. (check-in: [4a97c623f4] user: drh branch: trunk, size: 134376)
00:29
[eddc248fb8] part of check-in [1d8550e5c8] Add a pragma to disable the query flattener - for use during testing. (check-in: [1d8550e5c8] user: drh branch: trunk, size: 134095)
2009-12-16
22:10
[93d5d01d9e] part of check-in [2c2de25266] Ensure WHERE clause terms involving tables on the right end of a join are not prematurely evaluated when tables on the left end of the join make use of the OR-clause optimization. Fix for ticket [31338dca7e]. (check-in: [2c2de25266] user: drh branch: trunk, size: 134026)
2009-12-04
23:10
[e946a6a3f2] part of check-in [08faee686e] Add the SQLITE_4_BYTE_ALIGNED_MALLOC compile-time option which tells some assert() statements that the underlying system only requires 4-byte alignment of 8-byte data objects like double or int64 and that system malloc() only guarantees 4-byte alignment of returned pointers. (check-in: [08faee686e] user: drh branch: trunk, size: 133874)
2009-11-27
12:12
[f09be5c67f] part of check-in [1b7c5250cc] Move [7d30880114] to the trunk. Add optimizations to reduce the number of opcodes used for BEFORE UPDATE triggers. (check-in: [1b7c5250cc] user: dan branch: trunk, size: 133452)
2009-11-26
14:01
[f79536c70b] part of check-in [cb4b928648] Simplifications to the sqlite3_trace() bound parameter substitution logic. (check-in: [cb4b928648] user: drh branch: trunk, size: 133261)
2009-11-25
18:03
[7577de4b88] part of check-in [545cfb3b63] Initial check-in of code that inserts tokenizations of the values for bound parameters into the output of sqlite3_trace(). (check-in: [545cfb3b63] user: drh branch: trunk, size: 133205)
2009-11-23
14:39
[8ee7b66de2] part of check-in [a4380ab326] Change so that deleting an Expr structure requires only one frame per level in the expression tree, not two. (check-in: [a4380ab326] user: dan branch: trunk, size: 133122)
2009-11-18
01:25
[e4d1e5233b] part of check-in [bf6c0bd1c5] Suppress more instances of unnecessary OP_IsNull and OP_Affinity opcodes. (check-in: [bf6c0bd1c5] user: drh branch: trunk, size: 133162)
2009-11-17
18:31
[1d6795e4d5] part of check-in [ebb0c8a3e9] Code generator tries to avoid pointless OP_IsNull and OP_Affinity opcodes. (check-in: [ebb0c8a3e9] user: drh branch: trunk, size: 133100)
2009-11-14
23:22
[961a7a3c14] part of check-in [d622ac6ac7] Optimizations to the main loop inside sqlite3VdbeExec() to help VDBE byte code run a few percent faster. (check-in: [d622ac6ac7] user: drh branch: trunk, size: 133004)
2009-11-11
00:24
[ee54fe752b] part of check-in [30055b257c] Generate VDBE code for the built-in COALESCE() and IFNULL() functions. This allows unused arguments to never be evaluated, which is a performance win when the unused argument is a subquery. (check-in: [30055b257c] user: drh branch: trunk, size: 132952)
2009-11-04
23:02
[55d26b83d1] part of check-in [f1c09acaca] Fix a typo on the ynVar typedef that unfortunately caused 3.6.20 to be released with a "bug" that causes excess memory usage for Expr objects. This bug should be benign in the sense that the correct answer is still always obtained - it only uses more more memory than is really necessary. (check-in: [f1c09acaca] user: drh branch: shunning-error, size: 132871)
13:30
[67a9ae4252] part of check-in [eb7a544fe4] Version 3.6.20 (check-in: [eb7a544fe4] user: drh branch: trunk, size: 132871)
13:17
[fd83f34791] part of check-in [24a4d520d5] Create a new datatype "ynVar" to hold "nVar" (number of variable) values. This is normally 16-bits can can be 32-bits if SQLITE_MAX_VARIABLE_NUMBER is large enough. (check-in: [24a4d520d5] user: drh branch: trunk, size: 132877)
2009-11-03
01:22
[b0661039d6] part of check-in [16a24b4485] All SQLITE_MAX_VARIABLE_NUMBER to exceed 32767. The sizes of some structures increase when the compile-time parameter is configured this way. (check-in: [16a24b4485] user: drh branch: trunk, size: 132444)
2009-10-30
13:25
[00256600cb] part of check-in [7253f8fad1] Avoid storing the result register for EXISTS and SELECT in any field of the Expr object - simply return the register number as the return value of the function that codes those expressions. (check-in: [7253f8fad1] user: drh branch: trunk, size: 132241)
2009-10-29
18:38
[4186a8554e] part of check-in [65a1f1334d] Fix a 16-bit integer overflow that might occur in statements that use both an EXISTS clause and IN operator with a RHS holding in excess of 32K entries. (check-in: [65a1f1334d] user: drh branch: branch_3_6_16, size: 126357)
2009-10-19
15:52
[3b00a3ce79] part of check-in [6fe6371175] When generating WHERE clause terms internally for NATURAL and USING joins, identify the table by its position in the FROM list, not by its name or alias. Fix for [b73fb0bd64]. (check-in: [6fe6371175] user: dan branch: trunk, size: 132242)
2009-10-15
23:03
[03712c2132] part of check-in [f256bc0796] 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: [f256bc0796] user: drh branch: trunk, size: 132201)
18:35
[cd893f92cc] part of check-in [9bd6f3d886] Add the experimental sqlite3_reoptimize() API. (check-in: [9bd6f3d886] user: dan branch: experimental, size: 132228)
2009-10-13
19:19
[4bacf6fd69] part of check-in [e0aa50c382] Fixed warnings with MSVC compile. (check-in: [e0aa50c382] user: shane branch: trunk, size: 132085)
2009-10-12
22:30
[44cded4d6b] part of check-in [634ef4fc9f] Add asserts as evidence that all FK constraints are either immediate or deferred. (check-in: [634ef4fc9f] user: drh branch: trunk, size: 132085)
2009-10-03
07:04
[61c55f5f83] part of check-in [3c24df38e6] Handle an SQLITE_IGNORE returned when requesting authorization to read parent key columns by pretending the parent key columns contain NULL values. (check-in: [3c24df38e6] user: dan branch: trunk, size: 132059)
2009-10-02
14:23
[20ca417280] part of check-in [9842f2d5f6] When inserting a row into a child table, invoke the authorization callback to request permission to read the parent key columns. (check-in: [9842f2d5f6] user: dan branch: trunk, size: 132068)
2009-10-01
16:09
[6730f9584e] part of check-in [edff350005] If an update does not modify any child or parent key columns, omit foreign key processing for the statement. (check-in: [edff350005] user: dan branch: trunk, size: 131992)
2009-09-28
14:49
[284a65c29b] part of check-in [8353808c9e] Fix the DROP TABLE command so that it cannot be used to bypass foreign key constraints (if foreign key support is enabled). (check-in: [8353808c9e] user: dan branch: trunk, size: 132012)
2009-09-26
17:51
[21510d10a6] part of check-in [b4a10c39e7] When ALTER TABLE RENAME TO is used to change the name of a table that is the parent table of a foreign key constraint, modify that foreign key constraint to use the new table name. (check-in: [b4a10c39e7] user: dan branch: trunk, size: 131868)
2009-09-24
13:48
[7dcffff0e9] part of check-in [d5b714cfff] Comment enhancements. Add an ALWAYS macro in fkey.c to indicate a branch that is always taken. (check-in: [d5b714cfff] user: drh branch: trunk, size: 131830)
09:05
[f1ab717f3e] part of check-in [0443f7c911] Remove unused parameter from sqlite3CodeRowTrigger(). Fix header comments for this function and CodeRowTriggerDirect(). (check-in: [0443f7c911] user: dan branch: trunk, size: 131810)
00:09
[6b1fef0ef9] part of check-in [f0c56fa90d] Make sure a transaction is available for rollback whenever a REDUCE conflict resolution occurs and there is the possibility to ABORT. Ticket [4a03edc4c8c] (check-in: [f0c56fa90d] user: drh branch: trunk, size: 131817)
2009-09-23
08:43
[98ad725d69] part of check-in [540c2d18e1] Add missing comments to fkey.c. Also, change the terminology used for comments and names in fkey.c from "referenced/referencing" to "parent/child". This is arguably less correct, but is easier to follow. (check-in: [540c2d18e1] user: dan branch: trunk, size: 131786)
02:29
[35f0d42039] part of check-in [98853f6104] 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: [98853f6104] user: drh branch: trunk, size: 131983)
2009-09-22
07:13
[6a949ccf79] part of check-in [c447cb37d6] Fix compilation errors when OMIT_FOREIGN_KEY is defined. (check-in: [c447cb37d6] user: dan branch: trunk, size: 131933)
2009-09-21
16:06
[1412bcdc13] part of check-in [fb6ceed388] Fix compilation with OMIT_TRIGGER defined. Ticket [1ff6d29030]. (check-in: [fb6ceed388] user: dan branch: trunk, size: 131972)
2009-09-19
17:00
[24000f9bd8] part of check-in [d5d3998118] Check in implementation of foreign key constraints. (check-in: [d5d3998118] user: dan branch: trunk, size: 131408)
2009-09-08
19:15
[66914c7a4a] part of check-in [aec9dbd8d2] Combine the OP_Statement and OP_Transaction opcodes. (check-in: [aec9dbd8d2] user: dan branch: trunk, size: 130262)
15:55
[b39de08df1] part of check-in [85cb0c94a6] If recursive-triggers are enabled, fire DELETE triggers if database rows are removed as a result of OR REPLACE conflict resolution. (check-in: [85cb0c94a6] user: dan branch: trunk, size: 130023)
01:14
[6c03c685f3] part of check-in [52449a9569] Code simplifications, especially to the pseudo-table logic, and comment improvements. (check-in: [52449a9569] user: drh branch: trunk, size: 130007)
2009-09-07
18:14
[13bb8c9abb] part of check-in [d7dc8b4336] Add the SQLITE_LIMIT_TRIGGER_DEPTH option to sqlite3_limit(). (check-in: [d7dc8b4336] user: drh branch: trunk, size: 129900)
04:38
[0abbf6e260] part of check-in [26cd015c0e] Warning cleanup from the MSVC compile. (check-in: [26cd015c0e] user: shane branch: trunk, size: 129902)
2009-09-01
17:11
[12f2e4a8aa] part of check-in [e016cca363] Change "PRAGMA disable_recursive_triggers" to "PRAGMA recursive_triggers". Also a fix for compiling with OMIT_TRIGGER defined. (check-in: [e016cca363] user: dan branch: trunk, size: 129904)
12:16
[f25f4fcefe] part of check-in [38a9327bad] More fixes and comment updates. (check-in: [38a9327bad] user: dan branch: trunk, size: 129764)
2009-08-31
15:27
[9036e5d016] part of check-in [85d9f23be1] More fixes for test cases. (check-in: [85d9f23be1] user: dan branch: trunk, size: 129384)
2009-08-30
11:42
[d87eb4976e] part of check-in [9eb91efda5] Fixes for new triggers scheme. (check-in: [9eb91efda5] user: dan branch: trunk, size: 130828)
2009-08-28
18:53
[ff4ae0702b] part of check-in [9b9c192115] Changes to support recursive triggers. (check-in: [9b9c192115] user: dan branch: trunk, size: 130753)
2009-08-20
13:45
[20ab1da1a9] part of check-in [4a5d9550bd] Incremental code and comment cleanup in where.c. There is more to be done. (check-in: [4a5d9550bd] user: drh branch: trunk, size: 129935)
02:34
[26356ea41d] part of check-in [4ee44322ca] All the sqlite3GetCollSeq() function to specify an arbitrary text encoding. (check-in: [4ee44322ca] user: drh branch: trunk, size: 129935)
2009-08-19
17:17
[36a21a90b6] part of check-in [71ea9d0e14] Change the way an Expr that has been converted to TK_REGISTER stores its original opcode. The previous method, overloading Expr.iColumn, did not work in all cases. (check-in: [71ea9d0e14] user: dan branch: trunk, size: 129930)
14:42
[a9516142b9] part of check-in [6c8a0e2b37] Merge with 709e16145e. (check-in: [6c8a0e2b37] user: dan branch: trunk, size: 129918)
14:34
[6bf0a232dc] part of check-in [aa728e06ce] Clean up sqlite_stat2 related code. Add test cases. (check-in: [aa728e06ce] user: dan branch: trunk, size: 129831)
09:09
[4422daf1c7] part of check-in [67207a15bd] Fix a problem where a buffer allocated from a lookaside pool was being released using the system free(). (check-in: [67207a15bd] user: dan branch: trunk, size: 129791)
08:18
[d1a1a37db2] part of check-in [362665e89c] Add the SQLITE_ENABLE_STAT2 macro. If this is not defined at build-time, the stat2 table is not created, populated, or used. (check-in: [362665e89c] user: dan branch: trunk, size: 129724)
2009-08-18
16:24
[a11d40fc24] part of check-in [ded9dec645] Change the sqlite_stat2 schema to be more flexible. (check-in: [ded9dec645] user: dan branch: trunk, size: 129690)
2009-08-17
17:06
[21722d546c] part of check-in [dd96bda2a8] First version of sqlite_stat2 (schema forces exactly 10 samples). (check-in: [dd96bda2a8] user: dan branch: trunk, size: 129756)
15:16
[d675e20da3] part of check-in [904a371c6c] Add tests to check that sqlite recovers from an error in sqlite3_initialize() correctly. (check-in: [904a371c6c] user: dan branch: trunk, size: 129152)
2009-08-13
19:21
[6a90791138] part of check-in [e72186f2d6] If a binary operator in a WHERE clause that should be performed with no affinity conversions applied to its operands (see http://www.sqlite.org/datatype3.html) is optimized by index lookup, do not apply any conversions to the key value before looking it up in the index. Fix for [93fb9f89d6]. (check-in: [e72186f2d6] user: dan branch: trunk, size: 129065)
2009-08-12
11:45
[6337542c0e] part of check-in [b0848925ba] Make sure the large-file support macros occur first in sqliteInt.h. Fix for CVSTrac ticket #4022. (check-in: [b0848925ba] user: drh branch: trunk, size: 129058)
2009-08-10
03:57
[1840be4211] part of check-in [ee034cfc71] Removed some warnings from the MSVC compile. (CVS 6965) (check-in: [ee034cfc71] user: shane branch: trunk, size: 129058)
2009-08-06
17:43
[2f8dae0ff8] part of check-in [ba1afc0401] Alternative fix for ticket #3810. This is a replacement for check-in (6956). (CVS 6960) (check-in: [ba1afc0401] user: drh branch: trunk, size: 129058)
2009-07-28
16:44
[3de9749ac9] part of check-in [4571aa9e91] Add the experimental API sqlite3_strnicmp(). Modify fts3 so that in terms like 'column_name:token' the column_name is interpreted in a case-insenstive fashion. Ticket #3996. (CVS 6950) (check-in: [4571aa9e91] user: danielk1977 branch: trunk, size: 128988)
2009-07-27
10:05
[1199395d32] part of check-in [3616766a6f] When extracting values from a record to use in an UPDATEd version of that record, apply OP_RealAffinity if required. Fix for #3992. (CVS 6945) (check-in: [3616766a6f] user: danielk1977 branch: trunk, size: 129001)
2009-07-24
17:58
[11d239cc65] part of check-in [5d9e767a05] Allow virtual tables to be used in shared-cache mode. (CVS 6928) (check-in: [5d9e767a05] user: danielk1977 branch: trunk, size: 128996)
2009-07-13
15:52
[c638fff6a0] part of check-in [1c2bfc43a4] Remove the SQLITE_CommitBusy flag. This was an attempt to block recursion on the sqlite3_commit_hook() interface. But such recursion is explicitly disallowed, so the flag is pointless. (CVS 6889) (check-in: [1c2bfc43a4] user: drh branch: trunk, size: 126062)
2009-07-03
22:54
[336d10317b] part of check-in [983cb6924b] Remove two unused fields from the Parse structure. The TCL interface now removes leading whitespace from SQL statements before parsing them. (CVS 6846) (check-in: [983cb6924b] user: drh branch: trunk, size: 126139)
15:37
[8460c998ff] part of check-in [c8bf40df7b] Make explicit the restrictions on UPDATE, DELETE, and INSERT statement syntax within triggers. Ticket #3947. (CVS 6840) (check-in: [c8bf40df7b] user: drh branch: trunk, size: 126248)
2009-06-26
15:14
[7f6ab3d1c8] part of check-in [96729b2d49] 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: [96729b2d49] user: drh branch: trunk, size: 126357)
2009-06-24
11:08
[47a5178da3] part of check-in [ee20b6a23f] Remove a declaration of the sqlite3Assert() function that was deleted by the previous check-in. (CVS 6810) (check-in: [ee20b6a23f] user: drh branch: trunk, size: 126425)
10:26
[85f4119ceb] part of check-in [d8fc373fef] Remove the sqlite3Assert() function. The ALWAYS() and NEVER() macros call assert() directly when compiled with SQLITE_DEBUG. (CVS 6809) (check-in: [d8fc373fef] user: drh branch: trunk, size: 126452)
2009-06-23
20:28
[2dc684cd94] part of check-in [1330993de8] Enhance autoincrement so that it works with triggers that also do autoincrement inserts, even multiple inserts into the same table. Ticket #3928 (CVS 6807) (check-in: [1330993de8] user: drh branch: trunk, size: 126456)
2009-06-19
14:06
[9fd22fed12] part of check-in [37ae5f5e8f] Reorganize and cleanup the prepared statement object. Remove code that has been commented out for ages and is no longer relevant to anything. (CVS 6786) (check-in: [37ae5f5e8f] user: drh branch: trunk, size: 125322)
2009-06-18
17:22
[ad6f72619f] part of check-in [ed08b53cd6] Move codec management from database connections into the pager so that it will work together with shared cache. (CVS 6782) (check-in: [ed08b53cd6] user: drh branch: trunk, size: 125471)
2009-06-15
20:45
[d1e70cdb3a] part of check-in [1591b8322b] Changes to allow a clean compile with no floating-point instructions generated when SQLITE_OMIT_FLOATING_POINT is used. (CVS 6763) (check-in: [1591b8322b] user: drh branch: trunk, size: 125621)
2009-06-11
00:47
[3445ca4373] part of check-in [43a6ca98b1] Changes to reenable codec operation and to handle memory allocation failures within a codec. (CVS 6746) (check-in: [43a6ca98b1] user: drh branch: trunk, size: 125591)
2009-06-05
14:17
[f8d70341d5] part of check-in [38b20327a8] Take care that a corrupt variable-length integer does not cause 32-bit integer overflow when parsing a record format, nor cause excessively large memory allocations. (CVS 6719) (check-in: [38b20327a8] user: drh branch: trunk, size: 125441)
2009-06-02
21:31
[474e85cc85] part of check-in [04bad9eb6d] Further reductions in the amount of stack space required. (CVS 6707) (check-in: [04bad9eb6d] user: drh branch: trunk, size: 125125)
2009-06-01
18:18
[210280ec1b] part of check-in [c7c0c58e47] Malloc for space to hold the Parse object in sqlite3_prepare() and friends. Or, if compiled with SQLITE_USE_ALLOCA, obtain space for the object from alloca(). (CVS 6702) (check-in: [c7c0c58e47] user: drh branch: trunk, size: 125118)
2009-05-30
14:16
[9d9e15a343] part of check-in [00e7250f11] Fix for ticket #3887. Other unrelated bits of code cleanup in the expr.c source module. (CVS 6693) (check-in: [00e7250f11] user: drh branch: trunk, size: 124429)
2009-05-28
21:04
[39fb1a85a7] part of check-in [6ae4ad6ebe] Remove references to deleted function sqlite3ExprRegister(). Changes to the expr.c source module to promote better testing. (CVS 6686) (check-in: [6ae4ad6ebe] user: drh branch: trunk, size: 124356)
01:00
[97f9125229] part of check-in [4ac2bdfbb4] Additional refinements to Expr handling. Restore compression of trigger expressions. Change Expr.zToken to Expr.u.zToken and added Expr.u.iValue. Remove an unnecessary ExprDup from CHECK constraint processing. And so forth. (CVS 6682) (check-in: [4ac2bdfbb4] user: drh branch: trunk, size: 124398)
2009-05-27
10:31
[28a5b5c0bf] part of check-in [7cb1c3ba07] Simplifications to the Expr object: Remove Expr.span completely and convert Expr.token into a char* Expr.zToken. Also simplify the Token object by removing the Token.dyn and Token.quoted fields. (CVS 6681) (check-in: [7cb1c3ba07] user: drh branch: trunk, size: 123901)
2009-05-20
02:40
[b4cc76a99b] part of check-in [929cfbc66f] Updates to the extension loading logic to support full coverage testing. (CVS 6659) (check-in: [929cfbc66f] user: drh branch: trunk, size: 123945)
2009-05-19
14:21
[68b1b7aebc] part of check-in [1b0ee9d188] Improvements to the SQLITE_INT_TO_PTR macro to reduce the number of warnings. For some platforms it might be necessary to compile with the -DHAVE_STDINT_H flag. Ticket #3860. (CVS 6657) (check-in: [1b0ee9d188] user: drh branch: trunk, size: 123944)
2009-05-18
13:34
[3de645e5f5] part of check-in [43051e0315] Fix a typo on a comment associated with check-in (6641) and ticket #3860. (CVS 6646) (check-in: [43051e0315] user: drh branch: trunk, size: 123787)
2009-05-16
17:38
[f45e2a34e9] part of check-in [ddee7ff23e] Attempt to provide a version of the SQLITE_INT_TO_PTR macro that works on both llvm-gcc-4.2 and MSVC. Ticket #3860. (CVS 6641) (check-in: [ddee7ff23e] user: drh branch: trunk, size: 123787)
2009-05-13
17:21
[d20ac97b4d] part of check-in [264ace50bb] Changes to build.c to help facilitate full coverage testing. (CVS 6634) (check-in: [264ace50bb] user: drh branch: trunk, size: 123438)
2009-05-11
20:53
[0a39cbf63c] part of check-in [33cf83591e] Rework the logic that generates a schema for tables created using "CREATE TABLE ... AS SELECT ...". Instead of trying to copy the raw datatype string from the right-hand side, just make the type one of TEXT, INT, REAL, NUM, or nothing. This is much simpler than trying to parse and quote datatype strings. Other minor implifications to build.c are bundled with this change. (CVS 6626) (check-in: [33cf83591e] user: drh branch: trunk, size: 123557)
2009-05-07
14:11
[04607d0bee] part of check-in [660108ef7a] If compiling FTS3 in the amalgamation, include the ctype.h header file. Ticket #3843. (CVS 6618) (check-in: [660108ef7a] user: drh branch: trunk, size: 123580)
2009-05-04
11:42
[1f58ab9dee] part of check-in [cac4f3d812] Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599) (check-in: [cac4f3d812] user: danielk1977 branch: trunk, size: 123348)
2009-05-03
20:23
[2edb5e7e19] part of check-in [a612299092] Changes to facility full coverage testing of util.c. (CVS 6597) (check-in: [a612299092] user: drh branch: trunk, size: 123114)
2009-05-02
13:29
[a734ac9d1c] part of check-in [80c43a355c] Remove the aFKey hash table, which was not being used. Simplify the FKey object. Simplify the hash.c module since the copyKey parameter formerly used only by aFKey is now no longer required. (CVS 6594) (check-in: [80c43a355c] user: drh branch: trunk, size: 123156)
2009-05-01
21:13
[6ca6e40ee9] part of check-in [12bcb03d9b] Record within the Token structure itself whether or not the token has been dequoted. This steals one bit from the length of a token and thus limits the size of tokens to 1GiB. (CVS 6589) (check-in: [12bcb03d9b] user: drh branch: trunk, size: 123565)
2009-04-30
12:25
[892933c961] part of check-in [aa29a14ca0] Changes sqlite3TempInMemory() to take a const parameter. (CVS 6576) (check-in: [aa29a14ca0] user: drh branch: trunk, size: 123536)
09:10
[004344b097] part of check-in [38f8c5a14c] 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: [38f8c5a14c] user: danielk1977 branch: trunk, size: 123539)
2009-04-28
15:43
[61be3597d7] part of check-in [5c737835de] Simplifications to the symbol table implementation in hash.c. For very small symbol tables (less than 10 entries) a simple linked list is used instead of a hash table. Number of hash table buckets is limited to prevent large allocations. (CVS 6559) (check-in: [5c737835de] user: drh branch: trunk, size: 123494)
2009-04-24
15:46
[d34f80cf38] part of check-in [98606bee9e] Get rid of the special RowSet processing in where.c and move that into clients. Added the WHERE_DUPLICATES_OK option to eliminate an unnecessary RowSet during DELETE with a WHERE clause containing ORs. (CVS 6546) (check-in: [98606bee9e] user: drh branch: trunk, size: 123529)
2009-04-23
13:22
[2ce7f412fb] part of check-in [dd4d67a674] Rework the column-cache mechanism to be more robust (and more correct). The column-alias cache is currently disabled, (CVS 6538) (check-in: [dd4d67a674] user: drh branch: trunk, size: 123641)
2009-04-22
15:32
[b663bb04bc] part of check-in [1c508a9982] 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: [1c508a9982] user: drh branch: trunk, size: 123124)
02:15
[dc64bc8198] part of check-in [e963bed0fe] Remove the rowhash object from the code. Rowset now fills its role. (CVS 6535) (check-in: [e963bed0fe] user: drh branch: trunk, size: 123124)
00:47
[7522dc01d5] part of check-in [b101cf70b7] 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: [b101cf70b7] user: drh branch: trunk, size: 123332)
2009-04-21
16:15
[0eb7cff7d3] part of check-in [9b30ab7199] Allocate the initial RowHash object using lookaside. (CVS 6530) (check-in: [9b30ab7199] user: drh branch: trunk, size: 123284)
09:02
[15ae115834] part of check-in [f61e4cd936] Attempt to optimize virtual table queries with 'OR' expressions in the WHERE clause. (CVS 6527) (check-in: [f61e4cd936] user: danielk1977 branch: trunk, size: 123282)
2009-04-08
13:51
[fcdad0896d] part of check-in [44ded2ea67] Minor refactoring of the expression-compaction logic for clarity of presentation. New comments added. The EXPRDUP_DISTINCTSPAN flag is removed as obsolete. (CVS 6470) (check-in: [44ded2ea67] user: drh branch: trunk, size: 122928)
2009-04-07
22:06
[7b341ab7d5] part of check-in [9ccfcb7607] Fix the sqlite3_unlock_notify() interface so that when the callback is NULL it simply cancels any outstanding callbacks. (CVS 6467) (check-in: [9ccfcb7607] user: drh branch: trunk, size: 122878)
14:14
[3754c3c7f8] part of check-in [277dace43d] Fix compilation and testing when SQLITE_OMIT_TRIGGER is defined. Ticket #3786. (CVS 6464) (check-in: [277dace43d] user: danielk1977 branch: trunk, size: 122603)
2009-04-05
12:22
[d123906059] part of check-in [208382e032] Additional code to make sure and to assert that memory allocations have 8-byte alignment. Ticket #3777. (CVS 6450) (check-in: [208382e032] user: drh branch: trunk, size: 122559)
2009-04-01
18:03
[22114af78e] part of check-in [fdd78962fc] Remove the unused SQLITE_Vtab flag. (CVS 6425) (check-in: [fdd78962fc] user: danielk1977 branch: trunk, size: 122430)
16:33
[afc93df0dd] part of check-in [94e2f815eb] Remove dead code from the UTF conversion routines. Fix a bug in sqlite3_prepare16_v2() in which an out-of-memory error fails to set the statement return pointer to NULL. (CVS 6423) (check-in: [94e2f815eb] user: drh branch: trunk, size: 122499)
2009-03-25
16:51
[7fe3322743] part of check-in [8589b0fcc5] Remove an unused parameter from sqlite3DequoteExpr. Fix another unrelated and harmless compiler warning. (CVS 6386) (check-in: [8589b0fcc5] user: drh branch: trunk, size: 122510)
2009-03-24
15:31
[5ed5b45d9f] part of check-in [cf3d84ab73] New assert()s added to verify that the Expr.token value is used correctly. Ticket #3743. (CVS 6378) (check-in: [cf3d84ab73] user: drh branch: trunk, size: 122520)
15:08
[ddaadadd35] part of check-in [ea74d8dc62] Changes to insure that lookaside memory allocations are never used to hold schema content. Ticket #3743. (CVS 6377) (check-in: [ea74d8dc62] user: drh branch: trunk, size: 122191)
2009-03-23
04:33
[b6858d742b] part of check-in [db1d4d2f50] Use the ROUND8() macro to round an integer up to the nearest multiple of 8 and ROUNDDOWN8() macro to round down to the nearest multiple of 8. This is a cosmetic change. (CVS 6372) (check-in: [db1d4d2f50] user: danielk1977 branch: trunk, size: 121751)
2009-03-20
14:18
[0ba7aac31f] part of check-in [093a0cf4ad] Make sure struct WhereClause is aligned on an 8-byte boundary. Fix for #3613, #3736. (CVS 6364) (check-in: [093a0cf4ad] user: danielk1977 branch: trunk, size: 121667)
2009-03-18
10:33
[250be86c98] part of check-in [a60f419179] Fix some cases where executing SQL from within a user-function callback could cause problems related to statement-transactions. (CVS 6355) (check-in: [a60f419179] user: danielk1977 branch: trunk, size: 121504)
2009-03-17
17:49
[a48dc31146] part of check-in [afadddc34e] Fix a problem that could cause a crash when a shared-cache schema contains column default values. (CVS 6353) (check-in: [afadddc34e] user: danielk1977 branch: trunk, size: 121425)
2009-03-16
13:19
[22332127b6] part of check-in [b649a6cc5b] Add the sqlite3_unlock_notify() API. (CVS 6348) (check-in: [b649a6cc5b] user: danielk1977 branch: trunk, size: 121371)
2009-03-02
17:18
[ae2dc2e2a0] part of check-in [5e8e16f7d5] Converted EXPR_*SIZE macros to use offsetof() to avoid MSVC compiler warnings. (CVS 6334) (check-in: [5e8e16f7d5] user: shane branch: trunk, size: 120494)
2009-02-28
10:47
[796ed3ac93] part of check-in [3befe1ef7e] Instead of linking temporary triggers on non-temporary tables into the Table.pTrigger list, search the temp schema for them on demand. Fix for #3688. (CVS 6329) (check-in: [3befe1ef7e] user: danielk1977 branch: trunk, size: 120527)
2009-02-24
10:14
[e717d30828] part of check-in [0e7c369c23] Reverse commit (6315) for now. (CVS 6317) (check-in: [0e7c369c23] user: danielk1977 branch: trunk, size: 120439)
10:01
[b294711ad5] part of check-in [d4aa659318] Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316) (check-in: [d4aa659318] user: danielk1977 branch: trunk, size: 120499)
2009-02-23
17:33
[ac53d3b963] part of check-in [294ba6f743] Scan an index instead of a table for "SELECT count(*) FROM <tbl>" queries. Because an index is usually smaller than a table on disk, this saves some IO. (CVS 6315) (check-in: [294ba6f743] user: danielk1977 branch: trunk, size: 120431)
16:52
[c682534d78] part of check-in [bc078e0007] Add the reverse_unordered_selects pragma. (CVS 6314) (check-in: [bc078e0007] user: drh branch: trunk, size: 120363)
2009-02-19
14:39
[8bd8f5bb58] part of check-in [d9f6ffbc5e] Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305) (check-in: [d9f6ffbc5e] user: danielk1977 branch: trunk, size: 120297)
2009-02-05
16:53
[55cc7e45a7] part of check-in [193c871f3d] Fix the declaration of sqlite3PendingByte so that it works with the amalgamation. (CVS 6264) (check-in: [193c871f3d] user: drh branch: trunk, size: 117552)
16:31
[b4b0933d38] part of check-in [e8f192e2a9] Make the pending byte adjustable via sqlite3_test_control() on all builds, not just on test builds. (CVS 6263) (check-in: [e8f192e2a9] user: drh branch: trunk, size: 117573)
2009-02-03
16:51
[73c1d4f971] part of check-in [663479b417] Commit first version of the 'backup' feature. (CVS 6241) (check-in: [663479b417] user: danielk1977 branch: trunk, size: 117529)
2009-01-24
11:30
[3ee870a4d5] part of check-in [bfc71edca4] Fix some minor compiler warnings. Added sqlite3Isalpha() for use in the soundex() function. (CVS 6203) (check-in: [bfc71edca4] user: drh branch: trunk, size: 117365)
2009-01-20
17:06
[0868866973] part of check-in [12f7346c13] Big change to make pager.c easier to follow. Unused variables removed, comments improved, etc. (CVS 6197) (check-in: [12f7346c13] user: danielk1977 branch: trunk, size: 117244)
16:53
[8ddded6a80] part of check-in [1041abd678] When not compiling for an EBCDIC system, use built-in alternatives to the tolowe r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196) (check-in: [1041abd678] user: danielk1977 branch: trunk, size: 117212)
2009-01-16
16:23
[65b7b15aac] part of check-in [a353c1ab37] Revert (6187). (CVS 6188) (check-in: [a353c1ab37] user: danielk1977 branch: trunk, size: 116112)
15:21
[b6266915bb] part of check-in [aa67fd0cdb] This commit is an error. Reverted by (6188). (CVS 6187) (check-in: [aa67fd0cdb] user: danielk1977 branch: trunk, size: 116144)
2009-01-15
17:40
[6e2b941ae8] part of check-in [ed4e308caa] Treat "or" as an ANSI-C keyword, even though it is not. Ticket #3588. (CVS 6185) (check-in: [ed4e308caa] user: drh branch: trunk, size: 116104)
2009-01-14
23:03
[888bdcacca] part of check-in [b676ccfd90] Add asserts to detect if a transaction commits without first incrementing the transaction counter. These asserts are intended to prevent future problems similar to ticket #3584. (CVS 6179) (check-in: [b676ccfd90] user: drh branch: trunk, size: 116261)
2009-01-10
16:15
[10e934f553] part of check-in [64a8dcd8d6] When compiled with SQLITE_DEBUG (in other words, when assert() is enabled) the ALWAYS and NEVER macros will throw an assertion if their arguments are not true or false, respectively. (CVS 6159) (check-in: [64a8dcd8d6] user: drh branch: trunk, size: 116174)
13:24
[4b2a8eb466] part of check-in [2cbea64fb0] Remove some unused code from expr.c in order to increase test coverage. (CVS 6156) (check-in: [2cbea64fb0] user: drh branch: trunk, size: 115425)
2009-01-09
14:11
[ab0419bbf2] part of check-in [ac84f106d5] Simplifications to btree.c to improve test coverage. (CVS 6150) (check-in: [ac84f106d5] user: drh branch: trunk, size: 115358)
2009-01-03
14:04
[8279b14cc8] part of check-in [27ae406537] When the commit_hook calls a query recursively, make sure the commit_hook is not invoked recursively. Ticket #3564. (CVS 6107) (check-in: [27ae406537] user: drh branch: trunk, size: 114848)
12:55
[9f8fa19d36] part of check-in [50f57cd145] Fix a typo in a comment. (CVS 6106) (check-in: [50f57cd145] user: drh branch: trunk, size: 114771)
2009-01-02
21:39
[e95ddac4bb] part of check-in [4688e1c8b1] Memory allocation failure in Bitvec are probably all benign. Still, add code to check this, just to be sure. (CVS 6104) (check-in: [4688e1c8b1] user: drh branch: trunk, size: 114771)
17:33
[db087faf95] part of check-in [f047758de9] Modify the (transaction) method of the tcl interface to use savepoints. This makes nested calls to (transaction) work more intuitively. (CVS 6101) (check-in: [f047758de9] user: danielk1977 branch: trunk, size: 114734)
2008-12-28
16:55
[85c72545ac] part of check-in [fa95f843e1] Simplify the VM code that implements WHERE claues. (CVS 6067) (check-in: [fa95f843e1] user: drh branch: trunk, size: 114726)
2008-12-23
23:56
[2362e805d3] part of check-in [55d4f493e7] Continuing improvements to the multi-index OR-clause optimizer. Added a few simple test cases. (CVS 6062) (check-in: [55d4f493e7] user: drh branch: trunk, size: 114498)
13:35
[9411acda29] part of check-in [d77a702358] 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: [d77a702358] user: drh branch: trunk, size: 114413)
2008-12-21
03:51
[24f71f7e27] part of check-in [778e91ddb8] Continue refactoring where.c in preparation for installing OR-clause optimizations. (CVS 6050) (check-in: [778e91ddb8] user: drh branch: trunk, size: 114413)
2008-12-20
02:14
[dfe2dd15e5] part of check-in [c2228bd14a] Specify type "void" in the parameter list of functions that take no parameters. Tickets #3545 and #3546. (CVS 6046) (check-in: [c2228bd14a] user: drh branch: trunk, size: 113487)
2008-12-17
19:22
[d7f8532c81] part of check-in [78401b33fe] Update the WHERE clause processing infrastructure in preparation for adding multi-index OR evaluation. (CVS 6037) (check-in: [78401b33fe] user: drh branch: trunk, size: 113483)
17:30
[e26694bae9] part of check-in [34b56600ec] Add the savepoint feature. This feature is largely untested at this point. (CVS 6036) (check-in: [34b56600ec] user: danielk1977 branch: trunk, size: 113493)
2008-12-10
21:19
[a1478d1ec4] part of check-in [ea01d43788] Additional work at eliminating silly compiler warnings. (CVS 6010) (check-in: [ea01d43788] user: drh branch: trunk, size: 112506)
19:26
[d34967323d] part of check-in [c872d55493] Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) (check-in: [c872d55493] user: drh branch: trunk, size: 112511)
2008-12-09
13:04
[e61d837e04] part of check-in [be03fa0543] A subquery in the result set of a SELECT should be able to look into outer queries to find variable references. But a subquery in the FROM clause should not be able to do this. Ticket #3530. (CVS 5998) (check-in: [be03fa0543] user: drh branch: trunk, size: 112477)
01:32
[2f21e46629] part of check-in [680755dbf0] Fix compiler warnings in where.c and in the TCL test harness. (CVS 5994) (check-in: [680755dbf0] user: drh branch: trunk, size: 112359)
2008-12-08
21:37
[f97f357ecd] part of check-in [6ed696e7c0] Some minor name refactoring in where.c. Avoid declaring variables before initializing them in the amalgamation because VC++ doesn't like that. (CVS 5993) (check-in: [6ed696e7c0] user: drh branch: trunk, size: 112279)
18:19
[7bdc5726df] part of check-in [73c7302c5f] The amalgamation now compiles cleanly on GCC with options -pedantic-errors -Wno-long-long. (CVS 5991) (check-in: [73c7302c5f] user: drh branch: trunk, size: 112275)
13:42
[93d6ef19eb] part of check-in [490138a201] Fix a segfault associated with the column cache that occurs on nested VIEWs. Ticket #3527. (CVS 5989) (check-in: [490138a201] user: drh branch: trunk, size: 112160)
2008-12-05
17:17
[391992f5bd] part of check-in [adedd697b4] Fix harmless compiler warnings. Improved comments in the query optimizer. (CVS 5982) (check-in: [adedd697b4] user: drh branch: trunk, size: 112092)
02:36
[c8c99ad0d0] part of check-in [81bd0b5ce8] Variable name changes in the query optimizer for disambiguation and clarification. Clear space in boolean vectors for new bit values to encode new query plan templates. (CVS 5980) (check-in: [81bd0b5ce8] user: drh branch: trunk, size: 112088)
2008-12-04
20:40
[1ed98f6df8] part of check-in [39a0750b49] Replace the VDBE Fifo object with the new RowSet object. (CVS 5977) (check-in: [39a0750b49] user: drh branch: trunk, size: 112071)
2008-11-24
20:01
[54d956e75e] part of check-in [7e134a5c1a] Fixed some spelling errors in sqliteInt.h. Ticket #3509. (CVS 5952) (check-in: [7e134a5c1a] user: shane branch: trunk, size: 111872)
2008-11-19
16:52
[beacd5768e] part of check-in [d1abe8a1c9] Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927) (check-in: [d1abe8a1c9] user: danielk1977 branch: trunk, size: 111872)
09:05
[21aaa8e2b5] part of check-in [88134322c3] Changes to avoid "unused parameter" compiler warnings. (CVS 5921) (check-in: [88134322c3] user: danielk1977 branch: trunk, size: 110912)
2008-11-18
07:27
[d48bb0ecc2] part of check-in [d68e2795e7] Reduce the number of "missing initializer" warnings. (CVS 5915) (check-in: [d68e2795e7] user: danielk1977 branch: trunk, size: 110833)
2008-11-17
19:18
[be78bc4fd0] part of check-in [8009220c36] Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) (check-in: [8009220c36] user: danielk1977 branch: trunk, size: 110823)
16:42
[00d4dacfae] part of check-in [f35606d1d8] Modifications to avoid unsigned/signed comparisons in where.c. (CVS 5913) (check-in: [f35606d1d8] user: danielk1977 branch: trunk, size: 110711)
15:31
[4c6b4f79ad] part of check-in [9939dd839a] Modifications to avoid signed/unsigned warnings in vdbe.c. (CVS 5912) (check-in: [9939dd839a] user: danielk1977 branch: trunk, size: 110704)
2008-11-13
18:00
[338ab7f869] part of check-in [eabb8b7591] Avoid committing a transaction from within the xSync() method of a virtual table. Fix for #3497. (CVS 5902) (check-in: [eabb8b7591] user: danielk1977 branch: trunk, size: 110692)
14:28
[024f3e7722] part of check-in [47866d6708] Add an API to support custom page cache implementations. (CVS 5899) (check-in: [47866d6708] user: danielk1977 branch: trunk, size: 110588)
2008-11-11
18:28
[f2b50cd40d] part of check-in [ea5f4baa04] Cleanup in flattenSubquery. Add OOM tests for flattenSubquery. Fix issues with OOM errors causes problems for flattenSubquery. Ticket #3485. (CVS 5882) (check-in: [ea5f4baa04] user: drh branch: trunk, size: 110507)
2008-11-10
18:05
[1e112bd969] part of check-in [a11241d6fb] Removed a few more small parts of memsys6 code, including some config and test code for it; (CVS 5872) (check-in: [a11241d6fb] user: shane branch: trunk, size: 110447)
2008-11-05
16:37
[e32c2dbd6d] part of check-in [51f04aaff2] The COMMIT command now works even if there are pending queries, as long as the pending queries are reading and not writing the database. (CVS 5864) (check-in: [51f04aaff2] user: drh branch: trunk, size: 110525)
2008-10-28
18:58
[926279c94c] part of check-in [4651f590f0] Remove the vestigial mem4 and mem6 memory allocators. Add the SQLITE_ZERO_MALLOC compile-time option and the mem0.c module to handle memory allocation for that case. (CVS 5848) (check-in: [4651f590f0] user: drh branch: trunk, size: 110447)
17:52
[0525efef6b] part of check-in [679c0b35aa] Avoid exposing internal interfaces sqlite_attach() and sqlite_detach() as SQL scalar functions. Ticket #3466. (CVS 5846) (check-in: [679c0b35aa] user: danielk1977 branch: trunk, size: 110565)
2008-10-17
18:51
[e5e3909f56] part of check-in [39ebf01add] Add "pragma journal_mode=memory". Change the way rollback works for in-memory databases so that it reuses the journal_mode=memory code. (CVS 5830) (check-in: [39ebf01add] user: danielk1977 branch: trunk, size: 110605)
2008-10-13
15:35
[69ad002375] part of check-in [c3f9164515] Fix the SQLITE_OMIT_DATETIME_FUNCS compile-time option so that it builds successfully. (CVS 5815) (check-in: [c3f9164515] user: drh branch: trunk, size: 110482)
2008-10-11
18:11
[d828c17fb5] part of check-in [b201e7093c] Add macros tests so that the compiler always recognizes that x86_64 is little endian. (CVS 5807) (check-in: [b201e7093c] user: drh branch: trunk, size: 110369)
16:47
[34c8038fc6] part of check-in [d2c252d6bb] Fix a memory leak on ORDER BY of a compound select caused by the resolver on a flattened query. Also fix a OOM segfault in WHERE clause processing. (CVS 5801) (check-in: [d2c252d6bb] user: drh branch: trunk, size: 110295)
2008-10-10
18:25
[f60fac64c8] part of check-in [282c6a46b2] Further simplifications of the code for the LIMIT clause on an UPDATE or DELETE. Added a few test cases to wherelimit.test. (CVS 5797) (check-in: [282c6a46b2] user: shane branch: trunk, size: 110257)
04:34
[0da9c664d8] part of check-in [c10e8a3c7a] Updated LIMIT support for DELETE/UPDATE. Omit option changed to SQLITE_ENABLE_UPDATE_DELETE_LIMIT. (CVS 5788) (check-in: [c10e8a3c7a] user: shane branch: trunk, size: 110249)
2008-10-07
23:46
[3f38b600c9] part of check-in [de473efb35] Add the experimental sqlite3_stmt_status() interface. (CVS 5781) (check-in: [de473efb35] user: drh branch: trunk, size: 110206)
19:53
[0d6bac3e25] part of check-in [79df72ee83] 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: [79df72ee83] user: drh branch: trunk, size: 110126)
15:25
[d7d1c122ac] part of check-in [02a12eb1cf] Remove the SQLITE_MUTEX_APPDEF compile-time option. The SQLITE_THREADSAFE=0 option always removes all mutex code. For application-defined mutexes only, use SQLITE_THREADSAFE=1 with SQLITE_MUTEX_NOOP=1. Ticket #3421. (CVS 5779) (check-in: [02a12eb1cf] user: drh branch: trunk, size: 110131)
05:27
[78ec9e3cd5] part of check-in [9c8b132e34] Initial support for LIMIT clause on DELETEs and UPDATEs. Changes likely with more testing. The code can be omitted with the define SQLITE_OMIT_UPDATE_DELETE_LIMIT. (CVS 5774) (check-in: [9c8b132e34] user: shane branch: trunk, size: 110133)
2008-10-06
16:18
[6c08ddc70e] part of check-in [83a7e446b2] Allow INDEXED BY and NOT INDEXED to be used in UPDATE and DELETE statements. (CVS 5772) (check-in: [83a7e446b2] user: danielk1977 branch: trunk, size: 110011)
05:32
[1806947aac] part of check-in [98ca5580f5] Allow INDEXED BY and NOT INDEXED clauses in SELECT statements. (CVS 5766) (check-in: [98ca5580f5] user: danielk1977 branch: trunk, size: 109900)
2008-10-02
13:50
[437b408a74] part of check-in [803a1736d5] Optimize queries that contain "WHERE rowid IN (x, y, z...)" by using an intkey btree to store the (x, y, z...) set instead of an index btree. (CVS 5760) (check-in: [803a1736d5] user: danielk1977 branch: trunk, size: 109677)
2008-09-12
16:03
[dbe2797806] part of check-in [414da4ebce] Declare the isInterrupted field of the sqlite3 structure to be volatile. Ticket #3369. (CVS 5694) (check-in: [414da4ebce] user: drh branch: trunk, size: 109664)
2008-09-04
17:17
[4a43cd9dcb] part of check-in [85c2a58901] Add support for the SQLITE_THREADSAFE=2 and SQLITE_DEFAULT_MEMSTATUS compilation options. (CVS 5676) (check-in: [85c2a58901] user: danielk1977 branch: trunk, size: 109672)
04:32
[986281c5cc] part of check-in [821c387d15] Modified core to not call deprecated functions sqlite3_memory_alarm() and sqlite3_transfer_bindings() by adding sqlite3MemoryAlarm() and sqlite3TransferBindings(). sqlite3_memory_alarm() and sqlite3_transfer_bindings() are now simple wrappers for the new functions. In prep for adding SQLITE_OMIT_DEPRECATED. (CVS 5672) (check-in: [821c387d15] user: shane branch: trunk, size: 109314)
2008-09-02
14:07
[4e81ab61bc] part of check-in [88c8275994] Move the sqlite3SharedCacheEnabled global and the inProgress static variable (function sqlite3_initialize()) into the global sqlite3Config structure. This is required for the OMIT_WSD feature to work on some platforms. (CVS 5662) (check-in: [88c8275994] user: danielk1977 branch: trunk, size: 109176)
00:52
[796e1b04a3] part of check-in [ef26ea5c46] Continuing work on adding full support for the SQLITE_OMIT_WSD compile-time option. (CVS 5658) (check-in: [ef26ea5c46] user: drh branch: trunk, size: 109012)
2008-09-01
21:59
[4ac6c25d21] part of check-in [9cf484fc17] Omit prototype for and calls to sqlite3MaterializeView() if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER). (CVS 5655) (check-in: [9cf484fc17] user: shane branch: trunk, size: 108230)
18:34
[3ea61550f5] part of check-in [573d92abb9] Begin adding support for the SQLITE_OMIT_WSD macro. Some (many) WSD variables still need wrappers added to them. (CVS 5652) (check-in: [573d92abb9] user: danielk1977 branch: trunk, size: 108164)
15:52
[2243b0eadb] part of check-in [d04d703367] Defer deleting Table objects associated with flattened subqueries until all code has been generated, in case some expression node still references the Table object. Ticket #3346. (CVS 5650) (check-in: [d04d703367] user: drh branch: trunk, size: 107836)
2008-08-29
18:42
[e7f9e97476] part of check-in [4113e778be] remove private declaration of sqlite3_snprintf() in sqliteInt.h as there is already a public declaration in sqlite3.h (CVS 5643) (check-in: [4113e778be] user: rse branch: trunk, size: 107694)
18:40
[677c2006f6] part of check-in [e5793110d5] remove a doubled function declaration (the second just is just two lines below) (CVS 5642) (check-in: [e5793110d5] user: rse branch: trunk, size: 107745)
02:14
[90839e736d] part of check-in [ab0292caa5] Avoid reevaluating WHERE and ORDER BY expressions that alias terms in the result set. Ticket #3343. Note that aliased GROUP BY expressions are still evaluated twice. (CVS 5637) (check-in: [ab0292caa5] user: drh branch: trunk, size: 107806)
2008-08-22
17:34
[c66e9c22a9] part of check-in [6de9c084fc] Remove dead code. (CVS 5601) (check-in: [6de9c084fc] user: drh branch: trunk, size: 107605)
12:30
[4f231eb750] part of check-in [7360e5d1f3] Allow the WHERE clause in an UPDATE or DELETE against a view with an INSTEAD OF trigger to refer to the view by name. Ticket #3298. (CVS 5589) (check-in: [7360e5d1f3] user: drh branch: trunk, size: 107663)
2008-08-21
20:21
[ddf6c9eb90] part of check-in [80d6a31cb3] Move date+time functions to start-time initialization. Additional start-time function cleanup. (CVS 5585) (check-in: [80d6a31cb3] user: drh branch: trunk, size: 107664)
18:49
[15096ac72b] part of check-in [ef6936e50a] Initialize the global built-in function table at start-time instead of at compile-time. This is less prone to malfunction when compile-time parameters very. (CVS 5583) (check-in: [ef6936e50a] user: drh branch: trunk, size: 106043)
2008-08-20
16:35
[d1ddf30df8] part of check-in [daf730d1de] Refactor the name resolution procedures in the code generator. (CVS 5569) (check-in: [daf730d1de] user: drh branch: trunk, size: 105546)
14:49
[e49782bc45] part of check-in [cb494e10d7] Add the pcache module from the experimental branch. Also change things so that most of the built-in SQL functions are kept in single static hash-table, rather than creating and populating a separate hash table for each open database connection. (CVS 5566) (check-in: [cb494e10d7] user: danielk1977 branch: trunk, size: 103925)
2008-08-13
19:11
[7c68cacc76] part of check-in [0b92cbf525] Additional changes toward fixing ticket #3292. (CVS 5562) (check-in: [0b92cbf525] user: drh branch: trunk, size: 103788)
14:07
[df48efd8c4] part of check-in [055f173ab1] 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: [055f173ab1] user: drh branch: trunk, size: 102805)
2008-08-12
15:21
[be39605e2d] part of check-in [697fe7a316] Revise the initialization and shutdown logic so that it no longer keeps a recursive mutex allocated for the whole interval but instead releases the mutex as soon as possible. Do not reset status values upon initialization. (CVS 5559) (check-in: [697fe7a316] user: drh branch: trunk, size: 102778)
2008-08-04
20:13
[685b9cf653] part of check-in [5dd865da5e] Separate verbs of sqlite3_config() and sqlite3_db_config() into their own namespaces. Allow SQLITE3_DBCONFIG_LOOKASIDE to specific an external memory buffer. (CVS 5536) (check-in: [5dd865da5e] user: drh branch: trunk, size: 102737)
2008-08-02
15:32
[8bd67fa1be] part of check-in [761e73ceab] Fix a bug introduced by (5519) causing builds with SQLITE_OMIT_VIRTUALTABLE to malfunction. (CVS 5525) (check-in: [761e73ceab] user: danielk1977 branch: trunk, size: 102667)
03:50
[4c3a19206b] part of check-in [f1e44eb323] Additional coverage testing. Fix a segfault following OOM in sqltie3_load_extension(). (CVS 5523) (check-in: [f1e44eb323] user: drh branch: trunk, size: 102653)
2008-08-01
17:37
[80fa4a4602] part of check-in [007359b770] 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: [007359b770] user: danielk1977 branch: trunk, size: 102770)
2008-07-31
17:35
[99a49b2d85] part of check-in [bc5abd31a7] Define _GNU_SOURCE only if it is not already defined. Ticket #3263. (CVS 5514) (check-in: [bc5abd31a7] user: drh branch: trunk, size: 102761)
2008-07-28
19:34
[a4d6bcf383] part of check-in [e48f9697e9] Implement the "lookaside" memory allocation cache. Use of this cache makes the speed1.test script run about 15% faster. Added new interfaces to control the cache. (CVS 5488) (check-in: [e48f9697e9] user: drh branch: trunk, size: 102733)
2008-07-25
15:39
[f9036237de] part of check-in [ef0250f3dc] Add the capability to track the maximum depth of the LALR(1) parser stack so that critical applications can check to see if they are getting close to limits. (CVS 5481) (check-in: [ef0250f3dc] user: drh branch: trunk, size: 100756)
08:49
[17ada799d1] part of check-in [43a4cae2ac] Updates to mem6.c allocator. (CVS 5473) (check-in: [43a4cae2ac] user: danielk1977 branch: trunk, size: 100616)
2008-07-24
08:20
[424d3e4d84] part of check-in [192bc19218] Add mem6.c, a new allocator. More to come. (CVS 5467) (check-in: [192bc19218] user: danielk1977 branch: trunk, size: 100532)
2008-07-23
18:17
[ee9c3be4c7] part of check-in [e2c6771d44] 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: [e2c6771d44] user: drh branch: trunk, size: 100420)
2008-07-12
14:52
[aebce6d822] part of check-in [dcb160249f] Remove leftover debugging commands (breakpoint and btree_breakpoint) from test scripts. (CVS 5400) (check-in: [dcb160249f] user: drh branch: trunk, size: 100311)
2008-07-11
16:15
[8318186260] part of check-in [d7e2f0d2d4] Additional test coverage for the btree module. Remove the failsafe() macro and replace it with ALWAYS() and NEVER(). (CVS 5395) (check-in: [d7e2f0d2d4] user: drh branch: trunk, size: 100307)
2008-07-10
00:32
[ca0dc923bc] part of check-in [636cd72329] 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: [636cd72329] user: drh branch: trunk, size: 100456)
2008-07-09
13:28
[ebf2eab464] part of check-in [8aae4fe7e7] Begin adding the failsafe() macro. (CVS 5383) (check-in: [8aae4fe7e7] user: drh branch: trunk, size: 100516)
2008-07-08
23:40
[5f820a35b1] part of check-in [cbd3c1585b] Remove obsolete code from select.c, including the "affinity" parameter to the sqlite3Select() module. (CVS 5380) (check-in: [cbd3c1585b] user: drh branch: trunk, size: 99652)
22:28
[97c1772826] part of check-in [6cdb6841ff] Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378) (check-in: [6cdb6841ff] user: shane branch: trunk, size: 99665)
19:34
[5add05d6e2] part of check-in [8ed04b1e26] Completely rework the sqlite3SetString() primitive so that it honors the SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374) (check-in: [8ed04b1e26] user: drh branch: trunk, size: 98934)
14:52
[46e40a482a] part of check-in [ee93150878] Improved enforcement of the SQLITE_LIMIT_LENGTH limit. (CVS 5368) (check-in: [ee93150878] user: drh branch: trunk, size: 98797)
2008-06-27
14:05
[35e420ced9] part of check-in [fef90a21ae] Fix mem3.c (broken by (5320)). (CVS 5321) (check-in: [fef90a21ae] user: danielk1977 branch: trunk, size: 98699)
13:27
[a3d505360b] part of check-in [4f95f4cdf7] Change mem5.c so that the minimum allocation size is runtime configurable. (CVS 5320) (check-in: [4f95f4cdf7] user: danielk1977 branch: trunk, size: 98695)
2008-06-26
18:04
[969acf22db] part of check-in [d45a97be71] Fix handling of "x IN (...)" and "x NOT IN (...)" expressions when the set contains an SQL NULL value. (CVS 5314) (check-in: [d45a97be71] user: danielk1977 branch: trunk, size: 98691)
10:54
[5ed69fd1af] part of check-in [1e3b830802] Change the TEMP_STORE preprocessor symbol to SQLITE_TEMP_STORE. (CVS 5312) (check-in: [1e3b830802] user: danielk1977 branch: trunk, size: 98694)
08:29
[71e0839f4d] part of check-in [70b2ed2afc] Fix a race condition in sqlite3_initialize(). (CVS 5310) (check-in: [70b2ed2afc] user: danielk1977 branch: trunk, size: 98673)
2008-06-25
17:19
[55d1a6c155] part of check-in [8fa33b79d7] Remove internal function sqlite3OsDefaultVfs(). The built-in VFS layers now register their VFS implementations by calling sqlite3_vfs_register() from within sqlite3_os_init(). (CVS 5307) (check-in: [8fa33b79d7] user: danielk1977 branch: trunk, size: 98856)
14:26
[d045d18b41] part of check-in [30ff6bb0b2] Fix the allocator in mem5.c so that it can be enabled at run time using the sqlite3_config() function. (CVS 5304) (check-in: [30ff6bb0b2] user: danielk1977 branch: trunk, size: 98440)
10:34
[5f0b40ff69] part of check-in [9c6c8e01b3] Fix up some details to do with the mem3.c (memsys3) allocator. If the library is compiled with SQLITE_ENABLE_MEMSYS3, the memsys3 allocator can be selected at runtime. (CVS 5303) (check-in: [9c6c8e01b3] user: danielk1977 branch: trunk, size: 98389)
2008-06-24
12:46
[5ed4ae2a93] part of check-in [95037e6dbf] Fix a problem in sqlite3ExprIsInteger() causing failures on select1-4.9.2. Other bug fixes in compound-merge. The compound-merge is still disabled in this check-in using "#if 0" due to additional bugs. (CVS 5295) (check-in: [95037e6dbf] user: drh branch: trunk, size: 98330)
00:32
[ec8e712499] part of check-in [e2ba324cbc] The compound-select merge optimization is mostly working with this check-in. But there are still a few problems and so the optimization is disabled by and "#if 0". This check-in is to synchronize with the other changes happening in parallel. (CVS 5291) (check-in: [e2ba324cbc] user: drh branch: trunk, size: 98330)
2008-06-23
14:03
[0129e546b4] part of check-in [e6ea8f87c1] Fix some codewarrior compilation problems. (CVS 5278) (check-in: [e6ea8f87c1] user: danielk1977 branch: trunk, size: 98341)
09:50
[9cd8b86d95] part of check-in [0492aa8ed3] Fix a bug whereby opening a connection to an existing shared-cache caused the cache-size (the value configured by "PRAGMA cache_size") to revert to its default value. (CVS 5274) (check-in: [0492aa8ed3] user: danielk1977 branch: trunk, size: 98340)
2008-06-22
12:37
[973e5cc6db] part of check-in [663a590e30] 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: [663a590e30] user: drh branch: trunk, size: 98269)
2008-06-20
15:24
[005b2f0aa1] part of check-in [6b9d92fc3f] Change the SRT_Subroutine mode into SRT_Coroutine. Use co-routines in the INSERT processing logic. (CVS 5255) (check-in: [6b9d92fc3f] user: drh branch: trunk, size: 98264)
14:59
[c1ef17f6f9] part of check-in [56c8af1452] 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: [56c8af1452] user: danielk1977 branch: trunk, size: 98224)
11:05
[1d2417d1ac] part of check-in [4ae21e3419] Move (almost all) malloc failure test logic from fault.c to test_malloc.c. (CVS 5253) (check-in: [4ae21e3419] user: danielk1977 branch: trunk, size: 98253)
2008-06-19
18:17
[4d4c0432b5] part of check-in [d22cd2a59f] Move the malloc() failure simulation out of malloc.c and into a separate sqlite3_mem_methods interface. Still some related changes to come. (CVS 5250) (check-in: [d22cd2a59f] user: danielk1977 branch: trunk, size: 98663)
01:03
[6dd55232e7] part of check-in [005f8eaef5] Bug fixes: Plug a memory leak introduced by the previous check-in. Get the amalgamation to the point where it will compile. (CVS 5241) (check-in: [005f8eaef5] user: drh branch: trunk, size: 98620)
00:16
[8c2532dd9f] part of check-in [cb1f11cd97] Add some test logic to the new memory allocation subsystem. (Lots more needed.) The test suite is currently indicating memory leaks, though it is unclear if this is a true code problem or just an instrumentation problem. (CVS 5240) (check-in: [cb1f11cd97] user: drh branch: trunk, size: 98579)
2008-06-18
18:57
[af44587156] part of check-in [42a2a8f493] Remove public APIs sqlite3_mutex_init() and sqlite3_mutex_end(). This commit only changes the code, documentation is not updated yet. (CVS 5238) (check-in: [42a2a8f493] user: danielk1977 branch: trunk, size: 98460)
17:09
[24fe828d52] part of check-in [5059644c4b] Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234) (check-in: [5059644c4b] user: danielk1977 branch: trunk, size: 98405)
13:27
[90dff45c2f] part of check-in [e36201a352] Added new configuration options to query the low-level malloc interface and to provide memory buffers for scratch, page-cache, and heap memory allocators. (CVS 5231) (check-in: [e36201a352] user: drh branch: trunk, size: 98358)
2008-06-17
17:21
[f465a6d45e] part of check-in [597283637b] Change the mutex interface to be pluggable. This is an incremental checkin, there are still changes to come. (CVS 5227) (check-in: [597283637b] user: danielk1977 branch: trunk, size: 97989)
15:12
[e579f90f7d] part of check-in [3e797d0ffe] Add internal interfaces: PageMalloc/PageFree and ScratchMalloc/ScratchFree. (CVS 5226) (check-in: [3e797d0ffe] user: drh branch: trunk, size: 97862)
2008-06-15
02:51
[bf561dab8a] part of check-in [65fe7b62cf] Continuing work on the new memory allocation subsystem. Added routines for temporary memory allocation. Right the btree balance mechanism to only do one temporary allocation at a time. (CVS 5220) (check-in: [65fe7b62cf] user: drh branch: trunk, size: 97797)
2008-06-14
16:56
[cd66968455] part of check-in [f00305f4cd] Continuing progress on the new memory allocation subsystem. Added the sqlite3_mem_methods structure for defining new memory allocators at run-time. (CVS 5219) (check-in: [f00305f4cd] user: drh branch: trunk, size: 97738)
2008-06-13
18:24
[c7b8bfb553] part of check-in [a03c5af115] Progress toward implementation of sqlite3_config() and a rework of the mutex and memory allocation subsystems. This is an incremental check-in. (CVS 5218) (check-in: [a03c5af115] user: drh branch: trunk, size: 97879)
2008-06-06
15:04
[1593404d8a] part of check-in [ef1956eebc] Remove the subroutine return stack from the VDBE. Return addresses for subroutines are now stored in registers. (CVS 5191) (check-in: [ef1956eebc] user: drh branch: trunk, size: 96889)
2008-06-05
16:47
[debc576f44] part of check-in [16d4c53a8e] Reorganize some of the code that detects expression trees with a depth greater than EXPR_MAX_DEPTH so that they are detected earlier. This further reduces the opportunities for stack overflow. (CVS 5189) (check-in: [16d4c53a8e] user: danielk1977 branch: trunk, size: 96828)
2008-05-28
13:49
[cfcb832224] part of check-in [5ceef40e39] Allow the SQLITE_MAX_EXPR_DEPTH compile-time parameter to be set to 0 in order to disable expression depth checking. Ticket #3143. (CVS 5166) (check-in: [5ceef40e39] user: drh branch: trunk, size: 96802)
2008-05-13
13:27
[70a2b0bf85] part of check-in [a9d1d93135] 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: [a9d1d93135] user: drh branch: trunk, size: 96894)
2008-05-09
18:03
[c38fad4282] part of check-in [18b1ee10b8] Reformulate the constants for the minimum and maximum 64-bit signed integer to work better with some compilers. Ticket #3105. (CVS 5113) (check-in: [18b1ee10b8] user: drh branch: trunk, size: 96821)
2008-05-07
02:42
[01d7bcebc1] part of check-in [7df9ef2c82] Only look for config.h if the autoconf-based build is being used, and don't inline it into the amalgamation. (CVS 5093) (check-in: [7df9ef2c82] user: mlcreech branch: trunk, size: 96546)
2008-05-01
17:03
[6dbffa746c] part of check-in [227a6f67c2] Fix harmless compiler warnings. (CVS 5073) (check-in: [227a6f67c2] user: drh branch: trunk, size: 96515)
2008-04-28
18:46
[d629773dd5] part of check-in [133b7ee50e] Make sure that transactions are started on all virtual tables that changes in a single statement, not just the first. Ticket #3083. Need to add test cases. (CVS 5063) (check-in: [133b7ee50e] user: drh branch: trunk, size: 96515)
17:41
[118dccd668] part of check-in [be10f5dda6] Modified Varint32 functions to disable code for single-byte handling as it is already handled by their respective macro forms. (CVS 5062) (check-in: [be10f5dda6] user: shane branch: trunk, size: 96403)
16:55
[1884454ab9] part of check-in [07fd9a8c6c] Change the implementation of the NaN recognition to be more cross-platform. Ticket #3089. (CVS 5060) (check-in: [07fd9a8c6c] user: drh branch: trunk, size: 96240)
12:54
[d038951808] part of check-in [e96e8b9b41] Restore the #include of stdint.h removed in (5051). (CVS 5056) (check-in: [e96e8b9b41] user: drh branch: trunk, size: 96251)
2008-04-27
18:40
[360bd20e5a] part of check-in [6a94d19747] Remove all references to sqlite3_intptr_t. (CVS 5051) (check-in: [6a94d19747] user: drh branch: trunk, size: 96098)
2008-04-24
19:15
[8b2cd9c4d7] part of check-in [0d04ccd978] 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: [0d04ccd978] user: shane branch: trunk, size: 96605)
2008-04-17
17:02
[f06ba8e00f] part of check-in [8eaa0c7102] Add the journal_mode pragma. This is currently just syntax - it is not operational. (CVS 5024) (check-in: [8eaa0c7102] user: drh branch: trunk, size: 95503)
2008-04-15
14:36
[625375d932] part of check-in [f5fc42e96d] Do not attempt to omit unused columns of a view in an instead-of trigger since sometimes those columns can be used in ways that we do not expect. Ticket #3055. (CVS 5012) (check-in: [f5fc42e96d] user: drh branch: trunk, size: 95427)
12:14
[ef381f6a16] part of check-in [d04246a463] Fix a code generator bug caused by the new CSE optimization. Add test cases to prevent a recurrence. (CVS 5011) (check-in: [d04246a463] user: drh branch: trunk, size: 95518)
2008-04-10
16:47
[6e6e847b73] part of check-in [1e094ecfd7] Disable nuisance warnings on borland compilers. ticket #2936. (CVS 4982) (check-in: [1e094ecfd7] user: drh branch: trunk, size: 95471)
13:33
[52c381c2f1] part of check-in [fba97f7874] First cut at optimizing single-row updates to use a one-pass algorithm. (CVS 4973) (check-in: [fba97f7874] user: drh branch: trunk, size: 95125)
2008-04-05
18:41
[0f571303e1] part of check-in [b2517a7d8f] Add the sqlite3PutVarint32 routine as an alternative to sqlite3PutVarint. Gives 0.5% speed increase. (CVS 4968) (check-in: [b2517a7d8f] user: drh branch: trunk, size: 94715)
2008-04-01
18:04
[cfe0b6c4b1] part of check-in [e84ff57b62] Avoid factoring single-instruction constants that end up getting replaced by an SCopy instruction. (CVS 4952) (check-in: [e84ff57b62] user: drh branch: trunk, size: 94671)
15:06
[3b9a1f2338] part of check-in [492490f9c8] Add the testcase() macro. Additional CSE test coverage. (CVS 4951) (check-in: [492490f9c8] user: drh branch: trunk, size: 94598)
05:07
[1b7ad8791b] part of check-in [91cc646e2b] Fix the CSE mechanism so that it takes into account column affinity changes that might be imposed by comparison operators. (CVS 4949) (check-in: [91cc646e2b] user: drh branch: trunk, size: 94166)
03:27
[f7ee48df1d] part of check-in [7e8156129d] More test cases and bug fixes with CSE. (CVS 4948) (check-in: [7e8156129d] user: drh branch: trunk, size: 94130)
01:42
[a04fe63ec5] part of check-in [e5aff09ac6] Initial test cases and bug fixes in the CSE logic. (CVS 4946) (check-in: [e5aff09ac6] user: drh branch: trunk, size: 94054)
2008-03-31
23:48
[79f4a09bc1] part of check-in [c29ee0fed2] Avoid duplicate OP_Column opcodes by remembering prior results. This is similar to CSE, but only applies to columns. (CVS 4943) (check-in: [c29ee0fed2] user: drh branch: trunk, size: 94005)
18:19
[4d25edd2ad] part of check-in [2126db3985] Factor constant subexpressions out of loops. (CVS 4942) (check-in: [2126db3985] user: drh branch: trunk, size: 93356)
2008-03-26
12:46
[db668a0700] part of check-in [50de87dc80] Make sure an imbalance in the number of columns on a compound SELECT is detected and reported as an error before it can cause an assertion fault or array-bounds overflow in the code generator. Oops: part of the fix for ticket #3015 got included with this check-in by mistake. (CVS 4917) (check-in: [50de87dc80] user: drh branch: trunk, size: 93205)
2008-03-25
17:23
[50a9313829] part of check-in [ee381b4356] Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather than a record formed using {quote: MakeRecord.} This avoids a needless packing and unpacking of the record to be deleted. (CVS 4916) (check-in: [ee381b4356] user: drh branch: trunk, size: 93149)
2008-03-21
16:45
[07b472437b] part of check-in [2498d3ea36] Add a completely new testing system for the Bitvec object. The new testing system uses sqlite3_test_control() instead of unpublished APIs. Now provides 100% condition/decision coverage. Obscure bugs in Bitvec found and fixed as a result of the enhanced coverage. (CVS 4902) (check-in: [2498d3ea36] user: drh branch: trunk, size: 93144)
2008-03-20
16:30
[c96aca7c69] part of check-in [4c4be4c3c8] Reinstate test cases for the limit tests. The sqlite3_limit() API is now tested and working. (CVS 4899) (check-in: [4c4be4c3c8] user: drh branch: trunk, size: 93101)
14:03
[ec78c602dc] part of check-in [60c77882b2] Initial implementation of per-connection limits and the sqlite3_limit() API. The sqllimits1.test script crashes. SQLITE_LIMIT_PAGE_COUNT and SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897) (check-in: [60c77882b2] user: drh branch: trunk, size: 93106)
11:04
[160aadae3b] part of check-in [871df0e7c3] Allow a VACUUM operation to change the page-size in the same way as it can be used to change a database between auto-vacuum and normal mode. (CVS 4896) (check-in: [871df0e7c3] user: danielk1977 branch: trunk, size: 94670)
00:32
[ed823fb087] part of check-in [bee38c2dda] Fix the load-extension mechanism so that tests build with or without it. This check-in also includes prototypes for the new sqlite3_limit() interface, but no implementation. (CVS 4892) (check-in: [bee38c2dda] user: drh branch: trunk, size: 94596)
2008-03-19
14:15
[e7596d5491] part of check-in [15110ea027] 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: [15110ea027] user: drh branch: trunk, size: 94437)
2008-03-14
13:02
[2726f01ca4] part of check-in [a3c12dbe95] Revise Bitvec struct sizing to prevent assertion failure on 64-bit systems (CVS 4862) (check-in: [a3c12dbe95] user: mlcreech branch: trunk, size: 94379)
2008-03-10
16:17
[341120a615] part of check-in [2668000fc8] Remove the #includes of stdlib.h and sys/types.h from sqliteInt.h since they are never used and because they broke the build. (CVS 4851) (check-in: [2668000fc8] user: drh branch: trunk, size: 94041)
2008-03-08
06:16
[31a6b927cf] part of check-in [0ca14399b1] Move a comment within the Parse structure to make it more accurate. No actual code changes. (CVS 4842) (check-in: [0ca14399b1] user: danielk1977 branch: trunk, size: 94151)
2008-03-06
16:28
[6b9ee2df06] part of check-in [8044623062] Clean up recent autoconf-related additions, add config.h to the amalgamation (CVS 4833) (check-in: [8044623062] user: mlcreech branch: trunk, size: 94148)
09:58
[3b4240e950] part of check-in [e2a9f5f105] Handle non-autoconf build correctly with new changes (CVS 4832) (check-in: [e2a9f5f105] user: mlcreech branch: trunk, size: 93630)
09:19
[9dad69a38b] part of check-in [a8424e0606] Typo in amalgamation non-x86 builds (CVS 4831) (check-in: [a8424e0606] user: mlcreech branch: trunk, size: 93507)
09:16
[cd7421befc] part of check-in [9898320be0] Don't try and include common.h on stand-alone amalgamation builds (CVS 4830) (check-in: [9898320be0] user: mlcreech branch: trunk, size: 93507)
07:19
[65c6c06549] part of check-in [88698fbdd5] Include inttypes.h when available, add support for intptr_t (CVS 4823) (check-in: [88698fbdd5] user: mlcreech branch: trunk, size: 93361)
2008-03-04
17:45
[f3c82850bc] part of check-in [9c6694bb61] Various renames & cleanups to limit exported symbols on amalgamation build (CVS 4819) (check-in: [9c6694bb61] user: mlcreech branch: trunk, size: 93340)
2008-02-18
22:24
[073801285d] part of check-in [63da5d9754] Add the memory fault simulator to mem5.c. Enable soft heap limit on mem5.c. Limit the size of hash tables and the vdbefifo when using mem5.c. (CVS 4795) (check-in: [63da5d9754] user: drh branch: trunk, size: 93343)
14:47
[729101936d] part of check-in [7c57bdbcdb] Add the Bitvec object for tracking which pages have been journalled. This reduces memory consumption and runs faster than the bitmap approach it replaced. (CVS 4794) (check-in: [7c57bdbcdb] user: drh branch: trunk, size: 93086)
2008-02-14
23:26
[c825118307] part of check-in [669ece8c82] Add the experimental mem5.c memory allocator. Allocate the content part of cache pages separately from the header. (See check-ins (4495) and (4409)). (CVS 4789) (check-in: [669ece8c82] user: drh branch: trunk, size: 92873)
2008-02-13
18:25
[822045362b] part of check-in [990237e27e] Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783) (check-in: [990237e27e] user: danielk1977 branch: trunk, size: 91746)
2008-02-12
16:52
[e4ca11fff0] part of check-in [5ab71c3a79] When materializing a view for an UPDATE or DELETE make use of the WHERE clause to limit the number of rows materialized. Ticket #2938. (CVS 4782) (check-in: [5ab71c3a79] user: drh branch: trunk, size: 91707)
2008-02-02
04:47
[9dabb5a68e] part of check-in [1d478e9091] When OMIT_TRIGGER is defined, provide a no-op macro for sqlite3SelectMask(). Fix for #2918. (CVS 4773) (check-in: [1d478e9091] user: danielk1977 branch: trunk, size: 91652)
2008-01-30
16:14
[b006a4d887] part of check-in [e01f9ed945] Disable the likely() and unlikely() macros as they do not work some older versions of GCC. (CVS 4754) (check-in: [e01f9ed945] user: drh branch: trunk, size: 91606)
2008-01-28
22:09
[85e7029fa8] part of check-in [29ce204dbf] Committed changes for ticket #2909 (CVS 4753) (check-in: [29ce204dbf] user: aswift branch: trunk, size: 91604)
2008-01-25
15:04
[4e19aad623] part of check-in [50815a82e0] Error messages says "no such view" instead of "no such table" when trying to DROP a VIEW that does not exist. (CVS 4750) (check-in: [50815a82e0] user: drh branch: trunk, size: 91578)
2008-01-23
14:51
[a26f3d8473] part of check-in [45c59802f6] Testing coverage enhancements to sqlite3_get_table() and to the SELECT code generator. (CVS 4746) (check-in: [45c59802f6] user: drh branch: trunk, size: 91567)
03:03
[9d87dc3aa2] part of check-in [5375ad6b4b] Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when compiling without -DSQLITE_DEBUG=1. (CVS 4744) (check-in: [5375ad6b4b] user: drh branch: trunk, size: 91564)
2008-01-22
21:30
[3b67a79e9b] part of check-in [1a335e1801] Add the fault injector module in fault.c. Use it as a basis for memory allocation failure testing. (CVS 4742) (check-in: [1a335e1801] user: drh branch: trunk, size: 91391)
2008-01-18
14:08
[9c3384439e] part of check-in [0e50c0200a] 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: [0e50c0200a] user: drh branch: trunk, size: 91093)
2008-01-17
16:22
[8389662011] part of check-in [706b41b70b] Registerification of the VDBE is complete. The operand stack has been removed from the code. All instructions operate out of registers only. (CVS 4718) (check-in: [706b41b70b] user: drh branch: trunk, size: 91086)
02:36
[89dc8eb778] part of check-in [b3a141b2b0] Registerification of the WHERE clause logic. (CVS 4716) (check-in: [b3a141b2b0] user: drh branch: trunk, size: 91095)
2008-01-12
19:03
[c3f43826e4] part of check-in [426f31ecdd] Continuing work toward converting the VM to a register machine. (CVS 4708) (check-in: [426f31ecdd] user: drh branch: trunk, size: 91132)
12:48
[b143c53760] part of check-in [a6dddebcc5] Continuing work toward converting the VM into a register machine. (CVS 4707) (check-in: [a6dddebcc5] user: drh branch: trunk, size: 91015)
2008-01-10
23:50
[ba917f5ed2] part of check-in [8cbd46517f] More work toward converting the VM into a register-based machine. (CVS 4704) (check-in: [8cbd46517f] user: drh branch: trunk, size: 90947)
03:46
[0606321d38] part of check-in [173698c963] Continuing work toward registerizing the code generator. (CVS 4703) (check-in: [173698c963] user: drh branch: trunk, size: 90945)
2008-01-09
23:04
[c2866ab4a8] part of check-in [e3cf1c1c11] 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: [e3cf1c1c11] user: drh branch: trunk, size: 90514)
2008-01-08
23:54
[884eb3db36] part of check-in [8862ce9cee] Registerify the comparison opcodes. (CVS 4697) (check-in: [8862ce9cee] user: drh branch: trunk, size: 90514)
18:57
[fd911a263a] part of check-in [5fd1036788] Finish registerizing the core logic of INSERT and UPDATE. (CVS 4696) (check-in: [5fd1036788] user: drh branch: trunk, size: 90074)
02:57
[964754dcd5] part of check-in [b9bf509e39] Progress toward registerification of the constraint checking logic for INSERT and UPDATE. (CVS 4693) (check-in: [b9bf509e39] user: drh branch: trunk, size: 90031)
2008-01-06
00:25
[95cdddce11] part of check-in [8201f71729] Registerify the SRT_Subroutine destination for SELECT results. (CVS 4690) (check-in: [8201f71729] user: drh branch: trunk, size: 90035)
2008-01-05
18:48
[29a9502c0d] part of check-in [6bb1b1bc18] Modify OP_RegMakeRec to take a base register and count and optionally store results in the register specified by P3. (CVS 4689) (check-in: [6bb1b1bc18] user: drh branch: trunk, size: 89920)
17:39
[1e7a6545ed] part of check-in [c449e04f18] First pass at optimizing max()/min() as described in #2853. Some refinements to come. (CVS 4687) (check-in: [c449e04f18] user: danielk1977 branch: trunk, size: 89928)
2008-01-04
19:10
[80f81e0a0b] part of check-in [d9ac6beef5] Some modifications to insert.c to work without using the stack. (CVS 4678) (check-in: [d9ac6beef5] user: danielk1977 branch: trunk, size: 89848)
13:24
[df036b69e3] part of check-in [173f281334] Modify the code generated for a DELETE to use registers instead of the vdbe stack. (CVS 4675) (check-in: [173f281334] user: danielk1977 branch: trunk, size: 89805)
2008-01-03
23:44
[2cae3a7556] part of check-in [61bfb77c42] Change the sqlite3ExprCode() function so that callers can request that the result of the expression be left on the stack or in a register. (CVS 4673) (check-in: [61bfb77c42] user: drh branch: trunk, size: 89792)
18:44
[ccbd4283c7] part of check-in [4f3967073d] Update OP_Rowid, OP_Column and related opcodes to use registers. (CVS 4671) (check-in: [4f3967073d] user: drh branch: trunk, size: 89825)
17:31
[44c2d9976f] part of check-in [955b15a020] Modify OP_VUpdate to read arguments from a range of memory cells instead of from the stack. (CVS 4668) (check-in: [955b15a020] user: danielk1977 branch: trunk, size: 89828)
11:50
[84c6525e3a] part of check-in [7e8330c804] Change the VdbeOp.p4 union to include specific pointer types for the various values of VdbeOp.p4type. (CVS 4667) (check-in: [7e8330c804] user: danielk1977 branch: trunk, size: 89792)
09:51
[4cd2cec926] part of check-in [46501f490a] Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666) (check-in: [46501f490a] user: danielk1977 branch: trunk, size: 89704)
00:01
[2e30ff7e6e] part of check-in [027875e4d4] Refactoring the VM. The P3 parameter is changed to P4. A P5 parameter is added (though not currently used.) Add routines sqlite3VdbeAddOpX() where X is one of 0, 1, 2, 3, or 4. (CVS 4660) (check-in: [027875e4d4] user: drh branch: trunk, size: 89654)
2008-01-02
17:11
[dc0f9180d4] part of check-in [fbd17a8976] Minor optimizations for sub-selects in EXISTS(...) expressions: Discard any DISTINCT or ORDER BY clauses and do not calculate any column values. (CVS 4658) (check-in: [fbd17a8976] user: danielk1977 branch: trunk, size: 89662)
16:27
[ff7a5de4ac] part of check-in [86dcdfe6d7] Combine the eDest and iParm arguments to sqlite3Select() into a single type - "SelectDest". (CVS 4657) (check-in: [86dcdfe6d7] user: danielk1977 branch: trunk, size: 89662)
00:34
[942a52122b] part of check-in [051ec01f27] Begin setting a foundation on which to convert the VM from a stack-based to a register-based machine. Everything is still mostly stack based with this check-in. This change merely begins adding infrastructure to support a register-based architecture. (CVS 4652) (check-in: [051ec01f27] user: drh branch: trunk, size: 89268)
2008-01-01
19:02
[cf993fe510] part of check-in [e08a33ed72] Optimize trigger compilation to avoid populating the OLD.* and NEW.* pseudo-tables with data that will never be used. Some testing to come. (CVS 4651) (check-in: [e08a33ed72] user: danielk1977 branch: trunk, size: 89234)
2007-12-13
03:45
[4455302637] part of check-in [56063ec84b] ORDER BY in a compound SELECT will first match against the left-most SELECT. If there is no match there, it begins working its way to the right. (CVS 4621) (check-in: [56063ec84b] user: drh branch: trunk, size: 89127)
2007-12-11
19:34
[5c390e902c] part of check-in [a5d81cd371] Build the CLI using the amalgamation. Relax the limit on SQL statement length when building the CLI. (CVS 4609) (check-in: [a5d81cd371] user: drh branch: trunk, size: 89058)
2007-12-07
18:55
[5c86734aae] part of check-in [c9eb65912f] In shared-cache mode, make sure the busy hander invoked is the busy handler associated with the database connection that caused the lock contention in the first place. (CVS 4598) (check-in: [c9eb65912f] user: drh branch: trunk, size: 89080)
2007-12-05
01:38
[a941ccf797] part of check-in [bdfc19e838] Add the ability to change the autovacuum status of an existing database by setting the auto_vacuum pragma then running the VACUUM command. (CVS 4592) (check-in: [bdfc19e838] user: drh branch: trunk, size: 89027)
2007-11-29
17:05
[f5d5b5f0dc] part of check-in [56d0e32677] Optimisations for expressions of the form "<value> IN (SELECT <column> FROM )". (CVS 4579)
(check-in: [56d0e32677] user: danielk1977 branch: trunk, size: 88961)
2007-11-28
22:36
[c724e97dcc] part of check-in [221aee72be] Add the {quote: StrAccum} object for accumulating strings. Revamp xprintf to use the new object. Rewrite the group_concat() function to use the new object. Productize and test the group_concat() function. (CVS 4578) (check-in: [221aee72be] user: drh branch: trunk, size: 88749)
2007-11-27
02:38
[22fb7a7271] part of check-in [485add38a1] Add likely() and unlikely() macros to the header file. They are not yet used for anything. (CVS 4562) (check-in: [485add38a1] user: drh branch: trunk, size: 87979)
2007-11-26
22:54
[4498ab4210] part of check-in [d0a4c2a363] Use macro __DARWIN__ rather than __MACOS__ for conditional compilation of MacOSX specific features. Ticket #2780. (CVS 4561) (check-in: [d0a4c2a363] user: drh branch: trunk, size: 87549)
2007-11-12
09:50
[4e6fdeb563] part of check-in [06749ac7af] Allow collation sequence names to be quoted. Ticket #2744. (CVS 4537) (check-in: [06749ac7af] user: danielk1977 branch: trunk, size: 87556)
2007-10-23
15:59
[7fd5cfa357] part of check-in [d7ed7cd077] Add comments to the code warning that _XOPEN_SOURCE might need to be defined manually if using USE_PREAD or USE_PREAD64. (CVS 4509) (check-in: [d7ed7cd077] user: drh branch: trunk, size: 87558)
15:51
[d06f27ede6] part of check-in [36465aeb1f] Make sure the _LARGEFILE_SOURCE macro occurs before any system includes. Ticket #2739. (CVS 4508) (check-in: [36465aeb1f] user: drh branch: trunk, size: 87529)
15:39
[ae43aebc3c] part of check-in [7e30fd6a09] 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: [7e30fd6a09] user: drh branch: trunk, size: 87355)
2007-10-04
18:11
[3fa9f4e9d2] part of check-in [755fcaf7e3] Fixes for OMIT_AUTHORIZATION builds. #2691. (CVS 4466) (check-in: [755fcaf7e3] user: danielk1977 branch: trunk, size: 87358)
2007-10-03
08:46
[9092213f1f] part of check-in [12eca32a6a] Add automatic recovery from the pager "error-state". Also add a new error code - SQLITE_IOERR_NOMEM. (CVS 4454) (check-in: [12eca32a6a] user: danielk1977 branch: trunk, size: 87356)
2007-10-01
17:47
[8fb50cf69b] part of check-in [eb5d78451e] Additional #ifdefing around _XOPEN_SOURCE. Ticket #2681. (CVS 4452) (check-in: [eb5d78451e] user: drh branch: trunk, size: 87171)
14:30
[cb503be6d4] part of check-in [0bbf654b67] Omit the _XOPEN_SOURCE 500 define on Mac OS-X. Ticket #2673 (CVS 4450) (check-in: [0bbf654b67] user: drh branch: trunk, size: 86875)
2007-09-21
04:28
[ab7d3169cb] part of check-in [0c1e6f69cd] Another comment typo. Also #2660. (CVS 4444) (check-in: [0c1e6f69cd] user: danielk1977 branch: trunk, size: 86598)
2007-09-18
15:55
[3bd0740878] part of check-in [b2d605a271] Remove unneeded pSchema field from the Expr structure. (CVS 4434) (check-in: [b2d605a271] user: drh branch: trunk, size: 86589)
2007-09-03
15:19
[bb126b0743] part of check-in [020a2b10d4] Honor the SQLITE_OPEN_ flags passed into sqlite3_open_v2(). Some test cases added but more are needed. Ticket #2616. (CVS 4376) (check-in: [020a2b10d4] user: drh branch: trunk, size: 86529)
2007-08-31
17:42
[adc8a20e80] part of check-in [d119427314] Allow sqllimits1.test to be run from a regular build of testfixture. Add the 'amalgamation-testfixture' target to main.mk - to build testfixture via sqlite3.c. (CVS 4354) (check-in: [d119427314] user: danielk1977 branch: trunk, size: 86325)
2007-08-30
14:10
[5dbb7a934a] part of check-in [4bdfe1419c] Bug fixes in the mutex header file. Tickets #2599 and #2600. (CVS 4335) (check-in: [4bdfe1419c] user: drh branch: trunk, size: 84759)
2007-08-29
12:31
[1dd9226a6f] part of check-in [e38ef81b85] Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) (check-in: [e38ef81b85] user: danielk1977 branch: trunk, size: 84767)
2007-08-28
16:34
[8225c78e94] part of check-in [fc5cd71aef] Break up the mutex implementation into separate source files, one each for unix, w32, and os2. (CVS 4312) (check-in: [fc5cd71aef] user: drh branch: trunk, size: 84622)
02:27
[e681df44a1] part of check-in [b8cc493b47] Work toward correct btree locking in a multithreaded environment. (CVS 4307) (check-in: [b8cc493b47] user: drh branch: trunk, size: 84603)
2007-08-27
23:26
[ec674206f8] part of check-in [dc80b2e1f4] Work around problem with forward declarations of constants in MSVC in the amalgamation. Ticket #2574. (CVS 4304) (check-in: [dc80b2e1f4] user: drh branch: trunk, size: 84603)
21:49
[9c9dd856c4] part of check-in [0ae30e5c76] Bring the amalgamation builder up to date with the latest changes. Remove some vestigial code. (CVS 4303) (check-in: [0ae30e5c76] user: drh branch: trunk, size: 84506)
2007-08-25
14:39
[13c908f5f1] part of check-in [1668284d15] Use recursive mutexes in pthreads. If the pthreads implementation does not support recursive mutexes, then you cannot compile SQLite with SQLITE_THREADSAFE=1. Ticket #2588. (CVS 4297) (check-in: [1668284d15] user: drh branch: trunk, size: 84783)
2007-08-24
08:15
[ea7a14a33c] part of check-in [bdf5cb8d25] Add tests to simulate power-failure on devices that support IOCAP_SEQUENTIAL or IOCAP_SAFE_APPEND. (CVS 4284) (check-in: [bdf5cb8d25] user: danielk1977 branch: trunk, size: 84715)
2007-08-23
02:47
[951229c727] part of check-in [21f6b31097] Improvements to memory leak detection. The --backtrace=NNN option is now recognized by tester.tcl. Memory leak summaries are automatically written to the file ./memleak.txt and each leak is tagged with the test in which it occurred. The quick.test script runs on Linux with no errors and no leaks. (CVS 4273) (check-in: [21f6b31097] user: drh branch: trunk, size: 84663)
2007-08-22
11:41
[67b6ed04a2] part of check-in [1f28b7e47b] Get the quick.test script running with SQLITE_THREADSAFE enabled. (CVS 4269) (check-in: [1f28b7e47b] user: drh branch: trunk, size: 84513)
11:22
[74eb61d596] part of check-in [581fadfe31] Add code for the atomic-write optimisation. Disabled by default. (CVS 4268) (check-in: [581fadfe31] user: danielk1977 branch: trunk, size: 84521)
2007-08-21
19:33
[23eb6a5b1f] part of check-in [9287276191] The sqlite3_value object now carries an sqlite3* pointer to use for recording malloc failures. This eliminates the need to pass sqlite3* pointers into many internal interfaces. Also added more mutexing. (CVS 4263) (check-in: [9287276191] user: drh branch: trunk, size: 84289)
13:51
[c9ba3861d1] part of check-in [6225cd461c] Remove the obsolete static mutexes. Use only the lastest static mutex code. (CVS 4259) (check-in: [6225cd461c] user: drh branch: trunk, size: 84284)
2007-08-20
22:48
[6891d6864a] part of check-in [1315bd8e12] Work toward multithreading support. Currently crashes quickly on a test. (CVS 4253) (check-in: [1315bd8e12] user: drh branch: trunk, size: 84709)
14:23
[8932f2a2f8] part of check-in [40f66ada81] Changes to crash-test io backend (test6.c) so that it works with the sqlite3_vfs interface. (CVS 4247) (check-in: [40f66ada81] user: danielk1977 branch: trunk, size: 84252)
2007-08-17
15:53
[442a6861cf] part of check-in [af3e3c7acd] Begin migration to using sqlite3_vfs interface. (CVS 4240) (check-in: [af3e3c7acd] user: danielk1977 branch: trunk, size: 84174)
01:14
[7298c560e0] part of check-in [4c1e9ffebe] Begin adding mutexes. Compiles without SQLITE_OMIT_SHARED_CACHE but we get an assertion fault on the shared cache testing. (CVS 4239) (check-in: [4c1e9ffebe] user: drh branch: trunk, size: 84162)
2007-08-16
13:01
[fa9baff32a] part of check-in [3d60c14a32] Remove the thread specific data subsystem from the unix build. Remove legacy cruft from sqliteInt.h. Use the new mutex subsystem in the PRNG. (CVS 4237) (check-in: [3d60c14a32] user: drh branch: trunk, size: 84107)
10:09
[2649e0cbf0] part of check-in [77b1671351] More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) (check-in: [77b1671351] user: danielk1977 branch: trunk, size: 86603)
04:30
[acdc2d5b99] part of check-in [deb7ecd65f] Half-way through a major refactoring of the memory allocation. I have not even attempted to compile so I am certain there are countless errors. (CVS 4231) (check-in: [deb7ecd65f] user: drh branch: trunk, size: 86366)
2007-08-15
13:04
[fc9f6e8d91] part of check-in [c0fa376979] Add initial implementations of mutex and memory subsystem modules. (CVS 4226) (check-in: [c0fa376979] user: drh branch: trunk, size: 86468)
2007-08-08
12:11
[aaf44ba52e] part of check-in [3759a38fe8] More tweaking of linkage. Ticket #2554. (CVS 4200) (check-in: [3759a38fe8] user: drh branch: trunk, size: 86417)
01:04
[c484c3e6fe] part of check-in [c09ec102c4] Additional refinements on the amalgamation: Give a couple of constants file scope and add the SQLITE_API prefix to some interfaces that need it. Ticket #2554. (CVS 4199) (check-in: [c09ec102c4] user: drh branch: trunk, size: 86654)
2007-08-07
17:13
[c006580ea2] part of check-in [7550dd1d59] Remove all tabs from source code files. Ticket #2556. (CVS 4198) (check-in: [7550dd1d59] user: drh branch: trunk, size: 86657)
17:04
[b31440f39c] part of check-in [73db545289] Revise the amalgamation so that all symbols have file scope except those that begin with "sqlite3_". Ticket #2554. (CVS 4197) (check-in: [73db545289] user: drh branch: trunk, size: 86615)
2007-08-05
23:52
[74ada10135] part of check-in [6cc15409ad] Fix some compiler warnings. (CVS 4196) (check-in: [6cc15409ad] user: drh branch: trunk, size: 86615)
2007-07-23
19:31
[536fb651e1] part of check-in [bc02c7f162] Move prototypes for LEMON-generated parser functions into sqliteInt.h. Ticket #2521. (CVS 4177) (check-in: [bc02c7f162] user: drh branch: trunk, size: 86744)
19:12
[358f3a29b9] part of check-in [9a059cb6bc] Rework the UTF8 reader logic in order to avoid the use of malloc(). Ticket #2523. (CVS 4175) (check-in: [9a059cb6bc] user: drh branch: trunk, size: 86552)
2007-06-26
10:38
[81183ae711] part of check-in [7f887a6a00] Allow virtual tables to mark columns as 'hidden'. Hidden columns do not show up in "*" expansion, the implicit column list of an INSERT statement, or the results of a "PRAGMA table_info" statement. (CVS 4127) (check-in: [7f887a6a00] user: danielk1977 branch: trunk, size: 88416)
00:37
[db7e6fafc4] part of check-in [96190cf13d] 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: [96190cf13d] user: drh branch: trunk, size: 88227)
2007-06-25
17:28
[475c538baf] part of check-in [5b3a490649] Rework the string to integer conversion logic to address tickets #2344 and #2454. (CVS 4123) (check-in: [5b3a490649] user: drh branch: trunk, size: 88228)
2007-06-22
15:21
[6503239d26] part of check-in [68677e420c] Extend fts2 so that user defined tokenizers may be added. Add a tokenizer that uses the ICU library if available. Documentation and tests to come. (CVS 4108) (check-in: [68677e420c] user: danielk1977 branch: trunk, size: 88235)
2007-06-20
15:29
[ed31d1a031] part of check-in [406675bb1c] Remove the dependency on libm for isnan(). Ticket #2436. (CVS 4103) (check-in: [406675bb1c] user: drh branch: trunk, size: 88155)
2007-06-19
15:23
[07b0f7a4b7] part of check-in [64bcc41f12] Change the name of the "limits.h" source file to "sqliteLimit.h". Ticket #2428. (CVS 4091) (check-in: [64bcc41f12] user: drh branch: trunk, size: 88265)
2007-06-10
22:57
[208c40b6e1] part of check-in [fed9373e27] Define isnan() on windows. Ticket #2399. (CVS 4054) (check-in: [fed9373e27] user: drh branch: trunk, size: 88260)
2007-06-08
00:20
[0352ac447c] part of check-in [46fdd19548] Fix the query optimizer so that it correctly handles constant expressions in the ON clause of a LEFT JOIN. Ticket #2403. (CVS 4049) (check-in: [46fdd19548] user: drh branch: trunk, size: 88112)
2007-05-29
12:11
[853d50bfeb] part of check-in [f9a95e92df] Consider explicit collate clauses when matching WHERE constraints to indices. Fix for #2391. (CVS 4040) (check-in: [f9a95e92df] user: danielk1977 branch: trunk, size: 88079)
2007-05-16
17:28
[58edde3794] part of check-in [93f811ec74] Change a few selected functions to macros to speed things up. (CVS 4015) (check-in: [93f811ec74] user: danielk1977 branch: trunk, size: 88016)
2007-05-15
16:51
[0f3b39aebd] part of check-in [f84d9dab11] Make sure pParse->rc gets set whenever sqlite3ErrorMsg() is called. This is added insurance that parsing will stop quickly after an error. This change did make the parser stop faster in some cases, which required some revisions to tests. (CVS 4010) (check-in: [f84d9dab11] user: drh branch: trunk, size: 87658)
11:55
[591f857fbf] part of check-in [6c8ad2790e] A new approach for UTF-8 translation. (CVS 4004) (check-in: [6c8ad2790e] user: drh branch: trunk, size: 87654)
2007-05-12
12:08
[c31c9526bc] part of check-in [c08658e1f8] Make the ANALYZE command robust in the face of malloc() failures. (CVS 3989) (check-in: [c08658e1f8] user: drh branch: trunk, size: 85416)
2007-05-11
12:30
[10becea12c] part of check-in [2f70159b1d] Avoid multiple storage class specifiers ("static extern") in the amalagmation. (CVS 3984) (check-in: [2f70159b1d] user: drh branch: trunk, size: 85417)
2007-05-10
17:23
[ff1cfd5ac0] part of check-in [ffe615a711] 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: [ffe615a711] user: drh branch: trunk, size: 85354)
10:46
[7e7faee79b] part of check-in [2c9c94a24d] Add code to enforce the MAX_EXPR_DEPTH limit. (CVS 3968) (check-in: [2c9c94a24d] user: danielk1977 branch: trunk, size: 85297)
2007-05-08
21:45
[2a4ec9eb67] part of check-in [c5754530c6] Remove compiler warnings in the amalgamation. (CVS 3960) (check-in: [c5754530c6] user: drh branch: trunk, size: 84918)
20:37
[da5ded9e98] part of check-in [e9f56ead05] Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958) (check-in: [e9f56ead05] user: drh branch: trunk, size: 85403)
17:54
[9d74ad5f9f] part of check-in [eeee6b71e5] Add a few more tests to sqllimit1.test. (CVS 3954) (check-in: [eeee6b71e5] user: danielk1977 branch: trunk, size: 85411)
01:08
[2933fb3d04] part of check-in [93b623b232] Begin implementing a new system of upper bounds on the capabilities of SQLite. By clearly defining the upper bounds, we make those upper bounds explicitly testable. This check-in is just infrastructure. The upper bounds are not yet enforced. (CVS 3941) (check-in: [93b623b232] user: drh branch: trunk, size: 85333)
2007-05-07
09:32
[5e1cf645ef] part of check-in [ff49d48f2f] Add the experimental create_collation_x() api. (CVS 3934) (check-in: [ff49d48f2f] user: danielk1977 branch: trunk, size: 86331)
2007-05-05
11:48
[3ffe2f9c80] part of check-in [16041116aa] Refactoring. Split btreeInt.h off from btree.c. Split malloc.c off from util.c. Expect much more to follow. (CVS 3925) (check-in: [16041116aa] user: drh branch: trunk, size: 86268)
2007-05-04
18:30
[93ac1a9f1c] part of check-in [b13e497a32] 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: [b13e497a32] user: drh branch: trunk, size: 86139)
16:14
[478ca87a2a] part of check-in [ed713f9ccb] Optional parameter in the INCREMENTAL VACUUM statement specifies how many pages to vacuum from the database. (CVS 3919) (check-in: [ed713f9ccb] user: drh branch: trunk, size: 86186)
11:59
[5a8c0221a4] part of check-in [2a178d0c79] Add compile-time option -DSQLITE_MIXED_ENDIAN_64BIT_FLOAT=1 that uses mixed-endian doubles. This is needed on ARM7 to make database file formats compatible with all other processors. Tickets #2278 and #2335. (CVS 3913) (check-in: [2a178d0c79] user: drh branch: trunk, size: 86178)
2007-04-26
14:42
[0b14d0eae0] part of check-in [f6a6d2b887] Add largely untested code for the incremental vacuum function. (CVS 3876) (check-in: [f6a6d2b887] user: danielk1977 branch: trunk, size: 86146)
2007-04-16
15:06
[047af0e4c3] part of check-in [8d6c3bfc4d] Ensure sqlite3_finalize() can be called from within the xDisconnect() method of virtual tables. (CVS 3845) (check-in: [8d6c3bfc4d] user: danielk1977 branch: trunk, size: 86107)
2007-04-12
03:54
[6c25db3cdf] part of check-in [4062ddf3c7] Get the column affinities right when processing an IN operator where the right-hand side is a subquery with an ORDER BY clause. Ticket #2295. This bug has likely been present since version 3.0.0 and it has just now been noticed, so it seems to be a obscure case. (CVS 3837) (check-in: [4062ddf3c7] user: drh branch: trunk, size: 85575)
2007-04-06
11:26
[347160d30e] part of check-in [8e2559b4da] The FOR EACH STATEMENT clause in a trigger is now a syntax error. It used to be silently ignored. STATEMENT is no longer a keyword. (CVS 3821) (check-in: [8e2559b4da] user: drh branch: trunk, size: 85502)
2007-04-05
11:25
[f09f449f26] part of check-in [38af156da8] Improvements to coverage testing. (CVS 3810) (check-in: [38af156da8] user: drh branch: trunk, size: 85568)
2007-03-31
15:28
[09384eb30d] part of check-in [476e7c3fcc] Increase test coverage by statically defining SQLITE_BIGENDIAN and related macros for ix86 platforms. Still a run-time test for other architectures. Need to add additional cases to cover other popular processors. (CVS 3781) (check-in: [476e7c3fcc] user: drh branch: trunk, size: 85615)
2007-03-29
05:51
[c8d0e5ce27] part of check-in [ad4a6b1a91] 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: [ad4a6b1a91] user: drh branch: trunk, size: 85434)
2007-03-28
14:30
[ace601a40d] part of check-in [26348556d8] 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: [26348556d8] user: drh branch: trunk, size: 85362)
2007-03-27
13:36
[7a3d16cd51] part of check-in [c8a8a189a8] More strict aliasing fixes. The single source file library now runs successfully with -fstrict-alias. (CVS 3725) (check-in: [c8a8a189a8] user: drh branch: trunk, size: 85137)
2007-03-26
22:05
[86ab83dddf] part of check-in [0b832e218e] Modify sources to that they can be combined into a single sqlite3.c source file. Eliminate all type-pruned pointer warnings. (CVS 3722) (check-in: [0b832e218e] user: drh branch: trunk, size: 85119)
2007-03-24
16:45
[5451308c88] part of check-in [b6c700370b] Changes for exclusive access mode. There are still some bugs. (CVS 3712) (check-in: [b6c700370b] user: danielk1977 branch: trunk, size: 85176)
2007-03-14
15:37
[6e3ac7a1a8] part of check-in [a8d6d935fb] Modify the behaviour of writable_schema to ignore schema parsing errors. (CVS 3686) (check-in: [a8d6d935fb] user: danielk1977 branch: trunk, size: 85100)
2007-03-02
06:24
[50ea4ff5df] part of check-in [8d3829cdb3] Minor fixes so that testfixture builds without IO tracing enabled. (CVS 3668) (check-in: [8d3829cdb3] user: danielk1977 branch: trunk, size: 85030)
2007-03-01
00:29
[b02f76c9ed] part of check-in [ed915f579a] Additional I/O Tracing support. (CVS 3667) (check-in: [ed915f579a] user: drh branch: trunk, size: 85016)
2007-02-28
04:47
[dad7a8f74b] part of check-in [007ca28389] Add the undocumented and experimental I/O tracing interface. This interface is likely to change and may be completely abandoned in the near future. (CVS 3665) (check-in: [007ca28389] user: drh branch: trunk, size: 84951)
2007-02-24
11:52
[cc9f729ca2] part of check-in [e11bbf174c] Make sure that integer values are converted to real when pulled from a REAL table column by GROUP BY. Ticket #2251. Also make sure default values are correctly expanded. There may be other places in the code where this issue comes up - we need to look further. (CVS 3659) (check-in: [e11bbf174c] user: drh branch: trunk, size: 84603)
2007-02-14
09:19
[f70998732d] part of check-in [cb78f7cb0f] Use OP_VColumn instead of OP_Column when querying virtual tables for values to save in aggregate context records. #2230. (CVS 3644) (check-in: [cb78f7cb0f] user: danielk1977 branch: trunk, size: 84555)
2007-02-13
12:49
[409dfff7f0] part of check-in [22769e2d37] Expand the cursor index in SrcList_item to 32-bits to accomodate really huge VDBE programs resulting from deeply nested triggers. This is an interim fix until we rework triggers to use subroutines. (CVS 3640) (check-in: [22769e2d37] user: drh branch: trunk, size: 84499)
2007-02-01
23:02
[650d05a8c5] part of check-in [85cca7cd25] First cut at adding the COLLATE operator. Regression tests pass (or at least the quick set does) and a few new tests have been added. But many more tests are needed. Rules for combining collations need to be worked out. (CVS 3624) (check-in: [85cca7cd25] user: drh branch: trunk, size: 84499)
01:40
[f6053066ba] part of check-in [505dce8f4e] Allow up to 64 tables in a join (the number of bits in a long long int). The old limit was 32 tables. (CVS 3622) (check-in: [505dce8f4e] user: drh branch: trunk, size: 84365)
2007-01-19
01:06
[f15bb7b1bc] part of check-in [335863e4d1] Make sure the IS NULL optimization introduced by check-in (3494) correctly handles a LEFT JOIN where the a term from the right table of the join uses an IS NULL constraint. Ticket #2177. This check-in also adds the new test cases that were suppose to have been added with (3494) but which were mistakenly omitted. (CVS 3595) (check-in: [335863e4d1] user: drh branch: trunk, size: 84191)
2006-12-21
01:29
[90dad3c0ba] part of check-in [a1bcc6de57] Move the shared-library loading routines into the OS portability layer, thus enabling the os_win.c code to handle the character encoding confusion of win95/nt/ce. Ticket #2023. (CVS 3541) (check-in: [a1bcc6de57] user: drh branch: trunk, size: 83887)
2006-12-16
16:25
[28d060f44a] part of check-in [7393c81b8c] Query optimizer enhancement: In "FROM a,b,c left join d" allow the C table to be reordered with A and B. This used to be the case but the capability was removed by (3203) and (3052) in response to ticket #1652. This change restores the capability. (CVS 3529) (check-in: [7393c81b8c] user: drh branch: trunk, size: 83887)
2006-11-09
00:24
[f6bac44ee7] part of check-in [f1efae9224] First cut at adding the sqlite3_prepare_v2() API. Test cases added, but more testing would be useful. Still need to update the documentation. (CVS 3506) (check-in: [f1efae9224] user: drh branch: trunk, size: 83754)
2006-09-23
20:36
[637ef229c3] part of check-in [dc797bf4fa] Be sure to ignore PRAGMA encoding pragmas if the encoding has already been set for a database. Ticket #1987. This patch also includes some cleanup of the schema parser and initialization logic. (CVS 3436) (check-in: [dc797bf4fa] user: drh branch: trunk, size: 83725)
2006-09-16
21:45
[c1d28fb130] part of check-in [aa7728f9f5] Add the sqlite3_overload_function() API - part of the virtual table interface. (CVS 3426) (check-in: [aa7728f9f5] user: drh branch: trunk, size: 83646)
2006-09-15
07:28
[74b39f55f3] part of check-in [ba579ddc43] Add support for extended result codes - additional result information carried in the higher bits of the integer return codes. This must be enabled using the sqlite3_extended_result_code() API. Only a few extra result codes are currently defined. (CVS 3422) (check-in: [ba579ddc43] user: drh branch: trunk, size: 83579)
2006-09-11
23:45
[fc2439b695] part of check-in [e4fe736cfb] Add support for IF EXISTS on CREATE/DROP TRIGGER/VIEW. Ticket #1899. (CVS 3406) (check-in: [e4fe736cfb] user: drh branch: trunk, size: 83499)
2006-09-02
20:57
[259adce944] part of check-in [61148f4c36] 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: [61148f4c36] user: drh branch: trunk, size: 83485)
2006-08-23
20:07
[325a2d45be] part of check-in [a85fc877eb] Add the new experimental sqlite3_auto_extension() API. (CVS 3362) (check-in: [a85fc877eb] user: drh branch: trunk, size: 83409)
2006-07-26
13:43
[85975cbb95] part of check-in [e431131d47] More work toward getting sqlite3_interrupt() to work from separate threads. Ticket #1897. (CVS 3336) (check-in: [e431131d47] user: drh branch: trunk, size: 83317)
01:39
[670d36af1f] part of check-in [35fd67d7a0] Initial attempt at making sqlite3_interrupt() work even when called from a separate thread. (CVS 3335) (check-in: [35fd67d7a0] user: drh branch: trunk, size: 83265)
2006-07-11
14:17
[a413094c83] part of check-in [65b60f05ce] By default, new databases are now created in the legacy file format - the format that ignores DESC on indices. If you want descending indices, you must either recompile with -DSQLITE_DEFAULT_FILE_FORMAT=4 or issue "PRAGMA legacy_file_format=OFF" prior to creating the first table in the database. (CVS 3330) (check-in: [65b60f05ce] user: drh branch: trunk, size: 83195)
13:15
[5a485f3405] part of check-in [b1f326e695] Prevent memory leak and possible NULL pointer deference after malloc failure. Ticket #1886. (CVS 3329) (check-in: [b1f326e695] user: drh branch: trunk, size: 83195)
2006-07-08
18:35
[434b530013] part of check-in [6e98373ca1] For infix functions (LIKE, GLOB, REGEXP, and MATCH) treat the left operand as the first argument for the purposes of virtual table function overloading, even though the left operand is really the the second argument. (CVS 3324) (check-in: [6e98373ca1] user: drh branch: trunk, size: 83137)
17:06
[ea16faa3ef] part of check-in [12cc7af4b6] Allow virtual table implementations to overload function that use a column of the virtual table as their first argument. Untested. (CVS 3322) (check-in: [12cc7af4b6] user: drh branch: trunk, size: 83057)
2006-06-27
15:16
[e07a49b3e3] part of check-in [4692319ccf] The ability to load extensions is turned off by default. It must be enabled by calling sqlite3_enable_load_extension() before it will work. This prevents security problems in legacy applications. Ticket #1863. (CVS 3311) (check-in: [4692319ccf] user: drh branch: trunk, size: 82923)
14:37
[3e3f9efa7f] part of check-in [783369e870] Changes to build successfully with -DSQLITE_OMIT_LOAD_EXTENSION=1 (CVS 3310) (check-in: [783369e870] user: drh branch: trunk, size: 82854)
01:54
[b82962553a] part of check-in [28413cf2b3] Cache and reuse virtual table index information in the optimizer. Improved diagnostics for virtual table index selection. (CVS 3300) (check-in: [28413cf2b3] user: drh branch: trunk, size: 82768)
2006-06-26
21:35
[4b1a3193b8] part of check-in [85a66a25e9] Publish APIs sqlite3_malloc() and sqlite3_realloc() that use the OS-layer memory allocator. Convert sqlite3_free() and sqlite3_mprintf() to also use the OS-layer memory allocator. (CVS 3298) (check-in: [85a66a25e9] user: drh branch: trunk, size: 81648)
19:10
[a2bef52ece] part of check-in [74a3961f39] Remove the sqlite3_module.zName field which was used only for debugging. (CVS 3297) (check-in: [74a3961f39] user: drh branch: trunk, size: 81648)
2006-06-24
08:51
[474a098e2f] part of check-in [4630e11d9a] Ensure whitespace specified as part of a virtual table constructor argument is correctly passed to the constructor function. (CVS 3290) (check-in: [4630e11d9a] user: danielk1977 branch: trunk, size: 81656)
2006-06-23
08:05
[8392004466] part of check-in [5d1d907189] Add tests and fixes for handling malloc() failures related to the virtual table feature. (CVS 3285) (check-in: [5d1d907189] user: danielk1977 branch: trunk, size: 81801)
2006-06-17
10:44
[d79b031593] part of check-in [ca541ef3c4] Clear a compiler warning by adding a prototype to sqliteInt.h. (CVS 3266) (check-in: [ca541ef3c4] user: drh branch: trunk, size: 81885)
2006-06-16
21:13
[dc69927751] part of check-in [2119e7bf55] Rework the way UPDATE works for virtual tables. (CVS 3262) (check-in: [2119e7bf55] user: drh branch: trunk, size: 81851)
16:08
[5f8de04c33] part of check-in [6125140228] Add code to invoke the virtual table transaction interface. Untested at this point. (CVS 3261) (check-in: [6125140228] user: danielk1977 branch: trunk, size: 81819)
08:01
[2eb48bd25f] part of check-in [9497c66e55] Add some tests (and fixes) for virtual tables and the authorization callback. Still more to come. (CVS 3260) (check-in: [9497c66e55] user: danielk1977 branch: trunk, size: 81188)
2006-06-15
04:28
[5eb64f1dd9] part of check-in [470a3a0b20] Add void* argument to sqlite3_create_module to replace sqlite3_module.pAux. (CVS 3251) (check-in: [470a3a0b20] user: danielk1977 branch: trunk, size: 81184)
2006-06-14
19:00
[5a806625f0] part of check-in [32c97b884b] Added code to INSERT, DELETE and UPDATE virtual tables. The new code is mostly untested. (CVS 3248) (check-in: [32c97b884b] user: drh branch: trunk, size: 80754)
2006-06-13
15:36
[e8710fd5c1] part of check-in [ea4bc5a0be] Get the code to compile with -DSQLITE_OMIT_VIRTUALTABLE=1 (CVS 3230) (check-in: [ea4bc5a0be] user: drh branch: trunk, size: 80451)
10:24
[91cc3603fe] part of check-in [1f20e1832b] Add implementations for opcodes required for linear scans of virtual tables. (CVS 3223) (check-in: [1f20e1832b] user: danielk1977 branch: trunk, size: 80468)
2006-06-12
21:59
[9562411b33] part of check-in [0109654331] Added code to iterate through virtual tables. All regression tests pass but the new code is completely untested. (CVS 3219) (check-in: [0109654331] user: drh branch: trunk, size: 80523)
16:01
[a617f13e11] part of check-in [f0c7c8d12c] Add code to invoke the xDestroy method of a virtual table when it is dropped. (CVS 3218) (check-in: [f0c7c8d12c] user: danielk1977 branch: trunk, size: 80455)
12:08
[b77822681e] part of check-in [b63dbc7947] Add a simple test case (and corresponding bugfix) for the virtual table xConnect and xDisconnect methods. (CVS 3214) (check-in: [b63dbc7947] user: danielk1977 branch: trunk, size: 80398)
11:24
[ef7b936e38] part of check-in [bbeb93b5bb] Add first cut of sqlite3_declare_vtab(). Not at all well tested yet. (CVS 3213) (check-in: [bbeb93b5bb] user: danielk1977 branch: trunk, size: 80355)
06:09
[4ac8c35fec] part of check-in [8ffbab79d5] Incremental work on parsing/storing and invoking the xCreate callback for virtual tables. (CVS 3212) (check-in: [8ffbab79d5] user: danielk1977 branch: trunk, size: 80040)
2006-06-11
23:41
[90957da628] part of check-in [898ec36b41] Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211) (check-in: [898ec36b41] user: drh branch: trunk, size: 79967)
2006-06-10
13:29
[c1c752970e] part of check-in [66370cb99b] Basic parsing of CREATE VIRTUAL TABLE statements. (CVS 3210) (check-in: [66370cb99b] user: drh branch: trunk, size: 79287)
2006-06-08
15:48
[029ae29418] part of check-in [327e6909c9] Unload shared libraries when a database connection closes. (CVS 3208) (check-in: [327e6909c9] user: drh branch: trunk, size: 78972)
2006-05-25
12:17
[98b3d7e9c4] part of check-in [5031ffc665] Syntax errors override errors from the code generator, not the other way around. (CVS 3192) (check-in: [5031ffc665] user: drh branch: trunk, size: 78796)
2006-04-04
01:54
[9052a26e04] part of check-in [4342b49971] Changes to get SQLite running on machines that use the EBCDIC character set. (CVS 3161) (check-in: [4342b49971] user: drh branch: trunk, size: 78729)
2006-03-28
23:57
[f068088dcc] part of check-in [aedadfc3e4] Compile-time option to use only 32-bit integers. (CVS 3157) (check-in: [aedadfc3e4] user: drh branch: trunk, size: 78515)
2006-03-17
13:56
[18a99e57fd] part of check-in [8f60139f68] Miscellaneous code cleanup. (CVS 3143) (check-in: [8f60139f68] user: drh branch: trunk, size: 78691)
00:04
[dba7385fa5] part of check-in [6b3717aeb4] Much faster sorting when there are a large number of columns in the result set. (CVS 3141) (check-in: [6b3717aeb4] user: drh branch: trunk, size: 79154)
2006-03-13
15:06
[8c5788a32d] part of check-in [5ddc09a5e4] Get parserless builds working again. (CVS 3133) (check-in: [5ddc09a5e4] user: drh branch: trunk, size: 79156)
2006-02-27
22:22
[ccc6c2351f] part of check-in [b4fa96d0e9] The parser now permits very large triggers - triggers with 10000 or more statements. (CVS 3113) (check-in: [b4fa96d0e9] user: drh branch: trunk, size: 79099)
2006-02-24
02:53
[d99092c3bb] part of check-in [4b22e4b847] Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) (check-in: [4b22e4b847] user: drh branch: trunk, size: 79020)
2006-02-17
15:01
[bd6a966fec] part of check-in [76912b33b1] Fix bug preventing compliation without MEMDEBUG when ENABLE_MEMORY_MANAGE is defined. (CVS 3105) (check-in: [76912b33b1] user: danielk1977 branch: trunk, size: 79058)
12:25
[0b52ba38f9] part of check-in [1e4644b236] Ensure temp db is open before executing a pragma like "temp.cachesize = xxx". Fix for #1682. (CVS 3104) (check-in: [1e4644b236] user: danielk1977 branch: trunk, size: 79035)
2006-02-16
18:16
[b067d282b2] part of check-in [7a1701e8c5] Or the SQLITE_UTF16_ALIGNED with the encoding field in sqlite3_create_collation and UTF16 strings will always be aligned on an even byte boundary when passed into the comparison function. (CVS 3103) (check-in: [7a1701e8c5] user: drh branch: trunk, size: 78989)
2006-02-15
21:19
[531b714c17] part of check-in [4e6b74b290] Get the build working again. Fix for check-in (3093) (CVS 3100) (check-in: [4e6b74b290] user: drh branch: trunk, size: 79109)
2006-02-14
10:48
[ba831d1f89] part of check-in [f4150c29df] Changes so that test_async.c works with memory management turned on. (CVS 3093) (check-in: [f4150c29df] user: danielk1977 branch: trunk, size: 79113)
2006-02-11
01:25
[f61b60f243] part of check-in [f2069d0bf3] Add support and documentation for the fullfsync pragma. Also include some other unrelated documentation updates. (CVS 3080) (check-in: [f2069d0bf3] user: drh branch: trunk, size: 78871)
2006-02-10
07:07
[fe74eaa6aa] part of check-in [5e8611e13d] Fix the origin APIs so that they correctly handle views and subqueries that cannot be flattened. (CVS 3072) (check-in: [5e8611e13d] user: danielk1977 branch: trunk, size: 78801)
2006-01-24
16:37
[0121298397] part of check-in [5df9f022bf] Handle errors in saving cursor positions during a rollback by aborting all active statements. (CVS 3027) (check-in: [5df9f022bf] user: danielk1977 branch: trunk, size: 78721)
2006-01-23
13:28
[35a3c3556a] part of check-in [8caa9f95b8] Fix to sqlite3AllocMalloc() when it is a no-op macro. (CVS 2998) (check-in: [8caa9f95b8] user: drh branch: trunk, size: 78659)
13:00
[fba26ce93a] part of check-in [6385628edd] Fix additional compiler warnings. Tickets #1615, #1616, #1627 (CVS 2994) (check-in: [6385628edd] user: drh branch: trunk, size: 78671)
00:04
[8cbeb4346a] part of check-in [a65e85f0e0] Remove vestiges of the older TSD code for handling OOM exceptions. Prepare for the release of 3.3.2. (CVS 2991) (check-in: [a65e85f0e0] user: drh branch: trunk, size: 78694)
2006-01-18
18:22
[7ddd6141a5] part of check-in [c7b9d50d0a] Include the ThreadData structure in internal malloc() testing. Also fixes for revealed bugs. (CVS 2974) (check-in: [c7b9d50d0a] user: danielk1977 branch: trunk, size: 78909)
16:51
[ecb38c65af] part of check-in [ac090f2ab3] Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972) (check-in: [ac090f2ab3] user: danielk1977 branch: trunk, size: 78842)
15:25
[b23caafa3c] part of check-in [e0b022e5b2] Change sqlite3MallocClearFailed() calls to sqlite3ApiExit(), a better API. (CVS 2970) (check-in: [e0b022e5b2] user: danielk1977 branch: trunk, size: 79453)
2006-01-17
16:10
[d7b20e0a94] part of check-in [9e2e40845d] Arrange for ThreadData to be automatically deallocated even if SQLITE_MEMDEBUG is defined. Fix for #1623. (CVS 2965) (check-in: [9e2e40845d] user: danielk1977 branch: trunk, size: 79448)
15:36
[e6c2e3afa7] part of check-in [62dd242778] Fix compilation errors when building SQLITE_DEBUG defined but without SQLITE_MEMDEBUG. (CVS 2964) (check-in: [62dd242778] user: danielk1977 branch: trunk, size: 78873)
13:21
[0d0c3b4082] part of check-in [0505405fb9] Various fixes that allow the malloc() failure tests to pass again. (CVS 2963) (check-in: [0505405fb9] user: danielk1977 branch: trunk, size: 78864)
2006-01-16
15:14
[730d071c52] part of check-in [0d5d83bcbd] Fix some of the issues raised in #1615. (CVS 2959) (check-in: [0d5d83bcbd] user: danielk1977 branch: trunk, size: 78666)
11:29
[940bb605c7] part of check-in [7b48836214] Clarify error handling in pager code. No functional changes. (CVS 2956) (check-in: [7b48836214] user: danielk1977 branch: trunk, size: 78676)
2006-01-13
06:33
[ed482d6de5] part of check-in [dd70595542] Minor modification to restoreOrClearCursorPosition() to improve efficiency. Do not allocate the extra 8-bytes if memory-management is not enabled. (CVS 2936) (check-in: [dd70595542] user: danielk1977 branch: trunk, size: 78666)
2006-01-12
17:20
[e6f12c4a73] part of check-in [6d2a816ede] Cache the encoding value inside VdbeExec. (CVS 2927) (check-in: [6d2a816ede] user: drh branch: trunk, size: 78657)
12:43
[95ece9c9a8] part of check-in [0caa199477] About a 2.5% speed improvement by reducing the number of sqlite3ThreadData calls in the parser. (CVS 2924) (check-in: [0caa199477] user: drh branch: trunk, size: 78657)
01:56
[adb23b1130] part of check-in [b2dbd1a5b7] Add the legacy_file_format pragma. (CVS 2922) (check-in: [b2dbd1a5b7] user: drh branch: trunk, size: 78591)
01:25
[34e251f021] part of check-in [a8c74febec] Improve performance by about 10% by avoiding excess calls to get the thread-specific data. (CVS 2921) (check-in: [a8c74febec] user: drh branch: trunk, size: 78510)
2006-01-11
21:41
[bd3fba6d71] part of check-in [5d9c6aa964] Automatically deallocate thread-specific data when it is no longer being used. Ticket #1601. Also implemented the suggestion of ticket #1603. Memory management is now off by default at compile-time. The sqlite3_enable_memory_management() API has been removed. (CVS 2919) (check-in: [5d9c6aa964] user: drh branch: trunk, size: 78461)
14:09
[829f8c2276] part of check-in [3970eb875d] Fix bugs caused by assuming that shared-schemas are initialized. (CVS 2917) (check-in: [3970eb875d] user: danielk1977 branch: trunk, size: 78334)
2006-01-10
17:58
[d7584dc5b8] part of check-in [0f0213be4d] Store collation sequence names instead of pointers in sharable schema data structures. (CVS 2904) (check-in: [0f0213be4d] user: danielk1977 branch: trunk, size: 78332)
15:18
[f3fe5c8b7d] part of check-in [bdd35e9fbb] Updates to the C-API documentation. Change the parameter type of sqlite3_soft_heap_limit to integer. (CVS 2903) (check-in: [bdd35e9fbb] user: drh branch: trunk, size: 78242)
12:31
[01703e82a7] part of check-in [9c18a1ce1e] Fix a problem with shared-schemas and temp triggers. (CVS 2901) (check-in: [9c18a1ce1e] user: danielk1977 branch: trunk, size: 78125)
2006-01-09
23:40
[073d84b12a] part of check-in [ec332d8822] Added database server example code (untested). Fixed serveral bugs including the autovacuum compile problem described by ticket #1593. (CVS 2897) (check-in: [ec332d8822] user: drh branch: trunk, size: 78242)
16:12
[175c7cc358] part of check-in [3e75d3d5ef] Fix some errors to do with attached databases and text encodings in shared-cache mode. (CVS 2895) (check-in: [3e75d3d5ef] user: danielk1977 branch: trunk, size: 78329)
09:59
[f9e4b620da] part of check-in [44f8e3139a] Add a runtime interface to enable memory-management features. (CVS 2894) (check-in: [44f8e3139a] user: danielk1977 branch: trunk, size: 78290)
06:29
[9fed92df9a] part of check-in [82b81f69c7] Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) (check-in: [82b81f69c7] user: danielk1977 branch: trunk, size: 78220)
2006-01-07
13:21
[40c3511c05] part of check-in [23b587b05b] In shared-cache mode, lock all required tables before beginning to execute the body of the statement program. (CVS 2881) (check-in: [23b587b05b] user: danielk1977 branch: trunk, size: 78210)
2006-01-06
15:03
[8e28cfdaf5] part of check-in [19f93e135f] Fix a crash caused by adding a trigger to a shared-schema and then deleting it using a different connection. (CVS 2873) (check-in: [19f93e135f] user: danielk1977 branch: trunk, size: 77446)
12:03
[9b89651a99] part of check-in [0c4c45c36f] Back out the addition of the new header file - bad idea. (CVS 2868) (check-in: [0c4c45c36f] user: drh branch: trunk, size: 77495)
2006-01-05
23:42
[06a37ed74f] part of check-in [448b3b9ded] Disable the update hook for the truncation optimization used by DELETE. (CVS 2863) (check-in: [448b3b9ded] user: drh branch: trunk, size: 77380)
13:48
[6f29c97703] part of check-in [6fdbb8b771] Disable automatic invocation of sqlite3_release_memory() when a malloc() fails in those cases where the global mutex is held. (CVS 2860) (check-in: [6fdbb8b771] user: danielk1977 branch: trunk, size: 77306)
11:34
[5117ce2838] part of check-in [deeda0dc06] Add the shared schema/pager modifications. Very few tests so far. (CVS 2859) (check-in: [deeda0dc06] user: danielk1977 branch: trunk, size: 77227)
2006-01-04
15:54
[a9b187e862] part of check-in [551cdd6c30] Add support for CREATE INDEX IF NOT EXISTS and DROP INDEX IF EXISTS. (CVS 2855) (check-in: [551cdd6c30] user: drh branch: trunk, size: 76694)
2005-12-30
16:28
[bb648c5274] part of check-in [2afcad9901] Add part of the btree layer of the shared-cache feature. (CVS 2848) (check-in: [2afcad9901] user: danielk1977 branch: trunk, size: 76692)
2005-12-29
23:33
[3541350fd0] part of check-in [0bd9e35fd2] Add support for CREATE TABLE IF NOT EXISTS. (CVS 2847) (check-in: [0bd9e35fd2] user: drh branch: trunk, size: 76544)
19:23
[e3a49f17bd] part of check-in [ae301db8a6] Add serial-types 8 and 9 for integer constants of 0 and 1 that use zero bytes of storage. Make the default file format 4. Add the SQLITE_DEFAULT_FILE_FORMAT compile-time option to lower the default file format number so that newly created databases can be read and written by older versions of SQLite. (CVS 2845) (check-in: [ae301db8a6] user: drh branch: trunk, size: 76540)
01:11
[361a613a1b] part of check-in [a4c547de83] Add support for DROP TABLE IF EXISTS. (CVS 2843) (check-in: [a4c547de83] user: drh branch: trunk, size: 76245)
2005-12-20
09:19
[b8b2b2da14] part of check-in [c2c5285442] Add simple tests and fixes for sqlite3_soft_heap_limit() (CVS 2837) (check-in: [c2c5285442] user: danielk1977 branch: trunk, size: 76216)
2005-12-19
14:18
[4e822139dc] part of check-in [154282fca5] Add some very simple test cases (and resulting bug fixes) for release_memory(). (CVS 2826) (check-in: [154282fca5] user: danielk1977 branch: trunk, size: 76215)
2005-12-18
08:51
[5581e01a1c] part of check-in [345addaa03] Add the (untested) sqlite3_release_memory() function. (CVS 2825) (check-in: [345addaa03] user: danielk1977 branch: trunk, size: 76216)
2005-12-16
06:54
[e6063bc65e] part of check-in [3baa3ff324] Add the sqlite3_rollback_hook() API. Still requires further testing. (CVS 2823) (check-in: [3baa3ff324] user: danielk1977 branch: trunk, size: 76025)
01:06
[853a868ee6] part of check-in [cd110aa225] Initial infrastructure for recognizing DESC indices and being able to read and write older databases that specify DESC indices but do not really use them. Nothing is close to working yet. (CVS 2822) (check-in: [cd110aa225] user: drh branch: trunk, size: 75865)
2005-12-15
15:22
[927c7fbc25] part of check-in [3622901881] Add the sqlite3_update_hook() API. (CVS 2820) (check-in: [3622901881] user: danielk1977 branch: trunk, size: 75759)
10:11
[09f9addda8] part of check-in [c1ed79f594] Add the sqlite3_os_routine_set()/get() functions. (CVS 2818) (check-in: [c1ed79f594] user: danielk1977 branch: trunk, size: 75595)
03:04
[babeb60d34] part of check-in [ad292e2733] Fix memory allocation problems on the utf-16 versions of collating function control routines. (CVS 2817) (check-in: [ad292e2733] user: drh branch: trunk, size: 75508)
2005-12-12
06:53
[22b18da438] part of check-in [1637f37960] Fix minor malloc() related problems and add sqlite3_soft_heap_limit() stubs. (CVS 2814) (check-in: [1637f37960] user: danielk1977 branch: trunk, size: 75603)
2005-12-09
20:02
[feb11bfe9b] part of check-in [83a5915155] Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) (check-in: [83a5915155] user: drh branch: trunk, size: 75414)
14:39
[f74a403b61] part of check-in [3d177bde71] Define the sqliteMalloc() macro differently to avoid a compiler warning. (CVS 2809) (check-in: [3d177bde71] user: danielk1977 branch: trunk, size: 75413)
14:25
[4247cf9ae4] part of check-in [601c335463] Many small changes to ensure memory is not leaked after malloc() fails. (CVS 2808) (check-in: [601c335463] user: danielk1977 branch: trunk, size: 75189)
2005-12-06
17:19
[bbc310a83a] part of check-in [5e04ec694a] Modify ATTACH and DETACH to execute at runtime instead of compile time. (CVS 2803) (check-in: [5e04ec694a] user: danielk1977 branch: trunk, size: 75555)
12:52
[71dc0f753e] part of check-in [e1606658f1] Some elements of the new malloc() failure handling. Not all cases work properly yet. Also, library is not threadsafe if malloc() fails right now. (CVS 2800) (check-in: [e1606658f1] user: danielk1977 branch: trunk, size: 75524)
2005-11-14
22:29
[4148c9778e] part of check-in [ce06c123d0] Create separate affinities for INTEGER and REAL. (CVS 2766) (check-in: [ce06c123d0] user: drh branch: trunk, size: 75397)
2005-11-03
02:15
[e546554bdd] part of check-in [be83bfee02] Add the ignore_check_constraints pragma. VACUUM works even on a database that contains table entries that violate check constraints. (CVS 2757) (check-in: [be83bfee02] user: drh branch: trunk, size: 74821)
02:03
[c6685ddb84] part of check-in [db27afc4cd] Disallow subqueries in CHECK constraints. (CVS 2756) (check-in: [db27afc4cd] user: drh branch: trunk, size: 74740)
00:41
[d4f226034a] part of check-in [2313d912ba] First cut at supporting CHECK constraints. Everything appears to work, but much more testing is needed as well as documentation. (CVS 2754) (check-in: [2313d912ba] user: drh branch: trunk, size: 74665)
2005-11-01
15:48
[922d71882b] part of check-in [e0d6f61c7d] Omit the SQLITE_AFF_INTEGER type affinity. All numeric values are now of type real, though an integer representation is still sometimes used internally for efficiency. (CVS 2753) (check-in: [e0d6f61c7d] user: drh branch: trunk, size: 74449)
2005-10-13
02:09
[403552a777] part of check-in [a0bdb58468] Attempt to fix the SQLite core so that no floating point operations are used anywhere if SQLITE_OMIT_FLOATING_POINT is defined at compile-time. This is useful to people who use SQLite on embedded processors that lack floating point support. (CVS 2749) (check-in: [a0bdb58468] user: drh branch: trunk, size: 74408)
2005-10-06
16:53
[c9afda257c] part of check-in [edca8913ca] More efficient handling of the LIMIT clause. Scalar subqueries and EXISTS on compound SELECT statements now working properly. Ticket #1473. (CVS 2747) (check-in: [edca8913ca] user: drh branch: trunk, size: 74589)
2005-09-19
21:05
[53daa72541] part of check-in [ea10f9785e] ON-clause terms in a LEFT JOIN that restrict only the left table, should not really restrict the left table but instead rows that fail to meet the condition to be joined with NULL rows from the right table. (CVS 2725) (check-in: [ea10f9785e] user: drh branch: trunk, size: 74582)
17:35
[f59e1ceccf] part of check-in [6cc57fcf15] Do not optimize views with an ORDER BY clause if they are used in a UNION ALL that also has an ORDER BY clause. Ticket #1444. (CVS 2723) (check-in: [6cc57fcf15] user: drh branch: trunk, size: 74507)
2005-09-17
15:20
[cc5874662b] part of check-in [c07330000b] Changes to make corruption errors easier to track down. (CVS 2709) (check-in: [c07330000b] user: drh branch: trunk, size: 74428)
2005-09-16
02:38
[cc685a74a0] part of check-in [4686d64975] Fix a whole host of newly discovered memory leaks the occur after a failure of realloc(). (CVS 2696) (check-in: [4686d64975] user: drh branch: trunk, size: 74009)
2005-09-13
16:12
[ae781b257c] part of check-in [81fdffdff6] Correct the sense of a test for SQLITE_DEBUG on the resent NDEBUG change. Ticket #1425 (CVS 2693) (check-in: [81fdffdff6] user: drh branch: trunk, size: 73970)
00:02
[8f3a33d842] part of check-in [49c952807d] Fix a comment typo in the previous check-in. (CVS 2691) (check-in: [49c952807d] user: drh branch: trunk, size: 73969)
00:00
[a01e12d5eb] part of check-in [2ec2bd8574] Automatically set the NDEBUG preprocessor macro unless SQLITE_DEBUG is set. In this way, assert() statements become opt-in rather than opt-out. (CVS 2690) (check-in: [2ec2bd8574] user: drh branch: trunk, size: 73969)
2005-09-10
15:28
[0d38d50ebe] part of check-in [415b8b2462] Use of the CROSS keyword in a join prevents table reordering. Ticket #1414. (CVS 2683) (check-in: [415b8b2462] user: drh branch: trunk, size: 73589)
2005-09-09
01:33
[f5d20d26b7] part of check-in [4d62e36fe3] Infrastructure for the DISTINCT keyword in aggregate functions. But it does not work yet. If you try to use it you get an error message. (CVS 2680) (check-in: [4d62e36fe3] user: drh branch: trunk, size: 73518)
2005-09-08
14:17
[b72e8dfa8c] part of check-in [cdfe372a95] Remove a few unused variables detected by Borland C. Ticket #1412. (CVS 2675) (check-in: [cdfe372a95] user: drh branch: trunk, size: 73429)
02:00
[0688a83d0a] part of check-in [cc2a61650e] Changes to comments only in sqliteInt.h. No changes to code. (CVS 2668) (check-in: [cc2a61650e] user: drh branch: trunk, size: 73425)
01:58
[d2f3284eb6] part of check-in [7283f7c29d] Optimizations and refinements. Improvements to test coverage. (CVS 2667) (check-in: [7283f7c29d] user: drh branch: trunk, size: 73424)
2005-09-07
22:48
[b7d841739c] part of check-in [7e85a162d0] More bug fixes. But there are still tests that fail. (CVS 2664) (check-in: [7e85a162d0] user: drh branch: trunk, size: 73483)
21:22
[97d7d13bfc] part of check-in [17039ec3ff] Rewrite the aggregate handling logic so that it runs in O(1) space. This is the first cut at the code. Many regression tests fail. (CVS 2662) (check-in: [17039ec3ff] user: drh branch: trunk, size: 73424)
2005-09-01
03:07
[845ff6f801] part of check-in [09db0a2424] Sorting is now done using a sorting index rather than loading the entire result set into memory and doing a merge sort. The old merge sort technique was a carry-over from SQLite version 1. The new method uses a bounded amount of memory and scales to much larger result sets. There are still errors: some 39 regression tests fail. (CVS 2653) (check-in: [09db0a2424] user: drh branch: trunk, size: 72372)
2005-08-30
00:54
[207b63f978] part of check-in [4ab994a87e] Minor code enhancements. (CVS 2642) (check-in: [4ab994a87e] user: drh branch: trunk, size: 71641)
2005-08-29
23:00
[f379d29ba1] part of check-in [ed2ca0873f] Increase resolution of time-of-day on unix. Add an experimental sqlite3_profile() API. (CVS 2639) (check-in: [ed2ca0873f] user: drh branch: trunk, size: 71508)
2005-08-28
17:00
[fe9520e940] part of check-in [ef84ff795c] The LIKE optimization does the right thing when collating sequences are present. LIKE expressions where the left-hand side has COLLATE NOCASE are optimized in the default case. (CVS 2637) (check-in: [ef84ff795c] user: drh branch: trunk, size: 71354)
2005-08-19
00:14
[e5fb91af1d] part of check-in [2fe0ac4fa4] Bring testing coverage of the analyze.c file up to 100%. Bugs found and fixed in the process. (CVS 2599) (check-in: [2fe0ac4fa4] user: drh branch: trunk, size: 70859)
2005-08-14
01:20
[40370b51b9] part of check-in [72ee21c05e] The case_sensitive_like pragma added. Test cases added for the LIKE optimization. (CVS 2592) (check-in: [72ee21c05e] user: drh branch: trunk, size: 70856)
2005-08-12
22:56
[67693a8ed9] part of check-in [3edbe8d621] Optimize LIKE and GLOB operators in the WHERE clause. Code passes all regression tests but still needs additional tests. (CVS 2581) (check-in: [3edbe8d621] user: drh branch: trunk, size: 70556)
2005-07-23
22:59
[4cacefaca9] part of check-in [86ce56ccea] A new optimizer that breaks a lot of tests. But none of them critically, I think. Nevertheless, there is a lot of work ahead to stabilize the code. (CVS 2564) (check-in: [86ce56ccea] user: drh branch: trunk, size: 70451)
03:18
[ebcf33fa43] part of check-in [1996bacfb9] The results of ANALYZE are now loaded into internal data structures where they can be used. But they are not actually used yet. (CVS 2562) (check-in: [1996bacfb9] user: drh branch: trunk, size: 70336)
00:41
[2925510c02] part of check-in [a4886b114d] First code for the ANALYZE command. Mostly untested. The analysis is not loaded into the symbol tables and is not used by the optimizer. (CVS 2560) (check-in: [a4886b114d] user: drh branch: trunk, size: 70214)
2005-07-22
00:31
[810f2ccd49] part of check-in [103f8ccb90] Begin adding code to support multiple IN constraints on the same index. (CVS 2557) (check-in: [103f8ccb90] user: drh branch: trunk, size: 70177)
2005-07-21
18:23
[89ace2d463] part of check-in [e2f822ac82] 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: [e2f822ac82] user: drh branch: trunk, size: 70107)
03:15
[a325261613] part of check-in [c30cbba9ea] In where.c, split out the code that selects an index into a separate subroutine. (CVS 2554) (check-in: [c30cbba9ea] user: drh branch: trunk, size: 70181)
2005-07-19
17:38
[97d50f5714] part of check-in [57c6bd3760] Refactoring of the query optimizer in advance of adding better optimization. (CVS 2551) (check-in: [57c6bd3760] user: drh branch: trunk, size: 70095)
2005-07-09
02:16
[af65e8fac1] part of check-in [af2a0ba4a3] Make sure there is only one busy counter. Ticket #1315. (CVS 2543) (check-in: [af2a0ba4a3] user: drh branch: trunk, size: 70171)
2005-07-08
17:13
[f1804025f8] part of check-in [3bb9ce5f20] Change the name of the OpenTemp opcode to OpenVirtual which is more descriptive of what it does. (CVS 2541) (check-in: [3bb9ce5f20] user: drh branch: trunk, size: 70060)
14:14
[b7b2f7fc2c] part of check-in [f4a66ed04d] Add the EP_OptOnly flag on expressions for WHERE clause terms that are added by the optimizer but should not be coded. (CVS 2540) (check-in: [f4a66ed04d] user: drh branch: trunk, size: 70057)
12:13
[a5ad4b51d9] part of check-in [05b6ac9a76] Add infrastructure for the ANALYZE command. Does not yet actually do anything. (CVS 2537) (check-in: [05b6ac9a76] user: drh branch: trunk, size: 69993)
2005-06-30
17:04
[cdd46c945d] part of check-in [d273766ef2] Allow the DEFAULT value of a column to be obtained by calling a function that has constant arguments, such as julianday('now'). (CVS 2534) (check-in: [d273766ef2] user: drh branch: trunk, size: 69948)
2005-06-25
18:42
[2135a5bab8] part of check-in [17631785f9] Remove the blob(), text() and numeric() functions added in (2524) and replace them with the standard CAST operator. Ticket #1287. (CVS 2527) (check-in: [17631785f9] user: drh branch: trunk, size: 69904)
2005-06-12
21:35
[c620e07e0c] part of check-in [36f2da1f8d] Update older opcode names to be more meaningful in light of the latest code design. (CVS 2506) (check-in: [36f2da1f8d] user: drh branch: trunk, size: 69880)
2005-06-06
21:19
[42b464cd38] part of check-in [e73d25c741] Reference count Table structures so that they are not deallocated too soon. Ticket #1210. (CVS 2498) (check-in: [e73d25c741] user: drh branch: trunk, size: 69883)
15:07
[311de2338d] part of check-in [c1bd0a150c] Handle failures of getcwd() without segfaulting. Ticket #1274. (CVS 2491) (check-in: [c1bd0a150c] user: drh branch: version_2, size: 57419)
15:06
[0aa1d1bd6f] part of check-in [c1691004d6] Handle failures of getcwd() without segfaulting. Ticket #1274. (CVS 2490) (check-in: [c1691004d6] user: drh branch: trunk, size: 69823)
2005-05-25
10:45
[0de60fafa8] part of check-in [ea061d2ed3] Rearrange code so that SSE can invoke the collation factory. (CVS 2482) (check-in: [ea061d2ed3] user: danielk1977 branch: trunk, size: 69845)
2005-05-24
20:19
[9eb8fa1c04] part of check-in [3e64f1ab41] Remove the config.h file from the build. Ticket #1224. (CVS 2480) (check-in: [3e64f1ab41] user: drh branch: trunk, size: 69769)
12:01
[a1f5cc21e7] part of check-in [5fadb464eb] Move a few things around to make building without the parser easier. (CVS 2479) (check-in: [5fadb464eb] user: danielk1977 branch: trunk, size: 70137)
2005-05-23
04:51
[bb0bfc7f76] part of check-in [2a8ac86967] Add pFetch variable (used by SSE) to sqlite3 structure. (CVS 2475) (check-in: [2a8ac86967] user: danielk1977 branch: trunk, size: 70091)
2005-05-22
20:12
[b158733d7f] part of check-in [a39c446726] Never user a pointer to standard library routines malloc() and free(). This rule is to work around limitations of MSVC and the _fastcall calling convention. Ticket #1256. (CVS 2473) (check-in: [a39c446726] user: drh branch: trunk, size: 69981)
2005-05-21
02:48
[d4faaa3ce4] part of check-in [6b6e525b29] More structure rearrangements for additional size reductions. Ticket #1253. (CVS 2468) (check-in: [6b6e525b29] user: drh branch: trunk, size: 69916)
2005-04-29
02:10
[7123b9d563] part of check-in [0667eae9a9] Prevent a segfault described by ticket #1229. (CVS 2450) (check-in: [0667eae9a9] user: drh branch: trunk, size: 69916)
2005-04-28
17:18
[3833e39dc0] part of check-in [6863703abc] Enhancements to allow for extensions. (CVS 2448) (check-in: [6863703abc] user: drh branch: trunk, size: 69908)
2005-04-22
02:38
[a2d37daf00] part of check-in [88b39436f0] Remove some vestigal code. Add the experimental sqlite3_transfer_bindings() API. (CVS 2446) (check-in: [88b39436f0] user: drh branch: trunk, size: 69869)
2005-03-29
03:10
[474c20597e] part of check-in [c41d55443c] Add the SQLITE_OMIT_TEMPDB compile time macro. (CVS 2427) (check-in: [c41d55443c] user: danielk1977 branch: trunk, size: 70024)
2005-03-21
04:04
[ecb1592406] part of check-in [1f9d10d796] Add function to recover from a malloc() failure. (CVS 2414) (check-in: [1f9d10d796] user: danielk1977 branch: trunk, size: 69713)
2005-03-17
05:03
[9b2aa887e7] part of check-in [94185dd4f7] Add the ALTER TABLE ... ADD COLUMN command. (CVS 2393) (check-in: [94185dd4f7] user: danielk1977 branch: trunk, size: 69602)
2005-03-09
12:26
[b59243adc4] part of check-in [9d5abc1ddf] Support for a future ALTER TABLE command to add columns with default values. (CVS 2367) (check-in: [9d5abc1ddf] user: danielk1977 branch: trunk, size: 69372)
2005-02-15
21:36
[f95cc4becd] part of check-in [dbd11a0c58] Move the special built-in SQL functions used by ALTER TABLE out of func.c and into alter.c. (CVS 2343) (check-in: [dbd11a0c58] user: drh branch: trunk, size: 68952)
2005-02-09
01:40
[3ebdaeee80] part of check-in [ddcea6f889] Document SQLITE_DEFAULT_CACHE_SIZE and SQLITE_DEFAULT_TEMP_CACHE_SIZE macros. (CVS 2320) (check-in: [ddcea6f889] user: danielk1977 branch: trunk, size: 68922)
2005-02-08
07:50
[9a53c5b5c5] part of check-in [f0d3ca10c5] Fix for correlated subqueries where the parent is an aggregate. Ticket #1105. (CVS 2318) (check-in: [f0d3ca10c5] user: danielk1977 branch: trunk, size: 68611)
2005-02-06
02:45
[5fa59fd836] part of check-in [2155448d21] Add the (highly experimental) omit_readlock pragma that disables the use of readlocks on read-only databases that are connected using ATTACH. (CVS 2317) (check-in: [2155448d21] user: drh branch: trunk, size: 68596)
2005-02-05
12:48
[58e9365c0f] part of check-in [515e5033a5] Allow expressions (including variables) in LIMIT and OFFSET clauses. Ticket #1096. (CVS 2316) (check-in: [515e5033a5] user: danielk1977 branch: trunk, size: 68453)
2005-02-04
04:07
[f10da39b64] part of check-in [2eb9087055] Remove code for SQL cursors. (CVS 2312) (check-in: [2eb9087055] user: danielk1977 branch: trunk, size: 68383)
2005-01-31
12:56
[96790021c6] part of check-in [5c10ccd8e9] Move sqlite3HashNoCase to hash.c. (CVS 2294) (check-in: [5c10ccd8e9] user: danielk1977 branch: trunk, size: 70090)
2005-01-29
08:32
[d5052f5a9b] part of check-in [b1b50f3158] Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) (check-in: [b1b50f3158] user: danielk1977 branch: trunk, size: 70135)
2005-01-22
03:03
[be6fa5e31c] part of check-in [df648d50c0] Add the experimental sqlite3_expired() API. (CVS 2263) (check-in: [df648d50c0] user: drh branch: trunk, size: 69830)
2005-01-21
21:31
[a6c82164e9] part of check-in [fede252d19] Add <stddef.h> to sqliteInt.h. (CVS 2262) (check-in: [fede252d19] user: drh branch: trunk, size: 69782)
21:22
[4a0651242a] part of check-in [2ddb674875] More documentation changes. Allow SQLITE_DEFAULT_CACHE_SIZE to set the default cache size for the pager at compile-time. (CVS 2261) (check-in: [2ddb674875] user: drh branch: trunk, size: 69762)
03:12
[01ea63415b] part of check-in [bb0254ab14] Modify test scripts to work when SQLITE_OMIT_SUBQUERY (along with other OMIT macros) is defined. (CVS 2251) (check-in: [bb0254ab14] user: danielk1977 branch: trunk, size: 69678)
2005-01-20
13:36
[9a582fcb83] part of check-in [d30fdf0f2c] Added the SQLITE_OMIT_SUBQUERY compile-time option and the EXISTS operator. Regression tests are currently failing with an assertion fault. (CVS 2245) (check-in: [d30fdf0f2c] user: drh branch: trunk, size: 69672)
02:14
[c1acfbeb8b] part of check-in [2d3ab1ab5a] Turn SQLITE_OMIT_CURSOR on by default. (CVS 2240) (check-in: [2d3ab1ab5a] user: drh branch: trunk, size: 69546)
2005-01-19
23:24
[a79a526b2f] part of check-in [d8b2a7e091] Continued refactoring of the name resolution logic and query optimizer. (CVS 2236) (check-in: [d8b2a7e091] user: drh branch: trunk, size: 69387)
2005-01-18
14:45
[c6414179a2] part of check-in [88d4834fec] Continue refactoring name resolution. Fix for ticket #1047. (CVS 2230) (check-in: [88d4834fec] user: drh branch: trunk, size: 68996)
04:00
[a208bf0f51] part of check-in [0142ae6f00] Refinements to the name resolution logic. Change the name of the keywordhash.c file to keywordhash.h. (CVS 2229) (check-in: [0142ae6f00] user: drh branch: trunk, size: 69133)
2005-01-17
22:08
[f7ed4e6e11] part of check-in [4a7534396a] Infrastructure changes to handle name resolution differently. This is needed to fix various long-standing problems with column names in joins. It will also make the implementation of correlated subqueries easier. (CVS 2228) (check-in: [4a7534396a] user: drh branch: trunk, size: 69062)
2005-01-13
02:14
[641b348a10] part of check-in [8378455f32] Fixes to 'configure' build system. Also extra coverage for main.c. (CVS 2204) (check-in: [8378455f32] user: danielk1977 branch: trunk, size: 67082)
2005-01-12
07:15
[087d21946d] part of check-in [319bb4a906] Tests to improve coverage of vdbemem.c. (CVS 2200) (check-in: [319bb4a906] user: danielk1977 branch: trunk, size: 67070)
2005-01-08
18:42
[a362fd46ba] part of check-in [ad10953799] Tcl interface does as sqlite3 or as sqlite. A compile-time option allows duel linking. Also fix a bug in the pragma change from earlier today. (CVS 2186) (check-in: [ad10953799] user: drh branch: trunk, size: 67065)
2005-01-03
01:27
[e571e6d80c] part of check-in [4165217e51] Fix comment typos. no code changes. (CVS 2173) (check-in: [4165217e51] user: drh branch: trunk, size: 66917)
2004-12-25
01:03
[ef924e4a1a] part of check-in [5fd1f47118] 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: [5fd1f47118] user: drh branch: trunk, size: 66919)
2004-12-19
00:11
[a922cfd137] part of check-in [e5aa489453] 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: [e5aa489453] user: drh branch: trunk, size: 66924)
2004-12-18
18:40
[9f95e46c03] part of check-in [9b86993ff7] Improvements to the query optimizer. This is a work in progress. (CVS 2169) (check-in: [9b86993ff7] user: drh branch: trunk, size: 66730)
2004-12-07
15:41
[e0c5c1af95] part of check-in [4852186aca] Only evaluate expressions once for UPDATE and INSERT statements that have BEFORE triggers. Fix for ticket #980. (CVS 2158) (check-in: [4852186aca] user: drh branch: trunk, size: 66547)
14:06
[3343e12d16] part of check-in [8e164ab277] Simplify the trigger logic for DELETE, INSERT, and UPDATE. (CVS 2157) (check-in: [8e164ab277] user: drh branch: trunk, size: 66502)
2004-11-23
01:47
[1dc643cf84] part of check-in [8b61d1ae1c] More work on the implementation of cursors, but they are still not functioning. (CVS 2142) (check-in: [8b61d1ae1c] user: drh branch: trunk, size: 66211)
2004-11-22
19:12
[f783c2793c] part of check-in [fc8c1393c8] Add initial infrastructure for cursors. In where.c, optimize out clauses of the form "ORDER BY rowid" if a table scan is being performed. Do a reverse table scan if "ORDER BY rowid DESC" is present. (CVS 2141) (check-in: [fc8c1393c8] user: drh branch: trunk, size: 66197)
10:02
[d16d54eeef] part of check-in [91acd87e52] Back out changes allowing writes to tables that have open cursors. (CVS 2133) (check-in: [91acd87e52] user: danielk1977 branch: trunk, size: 65078)
2004-11-20
19:18
[8f3b4d0e90] part of check-in [519bc9d997] Rig the sqliteMalloc() routine so that we can make it fail multiple times in a row. Modify the malloc.test procedure to make malloc fail in this way and verify that the failures are still handled correctly. (CVS 2121) (check-in: [519bc9d997] user: drh branch: trunk, size: 65128)
2004-11-16
15:50
[dd26056a17] part of check-in [a2e1c35b32] Perform deletes in a single pass. (CVS 2104) (check-in: [a2e1c35b32] user: danielk1977 branch: trunk, size: 65058)
2004-11-12
13:42
[8569ce94e8] part of check-in [a1b2cc63e6] Add the "ALTER TABLE xxx RENAME TO yyy" command. (CVS 2092) (check-in: [a1b2cc63e6] user: danielk1977 branch: trunk, size: 65000)
03:56
[0fdf2b0cf6] part of check-in [8fde833c81] Autoincrement code installed. Simple smoke-testing only. No regression tests developed yet. (CVS 2091) (check-in: [8fde833c81] user: drh branch: trunk, size: 64848)
2004-11-10
15:27
[701cbd4357] part of check-in [0747b55882] Ensure the test suite can run with either SQLITE_OMIT_AUTOVACUUM or SQLITE_DEFAULT_AUTOVACUUM=1 defined. (CVS 2087) (check-in: [0747b55882] user: danielk1977 branch: trunk, size: 64805)
2004-11-09
12:44
[61133357ec] part of check-in [0d27c8ff48] Port the "DEFAULT CURRENT_TIME" etc. functionality from an earlier fork of sqlite. (CVS 2082) (check-in: [0d27c8ff48] user: danielk1977 branch: trunk, size: 64768)
2004-11-05
23:46
[9f846c4b75] part of check-in [11dba47e61] First cut at a REINDEX command. Basic testing only. No documentation. (CVS 2072) (check-in: [11dba47e61] user: drh branch: trunk, size: 64765)
17:17
[5d26b41b2a] part of check-in [b0506bdd70] Create table now works with sqlite3NestedParse. This changed uncovered a latent bug in xprintf which is also fixed. (CVS 2069) (check-in: [b0506bdd70] user: drh branch: trunk, size: 64720)
05:10
[14b36d195a] part of check-in [ac2d5a605c] More use of sqlite3NestedParse. This version of the code does not work. (CVS 2060) (check-in: [ac2d5a605c] user: drh branch: trunk, size: 64638)
03:56
[83d4ad5c75] part of check-in [2d302931a6] Begin using sqlite3NestedParse() to generate sections of code. (CVS 2059) (check-in: [2d302931a6] user: drh branch: trunk, size: 64596)
00:43
[126ec1947a] part of check-in [10c3d88305] Incremental check-in of changes that will ultimately lead to a working autoincrement. (CVS 2056) (check-in: [10c3d88305] user: drh branch: trunk, size: 64072)
2004-11-04
14:30
[8b93c9d7b7] part of check-in [1da361fae8] Support root-page allocation/deallocation in auto-vacuum databases. Still a few problems. (CVS 2054) (check-in: [1da361fae8] user: danielk1977 branch: trunk, size: 63869)
2004-10-31
02:22
[84d5ca7b02] part of check-in [be661acfa8] Insert #ifdefs that can optionally remove features at compiletime resulting in a database engine with a smaller footprint. (CVS 2034) (check-in: [be661acfa8] user: drh branch: trunk, size: 63819)
2004-10-22
20:29
[008c205896] part of check-in [39f7870a54] Add the experimental and scary pragma "writable_schema". (CVS 2027) (check-in: [39f7870a54] user: drh branch: trunk, size: 63446)
2004-10-05
02:41
[610f25a92c] part of check-in [81ff8107ad] Add support for DEFERRED, IMMEDIATE, and EXCLUSIVE transactions. (CVS 2000) (check-in: [81ff8107ad] user: drh branch: trunk, size: 63371)
2004-10-04
13:19
[bfb12f1da7] part of check-in [4c817e3f29] 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: [4c817e3f29] user: drh branch: trunk, size: 63405)
2004-10-01
02:00
[5c406ebc83] part of check-in [8972c004dc] Use type i64 instead of off_t for file offsets since off_t is giving portability problems. Ticket #924. (CVS 1992) (check-in: [8972c004dc] user: drh branch: trunk, size: 63405)
2004-09-25
14:39
[1259d965d6] part of check-in [9ef4c24a9a] Code cleanup: get rid of the sqlite3SetNString utility function. (CVS 1984) (check-in: [9ef4c24a9a] user: drh branch: trunk, size: 62486)
13:12
[581437ae24] part of check-in [cb631a135d] Code simplifications and size reductions. (CVS 1983) (check-in: [cb631a135d] user: drh branch: trunk, size: 62645)
2004-09-19
02:15
[a7d334b2ac] part of check-in [4871c77f8f] Add comments to unused P3 fields of selected instructions when NDEBUG is not defined. This makes VDBE program dumps more readable during debugging. (CVS 1973) (check-in: [4871c77f8f] user: drh branch: trunk, size: 62695)
2004-09-08
20:13
[c63aad21da] part of check-in [39755d2166] More changes directed at getting things to work on 64-bit platforms. (CVS 1949) (check-in: [39755d2166] user: drh branch: trunk, size: 62637)
2004-09-07
16:19
[abbb66373b] part of check-in [435b3f301f] Wildcards with the same name map into the same variable number. New api sqlite3_bind_parameter_index() added to map wildcard names into wildcard index numbers. Support for "?nnn" wildcards. (CVS 1945) (check-in: [435b3f301f] user: drh branch: trunk, size: 62600)
2004-09-06
17:24
[0840e651db] part of check-in [3ddf5a9d1c] Fix a naming conflict between sqlite versions 2 and 3. An open sqlite3 connection now *must* be called "sqlite3". You cannot call it "sqlite". This might break existing code. (CVS 1941) (check-in: [3ddf5a9d1c] user: drh branch: trunk, size: 62225)
2004-09-01
03:06
[71de4b0400] part of check-in [9c411c3c8d] Optimizations on the SELECT code generator. (CVS 1926) (check-in: [9c411c3c8d] user: drh branch: trunk, size: 62232)
2004-08-31
00:52
[89c1555ceb] part of check-in [0a47c8f86d] Combine the implementation of LIKE and GLOB into a single parameterized function. (CVS 1923) (check-in: [0a47c8f86d] user: drh branch: trunk, size: 62196)
2004-08-21
17:54
[c7ed161ecc] part of check-in [bd6649c5aa] Optimizations to the code generator. (CVS 1899) (check-in: [bd6649c5aa] user: drh branch: trunk, size: 62241)
2004-08-08
20:22
[251662c89d] part of check-in [b065973898] Make sure the argument to ctype.h macros is always an unsigned character. Ticket #839. (CVS 1881) (check-in: [b065973898] user: drh branch: trunk, size: 62302)
2004-08-07
23:54
[e408fb63f5] part of check-in [d33771a303] Do not invoke the busy callback when trying to promote a lock from SHARED to RESERVED. This avoids a deadlock. (CVS 1879) (check-in: [d33771a303] user: drh branch: trunk, size: 62290)
2004-08-04
14:29
[7a8dec8336] part of check-in [4e7953c13f] Separate the ifdefs for INTPTR_TYPE and UINTPTR_TYPE in sqliteInt.h. (CVS 1875) (check-in: [4e7953c13f] user: drh branch: trunk, size: 62835)
2004-07-26
12:24
[691d584330] part of check-in [e3cad1ab62] Fix problems for 64-bit machines and when SQLITE_OMIT_AUTHORIZATION is defined. (CVS 1868) (check-in: [e3cad1ab62] user: drh branch: trunk, size: 62770)
2004-07-24
17:38
[d2aebb8c89] part of check-in [ebdb661e0e] Prepared statements now work with CREATE and DROP. All tests pass. No memory leaks. (CVS 1866) (check-in: [ebdb661e0e] user: drh branch: trunk, size: 62695)
14:35
[31d5887a80] part of check-in [6db3f122aa] Fix more problems with deferred execution of CREATE. Still need to do DROP. There is now a memory leak. (CVS 1865) (check-in: [6db3f122aa] user: drh branch: trunk, size: 62566)
03:30
[8cf9cf4bd0] part of check-in [49b9914924] 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: [49b9914924] user: drh branch: trunk, size: 62524)
2004-07-22
15:02
[049cb4f716] part of check-in [b0a3becd82] Fix bugs associated with the codec. (CVS 1846) (check-in: [b0a3becd82] user: drh branch: trunk, size: 62186)
01:19
[17ed61c040] part of check-in [4cf6e9db75] Initial implementation of variable page sizes and the temp_store pragma. (CVS 1843) (check-in: [4cf6e9db75] user: drh branch: trunk, size: 62181)
2004-07-20
12:45
[788b13a74c] part of check-in [522ff721cc] Add the '%ifdef' capability to lemon. Other minor changes. (CVS 1836) (check-in: [522ff721cc] user: drh branch: trunk, size: 62081)
2004-07-15
13:37
[aeae6793d1] part of check-in [f2bb83cfd7] Make SrcList.nSrc a signed quantity to avoid problems in AIX. (CVS 1796) (check-in: [f2bb83cfd7] user: drh branch: trunk, size: 62145)
13:37
[3e9203f16d] part of check-in [41526d098d] Make SrcList.nSrc a signed quantity to avoid problems on AIX. (CVS 1795) (check-in: [41526d098d] user: drh branch: version_2, size: 57433)
2004-06-30
04:02
[9dcfcc67fc] part of check-in [68ac322137] Improve test coverage of util.c (CVS 1773) (check-in: [68ac322137] user: drh branch: trunk, size: 62026)
2004-06-29
08:59
[4f8d44f04c] part of check-in [157db33e09] Fix error reporting path for errors that occur while reading the database schema. (CVS 1757) (check-in: [157db33e09] user: danielk1977 branch: trunk, size: 62075)
2004-06-28
13:09
[fedb84ed45] part of check-in [3329210410] More coverage testing. (CVS 1754) (check-in: [3329210410] user: danielk1977 branch: trunk, size: 62081)
2004-06-26
08:38
[d1911e120f] part of check-in [4e20720984] Remove the 'nMaster' argument from various pager and btree functions. (CVS 1737) (check-in: [4e20720984] user: danielk1977 branch: trunk, size: 62016)
06:37
[ed55c1f149] part of check-in [212de3ce66] Remove default_synchronous and temp_store pragmas. Allow the safety-level and cache-size to be set for attached databases. (CVS 1735) (check-in: [212de3ce66] user: danielk1977 branch: trunk, size: 62096)
2004-06-22
12:13
[dd796b6abc] part of check-in [d98b1502e2] Patch around compilers that do not support "long long int". (CVS 1656) (check-in: [d98b1502e2] user: drh branch: trunk, size: 62765)
11:29
[0aa0b24208] part of check-in [d16b863849] Add os_test.c. Not activated yet. (CVS 1655) (check-in: [d16b863849] user: danielk1977 branch: trunk, size: 62941)
2004-06-21
07:36
[b379bc549c] part of check-in [ee9dffd986] Update sqlite3_column_decltype() to return NULL as the declartion type for an expression that is not a column reference. (CVS 1646) (check-in: [ee9dffd986] user: danielk1977 branch: trunk, size: 62888)
06:50
[0d2e3647c0] part of check-in [ae2f4a0943] Update sqlite3_changes() to match the documentation and add sqlite3_total_changes(). (CVS 1645) (check-in: [ae2f4a0943] user: danielk1977 branch: trunk, size: 62916)
2004-06-19
16:06
[421687a0b3] part of check-in [01f74b420c] Omit the DB_Locked and DB_Cookie flags. Other minor cleanup. (CVS 1642) (check-in: [01f74b420c] user: drh branch: trunk, size: 63239)
15:22
[b776ee9d09] part of check-in [fbfc3c95a8] Fix problems with the WatCom C compiler: Arrays must contain at least one element. sqlite3FreeX declared properly. Don't allow run-time expression (the SQLITE_UTF16NATIVE macro) in an array initializer. (CVS 1640) (check-in: [fbfc3c95a8] user: drh branch: trunk, size: 63794)
14:49
[6a34196b2f] part of check-in [99d0436e0e] Omit the sqlite3VdbeCode() routine. Use sqlite3NameFromToken() more to reduce the amount of code. (CVS 1639) (check-in: [99d0436e0e] user: drh branch: trunk, size: 63798)
09:35
[6c141ab926] part of check-in [c94a9759ca] Remove the unused 'next_cookie' mechanism. (CVS 1634) (check-in: [c94a9759ca] user: danielk1977 branch: trunk, size: 63811)
08:18
[b01c438b31] part of check-in [728d57ff55] Remove the iCollate argument from sqlite3_create_function() (CVS 1632) (check-in: [728d57ff55] user: danielk1977 branch: trunk, size: 63884)
03:33
[9cd659c9c2] part of check-in [61819740fe] Update sqlite3_close() API to match documentation. (CVS 1630) (check-in: [61819740fe] user: danielk1977 branch: trunk, size: 63854)
2004-06-18
17:45
[570731b6ae] part of check-in [f312057da4] Fix declaration problem in the previous check-in. (CVS 1622) (check-in: [f312057da4] user: drh branch: trunk, size: 63922)
17:10
[e1f3a90e9e] part of check-in [2590fffcaa] Changes to allow libsqlite3.a and libsqlite.a to be both linked into the same program at the same time. (CVS 1621) (check-in: [2590fffcaa] user: drh branch: trunk, size: 63914)
04:24
[7d8145b682] part of check-in [39a415eaa6] Optimisation for unicode encoding conversion routines. (CVS 1614) (check-in: [39a415eaa6] user: danielk1977 branch: trunk, size: 63679)
2004-06-17
05:36
[59c1e1b637] part of check-in [b9493c5fac] Use the faster LIKE function from sqlite v2. Add special user functions to test builds to test the auxdata APIs. (CVS 1610) (check-in: [b9493c5fac] user: danielk1977 branch: trunk, size: 63810)
2004-06-12
09:25
[924f0bcb49] part of check-in [5903f53828] (1) Modifications to the user-function interface and (2) Internal changes to automatically created indices. (CVS 1575) (check-in: [5903f53828] user: danielk1977 branch: trunk, size: 63739)
01:43
[289523cf53] part of check-in [4f1cfca5ca] Change prototype for busy callbacks to "int xBusy(void *, int);" (CVS 1573) (check-in: [4f1cfca5ca] user: danielk1977 branch: trunk, size: 63663)
00:42
[c49c184184] part of check-in [9b84f2f488] Use the SQLITE_UTF* symbols instead of the old internal TEXT_Utf* symbols. (CVS 1572) (check-in: [9b84f2f488] user: danielk1977 branch: trunk, size: 63687)
2004-06-11
10:51
[625faf4c9c] part of check-in [66835ee670] Fix various collation sequence issues. (CVS 1568) (check-in: [66835ee670] user: danielk1977 branch: trunk, size: 63597)
2004-06-10
14:01
[e8e641bec4] part of check-in [49ab4794e1] Correctly handle the situation where a collation sequence is available, but not in the preferred encoding. (CVS 1565) (check-in: [49ab4794e1] user: danielk1977 branch: trunk, size: 63445)
10:50
[6be535d420] part of check-in [edf069b9f4] Add the sqlite3_collation_needed() API and fix some error handling cases involving unknown collation sequences. (CVS 1562) (check-in: [edf069b9f4] user: danielk1977 branch: trunk, size: 63214)
02:16
[cd9db5ca4a] part of check-in [b8aaa3a29e] Change the collation sequence interface to allow collation sequences that use UTF-16 in non-native byte order to be registered. (CVS 1559) (check-in: [b8aaa3a29e] user: danielk1977 branch: trunk, size: 62954)
01:30
[88bcc2967b] part of check-in [28c3cc0880] Add the vdbe_listing and sql_trace pragmas used for debugging. (CVS 1558) (check-in: [28c3cc0880] user: drh branch: trunk, size: 62992)
00:29
[52b73ec6eb] part of check-in [a22283512a] Check for schema updates if the parser fails to find a table. More locking test updates. (CVS 1555) (check-in: [a22283512a] user: drh branch: trunk, size: 62833)
2004-06-09
20:03
[f384e81fa6] part of check-in [3674b25edc] 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: [3674b25edc] user: drh branch: trunk, size: 62762)
14:01
[c0a328c756] part of check-in [428b685b71] Change the MEMORY_DEBUG macro to SQLITE_DEBUG. (CVS 1546) (check-in: [428b685b71] user: drh branch: trunk, size: 62682)
12:30
[f445d8085f] part of check-in [beab038c71] Fix error reporting when trying to attach a database with a foriegn text encoding. (CVS 1545) (check-in: [beab038c71] user: danielk1977 branch: trunk, size: 62690)
09:55
[55525f9a2d] part of check-in [c634e71f19] Some progress on user-defined collation sequences. (CVS 1544) (check-in: [c634e71f19] user: danielk1977 branch: trunk, size: 62681)
00:48
[472033b41f] part of check-in [1086196460] Start all transactions and verify all schema cookies near the beginning of of each vdbe program. (CVS 1543) (check-in: [1086196460] user: drh branch: trunk, size: 61929)
2004-06-07
07:52
[845d2a3ffd] part of check-in [983221b038] Add pragma to set/get text encoding. Also fix an obscure problem where a temp trigger could be accidently dropped. (CVS 1537) (check-in: [983221b038] user: danielk1977 branch: trunk, size: 61672)
01:52
[3062565324] part of check-in [4f7c0961ad] Progress towards getting locking to work on windows. (CVS 1536) (check-in: [4f7c0961ad] user: drh branch: trunk, size: 61629)
2004-06-06
09:44
[67b1265bb4] part of check-in [92337d8f79] Enhance user function API to support association of meta-data with constant arguments and the specification of text encoding preference. The LIKE operator takes advantage of both. (CVS 1534) (check-in: [92337d8f79] user: danielk1977 branch: trunk, size: 61594)
2004-06-04
06:22
[99f2b4ff4e] part of check-in [ff70b6d2b6] Move the 'busy-callback' logic to the pager layer. (CVS 1527) (check-in: [ff70b6d2b6] user: danielk1977 branch: trunk, size: 61581)
2004-06-02
00:41
[1aa9f7d5f8] part of check-in [b53640ed22] Remove the sqlite3_libencoding() api and the ISO8859 encoding option. (CVS 1523) (check-in: [b53640ed22] user: drh branch: trunk, size: 61066)
2004-05-31
23:56
[8a3a6dc8ef] part of check-in [af8e2006d8] Remove the sqlite3_error_string() API. (CVS 1514) (check-in: [af8e2006d8] user: danielk1977 branch: trunk, size: 61021)
18:51
[950104baea] part of check-in [adf7e29ff6] Change all SQLITE3 preprocessor macros to SQLITE. Documentation updates. (CVS 1511) (check-in: [adf7e29ff6] user: drh branch: trunk, size: 60981)
18:23
[de20432992] part of check-in [4c37b6d2b7] Change the name of the include file to "sqlite3.h". The names of the shell command and static library become "sqlite3" and "libsqlite3.a". (CVS 1510) (check-in: [4c37b6d2b7] user: drh branch: trunk, size: 60984)
08:55
[4a153e6c57] part of check-in [9029274b61] Remove the <ON CONFLICT> clause from BEGIN (CVS 1501) (check-in: [9029274b61] user: danielk1977 branch: trunk, size: 60991)
08:26
[576c2d7828] part of check-in [b8ed812c92] Replace OP_Begin, OP_Commit and OP_Rollback with OP_AutoCommit. (CVS 1500) (check-in: [b8ed812c92] user: danielk1977 branch: trunk, size: 61061)
2004-05-29
02:37
[01f9250ee3] part of check-in [4060a37d0b] Allow CREATE and DROP TRIGGER on attached databases. (CVS 1488) (check-in: [4060a37d0b] user: danielk1977 branch: trunk, size: 60861)
2004-05-28
16:00
[d95d08442d] part of check-in [6661bb5f9c] Factor common code for generating index keys into a procedure. Other speed improvements and bug fixes. (CVS 1487) (check-in: [6661bb5f9c] user: drh branch: trunk, size: 60729)
12:33
[1c3fc5d7a2] part of check-in [ad879a957d] Allow CREATE and DROP VIEW on attached databases. (CVS 1485) (check-in: [ad879a957d] user: danielk1977 branch: trunk, size: 60687)
12:11
[582a4c482e] part of check-in [2fb3708e10] Allow DROP TABLE and DROP INDEX on attached databases. (CVS 1484) (check-in: [2fb3708e10] user: danielk1977 branch: trunk, size: 60680)
11:37
[a52ac00d36] part of check-in [4984a130cc] Allow CREATE TABLE and CREATE INDEX on attached databases. (CVS 1483) (check-in: [4984a130cc] user: danielk1977 branch: trunk, size: 60678)
2004-05-27
17:22
[7978f406b4] part of check-in [287f86731c] Remove the COPY command. (CVS 1477) (check-in: [287f86731c] user: drh branch: trunk, size: 60634)
13:35
[9c528cc7a4] part of check-in [6d552af67c] A couple of test cases and fixes for blob literals. (CVS 1474) (check-in: [6d552af67c] user: danielk1977 branch: trunk, size: 60699)
01:53
[dbf4fd06e8] part of check-in [dbdd1a7f31] More MEM changes in the vdbe.c. Still will not compile. (CVS 1469) (check-in: [dbdd1a7f31] user: drh branch: trunk, size: 60652)
2004-05-26
16:54
[6b0d8d856c] part of check-in [36e0316259] 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: [36e0316259] user: drh branch: trunk, size: 60656)
06:58
[323281bd04] part of check-in [93bb958d93] Remove the show_datatypes pragma. (CVS 1461) (check-in: [93bb958d93] user: danielk1977 branch: trunk, size: 61618)
2004-05-25
12:05
[6559811cae] part of check-in [8f6b20c293] Change a couple of symbol names for the new user function API. (CVS 1454) (check-in: [8f6b20c293] user: danielk1977 branch: trunk, size: 61777)
2004-05-24
23:48
[3ba18f1bbe] part of check-in [5c28ed5e9b] Aggregate functions also use sqlite_value* instead of const char * for arguments. (CVS 1451) (check-in: [5c28ed5e9b] user: danielk1977 branch: trunk, size: 61765)
12:55
[6498bd7992] part of check-in [162cf42e33] Update the typeof() operator to respect manifest types. (CVS 1450) (check-in: [162cf42e33] user: danielk1977 branch: trunk, size: 61762)
07:04
[e1191166ac] part of check-in [b7155db2b1] Have the vdbe handle strings in the same encoding as the database. (CVS 1445) (check-in: [b7155db2b1] user: danielk1977 branch: trunk, size: 61759)
2004-05-23
13:30
[8234111009] part of check-in [f47de3a933] Begin changing the vdbe so all stack values use the database encoding. (CVS 1444) (check-in: [f47de3a933] user: danielk1977 branch: trunk, size: 61725)
2004-05-22
17:41
[2d7b2c7e73] part of check-in [5c61be1c47] Split up os.c into separate files, one for each platform. (CVS 1441) (check-in: [5c61be1c47] user: drh branch: trunk, size: 61659)
03:05
[4b45892cb0] part of check-in [c4a8246864] Steps towards UTF-16 databases. Some tests are failing because of this commit. (CVS 1433) (check-in: [c4a8246864] user: danielk1977 branch: trunk, size: 61424)
2004-05-21
10:08
[a7b3f10c5e] part of check-in [fc94575d77] Further work on the new API. All the functions to execute queries are there now. (CVS 1427) (check-in: [fc94575d77] user: danielk1977 branch: trunk, size: 61258)
01:47
[2e5533ba50] part of check-in [307b55006c] Add new sqlite3_open() and sqlite3_open16() APIs. (CVS 1423) (check-in: [307b55006c] user: danielk1977 branch: trunk, size: 61225)
01:29
[3f4848eb5b] part of check-in [0736b7e840] Sorting bug fixes. Now only 17 tests fail. (CVS 1422) (check-in: [0736b7e840] user: drh branch: trunk, size: 61008)
2004-05-20
22:16
[cdde94b620] part of check-in [a6cb09d7af] Add internal support for collating sequences. This breaks 244 tests. (CVS 1420) (check-in: [a6cb09d7af] user: drh branch: trunk, size: 61010)
11:00
[50ec7fb963] part of check-in [2821767b94] Add some more elements of the new API. (CVS 1416) (check-in: [2821767b94] user: danielk1977 branch: trunk, size: 60814)
01:12
[6b43ef8854] part of check-in [e8f980d842] Add support for the new sqlite3_bind_*() APIs. (CVS 1410) (check-in: [e8f980d842] user: danielk1977 branch: trunk, size: 60313)
2004-05-19
20:41
[6c3822050d] part of check-in [34f03ba6a9] Correctly handle 64-bit integers in SQL statements. (CVS 1408) (check-in: [34f03ba6a9] user: drh branch: trunk, size: 60261)
2004-05-18
23:21
[1da4a9c26d] part of check-in [cd1be81569] Add definitions of the CollSeq and KeyInfo structures. (CVS 1399) (check-in: [cd1be81569] user: drh branch: trunk, size: 60065)
10:06
[9e35491dc2] part of check-in [ad4a964158] Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1393) (check-in: [ad4a964158] user: danielk1977 branch: trunk, size: 59191)
2004-05-17
10:48
[ac5fe07df6] part of check-in [0f6c9b05e6] More changes to support the new types model. Compound SELECTs are currently broken. (CVS 1389) (check-in: [0f6c9b05e6] user: danielk1977 branch: trunk, size: 59141)
2004-05-16
11:15
[bc118a7a70] part of check-in [a4af838f8d] More changes to support the manifest type model. A few things are currently broken. (CVS 1385) (check-in: [a4af838f8d] user: danielk1977 branch: trunk, size: 58979)
2004-05-14
16:50
[e94edafb99] part of check-in [d4e0933dc7] Optimized varint routines and tests added. (CVS 1380) (check-in: [d4e0933dc7] user: drh branch: trunk, size: 58501)
11:00
[3b593addbd] part of check-in [dbfe6e9316] Implement type affinity for table and index records (CVS 1375) (check-in: [dbfe6e9316] user: danielk1977 branch: trunk, size: 58457)
2004-05-12
11:24
[168f441f72] part of check-in [2f16c9ef3c] Add some more code to support manifest typing in indices. Not activated yet. (CVS 1362) (check-in: [2f16c9ef3c] user: danielk1977 branch: trunk, size: 58339)
07:33
[3abc94fbd3] part of check-in [0242c9e4f7] Change the table record format to support manifest typing. (CVS 1361) (check-in: [0242c9e4f7] user: danielk1977 branch: trunk, size: 58305)
2004-05-10
23:29
[16365a1a4c] part of check-in [bc5a2dafa1] Work toward getting the new btree.c integrated with vdbe.c. (CVS 1345) (check-in: [bc5a2dafa1] user: drh branch: trunk, size: 58295)
10:34
[3151a1c14f] part of check-in [2242423e31] Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1338) (check-in: [2242423e31] user: danielk1977 branch: trunk, size: 58241)
10:05
[ad857ab418] part of check-in [05434497ba] Add some functions to serialize and deserialize vdbe values (used by manifest typing). (CVS 1336) (check-in: [05434497ba] user: danielk1977 branch: trunk, size: 58235)
07:17
[987dd79044] part of check-in [8a66a502ba] Add versions of OP_MakeRecord and OP_Column that use manifest typing (not activated yet). (CVS 1334) (check-in: [8a66a502ba] user: danielk1977 branch: trunk, size: 58229)
01:17
[92fb41170e] part of check-in [37ae528fb8] Change some code that assumes the root-page of sqlite_master is 2 (it is now 1) (CVS 1333) (check-in: [37ae528fb8] user: danielk1977 branch: trunk, size: 58112)
2004-05-08
08:23
[60f087f2d1] part of check-in [8af6474c49] Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) (check-in: [8af6474c49] user: danielk1977 branch: trunk, size: 58030)
2004-05-07
13:30
[44a17815ec] part of check-in [dcd6b55f93] New btree.c module compiles and links. (CVS 1320) (check-in: [dcd6b55f93] user: drh branch: trunk, size: 57771)
2004-05-06
23:37
[dca24187ff] part of check-in [71260ff7f7] Add code to convert between the various supported unicode encoding schemes. Untested at this point. (CVS 1315) (check-in: [71260ff7f7] user: danielk1977 branch: trunk, size: 57720)
2004-04-26
14:10
[36c649d7f2] part of check-in [910067a200] Pager tests working. (CVS 1308) (check-in: [910067a200] user: drh branch: trunk, size: 57446)
2004-02-25
13:47
[235ce244b6] part of check-in [adbe31adf1] Min() and max() functions honor the distinction between TEXT and NUMERIC data. Ticket #623. typeof() is now a user function. Some tests are now failing due to ticket #521. (CVS 1272) (check-in: [adbe31adf1] user: drh branch: trunk, size: 57310)
2004-02-24
01:05
[1ef4dcb7a5] part of check-in [5b0147aece] Refactor parts of write operations. (CVS 1268) (check-in: [5b0147aece] user: drh branch: trunk, size: 57152)
2004-02-22
17:49
[a3e8f42280] part of check-in [9b3bcde153] Code cleanup in the date and time functions. (CVS 1263) (check-in: [9b3bcde153] user: drh branch: trunk, size: 57100)
2004-02-21
19:02
[de32ca5481] part of check-in [2756f7af33] Cleanup the printf code to make it smaller and more modular. Fix a memory leak in the new OP_ContextPush opcode. (CVS 1258) (check-in: [2756f7af33] user: drh branch: trunk, size: 57085)
13:31
[c647413de0] part of check-in [8e3eda2a90] More code cleanup and size reduction. (CVS 1256) (check-in: [8e3eda2a90] user: drh branch: trunk, size: 56991)
2004-02-20
22:53
[d943f207ab] part of check-in [3383413a53] Fixed behaviour of last_insert_rowid() with triggers and add last_statement_change_count() function that works correctly with triggers. (CVS 1251) (check-in: [3383413a53] user: rdc branch: trunk, size: 56799)
14:50
[2e30f2bf44] part of check-in [574dd444e7] The name of a result column is now the name of column it originated from, by default. This can be turned off with PRAGMA short_column_names=OFF. This is to be more like PostgreSQL. More testing needed. (CVS 1250) (check-in: [574dd444e7] user: drh branch: trunk, size: 55279)
2004-02-14
23:59
[2b5e327ba2] part of check-in [2dbc4593ca] Eliminate obsolete code associated with the older callback functionality. (CVS 1243) (check-in: [2dbc4593ca] user: drh branch: trunk, size: 55142)
23:05
[3b64ff7501] part of check-in [af5c2be4ae] Eliminate the use of callbacks during schema initialization. (CVS 1242) (check-in: [af5c2be4ae] user: drh branch: trunk, size: 55349)
2004-02-12
18:46
[c45fbae627] part of check-in [800c11f4bc] Add hooks on each attached database connection for storing auxiliary information. Add the USING clause to ATTACH. (CVS 1232) (check-in: [800c11f4bc] user: drh branch: trunk, size: 55256)
2004-02-11
09:46
[f03de87717] part of check-in [f2bdccf4bb] Refactor the interface to the randomness generator. (CVS 1224) (check-in: [f2bdccf4bb] user: drh branch: trunk, size: 55134)
2004-01-16
15:55
[c5b727d5d0] part of check-in [d292ba5148] Incremental code compaction in expr.c. Now about 4% smaller. Lots more work to do. (CVS 1183) (check-in: [d292ba5148] user: drh branch: trunk, size: 55158)
2004-01-15
02:44
[99df38d3c1] part of check-in [72bc84f2f1] Reinsert the experimental sqlite_commit_hook() API. (CVS 1179) (check-in: [72bc84f2f1] user: drh branch: trunk, size: 54982)
2004-01-07
03:04
[d9f2391451] part of check-in [8371f662d2] Use "long double" to hold intermediate values when doing ascii to binary and binary to ascii conversions of floating point numbers. (CVS 1162) (check-in: [8371f662d2] user: drh branch: trunk, size: 54848)
2004-01-06
01:13
[88ab552001] part of check-in [b8381d9fe9] Fix problem in the code generator were incorrect code was being created if the SQL source contained a negative integer that was too large to fit in a 32-bit signed integer variable. Ticket #552. (CVS 1157) (check-in: [b8381d9fe9] user: drh branch: trunk, size: 54564)
2003-12-23
02:17
[a70744a84c] part of check-in [4d9edbc50f] Use a built-in atof() function instead of the one from the library to avoid problems with locale. Ticket #305. (CVS 1144) (check-in: [4d9edbc50f] user: drh branch: trunk, size: 54526)
2003-12-07
00:24
[f8549cf426] part of check-in [614cbbafa1] 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: [614cbbafa1] user: drh branch: trunk, size: 54444)
2003-11-27
00:48
[882aa33ee2] part of check-in [72bf73b2c1] Disallow temporary indices on persistent tables. (CVS 1122) (check-in: [72bf73b2c1] user: drh branch: trunk, size: 54406)
2003-11-11
23:30
[d950a8e1e6] part of check-in [21c2f96e81] Fix a typo in a #define that was commented out. No impact to working code. Ticket #476. (CVS 1119) (check-in: [21c2f96e81] user: drh branch: trunk, size: 54410)
2003-11-01
01:53
[e9b2f6b3ff] part of check-in [68ef9b45bd] Revised date/time functions - now broken out into a separate source file. See the DateAndTimeFunctions wiki page for additional information. (CVS 1116) (check-in: [68ef9b45bd] user: drh branch: trunk, size: 54410)
2003-10-18
09:37
[74dc7989c9] part of check-in [ddb364635a] Add sqlite_progress_handler() API for specifying an progress callback (CVS 1111) (check-in: [ddb364635a] user: danielk1977 branch: trunk, size: 54371)
2003-09-27
13:39
[5f706313be] part of check-in [824430b3ce] Remove support for the Oracle8 outer join syntax. (CVS 1106) (check-in: [824430b3ce] user: drh branch: trunk, size: 54062)
2003-09-06
22:18
[8901c15945] part of check-in [990bb11898] Update Makefile.in for the new vdbeaux.c file. Remove the experimental "sqlite_instantiate()" routine and replace it with "sqlite_bind()" which is more like ODBC and JDBC. (CVS 1095) (check-in: [990bb11898] user: drh branch: trunk, size: 54140)
2003-08-23
22:40
[e68eb1eeba] part of check-in [5232b0665b] Add a "pk" column to the table_info pragma which is true for each column that is part of the primary key. Add a "foreign_key_list" pragma that gives information about all foreign keys for a table. Both changes are experimental. (CVS 1081) (check-in: [5232b0665b] user: drh branch: trunk, size: 53894)
2003-08-09
21:32
[cdcfdb5dca] part of check-in [a6197e2075] Add experimental date and time functions based on julian day number. (CVS 1069) (check-in: [a6197e2075] user: drh branch: trunk, size: 53893)
2003-07-30
12:34
[a57cafea9e] part of check-in [da62732554] The {quote: SrcList} object was not being expanded correctly by a call to sqliteSrcListAppend() if the {quote: SrcList} had previously been duplicated by a call to sqliteSrcListDup(). Ticket #416. This check-in fixes that problem by keeping a separate nAlloc field on {quote: SrcList}. A similar change is made to {quote: IdList} and {quote: ExprList} to avoid future problems. (CVS 1067) (check-in: [da62732554] user: drh branch: trunk, size: 53850)
2003-07-20
01:16
[e3c756e5aa] part of check-in [543479e3ae] Fix the LIMIT clause so that it applies to the entire query in a compound query. Prior to this change LIMITs on compound queries did not work at all. Ticket #393. (CVS 1058) (check-in: [543479e3ae] user: drh branch: trunk, size: 53652)
2003-06-23
11:06
[fed31c3e6d] part of check-in [ec31a5292c] Remove all references to SQLITE_OMIT_TRACE. Tracing is always enabled. Ticket #361. (CVS 1032) (check-in: [ec31a5292c] user: drh branch: trunk, size: 53572)
2003-06-16
19:18
[602cb47739] part of check-in [6920b633c2] Fix compiler errors and warnings win SQLITE_OMIT_AUTHORIZATION is defined. Ticket #353. (CVS 1029) (check-in: [6920b633c2] user: drh branch: trunk, size: 53605)
2003-06-03
01:47
[d1d883d911] part of check-in [3e8889d7ce] Additional testing of the ATTACH command with bug fixes for the new problems that the tests found. (CVS 998) (check-in: [3e8889d7ce] user: drh branch: trunk, size: 53590)
2003-06-02
23:14
[7562ea21be] part of check-in [daf7b94017] 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: [daf7b94017] user: drh branch: trunk, size: 53590)
2003-05-31
16:21
[ad7895b4cd] part of check-in [7202d4f1a8] Tighter binding of views, triggers, and indices to their respective databases. Ticket #323. Much more testing needs to be done to the sqliteFix...() routines in attach.c. (CVS 990) (check-in: [7202d4f1a8] user: drh branch: trunk, size: 53592)
2003-05-29
17:50
[db9d888389] part of check-in [b84c4035c6] Change the row-size limit back to 1MB. It was temporarily raised to 16MB. We'll probably move it to 16MB eventually, but not just yet. (CVS 989) (check-in: [b84c4035c6] user: drh branch: trunk, size: 52781)
17:43
[e5ae70c84c] part of check-in [8c402db7e0] Modify the windows locking code so that it works correctly for a database being shared between Win95/98/ME and WinNT/2K/XP systems. Ticket #310. (CVS 988) (check-in: [8c402db7e0] user: drh branch: trunk, size: 52781)
2003-05-17
19:04
[3ba355793a] part of check-in [c8c823b068] Prevent an infinite loop when deleting a table that has a TEMP trigger. (CVS 984) (check-in: [c8c823b068] user: drh branch: trunk, size: 52588)
17:35
[cab919e438] part of check-in [01398fb78b] 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: [01398fb78b] user: drh branch: trunk, size: 52464)
2003-05-10
03:04
[9b64d8225a] part of check-in [26bd7bb177] Removed never-used symbol SQLITE_ResultDetails. (CVS 965) (check-in: [26bd7bb177] user: jplyon branch: trunk, size: 51231)
2003-05-02
14:32
[a3d84942da] part of check-in [be7aed2011] 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: [be7aed2011] user: drh branch: trunk, size: 51228)
2003-04-29
16:20
[faf133e144] part of check-in [c6bf62e41c] The sqlite_complete() function should ignore carriage-return characters. (Oops - some unrelated edits also made it into this check-in.) (CVS 942) (check-in: [c6bf62e41c] user: drh branch: trunk, size: 51326)
2003-04-25
17:52
[0c7474068c] part of check-in [67746833fc] Report the correct authorization context in the authorization callback when coding an INSTEAD OF trigger on an update or delete. (CVS 936) (check-in: [67746833fc] user: drh branch: trunk, size: 51249)
2003-04-24
01:45
[5d15d1dea3] part of check-in [206b17397b] Fix some issues with INSTEAD OF triggers. (CVS 930) (check-in: [206b17397b] user: drh branch: trunk, size: 50721)
2003-04-23
12:25
[cd2952587a] part of check-in [6289b86359] 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: [6289b86359] user: drh branch: trunk, size: 50641)
2003-04-22
20:30
[b9bbf9d8ec] part of check-in [c675a55041] Update the authorizer API so that it reports the database that table and indices belong to and so that it reports when actions are taken in response to a trigger. (CVS 928) (check-in: [c675a55041] user: drh branch: trunk, size: 51081)
2003-04-21
18:48
[331d92aa82] part of check-in [58ddd587b0] Add support for TEMPORARY triggers. Such triggers can write temporary or permanent tables. (CVS 926) (check-in: [58ddd587b0] user: drh branch: trunk, size: 50728)
2003-04-20
00:00
[c4f4866cce] part of check-in [7084e05093] Update comments. Remove unused field from the Index structure. (CVS 921) (check-in: [7084e05093] user: drh branch: trunk, size: 50566)
2003-04-17
22:57
[757c82342d] part of check-in [1e5e00fb73] Fix triggers to work in an ATTACHed database. Ticket #295. (CVS 915) (check-in: [1e5e00fb73] user: drh branch: trunk, size: 51155)
2003-04-16
02:17
[b3d4e485ab] part of check-in [4326b52a39] Simplify the number processing code. Fix for ticket #281. (CVS 910) (check-in: [4326b52a39] user: drh branch: trunk, size: 50969)
2003-04-15
19:22
[c34ae7f78c] part of check-in [0b996959b8] 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: [0b996959b8] user: drh branch: trunk, size: 50913)
01:19
[048303eafa] part of check-in [e76787f877] 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: [e76787f877] user: drh branch: trunk, size: 50902)
2003-04-13
18:26
[3dcd08da7d] part of check-in [96336bffde] Support in-memory databases for temp tables (CVS 903) (check-in: [96336bffde] user: paul branch: trunk, size: 49895)
2003-04-03
15:46
[5c2371b20f] part of check-in [5efbf62313] Added experimental APIs: sqlite_begin_hook() and sqlite_commit_hook(). (CVS 896) (check-in: [5efbf62313] user: drh branch: trunk, size: 49743)
2003-03-31
13:36
[18eb5a7f2b] part of check-in [e80afe75b3] Minor follow-on changes to the recent ATTACH patch. (CVS 892) (check-in: [e80afe75b3] user: drh branch: trunk, size: 49465)
02:12
[1ce5af48f9] part of check-in [1d3fc97721] Add the sqliteErrorMsg() function and use it to generate error message text during parsing and code generation. This simplifies the code somewhat and makes it easier to handle names with a database prefix. (CVS 891) (check-in: [1d3fc97721] user: drh branch: trunk, size: 49158)
00:30
[b86c03c496] part of check-in [c7c5e927a5] The ATTACH and DETACH statements are now coded but are still mostly untested. (CVS 890) (check-in: [c7c5e927a5] user: drh branch: trunk, size: 49111)
2003-03-27
13:50
[5335f694cb] part of check-in [8a593e9c2d] Regression tests now work - except for some changes in error message text. The library is now safe to use for experimental work. (CVS 885) (check-in: [8a593e9c2d] user: drh branch: trunk, size: 49028)
12:51
[c4338bc3c7] part of check-in [d2fb2bb50c] Changes to the "sqlite" structure that allow simultaneous operations on multiple database files. Many regession tests pass - but not all of them. Do not use this version except for debugging SQLite itself. (CVS 883) (check-in: [d2fb2bb50c] user: drh branch: trunk, size: 48839)
2003-03-20
01:16
[ad95c94758] part of check-in [a5d8fc95ee] Record the database name in addition to the table name for DELETE, INSERT, and UPDATE statements. (CVS 879) (check-in: [a5d8fc95ee] user: drh branch: trunk, size: 48180)
2003-03-19
03:14
[888faaa051] part of check-in [875da9eed9] Modifications to the VDBE to support more than one database file. (CVS 878) (check-in: [875da9eed9] user: drh branch: trunk, size: 48151)
2003-02-16
22:21
[f4428fdb24] part of check-in [75ba78280f] Added test code to check for file descriptor leaks. All regression tests pass now on both win2k and linux. (CVS 868) (check-in: [75ba78280f] user: drh branch: trunk, size: 47483)
2003-02-12
14:09
[2ae2c24fde] part of check-in [792a9e157d] Added the new FULL option to the SYNCHRONOUS pragma. Still need to test it. (CVS 863) (check-in: [792a9e157d] user: drh branch: trunk, size: 47407)
2003-02-11
14:55
[8beea34db7] part of check-in [8ec5632536] Modify the journal format to be more robust against garbage that might appear in the file after a power failure. The changes are mostly working but more testing is still required. This check-in is to checkpoint the changes so far. (CVS 861) (check-in: [8ec5632536] user: drh branch: trunk, size: 47329)
2003-01-29
18:46
[f22092ed33] part of check-in [ccc82f1ab4] Better error messages on constraint violations. Additional tests and bug fixes for the callback-free API. (CVS 854) (check-in: [ccc82f1ab4] user: drh branch: trunk, size: 47335)
14:06
[d4d1eb361e] part of check-in [162b259188] The callback-free API is now working, though much more testing is need. (CVS 853) (check-in: [162b259188] user: drh branch: trunk, size: 47296)
2003-01-28
23:13
[576855338d] part of check-in [065fa818ff] 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: [065fa818ff] user: drh branch: trunk, size: 47231)
2003-01-18
20:11
[1d614e04f3] part of check-in [71cc292dce] Fix datatype reporting and collating sequence selection so that it works correctly on views and with the UNION, EXCEPT, and INTERCEPT operators. (CVS 839) (check-in: [71cc292dce] user: drh branch: trunk, size: 47151)
2003-01-16
16:28
[1df32c9bcf] part of check-in [f67bff8ff3] Add the sqlite_trace() hook for tracing the SQL that an application executes. The plan is to leave this API undocumented for the time being, in case we want to make changes to it later. (CVS 836) (check-in: [f67bff8ff3] user: drh branch: trunk, size: 47149)
2003-01-13
23:27
[bc986d4fc3] part of check-in [45de93f913] Revise the sqlite_set_authorizer API to provide more detailed information about the SQL statement being authorized. Only partially tested so far. (CVS 830) (check-in: [45de93f913] user: drh branch: trunk, size: 46976)
2003-01-12
18:02
[01b59d2ecb] part of check-in [52d5007f64] Initial check-in of the code for the new sqlite_set_authorizer() API function. The code is mostly untested at this point. (CVS 827) (check-in: [52d5007f64] user: drh branch: trunk, size: 47207)
2003-01-11
13:30
[4f7511446a] part of check-in [86deb12d68] Remove the ColumnCount opcode, which had become a no-op. (CVS 821) (check-in: [86deb12d68] user: drh branch: trunk, size: 46369)
2003-01-02
14:43
[65dfa06bc4] part of check-in [db745e87dc] Code optimizations to help the library run faster. (CVS 808) (check-in: [db745e87dc] user: drh branch: trunk, size: 46370)
2002-12-04
20:01
[4eb6290304] part of check-in [c7a3487981] Scan the table backwards if there is an ORDER BY ... DESC clause that can be satisfied by an index. (CVS 795) (check-in: [c7a3487981] user: drh branch: trunk, size: 46269)
2002-11-20
11:55
[74198ccddb] part of check-in [dd5396a73a] Automatically determine if pointers are 4 or 8 bytes in size during the compilation process. Ticket #190. (CVS 788) (check-in: [dd5396a73a] user: drh branch: trunk, size: 46203)
2002-10-27
19:35
[a001c52dfb] part of check-in [31df3690d0] Minimal support for oracle8 outer join syntax. (CVS 771) (check-in: [31df3690d0] user: drh branch: trunk, size: 46111)
2002-10-22
23:38
[9a5fea8611] part of check-in [3b68aa25c4] Correctly handle column names and string constants in parentheses. Fix for ticket #179. (CVS 770) (check-in: [3b68aa25c4] user: drh branch: trunk, size: 45592)
2002-09-14
13:47
[54caf09fbb] part of check-in [3f253afe15] Do not put a write lock on the main database file when writing to a temporary table. (CVS 750) (check-in: [3f253afe15] user: drh branch: trunk, size: 46007)
2002-08-31
18:53
[62177a08d3] part of check-in [170711ca65] Parse foreign key constraints and populate internal data structures appropriately. Constraints are still not enforced. (CVS 738) (check-in: [170711ca65] user: drh branch: trunk, size: 46002)
2002-08-28
03:00
[4d42c86856] part of check-in [723362e74f] 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: [723362e74f] user: drh branch: trunk, size: 43163)
2002-08-24
18:24
[5bb95f64a2] part of check-in [22d8726e61] Change the way token memory is allocated in an effort to fix ticket #136. There is now a memory leak when using views of views. (CVS 725) (check-in: [22d8726e61] user: drh branch: trunk, size: 43093)
2002-08-02
10:36
[b40ef4cdcf] part of check-in [bdbdb866f2] Remove the restriction that a transaction cannot be started by one linuxthread and continued by another. Leave in the documentation the warning about not carrying a database connection across fork() but do not test for it any more. Ticket #130. (CVS 701) (check-in: [bdbdb866f2] user: drh branch: trunk, size: 43157)
2002-07-30
17:20
[d0a54982e1] part of check-in [be1315755e] Fix for ticket #71: Correctly handle CR and CRLF line terminators in the input files for the COPY command. (CVS 694) (check-in: [be1315755e] user: drh branch: trunk, size: 43235)
2002-07-19
17:46
[a7a088cd9e] part of check-in [c8a7b725b7] Better detection and reporting of errors when initializing from the sqlite_master table. (CVS 688) (check-in: [c8a7b725b7] user: drh branch: trunk, size: 43276)
2002-07-18
00:34
[0d0b7b7b2b] part of check-in [20d152fcdd] 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: [20d152fcdd] user: drh branch: trunk, size: 43325)
2002-07-13
17:23
[d18d098aa9] part of check-in [72a609ec64] Partial fix for ticket #96: Return SQLITE_MISUSE from sqlite_exec() if called from a child process with an active transaction that was started in the parent. (CVS 675) (check-in: [72a609ec64] user: drh branch: trunk, size: 43257)
03:11
[9432092633] part of check-in [0603eb74e6] Fix for ticket #95: Do not allow automatically created indices (associated with UNIQUE or PRIMARY KEY constraints) to be dropped. (CVS 671) (check-in: [0603eb74e6] user: drh branch: trunk, size: 43179)
2002-07-11
12:18
[a4f79f88e6] part of check-in [b98727246d] Turn of the reporting of datatypes in the 4th callback argument unless the SHOW_DATATYPES pragma is ON. Eliminate the NULL pointer that used to separate the beginning of datatypes from the end of column names so that the callback can test to see whether or not datatypes are provided. This is an incompatible changes, but since the prior behavior was never documented, we will let it in. (CVS 670) (check-in: [b98727246d] user: drh branch: trunk, size: 43105)
2002-07-08
22:03
[ad5a60c1b2] part of check-in [87cd10c1f6] Add support for TEMPORARY views. The code is here but it is mostly untested. (CVS 668) (check-in: [87cd10c1f6] user: drh branch: trunk, size: 42946)
2002-07-05
21:42
[6a36f4fc32] part of check-in [b4737a16c9] 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: [b4737a16c9] user: drh branch: trunk, size: 42942)
2002-06-29
02:20
[314a4feb08] part of check-in [91c0db66c8] Add a few more tests and fix a few bugs that the tests uncovered. (CVS 652) (check-in: [91c0db66c8] user: drh branch: trunk, size: 42842)
2002-06-28
12:18
[0f2cca162f] part of check-in [96515b813e] Additional test cases added. The following bug fixed: A segfault was occurring if a VIEW consisted of a join with a USING clause. (CVS 651) (check-in: [96515b813e] user: drh branch: trunk, size: 42810)
2002-06-25
01:09
[3d1d86cb9e] part of check-in [9c1432bf74] Added support for the "sqlite_temp_master" table. Increased the version number to 2.5.2. (CVS 640) (check-in: [9c1432bf74] user: drh branch: trunk, size: 42742)
2002-06-24
22:01
[d3c1448890] part of check-in [8b6574cfa8] Partial fix for a problem with LEFT OUTER JOIN. It used to be that the test for the right-hand table not matching the left table occurred after all ON, USING, WHERE clause processing. The test should occur after ON and USING clauses are checked but before the WHERE clause is check. This fix works as long as the total number of "AND" separated terms in the ON, USING, and WHERE clause does not exceed 32. To do: make this work for any number of terms and add test cases. that (CVS 639) (check-in: [8b6574cfa8] user: drh branch: trunk, size: 42967)
2002-06-22
02:33
[2f7b1f4d50] part of check-in [8aa73ce612] An optimization: avoid the use of an intermediate table on UNION ALL if there is no ORDER BY clause. (CVS 637) (check-in: [8aa73ce612] user: drh branch: trunk, size: 42892)
2002-06-21
23:01
[f283e56281] part of check-in [9d55231079] 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: [9d55231079] user: drh branch: trunk, size: 42830)
2002-06-20
11:36
[16ccbf72dd] part of check-in [cbbc858d97] 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: [cbbc858d97] user: drh branch: trunk, size: 42477)
2002-06-19
14:27
[1e9904f9ba] part of check-in [f09e19b43e] The query optimizer now attempts to satisfy an ORDER BY clause using an index. Sorting is still used if there are no suitable indices. (CVS 628) (check-in: [f09e19b43e] user: drh branch: trunk, size: 41863)
2002-06-17
17:07
[ea5c5ce4c3] part of check-in [05783a9db5] Add preliminary logic for the eventual move to having separate TEXT and NUMTEXT datatypes. Also change the version number to 2.5.0 in preparation for an interim release. (CVS 625) (check-in: [05783a9db5] user: drh branch: trunk, size: 41851)
2002-06-16
18:21
[b09bebf759] part of check-in [cd74495f99] Expose an additional internal API routine (sqliteInitCallback()) for use by private code. (CVS 624) (check-in: [cd74495f99] user: drh branch: trunk, size: 41074)
2002-06-11
02:25
[93e0ad1b37] part of check-in [d4a2fb1006] Add RAISE() function, which allows more advanced flow-control in trigger programs (ticket #55) (CVS 614) (check-in: [d4a2fb1006] user: danielk1977 branch: trunk, size: 41033)
2002-06-09
10:14
[470056bd21] part of check-in [74d297d97e] Fix the spelling of sqliteRegisterBuiltinFunctions(). (CVS 613) (check-in: [74d297d97e] user: drh branch: trunk, size: 40928)
2002-06-08
23:25
[09f3e26d03] part of check-in [8481e841eb] 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: [8481e841eb] user: drh branch: trunk, size: 40928)
2002-06-06
18:54
[3fd61a32c1] part of check-in [7ac5bd293c] Added the %fallback directive to the lemon parser generator and used this in the parser to make the parse tables much smaller. This reduced the size of the library by 15K. (CVS 605) (check-in: [7ac5bd293c] user: drh branch: trunk, size: 40725)
2002-06-02
16:09
[8ec47ae045] part of check-in [7acbf84b49] Enhance the ORDER BY clause so that an integer term means to sort by the corresponding column. (CVS 602) (check-in: [7acbf84b49] user: drh branch: trunk, size: 39670)
2002-05-27
12:24
[55824b7c87] part of check-in [f8041f3d4d] A SELECT statement inside the body of a TRIGGER uses the SRT_Discard target to discard the query results. Such selects are intended to be used to call user-defined functions for their side-effects. They do not return results. (CVS 594) (check-in: [f8041f3d4d] user: drh branch: trunk, size: 39632)
2002-05-26
20:54
[9de24fb527] part of check-in [9051173742] 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: [9051173742] user: drh branch: trunk, size: 39565)
2002-05-25
00:18
[9d565908e2] part of check-in [d8d04c14f1] Additional testing of LEFT OUTER JOIN. (CVS 588) (check-in: [d8d04c14f1] user: drh branch: trunk, size: 39555)
2002-05-24
20:31
[5b71407c85] part of check-in [99bd1f5b9a] 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: [99bd1f5b9a] user: drh branch: trunk, size: 39633)
16:14
[179d1562e2] part of check-in [e238643efd] Add support for the full SQL join syntax. This is just a parser enhancement. We now recognize all kinds of joins, but we don't actually do anything with them yet. (CVS 586) (check-in: [e238643efd] user: drh branch: trunk, size: 39443)
02:04
[02d9d16c3e] part of check-in [a167b71d8c] 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: [a167b71d8c] user: drh branch: trunk, size: 38877)
2002-05-21
13:18
[7ef986dab6] part of check-in [3399b01219] Clean up some compiler warnings. (CVS 575) (check-in: [3399b01219] user: drh branch: trunk, size: 37645)
11:38
[aa18969cf0] part of check-in [37dbdd551e] Additional code cleanup resulting from a review of the new trigger code. (CVS 572) (check-in: [37dbdd551e] user: drh branch: trunk, size: 37609)
2002-05-16
00:13
[66bf5c2d48] part of check-in [9ec8a2b139] Fix for ticket #42: Added comments to structs Trigger, TriggerStep and TriggerStack. (CVS 569) (check-in: [9ec8a2b139] user: danielk1977 branch: trunk, size: 37657)
2002-05-15
12:45
[26f8cefb76] part of check-in [b10346818b] Beginning to clean up the trigger code. Still lots of work to do. (CVS 566) (check-in: [b10346818b] user: drh branch: trunk, size: 32322)
08:30
[a966038255] part of check-in [794bf67b6b] Added FOR EACH ROW triggers functionality (CVS 562) (check-in: [794bf67b6b] user: danielk1977 branch: trunk, size: 32394)
2002-05-10
13:14
[b37d2d28e4] part of check-in [f42907ce45] 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: [f42907ce45] user: drh branch: trunk, size: 29497)
05:44
[b850d10135] part of check-in [a05fabd2df] 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: [a05fabd2df] user: drh branch: trunk, size: 29465)
2002-04-12
10:08
[e47ca9267a] part of check-in [6e71493b9d] 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: [6e71493b9d] user: drh branch: trunk, size: 28875)
2002-03-12
23:10
[73e7d0f39a] part of check-in [753adb789e] Fix the return type of the xStep function in the FuncDef structure definition. (CVS 428) (check-in: [753adb789e] user: drh branch: trunk, size: 28731)
2002-03-06
22:01
[6f4a1bea48] part of check-in [161c0c5f5d] Added the default_cache_size and default_synchronous pragmas. Added additional tests for pragmas. Added a new speedtest script. (CVS 421) (check-in: [161c0c5f5d] user: drh branch: trunk, size: 28732)
2002-03-05
01:11
[46f41e2f4c] part of check-in [414da4af1f] 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: [414da4af1f] user: drh branch: trunk, size: 28658)
2002-03-03
23:06
[dde4e52e23] part of check-in [8130776230] More bugs fixed for views. (CVS 416) (check-in: [8130776230] user: drh branch: trunk, size: 28656)
18:59
[9018cf8cd1] part of check-in [6121e5ab93] VIEWs are bound to tables when they are used, not when they are first entered. This works around the problem of what to do if a table is deleted that a view refers to. (CVS 415) (check-in: [6121e5ab93] user: drh branch: trunk, size: 28651)
03:03
[cd2c2fcc50] part of check-in [000441c8fe] Suppress superfluous OP_OpenTemps when flattening subqueries. (CVS 412) (check-in: [000441c8fe] user: drh branch: trunk, size: 28421)
02:49
[272c356245] part of check-in [2c05389eda] Bug fixes and additional tests for the subquery flattener. (CVS 411) (check-in: [2c05389eda] user: drh branch: trunk, size: 28354)
2002-03-02
17:04
[df68f09091] part of check-in [d5d3e79cc5] Subquery flattening is implemented and passes all regression tests. We still need to add addition tests to the suite to further exercise the flattener, however. (CVS 408) (check-in: [d5d3e79cc5] user: drh branch: trunk, size: 28353)
2002-02-28
00:41
[9cd512d5be] part of check-in [50797fee50] 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: [50797fee50] user: drh branch: trunk, size: 28148)
2002-02-27
19:00
[4e746aa13c] part of check-in [633951f0fa] Revise the API for user-defined functions. (CVS 398) (check-in: [633951f0fa] user: drh branch: trunk, size: 28587)
01:47
[4076aef24f] part of check-in [668ef6380e] Bug fixes in the VIEW implementation. (CVS 396) (check-in: [668ef6380e] user: drh branch: trunk, size: 28496)
2002-02-24
03:25
[d20712633c] part of check-in [1e037eb303] 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: [1e037eb303] user: drh branch: trunk, size: 28326)
01:55
[55a15c38db] part of check-in [530b0f4f2d] Move the build-in function definitions into a new source file "func.c". (CVS 391) (check-in: [530b0f4f2d] user: drh branch: trunk, size: 28268)
2002-02-23
23:45
[b089e9226f] part of check-in [c490a1ff95] Added support for user-defined normal functions. Support for user-defined aggregates is pending. (CVS 390) (check-in: [c490a1ff95] user: drh branch: trunk, size: 28222)
02:32
[81dcdf7739] part of check-in [39fed2df11] Code to implement CREATE VIEW is in place. A quick smoke test shows that it works, but there are probably still many bugs. (CVS 387) (check-in: [39fed2df11] user: drh branch: trunk, size: 27411)
2002-02-21
12:01
[338cd586b9] part of check-in [b2a9807fed] Change the SQLITE_MASTER format to version 2 in preparation for adding views. (CVS 386) (check-in: [b2a9807fed] user: drh branch: trunk, size: 26503)
2002-02-19
22:42
[e19efd5b1c] part of check-in [1686196a8a] New ROWIDs are numbered sequentially. (CVS 383) (check-in: [1686196a8a] user: drh branch: trunk, size: 26521)
2002-02-18
18:30
[75cf79d3d0] part of check-in [78a50971e9] Add support for CREATE TABLE AS. (CVS 377) (check-in: [78a50971e9] user: drh branch: trunk, size: 26512)
01:17
[6c5d0415a6] part of check-in [89ffa9ff13] Add support for subqueries in the FROM clause of a SELECT. Still need to add tests for this feature. (CVS 372) (check-in: [89ffa9ff13] user: drh branch: trunk, size: 26450)
2002-02-17
00:30
[58d6311eda] part of check-in [2336b1eada] Make the sqliteParseInfoReset() function locale to the select.c file. (CVS 371) (check-in: [2336b1eada] user: drh branch: trunk, size: 23494)
2002-02-02
18:49
[41459cf6ca] part of check-in [9be4d4c6f1] Get the ABORT conflict resolution algorithm working. (CVS 362) (check-in: [9be4d4c6f1] user: drh branch: trunk, size: 23529)
2002-01-31
15:54
[70fd20107f] part of check-in [d0e7cf4a83] 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: [d0e7cf4a83] user: drh branch: trunk, size: 23484)
2002-01-30
16:17
[3bf0938d01] part of check-in [cf1538d71c] Added ON CONFLICT support to COPY. Updates to documentation. Bug fixes. (CVS 359) (check-in: [cf1538d71c] user: drh branch: trunk, size: 22499)
2002-01-29
23:07
[60c0945eb4] part of check-in [ac8a4189e2] 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: [ac8a4189e2] user: drh branch: trunk, size: 22489)
18:41
[f4dc7f3595] part of check-in [e00a9ff8f9] Beginning to insert the infrastructure for ON CONFLICT clauses. (CVS 355) (check-in: [e00a9ff8f9] user: drh branch: trunk, size: 22236)
2002-01-22
14:11
[3274f3039d] part of check-in [035984a5b0] Constant ORDER BY or GROUP BY expressions are an error. (CVS 352) (check-in: [035984a5b0] user: drh branch: trunk, size: 21222)
03:13
[576b7b8165] part of check-in [3684beab0f] The right-hand side of an AS in a SELECT can be used within expressions of the WHERE, ORDER BY, GROUP BY, and/or HAVING clauses. (CVS 350) (check-in: [3684beab0f] user: drh branch: trunk, size: 21189)
2002-01-16
21:00
[2382456c76] part of check-in [f74d61aaf3] Added the last_insert_rowid API function. Improved documentation of the random ROWID algorithm. (CVS 349) (check-in: [f74d61aaf3] user: drh branch: trunk, size: 21178)
2002-01-09
03:19
[7a7c5213a4] part of check-in [b3656a5cfe] Working on a bug: Dropping and recreating a table within a transaction causes an assertion failure. (CVS 342) (check-in: [b3656a5cfe] user: drh branch: trunk, size: 21112)
2002-01-06
17:07
[5b613b2c30] part of check-in [9b0be4fcc1] Comment updates most. Also some small changes to the VDBE. (CVS 339) (check-in: [9b0be4fcc1] user: drh branch: trunk, size: 21054)
2001-12-31
02:48
[d2bfc012fb] part of check-in [18e606f748] Comment changes. Change the use of BTree so that either the key is an integer or the data is empty. (CVS 337) (check-in: [18e606f748] user: drh branch: trunk, size: 21266)
2001-12-21
14:30
[0b1e8ba273] part of check-in [236a54d289] Added support for the INTEGER PRIMARY KEY column type. (CVS 333) (check-in: [236a54d289] user: drh branch: trunk, size: 21261)
2001-12-05
00:21
[3990eeee36] part of check-in [585ed5ebf1] Bug fix: sqlite_exec() would sometimes return SQLITE_PROTOCOL when it should have returned SQLITE_BUSY. There was also a deadlock that the previous bug was masking. (CVS 322) (check-in: [585ed5ebf1] user: drh branch: trunk, size: 20996)
2001-11-22
00:01
[1d812fd1ee] part of check-in [a9db1c12c5] Fix a bug in the locking protocol. (CVS 315) (check-in: [a9db1c12c5] user: drh branch: trunk, size: 20988)
2001-11-21
02:21
[6f7c6552a6] part of check-in [03673adbfe] Attempting to add support for 64-bit platforms. (CVS 314) (check-in: [03673adbfe] user: drh branch: trunk, size: 20912)
2001-11-08
00:45
[aa26c7f8a0] part of check-in [262bcd17df] The new code for taking advantage of inequalities in WHERE clauses is in place. It appears to work. (CVS 305) (check-in: [262bcd17df] user: drh branch: trunk, size: 20253)
2001-11-07
16:48
[555cff5945] part of check-in [decbeb9151] New Next opcode and indexing style implemented. (CVS 304) (check-in: [decbeb9151] user: drh branch: trunk, size: 20195)
2001-11-06
04:00
[fc2f7da1fe] part of check-in [eb07768ae9] Implement indices that occur in sort order and the LIMIT...OFFSET clause of SELECT statements. (CVS 301) (check-in: [eb07768ae9] user: drh branch: trunk, size: 19435)
2001-11-04
18:32
[fa9f56b77e] part of check-in [7dd58fad39] Increase maximum row size to 1MB. (CVS 300) (check-in: [7dd58fad39] user: drh branch: trunk, size: 19282)
2001-10-22
02:58
[9a18aebf42] part of check-in [f8328a5f11] More changes for 2.0.7. (CVS 293) (check-in: [f8328a5f11] user: drh branch: trunk, size: 18864)
2001-10-19
16:44
[52577abf28] part of check-in [8467d84fc6] Version 2.0.6 (CVS 291) (check-in: [8467d84fc6] user: drh branch: trunk, size: 18789)
2001-10-18
12:34
[acfd52eb29] part of check-in [22948fc685] Support for UTF-8 and ISO8859 characters in identifiers. Bug fix in the column name generator for selects (was coreing). (CVS 290) (check-in: [22948fc685] user: drh branch: trunk, size: 18639)
2001-10-15
00:44
[04bfa79fcf] part of check-in [747bf1b30b] Added support for the COUNT_CHANGES pragma in order to help out the ODBC driver. Fixed a but on count(*) when applied to empty tables. (CVS 289) (check-in: [747bf1b30b] user: drh branch: trunk, size: 18679)
2001-10-13
02:59
[5d6a79c70b] part of check-in [75e90cf09b] 2.0.3 (CVS 287) (check-in: [75e90cf09b] user: drh branch: trunk, size: 18444)
2001-10-12
17:30
[141b57b9ee] part of check-in [0a7848b619] Fix an assertion failure when the disk fills up. Add tests for a full disk situation. (CVS 285) (check-in: [0a7848b619] user: drh branch: trunk, size: 18732)
2001-10-09
04:19
[603566f58d] part of check-in [484b82d8a1] Fix the locking protocol. (CVS 280) (check-in: [484b82d8a1] user: drh branch: trunk, size: 18395)
2001-10-08
13:22
[d75506e003] part of check-in [9368c62e40] Support for temporary tables added. Still need more testing. (CVS 279) (check-in: [9368c62e40] user: drh branch: trunk, size: 18673)
2001-10-06
16:33
[78b1890c4b] part of check-in [b63b3f3684] Adding table column query capability to support ODBC. (CVS 278) (check-in: [b63b3f3684] user: drh branch: trunk, size: 18337)
2001-09-27
15:11
[3ead853247] part of check-in [116fdad068] Fixed the support of UNIQUE and PRIMARY KEY. (CVS 268) (check-in: [116fdad068] user: drh branch: trunk, size: 18126)
03:22
[35f42e624f] part of check-in [34c42967f3] Added basic support for enforcement of UNIQUE on indices and primary keys. Support for addition constraints is to follow. (CVS 267) (check-in: [34c42967f3] user: drh branch: trunk, size: 18087)
2001-09-23
19:46
[6bcdcfbc2b] part of check-in [bd7d6a64af] Additional test cases with locking fixes. Also, make the code thread-safe. (CVS 262) (check-in: [bd7d6a64af] user: drh branch: trunk, size: 18113)
2001-09-22
18:12
[ae90beff6a] part of check-in [9114420dd0] 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: [9114420dd0] user: drh branch: trunk, size: 17820)
2001-09-17
20:25
[6671264976] part of check-in [602ea4f9f6] Add a new column in the SQLITE_MASTER table to record the root page number of primary key indices. (CVS 252) (check-in: [602ea4f9f6] user: drh branch: trunk, size: 17918)
2001-09-16
00:13
[2e118ca917] part of check-in [4e926efe2b] Disclaimed copyright. Preparing for release 2.0. (CVS 250) (check-in: [4e926efe2b] user: drh branch: trunk, size: 17841)
2001-09-15
14:43
[cba5f573a4] part of check-in [8e2f3f751e] Separate columns in keys using nulls instead of tabs. (CVS 249) (check-in: [8e2f3f751e] user: drh branch: trunk, size: 18396)
13:15
[b8738f1f16] part of check-in [8fdec4d8b6] Limit the total data in a single row to 2^16-1 bytes. (CVS 248) (check-in: [8fdec4d8b6] user: drh branch: trunk, size: 18261)
00:57
[c7c0580ceb] part of check-in [14474fa144] Everything is working on Linux. This is release 2.0-Alpha-1. (CVS 246) (check-in: [14474fa144] user: drh branch: trunk, size: 18033)
2001-09-14
18:54
[11d74bfd90] part of check-in [5e3724603e] Added a PRAGMA statement. Took out the special comment parsing. (CVS 245) (check-in: [5e3724603e] user: drh branch: trunk, size: 17737)
16:42
[28d53b3690] part of check-in [7da856cd94] Bug fixes and speed improvements. Delete is still slow. (CVS 244) (check-in: [7da856cd94] user: drh branch: trunk, size: 17692)
2001-09-13
16:18
[14df6fb9c3] part of check-in [9ac8399c99] It runs. Simple tables can be created. INSERT and SELECT work. Much more testing is needed, however. (CVS 241) (check-in: [9ac8399c99] user: drh branch: trunk, size: 17532)
14:46
[f8b8417dde] part of check-in [a0a1e701ab] 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: [a0a1e701ab] user: drh branch: trunk, size: 17454)
13:46
[1a3a7ac6db] part of check-in [6ecc8b20d4] 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: [6ecc8b20d4] user: drh branch: trunk, size: 17490)
2001-04-28
16:52
[47845c60e2] part of check-in [73a1ed6126] :-) (CVS 214) (check-in: [73a1ed6126] user: drh branch: trunk, size: 16860)
2001-04-11
14:28
[fc1000f023] part of check-in [86b30cd097] better handling of out-of-memory errors (CVS 207) (check-in: [86b30cd097] user: drh branch: trunk, size: 16832)
2001-04-07
15:24
[054c00c2b3] part of check-in [2507ec4061] Added new tests (CVS 206) (check-in: [2507ec4061] user: drh branch: trunk, size: 16599)
2001-04-04
21:10
[97e2dd488a] part of check-in [f0674697c9] Added support for UTF-8 (CVS 199) (check-in: [f0674697c9] user: drh branch: trunk, size: 16558)
11:48
[7872fa8571] part of check-in [35a8feed0d] Added transaction support (CVS 196) (check-in: [35a8feed0d] user: drh branch: trunk, size: 16540)
2001-03-20
22:05
[9887d207b9] part of check-in [daea156e24] Enhancements to the DELETE command (CVS 194) (check-in: [daea156e24] user: drh branch: trunk, size: 16354)
2001-01-20
19:52
[fd513fa6b7] part of check-in [1662063dfb] :-) (CVS 178) (check-in: [1662063dfb] user: drh branch: trunk, size: 16495)
2001-01-15
22:51
[449877f3fe] part of check-in [c6ffb7ec6a] continued progress toward version 2.0 (CVS 177) (check-in: [c6ffb7ec6a] user: drh branch: trunk, size: 16413)
2001-01-13
14:34
[c5d2cc9ab2] part of check-in [c0730217a0] Changes to the DBBE. Moving toward having many more backend driver choices. (CVS 176) (check-in: [c0730217a0] user: drh branch: trunk, size: 16294)
2000-12-10
18:23
[ed06214fc7] part of check-in [ced90c3f93] speed tweaks and documentation updates (CVS 167) (check-in: [ced90c3f93] user: drh branch: trunk, size: 16112)
2000-11-28
20:47
[a24c516147] part of check-in [5518e012bf] Comment changes only (CVS 166) (check-in: [5518e012bf] user: drh branch: trunk, size: 15990)
2000-10-16
22:06
[4b49e8c162] part of check-in [f7ea08b931] Added an interrupt capability (CVS 153) (check-in: [f7ea08b931] user: drh branch: trunk, size: 15968)
2000-08-28
15:51
[b65fdecac7] part of check-in [0eef538f3d] Added length() and substr() functions (CVS 143) (check-in: [0eef538f3d] user: drh branch: trunk, size: 15772)
2000-08-02
13:47
[f6d1e139b3] part of check-in [b7b9023794] file format change (CVS 122) (check-in: [b7b9023794] user: drh branch: trunk, size: 15724)
12:26
[cbb973ffcb] part of check-in [67f8af377c] file format change (CVS 120) (check-in: [67f8af377c] user: drh branch: trunk, size: 15512)
2000-07-29
13:06
[74eb0e266e] part of check-in [3bf434d93a] better column labels in select results (CVS 110) (check-in: [3bf434d93a] user: drh branch: trunk, size: 15487)
2000-07-28
14:32
[cf4b8f3c7f] part of check-in [4fe8e51c24] added the sqlite_busy_handler() interface (CVS 109) (check-in: [4fe8e51c24] user: drh branch: trunk, size: 15382)
2000-06-21
13:59
[ddc6f8081e] part of check-in [e1bf96a467] :-) (CVS 104) (check-in: [e1bf96a467] user: drh branch: trunk, size: 15265)
2000-06-11
23:50
[19954bd2f7] part of check-in [0f93c27cdd] added the fcnt() function for testing (CVS 92) (check-in: [0f93c27cdd] user: drh branch: trunk, size: 14155)
2000-06-08
13:36
[0aac58ed2e] part of check-in [bf98cf82a7] remove all memory leaks (CVS 80) (check-in: [bf98cf82a7] user: drh branch: trunk, size: 14131)
2000-06-07
23:51
[816c491f98] part of check-in [2ffeb8509c] :-) (CVS 74) (check-in: [2ffeb8509c] user: drh branch: trunk, size: 13469)
15:24
[1ac4ba75fe] part of check-in [6f8de336d0] :-) (CVS 72) (check-in: [6f8de336d0] user: drh branch: trunk, size: 13223)
14:42
[a593cb946e] part of check-in [5d773b5d4e] :-) (CVS 1697) (check-in: [5d773b5d4e] user: drh branch: trunk, size: 13217)
2000-06-06
21:56
[3cca846df0] part of check-in [f4d9089c5d] :-) (CVS 62) (check-in: [f4d9089c5d] user: drh branch: trunk, size: 13135)
17:27
[267f66d4a8] part of check-in [db88a0c2d4] GROUP BY and HAVING installed (CVS 58) (check-in: [db88a0c2d4] user: drh branch: trunk, size: 12925)
13:54
[821b435a18] part of check-in [54d198189b] added IN and BETWEEN operators (CVS 57) (check-in: [54d198189b] user: drh branch: trunk, size: 11187)
01:50
[6f31db9b08] part of check-in [bd8b2645cc] :-) (CVS 55) (check-in: [bd8b2645cc] user: drh branch: trunk, size: 11140)
2000-06-05
18:54
[c01eef2760] part of check-in [c02268bdf4] :-) (CVS 52) (check-in: [c02268bdf4] user: drh branch: trunk, size: 10732)
16:01
[da8e0abf20] part of check-in [ce45dea902] separate Select structure (CVS 51) (check-in: [ce45dea902] user: drh branch: trunk, size: 10281)
02:07
[7c269d2298] part of check-in [1cf2873d55] :-) (CVS 50) (check-in: [1cf2873d55] user: drh branch: trunk, size: 9641)
2000-06-04
12:58
[da9749098d] part of check-in [6ea5cebf05] rework the VDBE engine. NULL is now distinct from "" (CVS 49) (check-in: [6ea5cebf05] user: drh branch: trunk, size: 9635)
2000-06-03
18:06
[606a161400] part of check-in [27c0678623] added default values (CVS 46) (check-in: [27c0678623] user: drh branch: trunk, size: 9641)
2000-06-02
13:27
[0b7a533a38] part of check-in [2b55f9b790] :-) (CVS 37) (check-in: [2b55f9b790] user: drh branch: trunk, size: 9207)
01:51
[fe26be33f2] part of check-in [d3c31defba] :-) (CVS 36) (check-in: [d3c31defba] user: drh branch: trunk, size: 9156)
01:17
[447a156c3b] part of check-in [52338f4ab5] :-) (CVS 34) (check-in: [52338f4ab5] user: drh branch: trunk, size: 9427)
2000-05-31
22:58
[a3c662ff65] part of check-in [09054df318] :-) (CVS 29) (check-in: [09054df318] user: drh branch: trunk, size: 9117)
20:00
[04f38613a8] part of check-in [1f0c4ffd98] added DISTINCT on select (CVS 27) (check-in: [1f0c4ffd98] user: drh branch: trunk, size: 9049)
15:34
[81552acded] part of check-in [dee7a8be88] added aggregate functions like count(*) (CVS 21) (check-in: [dee7a8be88] user: drh branch: trunk, size: 9044)
02:27
[9ac3f9e05b] part of check-in [01d85b35e9] :-) (CVS 20) (check-in: [01d85b35e9] user: drh branch: trunk, size: 8666)
2000-05-30
16:27
[749da8b3e4] part of check-in [8d66c7355d] :-) (CVS 15) (check-in: [8d66c7355d] user: drh branch: trunk, size: 8517)
13:44
[562760efc2] part of check-in [1bb8ee8d9f] :-) (CVS 14) (check-in: [1bb8ee8d9f] user: drh branch: trunk, size: 8441)
2000-05-29
14:26
Added: [0365970442] part of check-in [6f3655f79f] initial check-in of the new version (CVS 1) (check-in: [6f3655f79f] user: drh branch: trunk, size: 8035)