Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
462 check-ins using file src/delete.c version a5c59b9c02
2021-02-11
| ||
16:19 | In RBU, avoid passing VFS xShmLock calls through to the underlying VFS in cases where xShmMap calls may not be. This fixes a bad interaction with ZipVFS. (Leaf check-in: 0c3838d951 user: dan tags: reuse-schema-3.31) | |
2020-04-04
| ||
00:29 | In the push-down optimization, do not substitute columns that have previously been identified as being constant by the propagate-constants optimization. Fix for ticket [51166be0159fd2ce]. Also, avoid factoring out constant expressions on the LHS of an IN(...) operator, as the IN(...) operation may affect the affinity of these values. Fix for [fd1bda016d1]. (Leaf check-in: 43612157f8 user: drh tags: branch-3.31) | |
2020-04-03
| ||
20:14 | Restore an #if block inadvertently removed via check-in [9c77bfe41e]. (check-in: bf6bcfc16e user: mistachkin tags: branch-3.31) | |
13:39 | Do not suppress errors when resolving references in an ORDER BY clause belonging to a compound SELECT within a view or trigger within ALTER TABLE. Fix for ticket [a10a14e9b4ba2]. Also, in the event of a semantic error in an aggregate query, early-out the resetAccumulator() function to prevent problems due to incomplete or incorrect initialization of the AggInfo object. Fix for ticket [af4556bb5c285c08]. (check-in: b64674919f user: drh tags: branch-3.31) | |
13:29 | Fix a case when a pointer might be used after being freed in the ALTER TABLE code. Fix for [4722bdab08cb1]. (check-in: 52f800fa93 user: drh tags: branch-3.31) | |
2020-03-13
| ||
07:28 | Merge SQLITE_NOOP_UPDATE fix into this branch. (check-in: e2cc655e0d user: dan tags: begin-concurrent-report) | |
07:23 | Fix a typo causing SQLITE_NOOP_UPDATE builds to fail. (check-in: 1e2109fd33 user: dan tags: begin-concurrent-pnu) | |
2020-03-12
| ||
19:37 | Add link from begin_concurrent_report.md back to branch timeline. (check-in: 61869f8b48 user: dan tags: begin-concurrent-report) | |
2020-03-11
| ||
19:30 | Add documentation notes and fix outstanding issues on this branch. (check-in: b288bbd1df user: dan tags: begin-concurrent-report) | |
16:46 | Support reporting of blob fields. (check-in: 724a4a844d user: dan tags: begin-concurrent-report) | |
2020-03-10
| ||
21:14 | Fix test and other problems with reporting pages read and written. (check-in: 9ae970fdc1 user: dan tags: begin-concurrent-report) | |
19:55 | Fix problem in test script concreport.test. (check-in: 32d1b7210a user: dan tags: begin-concurrent-report) | |
19:23 | Prevent the read-only expressions held in the schema from being passed down into code generating subroutines where they might be changed. Pass a copy of the expression instead. (check-in: 2b750b0f74 user: drh tags: branch-3.31) | |
2020-03-09
| ||
21:00 | Report on pages, as well as keys, read and written by BEGIN CONCURRENT transactions. (check-in: b661ccc88f user: dan tags: begin-concurrent-report) | |
2020-03-07
| ||
16:51 | Fix reporting cases related to UPDATE. And of WITHOUT ROWID tables. (check-in: d28d1739a6 user: dan tags: begin-concurrent-report) | |
2020-03-06
| ||
20:51 | Enhancement to log logical writes as well as reads. (check-in: 1c1f180eb6 user: dan tags: begin-concurrent-report) | |
2020-03-05
| ||
20:59 | Fix reporting for indexed range scans that extend past the end of the data. (check-in: ab458a319f user: dan tags: begin-concurrent-report) | |
2020-03-04
| ||
19:17 | Fix cases to do with index scans. (check-in: 6ec5a8995f user: dan tags: begin-concurrent-report) | |
2020-03-03
| ||
21:01 | Extend begin_concurrent_report() so that it reports on accesses to non-intkey tables as well. (check-in: 427e2c9d95 user: dan tags: begin-concurrent-report) | |
2020-03-02
| ||
21:00 | Fix reporting for some range scan cases. (check-in: ad961aee15 user: dan tags: begin-concurrent-report) | |
15:05 | Merge latest begin-concurrent-pnu changes with this branch. (check-in: b1880b1899 user: dan tags: begin-concurrent-report) | |
2020-02-27
| ||
12:33 | 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 tags: branch-3.31) | |
2020-02-10
| ||
19:37 | Fix a typo in the in-tree begin-concurrent documentation (check-in: b13dae1cb3 user: drh tags: begin-concurrent) | |
2020-02-07
| ||
01:12 | Simplify the code by removing the unsupported and undocumented SQLITE_HAS_CODEC compile-time option (check-in: 5a877221ce user: drh tags: trunk) | |
2020-02-06
| ||
20:46 | There is no need to keep track of the number of changed rows or of the last-insert-rowid while running VACUUM. (check-in: a8a7c05b16 user: drh tags: trunk) | |
15:38 | Unroll the comparison loop inside keywordCode() for to avoid unnecessary comparisions and thus help that routine run faster. (check-in: cec5f920f5 user: drh tags: trunk) | |
13:57 | Separate OP_IdxInsert and OP_SorterInsert into completely separate opcodes, helping each one to run a little faster. (check-in: 447d71f086 user: drh tags: trunk) | |
13:09 | Remove dead code from the sqlite3_filename_database() function. (check-in: 1b6185550f user: drh tags: trunk) | |
11:08 | Merge changes on 3.31 branch into reuse-schema. (check-in: 6dbb8cb0e3 user: dan tags: reuse-schema-3.31) | |
11:02 | Fix a 4 byte OOB read in test_multiplex.c. (check-in: 6279f69f0f user: dan tags: branch-3.31) | |
10:55 | Fix some fts3 problems found by usan. (check-in: fb7ccf61be user: dan tags: trunk) | |
2020-02-05
| ||
18:28 | Small size reduction and performance improvement in the sqlite3VdbeMemFromBtree() interface used to pull content out of the b-tree and into an sqlite3_value object. (check-in: ae6dd8d3e9 user: drh tags: trunk) | |
2020-02-04
| ||
20:22 | Merge latest trunk/wal2 changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, with this branch. (check-in: 76668b5589 user: dan tags: begin-concurrent-pnu-wal2) | |
20:11 | Merge latest trunk changes into this branch. (check-in: 6ad4d6b7ff user: dan tags: wal2) | |
20:09 | Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: 23bc80cc86 user: dan tags: begin-concurrent-pnu) | |
20:08 | Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: f253618ac6 user: dan tags: begin-concurrent) | |
20:01 | Enable more detailed log messages in SQLITE_ENABLE_CORRUPT_PGNO builds if database corruption is encountered. (check-in: 57c36a293e user: dan tags: trunk) | |
01:41 | Extend the OP_Copy-coalesce optimization fix of check-in [b36126c1889e323c] so that it is also correctly disabled by the CASE operator. Ticket [9d3666754ac37d5a]. (check-in: 29a969d6b1 user: drh tags: trunk) | |
00:55 | Fix a problem with the byte-code decompiler that was inserted by the enhancements at [4248980a356f659b] (check-in: af63e95dcd user: drh tags: trunk) | |
2020-02-03
| ||
19:56 | Cosmetic change to the xfer-optimization to put the OP_RowData opcode closer to the corresponding OP_Insert opcode. This makes it slightly easier to read and understand the code. (check-in: 0ea2dbfc90 user: drh tags: trunk) | |
12:25 | Increase the version number to 3.32.0. (check-in: 8130bbb421 user: drh tags: trunk) | |
2020-02-01
| ||
21:03 | On an INSERT or UPDATE, perform affinity conversions on new data prior to running CHECK constraints. Ticket [86ba67afafded936]. (check-in: 1d4f86201d user: drh tags: trunk) | |
17:38 | Fix the comment display for the OP_Function opcode. And at the same time, improve the comment generating logic to make use of the newer sqlite3_str_appendf() interface. (check-in: 4248980a35 user: drh tags: trunk) | |
14:29 | Fix a problem in sqlite3CodecQueryParameters() that was introduced by the query parameter encoding changes for the 3.31.1 release. (check-in: 1240ee4f6f user: drh tags: apple-osx) | |
14:20 | Merge the sqlite3CodecQueryParameters() fix into trunk. (check-in: a812f53369 user: drh tags: trunk) | |
13:30 | Fix a problem in sqlite3CodecQueryParameters() that was introduced by the query parameter encoding changes for the 3.31.1 release. (check-in: cc65ca5412 user: drh tags: branch-3.31) | |
00:08 | Merge version 3.31.1 (check-in: d250d085fa user: numist tags: apple-osx) | |
2020-01-31
| ||
14:52 | Fix a minor typo in a comment in the btreeinfo extension. (check-in: b5a66d10f4 user: drh tags: trunk) | |
2020-01-29
| ||
15:03 | Fix a problem with the processing of IN(...) constraints handled by virtual table implementations that do not set the "omit" flag when the virtual table column contains at least one NULL value. (check-in: dcb4838757 user: dan tags: trunk) | |
13:56 | Add a test case for commit [ffd8bb93]. (check-in: bcd5b37b8e user: dan tags: trunk) | |
13:50 | Remove a NEVER() that is in fact reachable. Test cases in dbsqlfuzz and TH3. (check-in: ffd8bb9351 user: drh tags: trunk) | |
13:10 | Add new memory barriers during initialization. (check-in: a9b2adc5d6 user: drh tags: trunk) | |
12:37 | Modify a couple of FTS test cases so that they work on big-endian platforms. (check-in: b20503aaf5 user: drh tags: trunk) | |
2020-01-28
| ||
20:27 | 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 tags: trunk) | |
20:09 | Small performance improvement to the key-comparision routine for strings. (check-in: 41454499a2 user: drh tags: trunk) | |
18:09 | Reinstate the optimization of converting "a IN (C)" into "a=C" but only if C is a constant. If the RHS is a table column, the complications of managing affinity and collations become too involved to mess with. (check-in: 8ac26a23d7 user: drh tags: trunk) | |
16:55 | Fix a 4 byte OOB read in test_multiplex.c. (check-in: 912148913c user: dan tags: trunk) | |
15:02 | Minor change for compatibility with the s390 architecture. (check-in: 04885763c4 user: drh tags: trunk) | |
2020-01-27
| ||
19:55 | Version 3.31.1 (check-in: 3bfa9cc97d user: drh tags: trunk, release, version-3.31.1) | |
17:09 | Update the version number to 3.31.1. (check-in: 6fb9a8fb85 user: drh tags: trunk) | |
14:40 | Revise the layout of filenames in the Pager object so that it is unchanged from prior versions. It turns out that some important 3rd-party software does questionable pointer manipulations on those filenames that depend on that legacy layout. Technically, this is a misuse of SQLite by the 3rd-party software, but we want to avoid unnecessary breakage. (check-in: 34ab760689 user: drh tags: trunk) | |
2020-01-23
| ||
15:00 | Fix typos in the sqlite3ext.h header file that prevent some newer APIs from being accessed from loadable extensions. (check-in: 14331989fc user: drh tags: trunk) | |
00:08 | Fix variable declaration issue seen with MSVC. (check-in: 8a6fe3066c user: mistachkin tags: trunk) | |
2020-01-22
| ||
23:08 | Fix a NEVER() macro that can be true if compiled with SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION. Ticket [b985f0bd1636d9bc] (check-in: 9f0f5d593a user: drh tags: trunk) | |
21:18 | Merge version 3.31.0 (check-in: 9c3f46384d user: drh tags: begin-concurrent-pnu-wal2) | |
21:12 | Merge version 3.31.0 (check-in: 3bb267deb1 user: drh tags: wal2) | |
21:06 | Merge version 3.31.0 (check-in: e65e6c01d6 user: drh tags: begin-concurrent-pnu) | |
20:56 | Merge version 3.31.0 (check-in: bbbc2881b9 user: drh tags: begin-concurrent) | |
20:36 | Merge version 3.31.0 (check-in: 0eae87ad11 user: drh tags: apple-osx) | |
20:02 | Merge in version 3.31.0 (check-in: f418afa1bf user: drh tags: reuse-schema) | |
18:38 | Version 3.31.0 (check-in: f6affdd416 user: drh tags: trunk, release, version-3.31.0) | |
2020-01-21
| ||
21:01 | 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 tags: begin-concurrent-report) | |
16:31 | Update test file exclusive.test so that it works with the "journaltest" permutation. (check-in: 4daf94d833 user: dan tags: trunk) | |
16:23 | Fix a problem with using views in SQLITE_OMIT_VIRTUAL_TABLE builds. Also some test case fixes required for the same builds. (check-in: 934ee8bdb4 user: dan tags: trunk) | |
15:01 | Fix a case in fts3auto.test that fails for SQLITE_DISABLE_FTS4_DEFERRED builds. (check-in: d241055ead user: dan tags: trunk) | |
14:42 | Fix an assert() that could fail in SQLITE_MUTATION_TEST builds following an error in a query that uses CTEs. (check-in: c7e29458a7 user: dan tags: trunk) | |
13:40 | Fix a problem in the userauth extension causing it to occasionally set "PRAGMA count_changes" (and some others) to true. (check-in: 3a62f64222 user: dan tags: trunk) | |
12:29 | Fix the series.c and spellfix.c extensions to use SQLITE_VTAB_INNOCUOUS correctly. Fix the documentation on sqlite3_vtab_config() to take into account SQLITE_VTAB_INNOCUOUS and SQLITE_VTAB_DIRECTONLY. (check-in: 9265cb7f02 user: drh tags: trunk) | |
01:45 | Improvements to the autoconf TEA Makefile for MSVC. (check-in: cffcf12f03 user: mistachkin tags: trunk) | |
2020-01-20
| ||
15:32 | Merge recent fixes from trunk. (check-in: 9c920bbad3 user: drh tags: reuse-schema) | |
14:42 | In the fuzzcheck test program, reduce the default expression depth limit from 1000 to 500 to avoid stack-overflow problems when running stress tests using clang ASAN. (check-in: 63d886f4ce user: drh tags: trunk) | |
2020-01-19
| ||
20:37 | Enhancement to the CLI to allow the ".parameter init" command to work even if defensive mode is turned on. (check-in: 4d46255096 user: drh tags: trunk) | |
2020-01-18
| ||
23:52 | Documentation improvements. (check-in: 535afe1509 user: drh tags: trunk) | |
22:20 | In the TCL interface, add the ability to change the SQLITE_DBCONFIG_TRUSTED_SCHEMA setting using the "db config" method. (check-in: 1accfa8cf0 user: drh tags: trunk) | |
21:34 | Allow non-deterministic function in CHECK constraints. It turns out that PostgreSQL, MySQL, and SQLServer all allow this. We should not be the the exception. Ticket [830277d9db6c3ba1] (check-in: 8c8ce526ad user: drh tags: trunk) | |
19:58 | Fix a couple of test case issues on this branch. (check-in: 9830a44bc6 user: dan tags: reuse-schema) | |
19:46 | Do not use memcpy() of zero bytes when initializing a pager. This avoids a warning. (check-in: cca437788e user: drh tags: trunk) | |
19:07 | Disable a redundant test case that uses a very large stack, and hence is unable to run with -fsanitize=undefined,address. (check-in: 3c63f68e12 user: drh tags: trunk) | |
19:02 | Fix harmless compiler warning seen with MSVC. (check-in: cd0437ba5b user: mistachkin tags: trunk) | |
18:59 | Have this branch call sqlite3LockAndPrepare() instead of sqlite3Prepare() when parsing SQL for new schema objects in order to ensure that schemas are released as soon as possible. (check-in: 7a4ec57985 user: dan tags: reuse-schema) | |
14:50 | Add extra front margin to the fake empty filename returned by sqlite3PagerFilename() for an in-memory or TEMP database. (check-in: fee945671a user: drh tags: trunk) | |
13:53 | Fix the VDBE so that it correctly handles the sequence of operations OP_OpenEphemeral, OP_OpenDup, OP_OpenEphemeral, and OP_OpenDup in that order on the same cursor. (check-in: a1be6ee018 user: drh tags: trunk) | |
2020-01-17
| ||
23:27 | Fix a typo in a comment. No code changes. (check-in: 4363f69c3a user: drh tags: trunk) | |
21:12 | The compress() function should not be deterministic since the same input can have multiple possible compressed outputs. The uncompress() function, on the other hand, is deterministic. (check-in: 84f314902c user: drh tags: trunk) | |
19:14 | Fix #ifdefs so it compiles cleanly with all SQLITE_OMIT compile-time options. Update compile-time option testing. (check-in: 7584e4b649 user: drh tags: trunk) | |
16:47 | Improved rounding in the 'unixepoch' feature of the date and time functions. (check-in: c9abf1bd2d user: drh tags: trunk) | |
15:45 | Update test script instrfault.test to account for the fact that bound blob values cast to text values are now intepreted using the text encoding of the database, instead of always as utf-8. (check-in: 4d6cb28811 user: dan tags: trunk) | |
11:18 | Fix a case in "fuzz.test" that could fail, as non-deterministic functions may no longer appear in CHECK constraints. (check-in: a370871e21 user: dan tags: trunk) | |
2020-01-16
| ||
17:53 | New testcase() macros in select.c, for coverage of the change from two check-ins ago. (check-in: 52206488f3 user: drh tags: trunk) | |
16:32 | Add the SQLITE_FCNTL_CKPT_DONE file-control for the use of custom VFSs. (check-in: 3cc39e5069 user: dan tags: trunk) | |
16:12 | Do not allow the constant-propagation optimization to apple to ON/USING clause terms as it does not help and it might cause downstream problems. (check-in: 1bc783da63 user: drh tags: trunk) | |
13:02 | Very small performance improvement by ensuring that the argument to sqlite3VdbeFreeCursor() is non-NULL. Hold for the next sprint. (Leaf check-in: f8801ffd94 user: drh tags: close-cursor-faster) | |
12:25 | Fix an SQL syntax error in the comment on the omit-left-join optimization. No changes to code. (check-in: 86b5e5a20e user: drh tags: trunk) | |
11:51 | Clean up the definitions of the TERM_ constants in the code generator. Formatting only - no logic changes. (check-in: af06f80a59 user: drh tags: trunk) | |
2020-01-15
| ||
17:18 | Fix the assert_schema_state_ok() routine so that it correctly ignores ATTACH-ed database that failed to open due to an error. (check-in: 1194a42add user: drh tags: reuse-schema) | |
16:20 | Do not allow the "PRAGMA encoding" statement to change the database encoding if TEMP content exists, or content in any other attached database. Formerly, encoding changes were allowed if just the main database file was empty. Ticket [a08879a4a476eea9]. (check-in: 03b003c988 user: drh tags: trunk) | |
14:26 | Merge all recent enhancements and fixes from trunk. (check-in: f783917800 user: drh tags: reuse-schema) | |
14:21 | Merge in the latest trunk changes via the begin-concurrent-pnu branch. (check-in: 350627f3b1 user: drh tags: begin-concurrent-pnu-wal2) | |
14:11 | Merge recent enhancements and fixes from trunk. (check-in: 35eae71a4d user: drh tags: wal2) | |
13:48 | Merge all recent enhancements and fixes from trunk. (check-in: 110a081f12 user: drh tags: begin-concurrent-pnu) | |
13:34 | Merge fixes and enhancements from trunk into begin-concurrent. (check-in: 95ba2f50fd user: drh tags: begin-concurrent) | |
12:49 | Merge all recent enhancements and fixes from trunk into the apple-osx branch. (check-in: dadedf41c7 user: drh tags: apple-osx) | |
2020-01-14
| ||
16:50 | Fix the urifuncs.c extension (used for testing and debugging only) so that the sqlite3_filename_database() SQL function and its siblings correctly handle an invalid schema name passed in as the argument. (check-in: 3d7434a9d8 user: drh tags: trunk) | |
16:39 | Remove an ALWAYS on a branch for improved database corruption detection in btree.c:freeSpace(). Test case found by dbsqlfuzz. (check-in: 54bf048119 user: drh tags: trunk) | |
16:33 | Add the new noop_nd() debugging function to the noop.c extension. (check-in: 72911fb1b0 user: drh tags: trunk) | |
13:24 | For the showdb utility program, more accurate detection of when the database is in autovacuum mode for the "pgidx" subcommand. (check-in: 9ce2192b81 user: drh tags: trunk) | |
13:13 | Fix a minor typo on a comment in the CLI implementation. (check-in: db4fb3503c user: drh tags: trunk) | |
00:52 | Improvements to sqlite3_open_v2() documentation. (check-in: 4c4fd62a09 user: drh tags: trunk) | |
2020-01-13
| ||
15:25 | More documentation updates. No code changes. (check-in: a684d4ef08 user: drh tags: trunk) | |
13:33 | Documentation updates. No changes to code. (check-in: cc0e0aa3a7 user: drh tags: trunk) | |
2020-01-12
| ||
22:38 | Better than removing the incorrect assert() is to change it into a testcase() together with a comment indicating where an appropriate test case can be found, and the ticket that provoked the change. Ticket [614b25314c766238] (check-in: 3e3c60d812 user: drh tags: trunk) | |
22:25 | Change the zipfile virtual table so that the xBestIndex method gives a reasonable cost estimate even if no filename is specified. The missing filename error continues to be raised in the xFilter method. Meanwhile, the more reasonable cost estimate avoids unnecessary wierdness in the query planner. (check-in: 0e468aa6de user: drh tags: trunk) | |
22:20 | Remove an incorrect assert(). Fix for ticket [614b25314c766238] (check-in: 6a999c5aa0 user: drh tags: trunk) | |
2020-01-11
| ||
21:08 | New apis: sqlite3_filename_database(), sqlite3_filename_journal(), and sqlite3_filename_wal(). Also sqlite3_uri_key(). And the other sqlite3_uri functions now work using the journal or wal filename in addition to the database file. And the sqlite3_db_filename() result is guaranteed to work as an argument to the sqlite3_uri functions. (check-in: fd7bcc5352 user: drh tags: trunk) | |
20:27 | Minor changes for consistency between sqlite3_filename_wal() and sqlite3_filename_journal(). (Closed-Leaf check-in: 9a70ff43a7 user: drh tags: enhanced-uri) | |
16:08 | Redesign for better legacy compatibility. Add the sqlite3_uri_key() interface. (check-in: bcb43d11c4 user: drh tags: enhanced-uri) | |
2020-01-10
| ||
18:05 | 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 tags: enhanced-uri) | |
01:05 | Fix to the register validity tracking logic in debug builds. No impact on release builds. (check-in: 0a500da6aa user: drh tags: trunk) | |
00:20 | Begin making changes to turn off trusted schema in command-line tools that open SQLite databases. There are a lot of these, and a lot of places to change, which makes me wonder if trusted schema should be off by default. (Leaf check-in: 3d23a275ab user: drh tags: default-untrusted-schema) | |
00:00 | Documentation updates on newer APIs. No changes to code. (check-in: 8845a8c22a user: drh tags: trunk) | |
2020-01-09
| ||
23:07 | Fix the fossildelta.c extension so that it will compile on mingw. (check-in: 20237d5dc4 user: drh tags: trunk) | |
20:44 | Merge in the untrusted-schema enhancements. See doc/trusted-schema.md for details. (check-in: 5720924cb0 user: drh tags: trunk) | |
20:33 | Only register the fts3_tokenizer() function using a single text encoding. (check-in: 966964af10 user: drh tags: trunk) | |
20:33 | Fix a harmless compiler warning. (check-in: edbf911fde user: drh tags: trunk) | |
20:11 | Fix an assert() in window.c that could fail with some obscure SELECT statements that use window functions. Ticket [678ecf429f8d1a5f] (check-in: 83dc55679a user: dan tags: trunk) | |
16:28 | Fix a problem in the encoding display in the updated PRAGMA function_list. (Closed-Leaf check-in: 318ff7720b user: drh tags: new-security-options) | |
16:00 | Fix minor typos in the trusted-schema.md document. (check-in: 87aea3ab1c user: drh tags: new-security-options) | |
15:18 | Minor formatting changes in the trusted-schema.md document. (check-in: 55553b5e5e user: drh tags: new-security-options) | |
14:51 | Design notes for the new-security-options branch. (check-in: af7c1ed4f8 user: drh tags: new-security-options) | |
13:08 | Simplified error message for the unsafe use of a virtual table. (check-in: d662129a60 user: drh tags: new-security-options) | |
01:20 | Fix a problem that restricted edgy functions in TEMP tables. New test cases added. (check-in: 8878c40753 user: drh tags: new-security-options) | |
2020-01-08
| ||
22:22 | Block edgy functions used in DEFAULT constraints. (check-in: da434dc149 user: drh tags: new-security-options) | |
20:37 | Performance improvements and test cases added. Allow "PRAGMA trusted_schema=ON" (check-in: 30882ca80f user: drh tags: new-security-options) | |
17:28 | 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 tags: new-security-options) | |
15:44 | Provide the -innocuous option to the "db func" method in the TCL interface. (check-in: 0138652b6c user: drh tags: new-security-options) | |
15:43 | Fix the rot13.c extension to be deterministic. Add the noop.c extension. (check-in: a679122ca8 user: drh tags: new-security-options) | |
14:39 | In the TreeView debugging output, show a "DDL" mark on SrcList and Expr nodes that derive from a non-TEMP schema. (check-in: fe7472fd2a user: drh tags: new-security-options) | |
13:08 | Merge recent changes from trunk. (check-in: 5962921fce user: drh tags: new-security-options) | |
12:17 | When doing a text-to-double conversion on a BLOB with an odd number of bytes and assuming a UTF16 encoding, ignore the last byte. Ticket [9eda2697f5cc1aba]. (check-in: 1c76f1d8ec user: drh tags: trunk) | |
11:36 | Fix a minor formatting error in the display of BLOB values during VDBE tracing. (check-in: 295442887a user: drh tags: trunk) | |
10:57 | Improvements to the documentation of sqlite3_create_collation(). (check-in: fa866aec56 user: drh tags: trunk) | |
04:36 | Simplification of the logic in the constant-propagation optimization. (check-in: 1c3e5c20a9 user: drh tags: trunk) | |
01:43 | Fix the constant propagation optimization so that it does not try to propagate constant expressions that have affinity. Ticket [82ac75ba0093e5dc] (check-in: 6db1c3498f user: drh tags: trunk) | |
00:39 | Fix a misworded comment. No code changes. (check-in: ee0bc7ede0 user: drh tags: trunk) | |
2020-01-07
| ||
19:45 | Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set the risk rank for many virtual tables. (check-in: 4c21373c21 user: drh tags: new-security-options) | |
18:10 | Enforce SQLITE_VTABRISK restrictions. (check-in: 3d87ff312e user: drh tags: new-security-options) | |
18:10 | Fix a performance regression caused by the previous check-in. (check-in: d7d98d3dff user: drh tags: trunk) | |
16:09 | Invert the UNTRUSTED_SCHEMA setting to be TRUSTED_SCHEMA. (check-in: f5fcf1fbc6 user: drh tags: new-security-options) | |
15:44 | Merge recent fixes from trunk. (check-in: 5dfa33a09e user: drh tags: new-security-options) | |
14:51 | Provide the ability to tag an application-defined function as "testonly". (Leaf check-in: e6f5c0e0ac user: drh tags: testonly-functions) | |
13:32 | Add an "|| CORRUPT_DB" term to an assert() statement inside of btree. (check-in: 03c1d75ddc user: drh tags: trunk) | |
09:06 | Fix an instance of an undefined behaviour (a left-shift of a 64-bit unsigned integer by a value greater than 64) that could occur in fts3. (check-in: e1f12978b5 user: dan tags: trunk) | |
2020-01-06
| ||
20:48 | In the typeof() optimization in OP_Column, expand the size of the bogus buffer provided for data so that it is big enough to cover the increased number of bytes displayed during register tracing from check-in [54553bf16fabd72d]. This is the correct fix for ticket [bbd55a97e66ff50d], though the earlier one does not hurt and is useful to retain. (check-in: e1154c39ba user: drh tags: trunk) | |
19:30 | Merge enhancements from trunk. (check-in: 9c50f6c28a user: drh tags: new-security-options) | |
19:23 | Rewrite the (debugging use only) sqlite3VdbeMemPrettyPrint() function to use the safer StrAccum interface rather than writing directly into a static string buffer. Perhaps this will address ticket [bbd55a97e66ff50d], which we are unable to reproduce. (check-in: 69f6a7e42f user: drh tags: trunk) | |
18:59 | Backout change [4d0b9109f7a5312d4e1] because the conditional it added is no longer reachable due to check-in [1409758f72c0206c]. (check-in: b3f2696705 user: drh tags: trunk) | |
18:44 | Move variable declaration to start-of-block for MSVC. (check-in: 55c136ef61 user: mistachkin tags: trunk) | |
17:33 | Do not attempt to use the skip-scan optimization if prior terms of the index are already used for non-equality constraints. Ticket [304017f5f04a0035] (check-in: d7126a9ced user: drh tags: trunk) | |
17:06 | Ensure the SF_Aggregate flag on a SELECT statement is set if a DISTINCT is transformed to a GROUP BY. Ticket [9c944882]. (check-in: 1409758f72 user: dan tags: trunk) | |
15:25 | Refactor names of flags for improved legibility. (check-in: 411e8ec221 user: drh tags: new-security-options) | |
2020-01-05
| ||
21:53 | Remove a NEVER in btree due to a new test case from dbsqlfuzz. (check-in: 46f8ef70fb user: drh tags: trunk) | |
2020-01-04
| ||
20:58 | 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 tags: new-security-options) | |
19:58 | Enhance PRAGMA function_list to show internal functions if the direct use of internal functions is enabled via the SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test control. (check-in: 7a8d7ca726 user: drh tags: new-security-options) | |
19:19 | Merge all fixes and enhancements from trunk. (check-in: b878c30f03 user: drh tags: new-security-options) | |
19:14 | Fix DBSTAT so that it returns no rows, rather than an error when the WHERE clause is "schema=NULL". (check-in: 5b246b47ae user: drh tags: trunk) | |
19:12 | Fix harmless compiler warnings. (check-in: 8452fe0343 user: drh tags: trunk) | |
18:38 | Omit the omit flat from eq constraints on column "name" of dbstat virtual tables. Fix for [74a4c386]. (check-in: cfff5cb227 user: dan tags: trunk) | |
18:33 | Record when the OP_IfNotOpen branch is and is not taken. (check-in: 182a898b14 user: drh tags: trunk) | |
17:55 | Remove another NEVER added by check-in [7b62555e285f32d3]. Dbsqlfuzz found another test case. (check-in: 481f4956af user: drh tags: trunk) | |
17:42 | New test cases in test/in4.test require rtree, so disable those tests on builds that lack the rtree extension. (check-in: b5900914f7 user: drh tags: trunk) | |
16:55 | Fix a problem where the loop for the RHS of a LEFT JOIN uses values from an IN() clause as the second or subsequent field of an index. (check-in: 95ef68966c user: dan tags: trunk) | |
15:37 | Merge the latest fixes from trunk. (check-in: 26ef709a47 user: drh tags: new-security-options) | |
15:21 | Fix a false-positive in the register validity tracking logic by moving the temporary register release call before the jump that uses that temporary register. (check-in: 9da48a5ca6 user: drh tags: trunk) | |
14:57 | Improve a testcase in test/fuzzdata8.db to make it more resilient. (check-in: 139aefe600 user: drh tags: trunk) | |
14:50 | Back out another NEVER added by check-in [7b62555e285f32d3] - the test case was already in test/fuzzdata3.db, but it only occurs if compiled without SQLITE_ENABLE_PREUPDATE_HOOK. (check-in: 61f873b14c user: drh tags: trunk) | |
14:00 | Omit the omit flag from eq constraints on column "aggregate" of dbstat virtual tables. Fix for [727074e2]. (check-in: 74ef6f2b6d user: dan tags: trunk) | |
12:34 | Restore a NEVER and an assert in btree that was removed by check-in [7b62555e285f32d3]. Dbsqlfuzz found test cases. (check-in: 04a05c83f5 user: drh tags: trunk) | |
01:43 | 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 tags: new-security-options) | |
2020-01-03
| ||
21:57 | 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 tags: new-security-options) | |
20:57 | When UNSAFE_IN_VIEW is disabled, only allow functions in views that are tagged with SQLITE_INNOCUOUS. (check-in: 9ee79b254e user: drh tags: new-security-options) | |
20:16 | In fts3, avoid making a very large memory allocation if the merge-hint record is corrupt. (check-in: 9add58fe96 user: dan tags: trunk) | |
17:40 | Add NEVER macros to error-detection branches that were made unreachable (as far as I can tell) by check-in [ceacc28b03580334]. (check-in: 7b62555e28 user: drh tags: trunk) | |
16:38 | Improvement to check-in [7405e98225761180] so that missing or null filenames given to the zipfile extension throw an immediate error. (check-in: 523e09bd22 user: drh tags: trunk) | |
15:51 | Improve a specific case of early database corruption dectecion in the b-tree layer. (check-in: ceacc28b03 user: dan tags: trunk) | |
15:22 | Merge fixes from trunk. (check-in: 002406df22 user: drh tags: new-security-options) | |
14:34 | Remove an over-zealous ALWAYS() macro and add a test case that shows that the conditional can sometimes be false. (check-in: 536e9a9d1b user: drh tags: trunk) | |
14:27 | Fix a possible NULL pointer dereference caused by using a "VALUES(...)" as a component of a compound SELECT with non-integer ORDER BY clause terms. (check-in: 9d79111642 user: dan tags: trunk) | |
14:16 | Fix the OP_Copy-coalesce optimization so that if the previous row happens to end with OP_Copy but is not a candidate for the optimization due to jumps, then the optimization is correctly bypassed. (check-in: b36126c188 user: drh tags: trunk) | |
13:55 | Ensure that when a Select object is reset a new, empty, SrcList is allocated. (check-in: 4889cbf898 user: dan tags: trunk) | |
02:20 | 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 tags: trunk) | |
00:28 | Fix a problem in sqlite3TreeViewBareExprList() in which the routine was not interpreting the new ExprList format correctly. (check-in: cd56872afb user: drh tags: trunk) | |
2020-01-02
| ||
23:50 | Merge enhancements from trunk. (check-in: 091403a670 user: drh tags: new-security-options) | |
22:28 | Add the two-size lookaside memory allocator. Also, reduce the per-entry size of the ExprList object. (check-in: 51665bf0f9 user: drh tags: trunk) | |
22:23 | NEVER() and ALWAYS() macros tagging unreachable branches. (Closed-Leaf check-in: 34b877742e user: drh tags: two-size-lookaside) | |
21:41 | Merge the latest enhancements from trunk. (check-in: bd57e6d923 user: drh tags: two-size-lookaside) | |
21:30 | Do not allow the zipfile virtual table to start a transaction if no filename has been specified. (check-in: 7405e98225 user: drh tags: trunk) | |
19:50 | Fix some test logic in the OP_Delete opcode so that it works after a cursor-trip. (check-in: 28900e5cab user: drh tags: trunk) | |
18:37 | Ifdef-out code that is only possible with the sessions extension. (check-in: 4fcf07f796 user: drh tags: trunk) | |
17:46 | Have the OP_ReleaseReg opcode also invalidate the registers if P5 is non-zero. (check-in: 937be22106 user: drh tags: trunk) | |
16:24 | Handle blobs that are the return values of functions being cast to text in utf16 databases in the same way as blobs read directly from the database. Fix for [771fe617]. (check-in: e782096aa0 user: dan tags: trunk) | |
15:02 | Fix the OP_Move opcode so that it correctly manages dependency tracking. This change impacts debugging builds only. (check-in: 5377add4b8 user: drh tags: trunk) | |
14:42 | Enhancements to aid testing and debugging: In PRAGMA vdbe_trace=on output, show pScopyFrom dependencies on register values. Add the sqlite3VdbeRegisterDump() procedure, callable from a debugger, that shows the values of all registers. Pass the VDBE pointer into test_trace_breakpoint() so that sqlite3VdbeRegisterDump() is callable from the breakpoint. (check-in: 9886cb4b79 user: drh tags: trunk) | |
13:26 | Add the test_trace_breakpoint() subroutine that is invoked after each instruction is printed while running PRAGMA vdbe_trace=on. Only works for SQLITE_DEBUG builds. Also add parameters "pc" and "pOp" to test_addop_breakpoint() to make it easier to set conditionals. (check-in: 49a6368c38 user: drh tags: trunk) | |
02:50 | Use OP_Copy instead of OP_SCopy to move the results of a scalar subquery. (check-in: 435c272dcf user: drh tags: trunk) | |
00:45 | The sqlite3WhereEnd() call now unwinds all Expr modifications made by the sqlite3WhereBegin(). (check-in: 7bfd42f1dc user: drh tags: trunk) | |
2020-01-01
| ||
23:02 | Provide the -DSQLITE_ENABLE_INTERNAL_FUNCTIONS=1 compile-time option. Fix the ".testctrl internal_function" command in the CLI so that it does not signal an error on a valid input. (check-in: 8ee2ce92c0 user: drh tags: trunk) | |
21:14 | When generating code for a subquery, make a copy of the Select object and generate the code out of the copy, in case the code generator makes modifications to expression and the Select object needs to be reused. (check-in: 4edddcc0bc user: drh tags: trunk) | |
20:17 | 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 tags: trunk) | |
16:43 | Fix the sqlite3ExprImpliesNonNullRow() routine so that it correctly handles a numeric comparison of two AND subexpressions. (check-in: 07e504d517 user: drh tags: trunk) | |
15:43 | 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 tags: trunk) | |
13:55 | Factor out code generation for in-line SQL functions into a separate routine inside of expr.c. (check-in: 586a65a28f user: drh tags: trunk) | |
01:26 | Issue OP_ReleaseReg opcodes against the array of registers used to compute index records after the index record has been computed. (check-in: e3330861b4 user: drh tags: trunk) | |
2019-12-31
| ||
23:17 | Remove an incorrect assert() statement. Ticket [46fcd700b855e6d1] (check-in: eca7ec9cda user: drh tags: trunk) | |
22:52 | 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 tags: new-security-options) | |
18:39 | Also set the SQLITE_DIRECTONLY flag on the load_extension() function. (check-in: 3bd095a531 user: drh tags: trunk) | |
18:12 | Set the SQLITE_DIRECTONLY flag on the fts3_tokenizer() function of FTS3, thus preventing that function from being called from within a trigger or view. (check-in: f3171dc22e user: drh tags: trunk) | |
15:12 | Refactor names. Use "small" instead of "mini" to describe the smaller of the two lookaside memory allocation sizes. (check-in: 88d2449838 user: drh tags: two-size-lookaside) | |
14:49 | Merge recent enhancements from trunk. (check-in: 39d5557937 user: drh tags: two-size-lookaside) | |
12:18 | The OP_ResultRow opcode releases the SCopy dependences on all its registers, as the values in those registers will not be reused. (check-in: 1dc83c5d54 user: drh tags: trunk) | |
2019-12-30
| ||
23:50 | Back out the NEVER() from check-in [40d10e7aad5b8992] because it is reachable after all. Ticket [892575cdba4e1e36] (check-in: f481636f1a user: drh tags: trunk) | |
23:41 | Add an ALWAYS() to a conditional which is apparently always true. (check-in: ea44c607b8 user: drh tags: trunk) | |
20:42 | Put a NEVER() on a defensive branch. (check-in: 40d10e7aad user: drh tags: trunk) | |
20:42 | Fix a typo in a comment. No changes to code. (check-in: d4813a8d81 user: drh tags: trunk) | |
14:32 | Do not use HIDDEN columns for NATURAL joins. Fix for [7c0e06b16]. (check-in: ab09ef4271 user: dan tags: trunk) | |
06:55 | In ALTER TABLE, rename columns and tables in expressions that are optimized out by the "AND 0" optimization. Doing this also fixes an otherwise harmless assert() failure. (check-in: a9e0354c99 user: dan tags: trunk) | |
2019-12-29
| ||
22:08 | Do not allow triggers that run as part of REPLACE conflict resolution during an UPDATE to modify the the table being updated. Otherwise, those triggers might delete content out from under the update operation, leading to all kinds of problems. Ticket [314cc133e5ada126] (check-in: db4b7e1dc3 user: drh tags: trunk) | |
00:52 | 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 tags: trunk) | |
2019-12-28
| ||
18:25 | Do not attempt to flatten compound sub-queries in a FROM clause into the parent if any component of the sub-query uses a window function. (check-in: eeb76f621d user: dan tags: trunk) | |
18:08 | Change an assert() in where.c to a testcase() macro, since the condition may be false. This was a problem with the assert() only, there is no bug in release builds that omit assert(). (check-in: 82be135dee user: dan tags: trunk) | |
16:20 | Disable early coding of transitive constraints at the end of each loop in the WHERE clause processing if the loop being coded is for a LEFT JOIN, even if the loop is part of an OR-clause optimization for virtual tables. Test cases in TH3. (check-in: 9421b442ca user: drh tags: trunk) | |
15:24 | Fix an instance where the planner might choose to use the OR-optimization when it adds no benefit. The same quirk causes an assert() to fail. This is not a bug in released versions - without the assert() the library still gets the right answer, it just does so less efficiently than it should. (check-in: f4bed1d7af user: dan tags: trunk) | |
14:33 | Further improvements to .wheretrace during loop code generation. (check-in: c4d5b75c93 user: drh tags: trunk) | |
14:07 | New enhancements to .wheretrace. The 0x20000 flag shows the WHERE clause before and after coding each loop. The 0x800 flag shows status at the start and at the end of each loop. An extra "C" tag is shown on coded terms. (check-in: 59cc46e5a6 user: drh tags: trunk) | |
13:39 | Expose some of the Where data structure debug printing routines to the entire WHERE-clause processing module. (check-in: 85e7688776 user: drh tags: trunk) | |
13:17 | Add the --enable-all option to the main configure script as a short-hand to enable FTS4, FTS5, Geopoly/Rtree, JSON, and Sessions. In the amalgamation-autoconf, the --enable-rtree option (which is enabled by default) also now activates Geopoly. (check-in: 52ea0672d7 user: drh tags: trunk) | |
13:01 | Simplifications to the initialization of the sqlite3_index_info structure that is used to communicate with virtual table modules. Avoid adding unused constraints to the sqlite3_index_info structure. Extra constraints are harmless, but might be confusing to people trying to understand the code. (check-in: 5e6357fc95 user: drh tags: trunk) | |
12:33 | If the ".wheretrace 0x10000" bit is set, print WhereTerm.prereqAll and .prereqRight fields in the WhereTerm trace output. (check-in: a4f330b133 user: drh tags: trunk) | |
11:55 | Two new test cases added to test/fuzzdata8.db. (check-in: 1be2c18f40 user: drh tags: trunk) | |
09:08 | Second attempt to fix a problem with unwinding the WITH stack of the Parse object following an error. (check-in: 315d1f1a50 user: dan tags: trunk) | |
08:33 | Merge latest trunk changes with this branch. (Closed-Leaf check-in: d693be3753 user: dan tags: better-error-handling-1) | |
08:26 | Fix an assert() failure in altertable3-22.4. (check-in: c566a91d5c user: dan tags: better-error-handling-1) | |
03:55 | Fix a faulty assert() associated with query search limiting query plans. (check-in: 0d743585c2 user: drh tags: trunk) | |
02:40 | Convert an assert() back into a conditional. The conditional was converted into an assert() by check-in [6ae4ad6ebee4db88] (2009-05-28) because we were unable to find a test case for it. Yongheng's fuzzer just now found that test case. (check-in: 4d0b9109f7 user: drh tags: trunk) | |
01:52 | When an INSERT is receiving content from a SELECT, run an OP_ReleaseReg opcode at the top of each iteration of the loop in order to prevent spurious OP_SCopy misuse complaints. Ticket [de4b04149b9fdeae] (check-in: 6afadd3b3a user: drh tags: trunk) | |
00:36 | Recompute the values for all generated columns after NOT NULL ON CONFLICT REPLACE constraints fire. Tickets [37823501c68a09f9] and [5fbc159eeb092130]. (check-in: 4cc12c1886 user: drh tags: trunk) | |
2019-12-27
| ||
20:54 | Do not attempt to unwind the WITH stack in the Parse object following an error. This fixes a separate case to [de6e6d68], but also causes an assertion fault at select.c:4666 for test case altertab3-22.4. (check-in: d29edef934 user: dan tags: better-error-handling-1) | |
20:06 | Remove a NEVER() that is no longer true. Fix for [36ffedcb9]. (check-in: 597896ed0a user: dan tags: trunk) | |
19:46 | Fix a problem involving window function aliases being referenced from sub-selects. (check-in: e3b5fc05c0 user: dan tags: trunk) | |
18:15 | Add a missing "ifcapable rtree {...}" line to the window1.test test module. (check-in: 4e6fbb1a51 user: drh tags: trunk) | |
16:25 | Fix a problem with window functions in aggregate queries that do not have GROUP BY clauses. (check-in: 99609786f4 user: dan tags: trunk) | |
15:31 | Do not mistake constant integers in a PARTITION BY expression for references to ORDER BY style references to values returned by the SELECT statement. (check-in: 45c64d39d5 user: dan tags: trunk) | |
13:30 | Follow-up to check-in [c8c6dd0e6582ec91] - change the xAccess() method to return true if the file exists and it is anything other than a regular file, or if it is a regular file with a non-zero file size. (check-in: 8a39803ef8 user: drh tags: trunk) | |
08:57 | When determining if an aggregate within a sub-query should be processed as part of the sub-query or an outer query, consider any FILTER clause in the same way as the arguments to the aggregate. (check-in: 1ffc045d2b user: dan tags: trunk) | |
01:50 | Ensure that the Pager.changeCountDone flag is cleared whenever dropping the write lock, even when transitioning from EXCLUSIVE locking mode into NORMAL locking mode while in WAL mode. Ticket [fb3b3024ea238d5c]. (check-in: 846b1de6e5 user: drh tags: trunk) | |
00:19 | Fix buffer underflows in the zipfile extension associated with zero-length or NULL filename in the ZIP archive. But report on the mailing list by Yongheng and Rui. (check-in: 465a15c5c2 user: drh tags: trunk) | |
2019-12-26
| ||
23:40 | If an UPSERT can cause an Abort due to a constraint failure, make sure the query planner knows this. Ticket [7c13db5c3bf74001]. (check-in: f14ce94866 user: drh tags: trunk) | |
23:16 | An UPDATE of a table that is indexed by a constant virtual column that uses the one-pass optimization might cause the table seek to be omitted before reaching row DELETE/INSERT. Fix this by coding an extra OP_Column in that circumstance. Ticket [ec8abb025e78f40c] (check-in: e545604959 user: drh tags: trunk) | |
14:36 | Fix an assert() in fts5 that could fail if an xSavepoint() call on another vtab fails. Fix for [167b2aac] . (check-in: a5d7f5d24a user: dan tags: trunk) | |
01:10 | Makefile.in fix so that it works on systems that require a .EXE suffix on executables. (check-in: f482a4cdfa user: drh tags: trunk) | |
01:02 | Add two new fuzzer test cases from dbsqlfuzz. (check-in: f8d5586a8c user: drh tags: trunk) | |
00:56 | In the xAccess() method of the unix VFS, return true if the named object is a directory, regardless of what stat() reports as the st_size for the object. Different filesystems report st_size differently for directories. Problem reported on the mailing list by Stefan Brüns. (check-in: c8c6dd0e65 user: drh tags: trunk) | |
00:54 | Fix an FTS3 test case that depends on the ICU extension so that it only runs if SQLite is compiled with ICU. (check-in: 19c6240bdb user: drh tags: trunk) | |
00:53 | Fix an incorrect assert() added by check-in [fa58aad48a788802]. Problem found by dbsqlfuzz. (check-in: a17b29f08c user: drh tags: trunk) | |
00:20 | Disable the optimization that tries to pull the value of an expression from an index on that expression if the expression is a constant. (check-in: e5fd8b5050 user: drh tags: trunk) | |
2019-12-25
| ||
23:54 | 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 tags: trunk) | |
2019-12-24
| ||
21:42 | Fix a minor performance regression from check-in [401c9d30e06191d9] (check-in: 76f54ee867 user: drh tags: trunk) | |
21:01 | Backout the early VTable cursor close change from yesterday, as Yongheng and Rui have found a test case for which it fails. The new test case is added to fuzzcheck. (check-in: ddb10f0374 user: drh tags: trunk) | |
20:51 | Fix a problem causing fts5 integrity-check failures if numeric values are inserted into a table within a utf-16 database. Fix for [752fdbf6]. (check-in: bae060f382 user: dan tags: trunk) | |
18:53 | Make the zipfile() extension function more robust against zero-length filenames. (check-in: b9c2005f02 user: drh tags: trunk) | |
16:20 | Fix another case where malformed utf-8 was being mishandled in fts5. Fix for [df46a6f3]. (check-in: 1c0a05b09a user: dan tags: trunk) | |
15:35 | Fix an assert() added as part of commit [a11b393dc] that can fail if fts5 database records are corrupt. (check-in: 4630c1ec01 user: dan tags: trunk) | |
15:01 | Extra defense against problems following an OOM. dbsqlfuzz find. Also import the latest dbsqlfuzz test cases. (check-in: 0a70f5ddaf user: drh tags: trunk) | |
14:27 | Fix a spurious report of corruption that could be made by the fts5 integrity-check in SQLITE_DEBUG builds if the fts5 index contains malformed utf text. Ticket [d62981b76de521e3] (check-in: a11b393dc2 user: dan tags: trunk) | |
13:41 | Convert an ALWAYS() into an assert() with an extra error term. Dbsqlfuzz find, with test case in TH3. (check-in: b473ad35c5 user: drh tags: trunk) | |
01:53 | Allow comparison operators of a register against itself. Ticket [188f912b51cd802a], (check-in: 401c9d30e0 user: drh tags: trunk) | |
2019-12-23
| ||
21:11 | Test case for the zipfile-extension bug fix of the previous check-in. (check-in: bc8bfc7fcd user: drh tags: trunk) | |
21:04 | Fix the zipfile() function in the zipfile extension so that it is able to deal with goofy filenames that contain embedded zeros. (check-in: cc0fb00a12 user: drh tags: trunk) | |
20:41 | Thoroughly reset the rtree cursor at the start of each VFilter operation, including clearing its cache. This prevents left over pages in the cache which can cause problems on shutdown after a LEFT JOIN. Ticket [5eadca17c4dde90c] (check-in: 4c50afafce user: drh tags: trunk) | |
20:07 | Remove an extra deflateInit2() call accidently left in check-in [f5ee30426e8876e7] (check-in: 953e6aa6d9 user: drh tags: trunk) | |
19:28 | Do an early close of virtual table cursors to avoid unnecessary cursor contention in UPDATE for some virtual table implementations. Ticket [56a74875be799b85] (check-in: eb95dac7f6 user: drh tags: trunk) | |
18:02 | Early detection of database corruption in balance_deeper(). (check-in: 61c2233654 user: drh tags: trunk) | |
15:17 | Fix a case in which SQLite could fail to identify "x BETWEEN ? AND ?" being true as implying that x is not null. Ticket [dfd66334]. (check-in: 2f17974912 user: dan tags: trunk) | |
14:20 | For expressions like (x, y) IN (SELECT ...) where the SELECT uses window-functions, require that all columns on the LHS be indexed before an index can be used. Fix for [d9ed4ebe]. (check-in: 0b1dbd60f5 user: dan tags: trunk) | |
13:24 | Fix a shift-overflow problem in yesterday's check-in [36fdeb4f0a66970a] that OSSFuzz helpfully discovered overnight. Thanks Google. (check-in: bff38e2b53 user: drh tags: trunk) | |
03:37 | Fix the OP_Cast operator so that when casting to TEXT, it always leaves the result in the encoding of the database. Ticket [0911b5d161b039c6]. Test cases in TH3. (check-in: f347744e0d user: drh tags: trunk) | |
02:43 | Change the assert() back into a testcase(). See also check-ins [9ab985a9c8160b90] and [ddb17d92df194337] and other check-ins that those reference. Fix for ticket [9d708e474201c001] (check-in: 2c44c73499 user: drh tags: trunk) | |
02:18 | Enhance the sqlite3VdbeMemAboutToChange() shallow-copy validation mechanism by adding the new OP_ReleaseReg opcode to tell MemAboutToChange() that a range of registers is no longer needed so that the source register can be freely changed. This is a change to debugging and test builds only and does not impact release builds. Fix for ticket [c62c5e58524b204d] and [5ad2aa6921faa1ee]. The previous fix to ticket [5ad2aa6921faa1ee] is backed out by this change since this change is a better fix. (check-in: 36fdeb4f0a user: drh tags: trunk) | |
2019-12-22
| ||
23:48 | Change the code generator for the IN operator so that it avoids creating OP_Eq and OP_Ne opcode with the same P1 and P3 arguments. This enables us to back out check-in [ddb17d92df194337] and also fix ticket [188f912b51cd802]. (check-in: 9ab985a9c8 user: drh tags: trunk) | |
20:29 | Make a hard copy of strings in constraint checks prior to applying OP_RealAffinity, to avoid problems with a pointer accounting assert. This change is not strictly necessary - the correct answer is obtained without it and no UB occurs - however the pointer accounting asserts are useful to prevent other problems so it is a simple matter to bring this piece into compliance. Ticket [5ad2aa6921faa1ee] (check-in: 89a9dad633 user: drh tags: trunk) | |
20:03 | When constructing the virtual MATCH term of the WHERE clause for a virtual table that is in a LEFT JOIN, be sure to set the correct Expr.iRightJoinTable value. This value does not appear to ever be used, except inside of a single assert(). But it is good to set it correctly, nevertheless. This fixes ticket [7929c1efb2d67e98], which as far as I can tell is completely harmless. (check-in: ef604882a2 user: drh tags: trunk) | |
19:41 | In the WHERE clause debugging output (the .wheretrace output) show the parent index of any WhereTerm that is a child. (check-in: 7fc733328c user: drh tags: trunk) | |
18:55 | Fix to the optimization of check-in [a47efb7c8520a011] that reads the values of expressions used in an index-on-expression directly from the index rather than recomputing the value. If the expression has a top-level COLLATE or unlikely() operator, be sure to clear the corresponding flags prior to converting it into a TK_COLUMN expression. Failure to do this is most likely harmless in production, but might cause an assertion fault in debugging builds. Ticket [b0cb8aff561a6dcd]. Test cases in TH3. (check-in: 56539e1c13 user: drh tags: trunk) | |
18:23 | Back out the asserts of check-ins [a500893b6f64aced] and [d9c9fe9f5ad3fc91] as ticket [1b06916e01c82b66] demonstrates a case that refutes them. (check-in: ddb17d92df user: drh tags: trunk) | |
18:06 | When parsing a CREATE TABLE from the sqlite_master table, delete the CHECK constraints if there are any errors, since there might otherwise be attempts to use those CHECK constraints if PRAGMA writable_schema=ON is set. This undoes the fix in check-in [ea721b34477ab8b4] for a more general solution. (check-in: a982e6434c user: drh tags: trunk) | |
17:32 | Ensure sqlite3WindowRewrite() is called on a SELECT statement before any terms aremoved from it as part of IN() clause processing. Fix for [f00d096ca]. (check-in: 8c856404b4 user: dan tags: trunk) | |
14:29 | Fix "PRAGMA data_version" so that it works the same way with locking_mode=PERSIST and journal_mode=PERSIST configured. Fix for 7a458c2a5f. (check-in: 45748e2db0 user: dan tags: trunk) | |
2019-12-21
| ||
20:43 | Fix a spurious report of corruption from the fts3/4 integrity-check triggered by using the languageid option. (check-in: 70815e273f user: dan tags: trunk) | |
19:37 | When creating a new virtual table, ensure that the OP_ParseSchema opcode processes the correct entry in the sqlite_master table even if there is a second entry with the same name and table values due to database corruption and the use of writable_schema=ON. Dbsqlfuzz find. (check-in: 4dbb6e1cb0 user: drh tags: trunk) | |
14:09 | When a corrupt schema is loaded using writable_schema=ON, the CHECK constraints (or other expressions in the table definition) might not be fully resolved. Ensure that the code generator can deal with this if the table is subsequently used in a DML statement. dbsqlfuzz find. (check-in: ea721b3447 user: drh tags: trunk) | |
2019-12-20
| ||
22:46 | Do not try to access a generated column through an index if the collating sequence for the generated column is non-standard. Part 2 of ticket [e0a8120553f4b082] (check-in: 056bb8dcbd user: drh tags: trunk) | |
20:45 | Apply real affinity to generated columns of type REAL that are extract from an index. Ticket [e0a8120553f4b082] (check-in: 728ad39e3b user: drh tags: trunk) | |
20:08 | Debugging enhancment: Show the Expr.y.pTab pointer on TK_COLUMN nodes of an expression tree in the treeview. (check-in: 64154ac450 user: drh tags: trunk) | |
20:03 | Fix a bad interaction between RBU and [df51ae19]. (check-in: 0b9d8a1202 user: dan tags: trunk) | |
19:41 | Fix two more cases in fts5 where sqlite3_value_bytes() was being called before sqlite3_value_text(). Fix for e431c355. (check-in: a1ba9a37d7 user: dan tags: trunk) | |
17:41 | Export the public RBU entry points from the Win32 DLL. (check-in: e62d1791f4 user: mistachkin tags: trunk) | |
17:25 | Debugging improvement: when tracing the VDBE, output the register value for OP_Cast after the cast is completed. (check-in: dc5f1d282d user: drh tags: trunk) | |
15:35 | When computing dependencies on WHERE-clause terms, be sure to take into account the FILTER clause of aggregate functions. Problem reported by Manuel Rigger. (check-in: 3cc2b5709e user: drh tags: trunk) | |
14:37 | Improved assert() statements on the OP_Column opcode. (check-in: c538601e4c user: drh tags: trunk) | |
14:24 | Load new dbsqlfuzz test cases into test/fuzzdata8.db. (check-in: 01aeeb5c4c user: drh tags: trunk) | |
14:18 | Fix a potential problem with ALTER TABLE commands on schemas that contains a triggers or view featuring a sub-query that uses an ON clause with a join that is not a LEFT JOIN. (check-in: 365dd8b663 user: dan tags: trunk) | |
14:08 | Fix harmless compiler warnings. (check-in: 2bbd014c90 user: drh tags: trunk) | |
13:24 | Ensure fts5 consistently calls sqlite3_value_text() before sqlite3_value_bytes(). This matters when storing blobs in fts5 tables within utf-16 databases. Fix for [cf36cb4e02]. (check-in: c16305eba0 user: dan tags: trunk) | |
12:55 | Do not continue an ALTER TABLE tree walk of a subquery if a prior error is seen in the tree. Report the problem immediately, without continuing. (check-in: 01ca865f31 user: drh tags: trunk) | |
12:33 | Fix an assert() in btree.c that can fail if an INSERT is attempted on a corrupted database while in PRAGMA writable_schema=ON. (check-in: 07beb3629e user: drh tags: trunk) | |
2019-12-19
| ||
22:08 | Continuation of [e2bddcd4c55ba3cb]: Add another spot where it is necessary to abort early due to prior errors in sqlite3WindowRewrite(). (check-in: cba2a2a44c user: drh tags: trunk) | |
21:11 | Fix the regexp extension so that it correctly translates all over-length 3-byte UTF8 sequences into 0xfffd. (check-in: 3d4c0bf890 user: drh tags: trunk) | |
20:37 | When an error occurs while rewriting the parser tree for window functions in the sqlite3WindowRewrite() routine, make sure that pParse->nErr is set, and make sure that this shuts down any subsequent code generation that might depend on the transformations that were implemented. This fixes a problem discovered by the Yongheng and Rui fuzzer. (check-in: e2bddcd4c5 user: drh tags: trunk) | |
17:42 | Detect the invalid use of NULLS LAST on an INTEGER PRIMARY KEY definition of a WITHOUT ROWID table. (check-in: 4417c5bf0a user: drh tags: trunk) | |
15:15 | Fix the zipfile extension so that INSERT works even if the pathname of the file being inserted is a NULL. Bug discovered by the Yongheng and Rui fuzzer. (check-in: a80f84b511 user: drh tags: trunk) | |
13:17 | Fix incorrect SQL generated by the Lemon change of the previous check-in. (check-in: fccfb8a9ed user: drh tags: trunk) | |
12:29 | Modify the parse.sql output file from Lemon so that the RULE table contains a column with the complete text of the rule. (check-in: 329cbb372d user: drh tags: trunk) | |
00:59 | Minor enhancement to Win32 locking semantics. (Leaf check-in: ed66ffce57 user: mistachkin tags: win32LockFlags) | |
2019-12-18
| ||
21:22 | Change an unreachable testcase() into an assert() (check-in: 062e00c4d7 user: drh tags: trunk) | |
20:51 | Continue to back away from the LEFT JOIN optimization of check-in [41c27bc0ff1d3135] by disallowing query flattening if the outer query is DISTINCT. Without this fix, if an index scan is run on the table within the view on the right-hand side of the LEFT JOIN, stale result registers might be accessed yielding incorrect results, and/or an OP_IfNullRow opcode might be invoked on the un-opened table, resulting in a NULL-pointer dereference. This problem was found by the Yongheng and Rui fuzzer. (check-in: 862974312e user: drh tags: trunk) | |
13:42 | Add the --vdbe-debug option to fuzzcheck. (check-in: 289158aa24 user: drh tags: trunk) | |
13:02 | Enhancements to fuzzcheck on unix so that it captures signals and prints the current test file and test number prior to terminating. (check-in: ae7cbb246b user: drh tags: trunk) | |
09:17 | Add a test case for fix in check-in [1ca0bd982ab1183b] (check-in: 519864da8b user: drh tags: trunk) | |
02:12 | Correctly unwind the savepoint stack if the database goes read-only in the middle of a savepoint. (check-in: a96d02b4ab user: drh tags: trunk) | |
01:31 | Remove an assert() in the code generator that can fail due to an invalid INSERT statement. The same assert() appears again in the VDBE and will fire there if the problem persists in an SQL statement that does not contain errors. Gramfuzz find. (check-in: 9bdd57cb9a user: drh tags: trunk) | |
00:05 | When processing constant integer values in ORDER BY clauses of window definitions (see check-in [7e4809eadfe99ebf]) be sure to fully disable the constant value to avoid an invalid pointer dereference if the expression is ever duplicated. This fixes a crash report from Yongheng and Rui. (check-in: 1ca0bd982a user: drh tags: trunk) | |
2019-12-17
| ||
12:03 | Clean up the ExprList that holds the names of columns in a CTE before checking for unused references in the ALTER TABLE implementation. (check-in: 8223e79f98 user: drh tags: trunk) | |
2019-12-16
| ||
16:52 | When a table is part of a LEFT JOIN and should be a completely NULL row due to the semantics of a LEFT JOIN, make sure any generated columns on that row evaluate to NULL. Ticket [3b84b42943644d6f] (check-in: 0271491438 user: drh tags: trunk) | |
2019-12-15
| ||
02:49 | Ensure that all ON CONFLICT REPLACE indexes are sorted to the end of the list of indexes for a table, even for weird cases where the same UNIQUE constraint occurs twice with the ON CONFLICT REPLACE clause only on the second one. This avoids an out-of-order contraint processing problem that can arise due to the optimization of check-in [469a62ca33081854]. (check-in: 1e3918ca2f user: drh tags: trunk) | |
00:36 | Abort the OP_Savepoint opcode early if a virtual table xSync method fails, perhaps due to an interrupt. (check-in: 672e749aef user: drh tags: trunk) | |
2019-12-14
| ||
19:55 | When a generated column expression is initially parsed, if it contains errors convert the expression to a simple NULL. This prevents additional pieces of the expression tree that are allocated from lookaside from leaking into the schema, where lookaside allocations are not allowed. (check-in: a89b386056 user: drh tags: trunk) | |
18:08 | Due to the previous change, the p5 parameter to OP_VColumn no longer ever contains extraneous bits, so change a testcase() into an assert() to show as much. (check-in: 5b4a88cd3b user: drh tags: trunk) | |
17:43 | Do not set OP_Column flags on the instructions generated by sqlite3ExprCodeGetColumn() if the opcode generated is not really an OP_Column, which might happen if the column is virtual. Fix for ticket [b439bfcfb7deedc6] (check-in: 2401e04730 user: drh tags: trunk) | |
15:01 | Make the sqlite3ExprCodeTarget() expression code generator routine robust in the face of unknown opcodes - it simply generates a NULL value. (check-in: f8e876c82a user: drh tags: trunk) | |
14:15 | Fix problems in fts3 with processing corrupt records and undefined integer overflows. (check-in: 3b873029ef user: dan tags: trunk) | |
2019-12-13
| ||
23:38 | Fix an utterly harmless "applying zero offset to null pointer" UB warning in sqlite3AtoF(): (check-in: 052fdf5e58 user: drh tags: trunk) | |
22:59 | Initial exploration of blocky APIs, starting with a variant of sqlite3_exec. (Leaf check-in: fd849d5b6a user: numist tags: blocky-exec) | |
21:24 | Patch to the page cache to avoid harmless pointer arithmetic that due to bugs in the STD-C spec is technically UB. This is to fix a harmless UBSAN complaint that OSSFuzz is hitting. (check-in: c29fc21288 user: drh tags: trunk) | |
16:04 | Change the default lookaside configuration to 40 slots of 1200-bytes each. This actually works out to 30 big slots and 93 small slots using the mini-lookaside allocator. We get the same (or better) lookaside coverage but with 72KB less memory per connection. (check-in: 47b71a84d1 user: drh tags: two-size-lookaside) | |
15:48 | Cleanup and performance enhancements for mini-lookaside. (check-in: 7480566843 user: drh tags: two-size-lookaside) | |
12:14 | Merge fixes from trunk. (check-in: 9c471195f6 user: drh tags: two-size-lookaside) | |
11:42 | Ensure that there is a containing SELECT statement when processing a normal aggregate function as if it were a window function. (check-in: c1014e80b2 user: drh tags: trunk) | |
11:32 | *Remove* the macros, not just comment them out. (check-in: e5dc2939d3 user: drh tags: trunk) | |
11:31 | Remove unused macros formerly used to define built-in aggregate functions. (check-in: 3ef0d44edd user: drh tags: trunk) | |
01:12 | Reduce the size of ExprList to 24-bytes per entry, down from 32-bytes per entry. This helps keep lookaside allocations in the mini-size. (check-in: bda92d92bf user: drh tags: two-size-lookaside) | |
00:49 | Tie up the loose ends in the ExprList size reduction. (Leaf check-in: 59d0f3afe5 user: drh tags: two-size-lookaside, exprlist-size-reduction) | |
2019-12-12
| ||
22:11 | 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 tags: two-size-lookaside, exprlist-size-reduction) | |
20:58 | Reduce the number of call sites to dbMallocRawFinish in the case where n > lookaside.sz (check-in: e392e7f228 user: numist tags: two-size-lookaside) | |
20:39 | Fix an issue where malloc could be used to fulfill a small allocation when a large lookaside slot could have beeen used instead. (check-in: 611020e337 user: numist tags: two-size-lookaside) | |
20:22 | 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 tags: two-size-lookaside) | |
17:17 | Change the size of a mini-lookaside allocation to a macro (MINI_SZ) rather than a magic number (128). (check-in: 5e1949bca9 user: drh tags: two-size-lookaside) | |
16:49 | Merge enhancements from trunk. (check-in: 6cb053f99b user: drh tags: two-size-lookaside) | |
15:19 | Factor out the conditional (which is only true for rare errors) from the notValid() function in resolve.c, for a performance improvement and size reduction. Also cause failures to set the Expr node to a NULL operator so that it does not cause problems later in case PRAGMA writable_schema=ON has been set. Test cases in TH3. (check-in: c6af9f655b user: drh tags: trunk) | |
02:50 | More efficient implementation of a lookaside allocator that supports mini (in this case, harcoded to 128B) slots. (check-in: b02fdc09c8 user: numist tags: two-size-lookaside) | |
00:20 | Fix goofy string formatting in lemon.c that dates from the K&R-C days. (check-in: 48ba5e5a22 user: drh tags: trunk) | |
2019-12-11
| ||
18:53 | Improved tracing output from the LEMON-generated parser. (check-in: 4d6d2fc046 user: drh tags: trunk) | |
16:22 | Strengthen check-in [83da4d4104ee1870] by ignoring *all* WHERE-clause constraints for a virtual table that is the right table of a LEFT JOIN, as such constraints are never useful. This fixes an issue discovered by Manuel Rigger. (check-in: 840de36df1 user: drh tags: trunk) | |
15:07 | When trying to drop a virtual table that has no xDestroy method, invoke the xDisconnect method rather than doing nothing, to avoid a memory leak. (check-in: 1fa29a5f2a user: drh tags: trunk) | |
14:25 | The xDestroy method of a module might be NULL if the schema is corrupt. (check-in: 0457e7d196 user: drh tags: trunk) | |
2019-12-10
| ||
20:41 | Enhance LEMON to provide the ability to mark a rules as one that will never reduce due to intervention of actions. Use this new capability to designate the EXPLAIN rule as NEVER-REDUCES. (check-in: 136cdefb2f user: drh tags: trunk) | |
18:10 | Use a statement journal on a CREATE VIRTUAL TABLE statement in case the VCreate opcode fails. (check-in: aa3b0eb8c3 user: drh tags: trunk) | |
15:05 | Fix parser bugs: require a semicolon after an EXPLAIN command. (check-in: 707a058a22 user: drh tags: trunk) | |
03:40 | Avoid a buffer overread in fts5 that could occur when parsing corrupt configuration records. (check-in: 355afd77df user: dan tags: trunk) | |
02:48 | Set the affinity of regular columns prior to computing the values of generated columns. Ticket [d7c3f125c925c522] (check-in: d47d66e3d3 user: drh tags: trunk) | |
2019-12-09
| ||
19:44 | Rename a local variable to avoid masking a function parameter and thus causing a harmless compiler warning. (check-in: f065cf003b user: drh tags: trunk) | |
19:29 | Add a NEVER() to the ALTER TABLE fix in check-in [1d2e53a39b87e364] (check-in: c7309ed3c7 user: drh tags: trunk) | |
18:22 | The previous check-in was not quite correct, and introduced a new problem with the USING clause. Use this version instead. (check-in: ed28aaa485 user: drh tags: trunk) | |
17:14 | Ensure that the SrcList_item.colUsed field is set correctly (set to have a 1 for all columns of the table) when a generated column appears in the USING clause of a join. (check-in: 1923efb283 user: drh tags: trunk) | |
15:52 | Fix the NOT NULL verification logic in PRAGMA integrity_check so that it works for generated columns whose value is the result of a comparison operator. Ticket [bd8c280671ba44a7] CVE-2019-19646. (check-in: f3b39c71b8 user: drh tags: trunk) | |
14:34 | Fix a gramfuzz find. If a partial index that does not reference any column of its table is used by an UPDATE statement in one-pass mode, then avoid the use of OP_DeferredSeek since the seek might not be resolved prior to the OP_Delete and OP_Insert that implement the UPDATE. (check-in: e3398c5ffb user: drh tags: trunk) | |
08:13 | 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 tags: trunk) | |
02:20 | Fix possible null pointer dereferences in the fts5_expr() scalar function. (check-in: c5d4414359 user: dan tags: trunk) | |
2019-12-08
| ||
00:06 | Fix incorrect column-usage accounting associated with generated columns and added by check-in [6601da58032d18ae]. Fix for ticket [b92e5e8ec2cdbaa1]. (check-in: 9d75e1ccc7 user: drh tags: trunk) | |
2019-12-07
| ||
13:42 | Correctly deal with multi-row VALUES clauses that contain window functions. (check-in: 26d991f214 user: drh tags: trunk) | |
12:13 | Ignore type affinity for auxiliary columns in RTREE as it is too error-prone to try to parse out the type from other constraints. Ticket [8bf76328ac940d52] (check-in: 7fa664ea0e user: drh tags: trunk) | |
00:22 | Fix a problem with foreign keys and generated columns discovered by Manuel Rigger. (check-in: 27c0fdab1b user: drh tags: trunk) | |
2019-12-06
| ||
19:07 | Early detection and reporting of too few columns in an rtree CREATE VIRTUAL TABLE statement. (check-in: ef73107f47 user: drh tags: trunk) | |
13:10 | In the rtree extension, actively suppress extra tokens on the column names, and be pedantic about column affinities. Ticket [367a86e28859f1ff] (check-in: 97fb5a72f9 user: drh tags: trunk) | |
11:48 | The check-in [b7810062ec2489e1] was not quite right in that it allowed an oversized shift operation (which is UB in C) on some obscure inputs. OSSFuzz found the problem for us overnight. (check-in: 62f2235adf user: drh tags: trunk) | |
01:38 | Further enhancements to RTREE, following up to check-in [f898d04cf272ef01] so that constraints are allowed to be compared to strings that look like numbers. Ticket [aa573a787b8f1fdf] (check-in: 32772dfd50 user: drh tags: trunk) | |
01:23 | Do not allow UPSERT of a view. (check-in: ebf897e861 user: drh tags: trunk) | |
2019-12-05
| ||
21:46 | Fix to the rowvalue logic that avoids disabling rowvalue inequality contraints on a virtual table when the virtual table sets the omit flag. The logic has been incorrect since row-values were added. However, this does not come up often as very few virtual tables implement inequality constraints using the omit flag. Ticket [f096d191b6641daa] (check-in: b7810062ec user: drh tags: trunk) | |
18:29 | Documentation update: Clarify that the sqlite3_index_info.aConstraintUsage.omit flag is a hint only and that the code generator is not obligated to follow the hint. (check-in: 7d3e3f6e7e user: drh tags: trunk) | |
17:31 | Additional debugging information printed with the ".wheretrace 0x100" option. No changes to normally delivered code. (check-in: fc72ec52c9 user: drh tags: trunk) | |
14:42 | Make sure the rowid of an RTREE virtual table has integer affinity. Ticket [9fe487ba3c064b4e] (check-in: 7ae8c0d52f user: drh tags: trunk) | |
14:31 | 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 tags: trunk) | |
13:34 | Be strict about type enforcement on rowid look-ups in the RTREE extension. Ticket [30e2c183b6b356e4] (check-in: d43e0efb96 user: drh tags: trunk) | |
00:44 | Enhance the RTREE extension so that it give correct query results even if the query uses non-numeric constraints. Ticket [a55ab6d97d01ecbc] (check-in: f898d04cf2 user: drh tags: trunk) | |
2019-12-04
| ||
19:45 | Window functions are never constant. (check-in: 35f0b5a8c7 user: drh tags: trunk) | |
15:08 | Ensure that an ALWAYS() in the rename logic really is always true, even for faulty inputs. (check-in: 54410f0e77 user: drh tags: trunk) | |
14:26 | Fix an assert() failure that could occur in ALTER TABLE code when the schema contains a view that uses a CTE. (check-in: 75b04a4b0d user: dan tags: trunk) | |
03:46 | Fix a buffer overread that could occur in fts3 with corrupt %_stat records. (check-in: e01fdbf9f7 user: dan tags: trunk) | |
03:31 | Fix an incorrect NEVER() macro. (check-in: 96b6a76da0 user: drh tags: trunk) | |
01:42 | Fix a double-free that could occur when a component of a compound SELECT with an ORDER BY clause uses named window definitions. (check-in: 92893b7980 user: dan tags: trunk) | |
2019-12-03
| ||
03:34 | Avoid a crash that could occur when a database containing a table with a temp trigger that has the same name as a temp table is detached. (check-in: c4cb9708d4 user: dan tags: trunk) | |
03:31 | Avoid a harmless zero offset of a null pointer in FTS3, so as to not provoke unnecessary warnings from run-time checkers. (check-in: 85d95abec4 user: drh tags: trunk) | |
02:51 | Avoid computing a zero offset of a null pointer, which though this is technically harmless, is upsetting to pedantic run-time checkers. (check-in: 3ce804e99b user: drh tags: trunk) | |
2019-11-30
| ||
19:29 | Do not allow a term in the WHERE clause of the query to qualify a partial index on the right table of a LEFT JOIN. Ticket [7f39060a24b47353] (check-in: 4066a34da7 user: drh tags: trunk) | |
2019-11-29
| ||
13:01 | Add comments in the parse.sql file to help demonstrate how rules are encoded. (check-in: 2c4f714892 user: drh tags: trunk) | |
12:51 | Fix the parse.sql output file so that it is readable into a database where foreign keys are enforced. (check-in: 3a82c554c3 user: drh tags: trunk) | |
2019-11-27
| ||
20:40 | More details on the comment justifying the aleged data race in the WAL-mode checkpoint logic. (check-in: 0fab65c79f user: drh tags: trunk) | |
12:03 | Fix obsolete comment. No changes to code. (Leaf check-in: 0ff59edbbb user: drh tags: reuse-shm) | |
2019-11-26
| ||
14:24 | Fix various documentation typos suggested by Mark Benningfield. No changes to code. (check-in: 08f09dc4f9 user: drh tags: trunk) | |
11:10 | Fix to check-in [5d9a369301a65f32] so that it compiles without SQLITE_DEBUG. (check-in: fefe2d0467 user: drh tags: trunk) | |
02:22 | Add the new -S option to the lemon parser generator to cause it to output SQL that describes the input grammar. (check-in: 4dbd398d64 user: drh tags: trunk) | |
02:03 | Fix an assert() in fts3 that could fail due to corrupt database records. (check-in: 5d9a369301 user: dan tags: trunk) | |
2019-11-25
| ||
23:55 | Experimental file-controls for controlling the use of the -shm file. (check-in: 12b8fa2336 user: drh tags: reuse-shm) | |
04:15 | Modify journal3.test so that it can handle Tcl command "file attr <file> -perm" returning octal values in either "00755" or "0o755" format. (check-in: b0b655625c user: dan tags: trunk) | |
00:07 | Minor enhancements to the TclKit download tool. (check-in: 75e31b1d56 user: mistachkin tags: trunk) | |
2019-11-23
| ||
16:34 | Abort the window function tree rewrite early following an OOM. (check-in: d66f95a515 user: drh tags: trunk) | |
15:10 | Avoid evaluating PARTITION BY or ORDER BY expressions multiple times for window function queries that use multiple window functions with the same window-definition. (check-in: 57070c68bb user: dan tags: trunk) | |
08:51 | Enhance the path arguments in JSON functions to access "#-N" array indexes. (check-in: ffeec62cb5 user: drh tags: trunk) | |
08:36 | Fix a memory leak in fts5 error handling code. (check-in: de6637e15d user: dan tags: trunk) | |
2019-11-22
| ||
17:37 | Extend the json-path mechanism with array indexes of the form "#" or "#-n" for some positive number "n", to reference the end of an array. (Closed-Leaf check-in: 35ed68a651 user: drh tags: json-path-enhancement) | |
11:49 | Fix a harmless compiler warning. (check-in: 34343c4b06 user: drh tags: trunk) | |
11:47 | Fix an indentation error and improve the placement of an assert() based on a tweet from Yuri Kotov. (check-in: e6314e386c user: drh tags: trunk) | |
11:38 | Add more test cases from Yongheng Chen and Rui Zhong. (check-in: f24e6ca4f2 user: drh tags: trunk) | |
10:14 | Fix a crash that could occur if a sub-select that uses both DISTINCT and window functions also used an ORDER BY that is the same as its select list. (check-in: bcdd66c169 user: dan tags: trunk) | |
00:42 | Revise the SQLITE_OPEN_NOFOLLOW so that it actually uses O_NOFOLLOW in the open() system call. This backs out the SQLITE_ACCESS_SYMLINK value but adds the new SQLITE_OK_SYMLINK return code from the xFullPathname method of sqlite3_vfs when that routine resolves symbolic links. O_NOFOLLOW is always included in open() system calls for journal files. (check-in: 6a64fb6a2d user: drh tags: trunk) | |
2019-11-21
| ||
20:24 | Add all fuzz-test cases received from Yongheng Chen and Rui Zhong. Also fix a minor problem in gencol1.test cases. (check-in: ac080432b4 user: drh tags: trunk) | |
20:10 | Fix an out-of-bounds array reference in the generated column logic. Problem discovered by valgrind. (check-in: a0ab42f779 user: drh tags: trunk) | |
19:37 | Whenever a generated column is used, assume that all columns are used. (check-in: 6601da5803 user: drh tags: trunk) | |
18:28 | Fix a problem that comes up when using generated columns that evaluate to a constant in an index and then making use of that index in a join. (check-in: 8b12e95fec user: drh tags: trunk) | |
17:14 | Fix a recently introduced memory leak in the test code in test_vfs.c. (check-in: 2d53a30cc2 user: dan tags: trunk) | |
14:20 | Prevent direct and indirect recursive content= options in fts3/4 and fts5. (check-in: 2eb997327c user: dan tags: trunk) | |
2019-11-20
| ||
16:10 | Fix a use-after-free problem in the test suite. No changes to production code. (check-in: 0d1055a5da user: dan tags: trunk) | |
13:31 | Further improve detection of corrupt records in fts3. Also fix an error with check-in [dfcf081d842629a0] (check-in: a0f6d526ba user: dan tags: trunk) | |
12:07 | Changes to extensions and test logic so that the build works with gcc and with -std=iso9899:1999 (check-in: 2575a68c39 user: drh tags: trunk) | |
2019-11-19
| ||
21:22 | Enhancements to DBSTAT: (1) Make name=? queries efficient. (2) Add the ability to aggregate results across each individual btree using the aggregate=TRUE constraint in the WHERE clause. (check-in: a48f6e1759 user: drh tags: trunk) | |
18:48 | Get the aggregate=TRUE feature working on the DBSTAT virtual table. (Closed-Leaf check-in: 16fef3db06 user: drh tags: dbstat-enhancements) | |
14:01 | Begin an enhancement effort for the built-in DBSTAT virtual table. (check-in: 9b5722f0fe user: drh tags: dbstat-enhancements) | |
00:13 | Make the result of sqlite3_normalized_sql() survive its statement being reprepared. (check-in: 4330f0795d user: mistachkin tags: trunk) | |
2019-11-18
| ||
23:48 | Add support for the SQLITE_ACCESS_SYMLINK flag in the Win32 VFS. (check-in: 175c15008e user: mistachkin tags: trunk) | |
22:34 | Ensure all file names passed to the VFS layer are double-zero terminated. (check-in: 251230cf43 user: mistachkin tags: trunk) | |
18:43 | In the SQLITE_OPEN_NOFOLLOW processing, distinguish between an I/O error on the xAccess() call and an actual symlink encounter. (check-in: 2e98b42fcb user: drh tags: trunk) | |
17:46 | Add support for SQLITE_OPEN_NOFOLLOW. (check-in: cb79c82849 user: drh tags: trunk) | |
14:04 | Improvements to detection of corruption in the %_stat shadow table of FTS4. (check-in: 6b67eba54e user: drh tags: trunk) | |
12:04 | Further improvements to shadow table corruption detection in FTS3. (check-in: e35d8c76aa user: drh tags: trunk) | |
11:14 | Detect and prevent infinite recursion in fts3SelectLeaf() due to a malformed FTS3 btree. (check-in: dfcf081d84 user: drh tags: trunk) | |
10:37 | Improved detection of corruption in the %_stat table of FTS4. Chromium ticket 1025467. (check-in: 10f8a3b718 user: drh tags: trunk) | |
2019-11-17
| ||
11:47 | Fix an assert that can fail if the schema is corrupt. (check-in: ed57c48e4b user: drh tags: trunk) | |
02:41 | Better detection of corruption in the %_stat and %_docsize shadow tables of FTS3. (check-in: 1e44968788 user: drh tags: trunk) | |
00:08 | Remove a reachable NEVER() in FTS3. (check-in: 8bd75bf636 user: drh tags: trunk) | |
2019-11-16
| ||
23:47 | More improvements to shadow table corruption detection in FTS3. (check-in: 51525f9c32 user: drh tags: trunk) | |
21:40 | Improved detection of corrupt shadow tables in FTS3. Enable the debugging special-inserts for FTS3 for both SQLITE_DEBUG and SQLITE_TEST. (check-in: 04b2873be5 user: drh tags: trunk) | |
16:54 | More restrictions on changes to shadow tables when in defensive mode. (check-in: bae76a5c40 user: drh tags: trunk) | |
14:15 | Do not allow CREATE TABLE or CREATE VIEW of an object with a name that looks like a shadow table name. (Closed-Leaf check-in: 6aef58b629 user: drh tags: defensive-improvements) | |
13:51 | Break out the test for writable shadow tables into a separate subroutine. (check-in: 8ad34d36a1 user: drh tags: defensive-improvements) | |