]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Wed, 27 Nov 2019 12:03:24 +0000 (12:03 +0000)]
drh [Mon, 25 Nov 2019 23:55:14 +0000 (23:55 +0000)]
Experimental file-controls for controlling the use of the -shm file.
FossilOrigin-Name:
12b8fa233697f9f4026eb14fb7454c180f61aa639b1834ccdc8dcfde4420d3a4
drh [Sat, 23 Nov 2019 16:34:40 +0000 (16:34 +0000)]
Abort the window function tree rewrite early following an OOM.
FossilOrigin-Name:
d66f95a51530259ab48f78c9f91acc38055caf338b6fee846b99a8c077466e95
dan [Sat, 23 Nov 2019 15:10:28 +0000 (15:10 +0000)]
Avoid evaluating PARTITION BY or ORDER BY expressions multiple times for window function queries that use multiple window functions with the same window-definition.
FossilOrigin-Name:
57070c68bbe15fc1d19a765182432e844c082909bdbc63b58fd86b96e2c521dd
drh [Sat, 23 Nov 2019 08:51:21 +0000 (08:51 +0000)]
Enhance the path arguments in JSON functions to access "#-N" array indexes.
FossilOrigin-Name:
ffeec62cb5223ae70bc1889df4c0b241f5d17b1a10156362ca59953028741480
dan [Sat, 23 Nov 2019 08:36:35 +0000 (08:36 +0000)]
Fix a memory leak in fts5 error handling code.
FossilOrigin-Name:
de6637e15d95b7aee2caea8b8d5b9865f276cbbf152ecf0401c4c7bfdf6dee6f
drh [Fri, 22 Nov 2019 17:37:56 +0000 (17:37 +0000)]
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.
FossilOrigin-Name:
35ed68a651f4cf8740597433b0f1c3b345841868022e0904e9f342840ba0e502
drh [Fri, 22 Nov 2019 11:49:39 +0000 (11:49 +0000)]
drh [Fri, 22 Nov 2019 11:47:04 +0000 (11:47 +0000)]
Fix an indentation error and improve the placement of an assert() based
on a tweet from Yuri Kotov.
FossilOrigin-Name:
e6314e386c6877c669bd32788d3886253b0a187bee2c3889f4eaba219f5e52c7
drh [Fri, 22 Nov 2019 11:38:40 +0000 (11:38 +0000)]
Add more test cases from Yongheng Chen and Rui Zhong.
FossilOrigin-Name:
f24e6ca4f23008212ec05cace9202dbeb37ee34530ead91fac2f5e3eac7f6347
dan [Fri, 22 Nov 2019 10:14:01 +0000 (10:14 +0000)]
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.
FossilOrigin-Name:
bcdd66c1691955c697f3d756c2b035acfe98f6aad72e90b0021bab6e9023b3ba
drh [Fri, 22 Nov 2019 00:42:01 +0000 (00:42 +0000)]
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.
FossilOrigin-Name:
6a64fb6a2da6c98f1e87b55ad5689967e1db4eae2e08345471d95e28cd567e0f
drh [Thu, 21 Nov 2019 20:24:04 +0000 (20:24 +0000)]
Add all fuzz-test cases received from Yongheng Chen and Rui Zhong. Also
fix a minor problem in gencol1.test cases.
FossilOrigin-Name:
ac080432b480062507452d3cdbe6c0f759e6f95b65d9862e0462017405ab2b8e
drh [Thu, 21 Nov 2019 20:10:31 +0000 (20:10 +0000)]
Fix an out-of-bounds array reference in the generated column logic.
Problem discovered by valgrind.
FossilOrigin-Name:
a0ab42f779b9a96f4e43879210dfaba8fa593de77fc0ec0e2e6f116d9301ea59
drh [Thu, 21 Nov 2019 19:37:00 +0000 (19:37 +0000)]
Whenever a generated column is used, assume that all columns are used.
FossilOrigin-Name:
6601da58032d18ae00b466c0f2077fb2b1ecd84225b56e1787724bea478eedc9
drh [Thu, 21 Nov 2019 18:28:44 +0000 (18:28 +0000)]
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.
FossilOrigin-Name:
8b12e95fec7ce6e0de82a04ca3dfcf1a8e62e233b7382aa28a8a9be6e862b1af
dan [Thu, 21 Nov 2019 17:14:55 +0000 (17:14 +0000)]
Fix a recently introduced memory leak in the test code in test_vfs.c.
FossilOrigin-Name:
2d53a30cc23e53033af8e8666457654db5dcc453ed6cd176ce1d0bff4f528159
dan [Thu, 21 Nov 2019 14:20:59 +0000 (14:20 +0000)]
Prevent direct and indirect recursive content= options in fts3/4 and fts5.
FossilOrigin-Name:
2eb997327c2c369c10b7835be80112d77cb2a7cfa9fe4d564042984c21d94698
dan [Wed, 20 Nov 2019 16:10:40 +0000 (16:10 +0000)]
Fix a use-after-free problem in the test suite. No changes to production code.
FossilOrigin-Name:
0d1055a5da8274a59f35170b1f9469597ce4c5a4c5e851a1b81d3be2ccd32871
dan [Wed, 20 Nov 2019 13:31:52 +0000 (13:31 +0000)]
Further improve detection of corrupt records in fts3.
FossilOrigin-Name:
a0f6d526baecd061a5e2bec5eb698fb5dfb10122ac79c853d7b3f4a48bc9f49b
drh [Wed, 20 Nov 2019 12:07:40 +0000 (12:07 +0000)]
Changes to extensions and test logic so that the build works with gcc
and with -std=iso9899:1999
FossilOrigin-Name:
2575a68c3965e72f2ab211d933012442755afe6a9b7de9e9e50cdd2155fd1ec8
drh [Tue, 19 Nov 2019 21:22:16 +0000 (21:22 +0000)]
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.
FossilOrigin-Name:
a48f6e17599d7ec794cfcd60858d6a69cf05caaae9321048b111fedd86a3b5b2
drh [Tue, 19 Nov 2019 18:48:11 +0000 (18:48 +0000)]
Get the aggregate=TRUE feature working on the DBSTAT virtual table.
FossilOrigin-Name:
16fef3db063830884de46d53a289f637a7204fe84fcdee7ea81dbb8bca578952
drh [Tue, 19 Nov 2019 14:01:51 +0000 (14:01 +0000)]
Begin an enhancement effort for the built-in DBSTAT virtual table.
FossilOrigin-Name:
9b5722f0fe666b99677e5f333dd8413aefb9ace7a461d74f6558f0ac53768719
mistachkin [Tue, 19 Nov 2019 00:13:42 +0000 (00:13 +0000)]
Make the result of sqlite3_normalized_sql() survive its statement being reprepared.
FossilOrigin-Name:
4330f0795dbc2ab41dddd41d5979331fb9b78c477c66367c4be52f929531a45f
mistachkin [Mon, 18 Nov 2019 23:48:03 +0000 (23:48 +0000)]
Add support for the SQLITE_ACCESS_SYMLINK flag in the Win32 VFS.
FossilOrigin-Name:
175c15008e9f19b8f6762c2fe4a545735128765081980eed01d5e46ca4acb500
mistachkin [Mon, 18 Nov 2019 22:34:07 +0000 (22:34 +0000)]
Ensure all file names passed to the VFS layer are double-zero terminated.
FossilOrigin-Name:
251230cf43c591cf49cf9d2f392581c57d334b791bc3407814d216b5999c32f4
drh [Mon, 18 Nov 2019 18:43:19 +0000 (18:43 +0000)]
In the SQLITE_OPEN_NOFOLLOW processing, distinguish between an I/O error
on the xAccess() call and an actual symlink encounter.
FossilOrigin-Name:
2e98b42fcb7bc38e22808a9dc1d7a4231ed08ffa97c9f08f33e6e8cd8726856c
drh [Mon, 18 Nov 2019 17:46:38 +0000 (17:46 +0000)]
drh [Mon, 18 Nov 2019 14:04:21 +0000 (14:04 +0000)]
Improvements to detection of corruption in the %_stat shadow table of FTS4.
FossilOrigin-Name:
6b67eba54e7b4887a8cdab7537b12a95e9f17bcdaa0b423af5ed5bd91f69f2c6
drh [Mon, 18 Nov 2019 12:04:17 +0000 (12:04 +0000)]
Further improvements to shadow table corruption detection in FTS3.
FossilOrigin-Name:
e35d8c76aae59f57cc5193f79b21b4298029bea78e1aab7af67432162ce63e00
drh [Mon, 18 Nov 2019 11:14:59 +0000 (11:14 +0000)]
Detect and prevent infinite recursion in fts3SelectLeaf() due to a
malformed FTS3 btree.
FossilOrigin-Name:
dfcf081d842629a0b177be7eb2eb8ce719324068991040a581e33ea1d5db3d27
drh [Mon, 18 Nov 2019 10:37:57 +0000 (10:37 +0000)]
Improved detection of corruption in the %_stat table of FTS4.
Chromium ticket
1025467 .
FossilOrigin-Name:
10f8a3b718e0f47be528fba086c318e1dfe18ead383d01cfa24dedabad41e0a2
drh [Sun, 17 Nov 2019 11:47:50 +0000 (11:47 +0000)]
Fix an assert that can fail if the schema is corrupt.
FossilOrigin-Name:
ed57c48e4bb337810521bda2da79614313e4835a317ca4eadb52bd67e4eadf98
drh [Sun, 17 Nov 2019 02:41:06 +0000 (02:41 +0000)]
Better detection of corruption in the %_stat and %_docsize shadow tables
of FTS3.
FossilOrigin-Name:
1e449687881f4d388e54a0e51bcabba41ab10cf7e596ff65e31e88a23c70d497
drh [Sun, 17 Nov 2019 00:08:24 +0000 (00:08 +0000)]
drh [Sat, 16 Nov 2019 23:47:40 +0000 (23:47 +0000)]
More improvements to shadow table corruption detection in FTS3.
FossilOrigin-Name:
51525f9c3235967bc00a090e84c70a6400698c897aa4742e817121c725b8c99d
drh [Sat, 16 Nov 2019 21:40:49 +0000 (21:40 +0000)]
Improved detection of corrupt shadow tables in FTS3. Enable the debugging
special-inserts for FTS3 for both SQLITE_DEBUG and SQLITE_TEST.
FossilOrigin-Name:
04b2873be5aedeb1c4325cf36c4b5d180f929a641caf1e3829c03778adb29c8e
drh [Sat, 16 Nov 2019 16:54:53 +0000 (16:54 +0000)]
More restrictions on changes to shadow tables when in defensive mode.
FossilOrigin-Name:
bae76a5c40703871e5ce4cd23d6fae5a3836606f524a63b01ac828c7a602c5e9
drh [Sat, 16 Nov 2019 14:15:19 +0000 (14:15 +0000)]
Do not allow CREATE TABLE or CREATE VIEW of an object with a name that looks
like a shadow table name.
FossilOrigin-Name:
6aef58b629d89955f85f65191ba2be67b2adfac4f0327fe9a7141cb2705dbc00
drh [Sat, 16 Nov 2019 13:51:31 +0000 (13:51 +0000)]
Break out the test for writable shadow tables into a separate subroutine.
FossilOrigin-Name:
8ad34d36a141fa8f5d9bd784dfeb892c983897a6dc6b867607cc668508acf944
drh [Sat, 16 Nov 2019 12:04:38 +0000 (12:04 +0000)]
Do not allow shadow tables to be dropped in defensive mode.
FossilOrigin-Name:
70390bbca49e706649ca5b7c031f0baf416fc38798c17e5f3b73746b3e66e3b5
drh [Sat, 16 Nov 2019 11:33:39 +0000 (11:33 +0000)]
Fix a potential NULL pointer dereference on a RENAME TABLE that references
a VIEW with a logic error in a window function in the ORDER BY clause.
FossilOrigin-Name:
0adb273f7e7671efb0e0a1619887e369500dfd2db7ef1b1e125c2414ea96e96f
drh [Fri, 15 Nov 2019 21:16:34 +0000 (21:16 +0000)]
Modify three test cases so that they work even with unusual versions of the
library printf().
FossilOrigin-Name:
8f4a3750b7d272daf96831655ffee80d457875ee121fc4537008046b9a00d0e7
drh [Fri, 15 Nov 2019 00:52:13 +0000 (00:52 +0000)]
Fix table-valued functions so that they will work as the right table
in a LEFT JOIN. Ticket [
2ae0c599b735d59e ]
FossilOrigin-Name:
2c35d3f67b67a53ead08b1c395e7ca8e5bf65f94a5a962a0562994a3c66c95d9
drh [Thu, 14 Nov 2019 18:07:28 +0000 (18:07 +0000)]
Add support for the sqlite3_hard_heap_limit64() interface and the
hard_heap_limit pragma.
FossilOrigin-Name:
6399c47ea89c5766274bd6abdc9b6a85fe5b7f6c1078972c2f58e624bae59b7c
drh [Thu, 14 Nov 2019 17:46:32 +0000 (17:46 +0000)]
Fix a bug in the hard_heap_limit pragma so that it returns the new value of
the hard_heap_limit, not the soft_heap_limit. Change SQLITE_MAX_MEMORY so
that it works by setting the default hard_heap_limit value.
FossilOrigin-Name:
33fd0c3abcad5555a150990a22d9c1bab99e79be01143fccb9fafc9b52cf92c8
drh [Thu, 14 Nov 2019 15:21:15 +0000 (15:21 +0000)]
drh [Thu, 14 Nov 2019 15:10:48 +0000 (15:10 +0000)]
Minor documentation enhancements. No changes to code.
FossilOrigin-Name:
6153f3aada0cc9c5e773753797892ee78b518b0d76568382f5fbc9ee960f814c
drh [Thu, 14 Nov 2019 13:57:15 +0000 (13:57 +0000)]
drh [Thu, 14 Nov 2019 13:24:04 +0000 (13:24 +0000)]
Ensure that the same subquery does not go through the window-function rewrite
more than once, even when that subquery is part of a virtual table constraint
that lacks the omit flag.
FossilOrigin-Name:
d0bc7db6b0a53edc04815622c46250d26f526f56e59f14875f4e18c75b49000d
mistachkin [Wed, 13 Nov 2019 18:50:36 +0000 (18:50 +0000)]
drh [Wed, 13 Nov 2019 16:50:06 +0000 (16:50 +0000)]
Fix the sqlite3TreeView() output to consistently use a colon and not a
comma after the table number in the AST dumps.
FossilOrigin-Name:
fa2416f623d83fe93253137302a74fcd6cdd041da337a0756df344d7d09a19f5
drh [Tue, 12 Nov 2019 16:21:27 +0000 (16:21 +0000)]
For for the previous check-in: Always enable the nUri variable, even
when debugging is turned off.
FossilOrigin-Name:
f84a15394c369cbdb6fba87c603a609722cf1f499626c7f20699060273ab5081
drh [Tue, 12 Nov 2019 14:43:47 +0000 (14:43 +0000)]
Ensure that the main filename and the journal filenames in the pager
object are all correctly double-zero terminated.
FossilOrigin-Name:
df51ae19c1aa4c26f2dcd427eddc1c9cc24b698e1ab0a948b198a57432e25e1e
drh [Tue, 12 Nov 2019 03:45:23 +0000 (03:45 +0000)]
dan [Mon, 11 Nov 2019 15:13:11 +0000 (15:13 +0000)]
Remove an asm() block from build tool mksourceid.c, as it causes build failures on some systems and performance is not important at build-time.
FossilOrigin-Name:
8e100e6c35c30e0d7e4014b9435f81f9f61ddab2386dfe9a4218d8190a6da3be
drh [Sun, 10 Nov 2019 11:09:06 +0000 (11:09 +0000)]
Proper surrogate pair decoding added to JSON functions. See the mailing list
bug report and [https://bugs.python.org/issue38749]. More test cases
needed here, but it seems to work so far.
FossilOrigin-Name:
51027f08c0478f1bf9d7545d9e268c772c0a5cd5dda4b03d78f16c7d94f2f50d
drh [Sun, 10 Nov 2019 10:08:03 +0000 (10:08 +0000)]
drh [Sat, 9 Nov 2019 15:31:34 +0000 (15:31 +0000)]
Change the COLFLAG_NOTAVAIL bitmask so that it fits in the single-byte
Walker.eCode field.
FossilOrigin-Name:
53847f5c28bdecfbc7b08685d4dcd0565526f6191491b4827c3c966a4b8d4a85
drh [Sat, 9 Nov 2019 14:44:18 +0000 (14:44 +0000)]
drh [Sat, 9 Nov 2019 14:38:58 +0000 (14:38 +0000)]
Make sure the WITH stack in the Parse object is disabled following an error.
FossilOrigin-Name:
de6e6d6846d6a41c4821454dfdc042096234df753be08c5567b79fe535d9b6ea
drh [Fri, 8 Nov 2019 20:13:44 +0000 (20:13 +0000)]
When a virtual table reports orderByConsumed, that tells us nothing about
whether or not the SQLITE_DISTINCTBY constraint is met.
Fix for ticket [
7e59041f9c4e5102 ].
Test cases in TH3.
FossilOrigin-Name:
b59f94e4da9b1653f2004b214407a50340dd476b27e6ec7e29e501a95db9c963
drh [Thu, 7 Nov 2019 14:51:24 +0000 (14:51 +0000)]
Fix the xferCompatibleIndex() function so that it recognizes that a PRIMARY KEY
index for a WITHOUT ROWID table is different from a UNIQUE constraint index
on the primary key. Ticket [
302027baf1374498 ]
FossilOrigin-Name:
34f64f11ca481996b1ff1686bdc5e278946635b6856cd1fe2355fce8e298e0f8
drh [Thu, 7 Nov 2019 02:32:54 +0000 (02:32 +0000)]
Restore generated column loop detection logic that was incorrectly removed
from the previous check-in [
9e07b48934e9a972 ]. This fixes ticket
[
299b50ba812d8e54 ]
FossilOrigin-Name:
104a2beb57037f9353ffa77096aae0eb64e4682e667f31623bfd3d064dd8d881
drh [Wed, 6 Nov 2019 22:19:07 +0000 (22:19 +0000)]
Change the way generated columns are computed so that no column is computed
inside branch code that might not be taken. Ticket [
4fc08501f4e56692 ]
FossilOrigin-Name:
9e07b48934e9a972dcf62e3538b3b21ffa044c553feba0441675ac0bbe13bcb2
mistachkin [Wed, 6 Nov 2019 19:25:45 +0000 (19:25 +0000)]
drh [Wed, 6 Nov 2019 17:31:18 +0000 (17:31 +0000)]
Fix the OP_DeferredSeek index-to-table column map in P4 so that it works
with generated columns. Ticket [
ce22a07731530118 ]
FossilOrigin-Name:
36c11ad51fe9ab1bde0b98d0ea9b8588e07d168cd8027486749372894941ad93
drh [Wed, 6 Nov 2019 14:49:43 +0000 (14:49 +0000)]
Fix the handling of NOT NULL constraint violations for generated columns in
a REPLACE statement. Ticket [
2399f5986134f79c ]
FossilOrigin-Name:
77b1c90add514050fe62f22751362fecacd99f9775346cffc60e09c326e64e10
drh [Mon, 4 Nov 2019 12:49:15 +0000 (12:49 +0000)]
Changes an unreachable testcase() into an assert().
FossilOrigin-Name:
5710845b6314f924b490434b4446169f4bb50576aaa940472af68150db16e127
drh [Mon, 4 Nov 2019 02:05:52 +0000 (02:05 +0000)]
Fix a false-postive in the sqlite3ExprImpliesNonNullRow() decision routine,
that resulted in an incorrect LEFT JOIN strength reduction when the
WHERE clause contained a row-value comparison.
Ticket [
02aa2bd02f97d0f2 ]
FossilOrigin-Name:
ea20068e6d97c9349ebcc7d0a01e99ebf08c6f44363f71a0218a1abea209adc5
drh [Sun, 3 Nov 2019 00:07:41 +0000 (00:07 +0000)]
The optimization of check-in [
9b2879629c34fc0a ] is incorrectly reasoned.
The WHERE clause of the partial index might not be true if the table of
the partial index is the right table of a left join. So disable the
optimization in that case. Ticket [
623eff57e76d45f6 ]
FossilOrigin-Name:
3be19e1151af1850b65991edb82420f9412a7798dd756c86eaa9ffdde573263a
drh [Sat, 2 Nov 2019 17:59:10 +0000 (17:59 +0000)]
Fix a problem in VIEW creation that was introduced by the generated columns
feature.
FossilOrigin-Name:
9c795c4d2b042d2932774bd1274fa0167ca2dc9838e127e0cf31eb9273a32f2c
drh [Sat, 2 Nov 2019 13:45:03 +0000 (13:45 +0000)]
"STORED" is not actually a keyword. The parser looks for STORED as an
ordinary identifier.
FossilOrigin-Name:
167cd574d6a1d4fe2253f5bc5aaa7b031cbc82853e4d33b8d9b72eaf049003d4
drh [Sat, 2 Nov 2019 13:32:50 +0000 (13:32 +0000)]
In sqlite3GenerateIndexKey(), do not attempt to reuse column values from
the previous index if the current index is a partial index as the partial
index test may have corrupted those values. Ticket [
a9efb42811fa41ee ]
FossilOrigin-Name:
17e9f65814264de9c35bc5ba94e0a66fbbf1200c00d33ab9a19a0b6f92bc685a
drh [Sat, 2 Nov 2019 00:00:14 +0000 (00:00 +0000)]
Restore the on-line ".help" for the ".explain" command in the CLI.
FossilOrigin-Name:
28b8f1036d569bccce56b4e7042348024b5dd1ffa04850cbeddab1e35c49e5b7
drh [Fri, 1 Nov 2019 18:52:09 +0000 (18:52 +0000)]
drh [Fri, 1 Nov 2019 17:31:27 +0000 (17:31 +0000)]
The SET DEFAULT and SET NULL conflict resolution actions for foreign key
constraints should cause an error when they appear on a generated column.
FossilOrigin-Name:
b47513d2b32b61ba42c1e9b59287d28f6fee231e6c65de2a3aa19effbbaf1e7f
drh [Fri, 1 Nov 2019 16:37:53 +0000 (16:37 +0000)]
Fix a potential use-after-free bug that follows an OOM error in code
added two days ago by check-in [
84e02d773d60cffe ]. Problem discovered
by OSSFuzz.
FossilOrigin-Name:
0a2eb949f8a759e5745d9468c8183d3c0b4b30e0fa2a14b3062620eb9e1d5c1d
drh [Fri, 1 Nov 2019 16:08:20 +0000 (16:08 +0000)]
Add another missing column number translation to the foreign key logic.
FossilOrigin-Name:
32df5edcfef2605009f45d6ef1b97c63a99df07c7b4e00dc70f93001cfb8d81f
drh [Fri, 1 Nov 2019 15:19:24 +0000 (15:19 +0000)]
Omit the optimization that reduces the column-count on rowid-table cursors
when the table has generated columns, because we do not know what columns the
generator expressions might try to access.
FossilOrigin-Name:
e6c96ed91e7a96d2bd30ea9df132644ac02d5a321a62f81f8f3984a8e49ed94b
dan [Fri, 1 Nov 2019 13:37:26 +0000 (13:37 +0000)]
Fix an fts3 assert() that could fail when operating on a database containing corrupt records.
FossilOrigin-Name:
7c52f5478f9ecf5c078208759143ae9de43c1bf191dfcd74acb8bd169d4dc883
drh [Fri, 1 Nov 2019 12:14:30 +0000 (12:14 +0000)]
Add missing column translations to foreign key logic.
Ticket [
c28a01da72f8957c ]
FossilOrigin-Name:
bc6a43e7ee6353b9ef3dea4309c77e170a1c798eefcfaa7636bf5a93e51c47ee
drh [Fri, 1 Nov 2019 10:49:15 +0000 (10:49 +0000)]
Fix a potential array bounds overflow in the mkkeywordhash.c code generator.
Also add marks to omit keywords specific to generated columns when building
with -DSQLITE_OMIT_GENERATED_COLUMNS.
FossilOrigin-Name:
cc6a40818387f78f89499f09e3f1c4655c7396af1cba2596c7fb2f23f3e9755f
drh [Fri, 1 Nov 2019 02:30:54 +0000 (02:30 +0000)]
drh [Thu, 31 Oct 2019 20:54:20 +0000 (20:54 +0000)]
Correctly generate pre-UPDATE content for virtual columns that are used
by foreign key constraints. Ticket [
b9befa4b83a660cc ]
FossilOrigin-Name:
40d3282ec285d9f724f6548283f48b601510cf5284da17485723fd650a68f436
drh [Thu, 31 Oct 2019 17:13:17 +0000 (17:13 +0000)]
Add a few simple TCL test cases for generated columns. (Full test coverage
of the generated column logic is provided separately by TH3.)
FossilOrigin-Name:
acedb5c7f7dc1d68bef62098d42ca59e1be7a5083bb03dc07c03b9f9d817158b
drh [Thu, 31 Oct 2019 13:16:26 +0000 (13:16 +0000)]
Ignore differences in Expr.op2 in sqlite3ExprCompare() in cases where it
does matter. Ticket [
1d2a8efc6c3a595a ].
FossilOrigin-Name:
329820673a12ff6a6c8759f40989d4ccf272441064b0366a5f491695b55ad0e9
drh [Thu, 31 Oct 2019 12:30:38 +0000 (12:30 +0000)]
Enhance the TreeView logic to show information about Expr.op2 for
FUNCTION and COLUMN nodes.
FossilOrigin-Name:
aceeaf9e28767a0880a16872867a1f57bff163acd0f10d19d5688068077590fa
drh [Wed, 30 Oct 2019 18:50:08 +0000 (18:50 +0000)]
Always disallow the use of non-deterministic functions in CHECK constraints,
even date/time functions that use the 'now' or similar keywords. Provide
improved error messages when this requirement is not met.
Ticket [
830277d9db6c3ba1 ]
FossilOrigin-Name:
2978b65ebe25eeabe543b67cb266308cceb20082a4ae71565d6d083d7c08bc9f
drh [Wed, 30 Oct 2019 16:29:02 +0000 (16:29 +0000)]
Simplify the bytecode generation for SQL function calls such that the
OP_Function or OP_PureFunc opcodes are coded directly, rather than using
the intermediate OP_Function0 or OP_PureFunc0 - opcodes that are now removed.
FossilOrigin-Name:
84e02d773d60cffe619104991d21d7f0c68616c0f6bb99686bf54f5306c756d0
drh [Wed, 30 Oct 2019 13:00:23 +0000 (13:00 +0000)]
New tokens ALWAYS, GENERATED, and STORED used by generated columns should
all be fallback tokens.
FossilOrigin-Name:
13fe6978b7de208d2e27460d824f7fc778cf6ea0aabfe566b32bb410b8816f63
drh [Tue, 29 Oct 2019 16:18:45 +0000 (16:18 +0000)]
Remove the legacy_file_format PRAGMA. In its place, provide the
SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option to sqlite3_db_config().
Fix for ticket [
6484e6ce678fffab ]
FossilOrigin-Name:
4d424f3047b48fc441475137f30a719d2f079390c86fe2617710ddfb05c5e240
drh [Tue, 29 Oct 2019 03:39:17 +0000 (03:39 +0000)]
Tighten the generated column requirement such that every table must have
at least one non-generated column. Ticket [
166347c6fc994155 ].
FossilOrigin-Name:
4fba090e678ef184736277c9ec9a9374c8bd4df4d41f51a3dc6818e2efcc103b
drh [Tue, 29 Oct 2019 03:30:26 +0000 (03:30 +0000)]
Add a missing translation from table column numbers to storage table numbers
while processing constraints on an UPDATE statement.
Ticket [
9621dd78a024d07a ]
FossilOrigin-Name:
361ea81ae8a13e7d2ec4c2412f30e049bb6ee320980d502c86bedc315cdd3bc0
drh [Tue, 29 Oct 2019 01:26:24 +0000 (01:26 +0000)]
Disallow tables that have only virtual columns.
FossilOrigin-Name:
591973217f1caf24cde91dc15b7edca2edda05dac8ae2b2cd8d71e7aa072f7d1
dan [Mon, 28 Oct 2019 13:54:59 +0000 (13:54 +0000)]
Fix a problem in fts3 causing it to report corruption if a doclist contains consectutive rowid entries that differ by more than 2^63.
FossilOrigin-Name:
0b0a3048f9df88bbc8979f2ac5247bee7d7bc1e585faca252610d2fcbe36d51d
drh [Mon, 28 Oct 2019 13:07:01 +0000 (13:07 +0000)]
Remove a NEVER() comparison from sqlite3ExprCompare().
FossilOrigin-Name:
f4285297e1e7ebef90bfc0f71402a4e1726d31bc15b69fec13a1f0d98fed1f08
drh [Mon, 28 Oct 2019 04:20:28 +0000 (04:20 +0000)]
drh [Sun, 27 Oct 2019 22:22:24 +0000 (22:22 +0000)]
Improved detection of attempts to use a generated column as part of the
primary key. Ticket [
91e86951016a6802 ]
FossilOrigin-Name:
6d1bbba9a004a2491c76b4a7d09edb9b738102c46fdcb3e0f7b22bffa719518e