SQLite

Timeline
Login

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

100 check-ins occurring around 7ebdfa80be.

2020-07-03
21:24
Fix the line-number of error messages coming out of the ".import" command when the --skip option is used. (check-in: e0a8b11dfd user: drh tags: trunk)
21:18
Fix a compiler warning about an unused procedure in the parser. (check-in: b27bb4fe38 user: drh tags: trunk)
18:07
Update the lemon documentation to match recent enhancements. (check-in: ca7630a577 user: drh tags: trunk)
17:24
If the amalgamation is built using OPT_FEATURE_FLAGS = -DSQLITE_UDL_CAPABLE_PARSER then it can be compiled with or without the -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT option and it works either way. (check-in: 1f96a29dd8 user: drh tags: trunk)
15:41
In lemon, add "%if" and "%else" and allow boolean expressions as the argument to "%if", "%ifdef", and "%ifndef". (check-in: 951d22b72f user: drh tags: trunk)
12:32
Fix the pragma_foreign_key_check virtual table so that it accepts arguments. (check-in: 07f849dee3 user: drh tags: trunk)
12:15
Fix a problem with "PRAGMA foreign_key_check" where if a table in one schema appears to have foreign key constraints against another table in a different schema, the pragma will try to check the constraints even though they do not apply because they are in different schemas. (check-in: 81bc4b65ae user: drh tags: trunk)
2020-07-02
17:05
Minor simplification to the 32-bit varint decoder. (check-in: 6ffd17b668 user: drh tags: trunk)
2020-07-01
16:19
Ensure that the "PRAGMA schema_version" command causes the schema to be reparsed and reloaded. (check-in: 27d4a9a7b5 user: drh tags: trunk)
14:07
Fix a problem with VM code generated for some aggregate SELECT statements that feature min()/max() aggregates both with and without FILTER clauses. (check-in: 2094da753f user: dan tags: trunk)
2020-06-30
18:21
Add a test to ensure that "PRAGMA wal_checkpoint = FULL" invokes the busy-handler to wait on read-locks. (check-in: f068fb1162 user: dan tags: trunk)
15:32
Avoid a potential buffer overread in fts3 when processing corrupt records. (check-in: 4d0cfb1236 user: dan tags: trunk)
2020-06-29
20:26
Fix generated columns so that they play well with upsert. See the forum post by "iffycan" for details. (check-in: fa9d93cf32 user: drh tags: trunk)
20:20
Change the magic number used to identify the "excluded" pseudo-table in an UPSERT statement into a #define constant. (check-in: e96c2ac9ab user: drh tags: trunk)
20:09
Document the dual-use of the P5 operand to the OP_MakeRecord opcode. (check-in: a73f80f22a user: drh tags: trunk)
19:58
Passive checkpoints do not use the busy-handler. So, in order to minimize visible changes for legacy applications, do not enable blocking locks for passive checkpoints. (Closed-Leaf check-in: 9c2b4bdd03 user: dan tags: wal-setlk-changes)
18:30
Change the name of IntegrityCk.mallocFailed to IntegrityCk.bOomFault to avoid confusion with the sqlite3 object field with the same name. (check-in: 87c7d96258 user: drh tags: trunk)
18:22
Change things so that if SQLITE_ENABLE_SETLK_TIMEOUT is defined as 2 instead of 1, all blocking locks are taken for a single millisecond and the default busy-handler invoked as normal. (check-in: ac381e6eb3 user: dan tags: wal-setlk-changes)
17:52
Add test script to verify busy-timeouts are working for SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: ada43e7c49 user: dan tags: trunk)
16:30
Do not run resetAccumulator() after a malloc failure. (check-in: 1b426603f0 user: drh tags: trunk)
13:33
Fix another fts3 problem with processing corrupt records. (check-in: 6e0ffa2053 user: dan tags: trunk)
13:12
Small performance improvement in the sqlite3_step() interface. (check-in: 61400ef9f1 user: drh tags: trunk)
2020-06-26
20:41
Fix a problem that could cause an infinite loop in the fts3 'merge' command. (check-in: be545f85a6 user: dan tags: trunk)
17:56
When computing the verification hash in speedtest1, do not include the value of floating point results (which can very in trailing bits depending on platform) but merely hash the fact that a floating point value was received. (check-in: e12225d59c user: drh tags: trunk)
16:17
Improvements to speedtest1.c for more consistent verification hashes. (check-in: d34b8ff5f8 user: drh tags: trunk)
15:42
Improvements to speedtest1. Added the --memdb and --output options. The --verify option now outputs a hash of SQL outputs. The speed-check.sh script disables the hashing feature with --legacy and adds the --verify option. (check-in: f3455cecf2 user: drh tags: trunk)
15:32
Add the ieee754_to_blob() and ieee754_from_blob() functions. Fix the handling of subnormal forms in the two-argument version of ieee754(). (check-in: c78cbf2e86 user: drh tags: trunk)
14:05
Add --verify to speed-check.sh and add --memdb and --output to speedtest1.c. Other improvements to speedtest1.c. (Closed-Leaf check-in: 89a11120ab user: drh tags: speedtest-hash)
04:34
Fix a possible null pointer deref following OOM. Discovered by dbsqlfuzz. (check-in: cc888878ea user: drh tags: trunk)
2020-06-25
23:21
Update the showlocks utility program so that it functions on files with a huge number of locks without overflowing the stack. (check-in: adb7484f93 user: drh tags: trunk)
20:28
Enhance the --verify option to speedtest1.c so that it computes and displays a hash of the result from all SQL queries, for verification purposes. (check-in: 60d1e46c8c user: drh tags: speedtest-hash)
2020-06-24
15:06
Add the ieee754_mantissa() and ieee754_exponent() functions to the iee754 extension. Build the ieee754 extension into the CLI. (check-in: db2f0836b6 user: drh tags: trunk)
13:52
Fix the decoding of subnormal values in the ieee754 extension. (check-in: 838817b680 user: drh tags: trunk)
13:14
In the one-argument version of the ieee754() extension function, if the argument is an 8-byte blob, interpret that blob as a binary64 floating point and decode it. (check-in: 4199c1e8aa user: drh tags: trunk)
12:29
Add the decimal extension. It is built into the shell, but is an optional add-on for the library. It is not included in the amalgamation. (check-in: 5391687bf8 user: drh tags: trunk)
11:45
Fix the ".selecttrace" command in the CLI (only available when compiled with the non-standard -DSQLITE_ENABLE_SELECTTRACE option) so that it does not segfault if invoked without any arguments. (check-in: d45c27a3e5 user: drh tags: trunk)
2020-06-23
20:03
Enhance the --testset option on speedtest1 so that it can accept a comma-separated list of test modules to run in order. (check-in: 780e8aaa23 user: drh tags: trunk)
17:57
Try to remove end-of-line whitespace when building the amalgamation. (check-in: be3e7814e4 user: drh tags: trunk)
15:29
Fix a harmless compiler warning. (Closed-Leaf check-in: e1416c8b06 user: drh tags: decimal)
14:44
Avoid unnecessary normalization in decimal_sum(). Trim excess trailing zeros off the result of decimal_mul(). (check-in: 0294ce071c user: drh tags: decimal)
2020-06-22
21:25
Add the decimal_mul() function. (check-in: 72eee04b67 user: drh tags: decimal)
19:12
An extension for doing decimal arithmetic on strings. (check-in: 4c3b85607f user: drh tags: decimal)
16:02
Fix problems with handling return value of mmap() in lsm_unix.c (mmap() returns MAP_FAILED on error, not NULL). (check-in: da06168c09 user: dan tags: trunk)
2020-06-20
03:43
Work around a bug (an incorrect warning) in Clang-8. (check-in: 067291143a user: drh tags: trunk)
2020-06-19
15:35
Reverse unintentional spacing change in the previous check-in. (check-in: c7b2ee1edb user: mistachkin tags: trunk)
15:33
Include 'sqlite3rc.h' in the amalgamation archive targets. (check-in: 3df579ca32 user: mistachkin tags: trunk)
15:24
Extend the refactoring into extensions. Clean up stray newlines. (check-in: 7a876209a6 user: drh tags: trunk)
13:33
Further refactoring of the schema table name. (check-in: 9536fa0ae0 user: drh tags: trunk)
11:34
Refactoring various names. No changes in the resulting machine code. (check-in: 7bb08b1bfc user: drh tags: trunk)
2020-06-18
14:30
Merge the 3.32.3 release into the reuse-schema branch. (Leaf check-in: c2d3676339 user: drh tags: reuse-schema-3.32)
14:00
Version 3.32.3 (Leaf check-in: 7ebdfa80be user: drh tags: release, branch-3.32, version-3.32.3)
13:16
Fix an assert() that could fail when operating on a database with a corrupt schema. (check-in: b69b9c0628 user: drh tags: branch-3.32)
2020-06-17
20:29
Fix an assert() that could fail when operating on a database with a corrupt schema. (check-in: 4a340c9bc7 user: dan tags: trunk)
17:27
Fix an assert() in fts3 that could fail when processing a corrupt record. (check-in: ea71fb7fab user: drh tags: branch-3.32)
14:54
Fix an assert() in fts3 that could fail when processing a corrupt record. (check-in: 4adc0a1b0d user: dan tags: trunk)
14:14
Fix a problem with retrying constraint failures within sqlite3changeset_apply() calls with the SQLITE_CHANGESET_INVERT flag is set. (check-in: d73e857b83 user: dan tags: trunk)
12:37
Merge miscellaneous fixes from trunk into the 3.32 branch. (check-in: d55b8e7993 user: drh tags: branch-3.32)
2020-06-16
19:51
Add new file doc/wal-lock.md, containing notes on wal-mode blocking locks. (check-in: c6b1d3a385 user: dan tags: trunk)
17:34
In the CLI, only interrupt tabular outputs at the end of a line. And print "Interrupt" on a line after stopping the output. (check-in: f3bd689336 user: drh tags: trunk)
15:19
Merge 3.32.2 changes into the reuse-schema branch. (check-in: dc081336f0 user: drh tags: reuse-schema-3.32)
14:12
Add a test case covering the previous check-in to the test/fuzzdata8.db file. (check-in: 95379da0e1 user: drh tags: trunk)
14:06
Fix an assert() in fts3 that can fail when processing a corrupt record. (check-in: a58a6d6fb2 user: dan tags: trunk)
2020-06-15
20:27
Provide "sqlite_schema" as an alternative name to the table that holds the database schema. (check-in: 61782a7ae3 user: drh tags: trunk)
20:05
Fix the CLI so that interrupts work in columnar output mode. (check-in: 9472f1fe58 user: drh tags: trunk)
14:38
Fix the --enable-update-limit option to ./configure. (check-in: d31fd57ea5 user: drh tags: trunk)
13:51
Fix a defect in the query-flattener optimization identified by ticket [8f157e8010b22af0]. (check-in: 10fa79d00f user: drh tags: trunk)
2020-06-14
13:40
Check-in [1d4f86201dab9a22] changed a testcase() to an assert() because we didn't know how to reach that condition any more. But YongHeng's fuzzer found a way. So now we change it back. Ticket [9fb26d37cefaba40]. (check-in: 90b1169d1b user: drh tags: trunk)
2020-06-13
21:24
Avoid deleting expression nodes in the flattener code, as they may be referenced by AggInfo objects further up the stack. Ticket [e367f31901ea8700] (check-in: cc1fffdedd user: dan tags: trunk)
03:18
Identifiers "TRUE" and "FALSE" cannot take on their boolean constant values if they are operands of the "." operator. (check-in: ad738286e2 user: drh tags: trunk)
2020-06-12
15:45
New test case added to test/fuzzdata8.db. (check-in: 14a5cbddc8 user: drh tags: trunk)
15:17
Fix a buffer overread in fts3 that could occur when decoding a corrupted record. (check-in: 9a4a40c45f user: dan tags: trunk)
00:31
Remove a NEVER() that turns out to be reachable. (check-in: 44e573ecd5 user: drh tags: trunk)
2020-06-11
16:04
Add a new assert() to the SELECT processing. (check-in: 98cea4a32b user: drh tags: trunk)
15:53
Avoid rewriting compound SELECT statements that use a different collation sequence for ORDER BY and record processing a second time if they contain window functions. Fix for [b706351c]. (check-in: 32a88bdd4b user: dan tags: trunk)
00:57
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 tags: trunk)
2020-06-10
14:30
Make sure the bbox object is fully initialized in geopoly, even if reading a corrupted database. (check-in: fd5abb1a7b user: drh tags: trunk)
11:18
Ensure that aggregate functions that (a) are part of SELECT statements with no FROM clause and (b) have one or more scalar sub-selects as arguments are assigned to the correct aggregate context. Fix for ticket [7c6d876f84e6e7e2] (check-in: dafd2466a1 user: dan tags: branch-3.32)
11:01
Ensure that the "push-down" optimization does not push constraints down into compound queries if any of the component queries uses window functions. (check-in: d31850fe50 user: dan tags: branch-3.32)
11:01
Disable AggInfo consistency checks when unwinding after an OOM. (check-in: 7e2833fb2b user: dan tags: branch-3.32)
10:58
Ensure that the "push-down" optimization does not push constraints down into compound queries if any of the component queries uses window functions. (check-in: 094dcfe779 user: dan tags: trunk)
03:07
Disable AggInfo consistency checks when unwinding after an OOM. (check-in: 65179814aa user: drh tags: trunk)
2020-06-09
23:50
Ensure that aggregate functions that (a) are part of SELECT statements with no FROM clause and (b) have one or more scalar sub-selects as arguments are assigned to the correct aggregate context. Fix for ticket [7c6d876f84e6e7e2] (check-in: c29a9e484e user: drh tags: trunk)
22:11
Mark an always-true conditional with ALWAYS(). (Closed-Leaf check-in: 35a2368417 user: drh tags: agg-context-fix)
17:45
Ensure that aggregate functions that (a) are part of SELECT statements with no FROM clause and (b) have one or more scalar sub-selects as arguments are assigned to the correct aggregate context. (check-in: 16a41fa8c4 user: dan tags: agg-context-fix)
14:56
Crazy experimental change to refcount the AggInfo objects. (Leaf check-in: 9a4cc1dbf2 user: drh tags: refcount-agginfo)
13:53
Modify a test file to avoid causing Tcl to allocate too much memory. (check-in: 232431f32e user: dan tags: trunk)
13:38
Give the expression pointer fields of AggInfo distinctive names in order to simplify tracking of all their uses. (check-in: a53bdd311c user: drh tags: trunk)
13:17
Persist AggInfo expressions before deleting them when omitting the LIMIT clause in a subquery. One possible fix for ticket [7c6d876f84e6e7e2]. (Leaf check-in: 04867cba97 user: drh tags: tkt-7c6d876f84e6e7e2)
11:59
Improved tree-view debugging output for aggregate functions. (check-in: b5711b4eea user: drh tags: trunk)
2020-06-08
14:43
Fix a case where a corrupted fts3 record could cause an assert() failure, or spurious SQLITE_NOMEM error in builds with assert() disabled. (check-in: d48af4d2cf user: dan tags: trunk)
12:51
Increase the version number to 3.32.3. (check-in: a376ec6942 user: drh tags: branch-3.32)
12:49
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 tags: branch-3.32)
11:34
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] that avoids the follow-on problems identified by tickets [0899cf62f597d7e7], [1f6f353b684fc708], [e5504e987e419fb0], and [f7d890858f361402]. (check-in: 6e6b3729e0 user: drh tags: trunk)
2020-06-07
22:44
Fix minor OOM problems. (Closed-Leaf check-in: 8b23d80271 user: drh tags: persist-agginfo)
20:18
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 tags: persist-agginfo)
17:33
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 tags: persist-agginfo)
14:42
New debugging output. (Leaf check-in: c0d9dfe507 user: drh tags: early-winfunc-rewrite-dev)
12:26
Improvements to the treeview debugging display. (check-in: a7c5c73992 user: drh tags: early-winfunc-rewrite-dev)
00:51
Extra steps to ensure that queries that involve both window functions and aggregate functions are processed correctly by sqlite3WindowRewrite(). Fix for ticket [e5504e987e419fb0]. (Leaf check-in: 765bbcce1d user: drh tags: branch-3.32-early-winfunc-rewrite)
00:43
Extra steps to ensure that queries that involve both window functions and aggregate functions are processed correctly by sqlite3WindowRewrite(). Fix for ticket [e5504e987e419fb0]. (check-in: a6c2147cc6 user: drh tags: early-winfunc-rewrite-dev)