drh
9a1bb3f616
Add the sqlite3_database_file_object() interface to sqlite3ext.h.
...
FossilOrigin-Name: 3cabe06b6e9433cbfb4bf7bd72a425f43b54f57d84a205adbaa6a1147bbe46bf
2020-04-21 19:27:08 +00:00
drh
480620c713
Experimental API: sqlite3_database_file_object().
...
FossilOrigin-Name: ae697b152d22737169892411a0c4d908895ff5fb249cce9bdb1ba0bbe32806f0
2020-04-21 01:06:35 +00:00
drh
3b9f154bb7
Do not use O_NOFOLLOW when opening a directory just to call fsync() on
...
that directory.
FossilOrigin-Name: 2fc80ef16ce5878311ab88a0c64631813572ffbb71f75363b4619c9667e0926b
2020-04-20 17:35:32 +00:00
drh
541ef2c36c
Enhance the ".filectrl" command in the CLI to support the --schema option.
...
FossilOrigin-Name: 698d40db58b76f4094687d46b5c6292702a62168054f9e6a70ee86650a6635f7
2020-04-20 16:21:30 +00:00
drh
45248de39a
The SQLITE_TESTCTRL_RESERVE operator is removed. In its place is the
...
more generate SQLITE_FCNTL_RESERVE_BYTES which is an API and which can
operator on more than just the main schema.
FossilOrigin-Name: abc1aad74f7b6a1e72fb09936239f2224aa942d16296c6a3de0b8daef4bc8471
2020-04-20 15:18:43 +00:00
drh
871f45441c
Remove an obsolete comment. No changes to code.
...
FossilOrigin-Name: 4135cb024456288d9c85aef5fb572dbb591527dd33d9a60ca5946b712c269941
2020-04-20 14:05:54 +00:00
drh
7a43100afb
Add the --bom option to the ".excel", ".once", and ".output" commands
...
of the CLI. Also fix the "--all" option on ".help" so that it works with
two dashes in addition to just one.
FossilOrigin-Name: d5b0def96ba6d90f47bc96fab1ccf9c501d84885d086744035b16fd96f3e248c
2020-04-18 14:12:00 +00:00
drh
1d9ea27f7e
Fix the ".excel" command and the ".open -x" and ".open -e" command so that
...
they work better when running from an in-memory database and on Windows
and when running from a script.
FossilOrigin-Name: 07752164c2bf00b6885808533bbdb2cefbf1bf281a887b0b4f6316649a6cb810
2020-04-17 23:46:54 +00:00
dan
054a081555
Merge accidentally created fork.
...
FossilOrigin-Name: cb772b7a8fb53694cb267e74c11f49d2b9fd6920821c4e232f90ec35739c8904
2020-04-16 15:56:03 +00:00
dan
7576a68c8c
Improve corruption detection in fts3 shadow tables earlier in order to prevent an assert() from failing.
...
FossilOrigin-Name: a9ec8c8f80a59badabb0afdb4189f0fd2934f936530d4151de395b3a7e7c1f1f
2020-04-16 11:35:27 +00:00
drh
c39b121a95
Clarification of the byte-order determination for UTF16 inputs to routines
...
like sqlite3_bind_text16() and sqlite3_result_text16() and others that
accept UTF16 input strings.
FossilOrigin-Name: a42fdcf54bcbd72a301dad4a040346dc48e67cacab43479ec618f5c32108c55f
2020-04-15 17:39:39 +00:00
drh
f05dd03a6e
Build the UINT collating sequence extension into the CLI.
...
FossilOrigin-Name: 2b8c6b035a276029850de02651712a5fd69f4dfee45083d24b9d1f998004829b
2020-04-14 15:53:58 +00:00
drh
e6a85962e7
Add the UINT collating sequence extension. The implementation is copied out
...
of the "natsort" branch.
FossilOrigin-Name: 6f46c6e3e3c471ca864d7596e0211ee90316b784c8fe22c7ae177c9d29731dc7
2020-04-14 15:48:55 +00:00
mistachkin
43e862723e
When compiling the shell for WinRT, avoid using Win32 APIs that are unavailable.
...
FossilOrigin-Name: 85d3dc8c50d8dbb8eac1956e8976e861d3b671e03355ca9257060fa3dca51cc4
2020-04-09 15:31:22 +00:00
drh
4b3282d8a0
Limit LIKE/GLOB pattern length to 100 bytes (default is 50K) when running
...
dbsql cases in the fuzzcheck utility.
FossilOrigin-Name: 10306118e8591e727af477a1a15d136852d21170e645bd0e75f7c88346b037d7
2020-04-07 15:07:11 +00:00
drh
aa0696ee9a
Add the --spinner option to the fuzzcheck test program.
...
FossilOrigin-Name: b1eae2686f03a6e20a49ca2b3a654b3019506d4941708ee3919c339cd093a57d
2020-04-07 13:08:56 +00:00
drh
2d99f95721
The ALTER TABLE fix of check-in [7e5ad8e0ab7ee91a] is no longer needed due
...
to the changes at check-in [4cf8721f5ceb1fda]. But, we keep the defense
in place as an assert() for extra safety.
FossilOrigin-Name: 230556e859536bbadf0daf8133a9a01ef4f03148b3296723e37bad66e3fc3d82
2020-04-07 01:18:23 +00:00
drh
b3120fdf5b
Remove dead code that was added during initial development of RENAME COLUMN
...
but never actually served a purpose.
FossilOrigin-Name: c95c4cda4640f05d61b13b4e60494dec07d4483734fc41ffcce73fb5163cbb0d
2020-04-07 00:54:09 +00:00
drh
4047bdfd2c
Performance improvement in sqlite3ResolveExprNameList().
...
FossilOrigin-Name: 7e170e67f24c7cdef7e7ceac4e0b81a75382618e4abe9e604f3d7f6db9dc6396
2020-04-06 20:35:52 +00:00
drh
d44390c8c5
Performance improvement for column name lookup.
...
FossilOrigin-Name: 1e4b6a93987cdfbf829e2ff35ef417c290625f2894ad11949e301af518f1fb44
2020-04-06 18:16:31 +00:00
dan
85f2c76cf9
When running ALTER TABLE, avoid adding some internally generated tokens to the token map to improve performance on schemas with nested views.
...
FossilOrigin-Name: 4cf8721f5ceb1fdaefdc355b3211f75c53c4cdf9d2582ca70fc96777a9b057c2
2020-04-06 16:37:05 +00:00
drh
47f8ef32a0
Remove a NEVER() that could be true in sqlite3MatchEName().
...
FossilOrigin-Name: 921448f0e24a3753374b32be9d7bf36a9ca5d8522eff9f0b51dc243f08652419
2020-04-04 11:58:22 +00:00
drh
2e52a9c611
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]
FossilOrigin-Name: 70c44811d12f540d4ec1c29dedbe999cf79b82e326a8712ae2fa0725d6bd8a65
2020-04-04 00:15:54 +00:00
dan
c59b4acf5d
Avoid factoring out constant expressions on the LHS of an IN(...) operator, as the IN(...) operation may affect the affinity of these values.
...
FossilOrigin-Name: 98d56b4a34fddcbaecd953a045ae0270b4d78c1edf34cc73522fb4e12743af80
2020-04-03 19:37:14 +00:00
drh
a96a69b7db
Add a test case to fuzzdata8.db for the recent Henry Liu bugs.
...
FossilOrigin-Name: 42b02454b146ca1b04c0a5321465326435fc5b995f5498d3b1cf69c558a20f95
2020-04-03 16:11:32 +00:00
drh
c415d91007
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].
FossilOrigin-Name: 4a302b42c7bf5e11ddb5522ca999f74aba397d3a7eb91b1844bb02852f772441
2020-04-03 13:19:03 +00:00
dan
4db7ab53f9
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].
...
FossilOrigin-Name: 684293882c302600e112cf52553c19d84fdb31663d96e5dd7f8ac17dda00a026
2020-04-03 11:52:59 +00:00
dan
fb99e388ec
Fix a case when a pointer might be used after being freed in the ALTER TABLE code. Fix for [4722bdab08cb1].
...
FossilOrigin-Name: d09f8c3621d5f7f8c6d99d7d82bcaa8421855b3f470bea2b26c858106382b906
2020-04-03 11:20:40 +00:00
drh
91654b2016
Fix an obsolete comment in the parameter binding logic of the CLI.
...
No changes to code.
FossilOrigin-Name: c9c735e201d7900d8c2b766463a6c90f547d9844352719dc650734e25e635fad
2020-04-02 13:21:10 +00:00
dan
892edb69c4
Use __atomic_load_n() and __atomic_store_n() for a few more things where they are available.
...
FossilOrigin-Name: a49f8ec552bede7da731e0571ccf49de1a30e7be3a5673150436c8b411ba6ffc
2020-03-30 13:35:05 +00:00
dan
3e42b99175
Fix "GCC_VESRION" typo in wal.c.
...
FossilOrigin-Name: fbd9378727141848ba2f5a8eee3076ecbd315e4a87b264c6d890103d56b2e4bc
2020-03-30 11:17:37 +00:00
drh
218da8c6f1
Enhancements to the SQLITE_ENABLE_SETLK_TIMEOUT compile-time option to avoid
...
rare deadlocks on recovery.
FossilOrigin-Name: 06885e9aa4e430d10f4b32105bcf405c65fd6f7b4cd451baf56fb4f12f408963
2020-03-28 19:02:39 +00:00
drh
b1243a6d9c
MSVC does not allow constant expressions as initializers for
...
constants with /fp:strict.
FossilOrigin-Name: 076658e5d21d9284448f41312b83a6c3d25394c2bfa088ef6cdfe1dc60277856
2020-03-28 12:01:25 +00:00
dan
97ccc1bd11
Modifications to the way blocking locks are used in SQLITE_ENABLE_SETLK_TIMEOUT builds so that multiple processes or threads may not deadlock when operating on a single database.
...
FossilOrigin-Name: c516027d5fd876b7d0bf566435667d554db29ded30ad6fc1165caa4a93d015a0
2020-03-27 17:23:17 +00:00
drh
95b395901a
Reinstate the optimization that converts "x IN (y)" into "x==y".
...
FossilOrigin-Name: 27936e6884e77093533719c7955a17f051cfb359872e51a6d1481152e6256443
2020-03-26 00:29:50 +00:00
drh
cdbb28154e
For the LIKE pattern in the .dump command of the CLI, accept backslash as
...
an escape character.
FossilOrigin-Name: 029ceea612f5c7a1420939d8a772eefcc6f9550d24d57b52ae1729ea9d85fae9
2020-03-25 20:31:45 +00:00
drh
8e9297fb79
Enhance the ".dump" command in the CLI so that it accepts multiple LIKE
...
pattern arguments and shows the union of all matching tables.
FossilOrigin-Name: 45fba3d7055f90f67005ca740687f060a2311db40c8f6a161bfea0424e6ebf6d
2020-03-25 12:50:13 +00:00
drh
74a07986ce
Fix to the recomputation of the colUsed field added by check-in
...
[a9bb71ba708ba722]. This fixes ticket [5829597ac43811e3].
FossilOrigin-Name: 5d14a1c4f2fc17de98ad685ad1422cdfda89dfccb00afcaf32ee416b6f84f525
2020-03-21 23:10:38 +00:00
drh
f7f6dbf501
Enhance the treeview system to show the SrcList_item.colUsed field for
...
FROM clause elements.
FossilOrigin-Name: 8a5c539b77aa174c048a504d211c56902075f9b42b654e1f8cc5767739e5fcc9
2020-03-21 22:03:32 +00:00
dan
7d76fad8eb
Simplify some of the code modified by the previous commit.
...
FossilOrigin-Name: 04abadb545d1b34bdd74d62becb3bfd83aceee373fd6b4b708d5ad53f41d9464
2020-03-21 20:58:05 +00:00
dan
31f170f396
Ensure that "main" can always be used to refer to the main database, even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME.
...
FossilOrigin-Name: 682b426f5658254e63dff02c960b557fb33cb3e944fdd14faa0aa9988af7269a
2020-03-21 15:41:55 +00:00
dan
465c2b8964
Consolidate some code on this branch.
...
FossilOrigin-Name: a85c63daa640e02fdfd891a05a1a09e848c9621a5dd6e112338451008623ecbb
2020-03-21 15:10:40 +00:00
drh
2c3629e1c9
Change a bitfield in sqlite3_stmt into an unsigned character, for slightly
...
smaller code and better performance.
FossilOrigin-Name: 0d4d3c642494ad494b4ec937215eaf833158e62e5ae59ed981d6b546220c13b8
2020-03-21 15:07:27 +00:00
drh
62b6e1d042
Performance optimization in sqlite3VdbeMakeReady().
...
FossilOrigin-Name: aa92f9b95f95d40cc58910da87168a5bd440f71deb072dc651bb15936315786c
2020-03-21 14:22:27 +00:00
drh
2aee514b4c
Recompute the set of columns used for each table when the table is
...
involved in query flattening.
FossilOrigin-Name: a9bb71ba708ba72255ba8d18c9856e38ddf53eae2d61c8435149354fb2b2459e
2020-03-21 00:05:53 +00:00
dan
00bd55e1ae
Allow "main" to be used to refer to the main database even after SQLITE_DBCONFIG_MAINDBNAME has been used to assign another alias.
...
FossilOrigin-Name: 75c85ca32f9ae4a28fd8f8ff2f7639599413d22af706e9799a0e76cc560d14eb
2020-03-20 20:54:28 +00:00
dan
ec8e689a20
Avoid an undefined integer overflow in fts3 by detecting data structure corruption earlier.
...
FossilOrigin-Name: 86e98ddc19470410ccc6d2cf4ad56ef0bc5a23b7fbe6331b8cae374689f54529
2020-03-20 20:18:49 +00:00
drh
589c787620
Chagnes the ESCAPE clause on the LIKE operator to overwrite wildcard
...
characters, in order ot match the behavior of PosgreSQL.
FossilOrigin-Name: 11e0844f71e8f2d27ce9363fb505e02fd7795c61dae0b3886cf0d8df4484dd97
2020-03-19 18:13:28 +00:00
drh
f0a2172d1d
Fix an integer overflow problem with the dbstat virtual table that comes up
...
when trying to analyze a corrupt database.
FossilOrigin-Name: 1d64f4a8af81fe1235fffa54884d8f842a48ff6a33d6172f0cd65bf42fe8b2a1
2020-03-19 17:27:52 +00:00
drh
91a23dc299
Fix a typo in a comment. No changes to code.
...
FossilOrigin-Name: 3a51919ac23ae7312d78905334dc97742b517a7476052a85aa07945d9c77697b
2020-03-19 15:57:03 +00:00
dan
553948e514
Fix handling of window functions in aggregate queries that have no GROUP BY clause. Also remove a faulty assert causing the error reported in [618156e3].
...
FossilOrigin-Name: 38e3dd389d142e520c71139ec84aa3c7722992af28a5f93a7f16e0ea176b74bb
2020-03-16 18:52:53 +00:00
drh
14c98a4f40
At the end of the right-hand table loop of a LEFT JOIN that uses an IN
...
operator in the ON clause, put the OP_IfNoHope operator after the
OP_IfNotOpen operator, not before, to avoid a (harmless) uninitialized
register reference. Ticket [82b588d342d515d1]
FossilOrigin-Name: 8b437b47266ec2d80d85eafcfdd6949556d6c28d9d67d5f43d89799f0f5b7bd0
2020-03-16 03:07:53 +00:00
drh
ba25c7e29f
Remove stray comment characters at the end of an #ifdef that were
...
accidently left in the previous check-in.
FossilOrigin-Name: ea914bec81c49625072fc9d23faa048300f3a0421e069d303b7203edcdfb3743
2020-03-12 17:54:39 +00:00
drh
576d0a9fd9
Fix comments and strengthen assert() statements associated with the
...
OPFLAG_SEEKEQ and BTREE_SEEK_EQ flags.
FossilOrigin-Name: 231749213854756b599b33413b17b35186f17889b0c73f109fa9db726b415558
2020-03-12 17:28:27 +00:00
drh
2267a7fa87
Do not factor out constant functions into the initialization section of a
...
prepared statement, because even though they are constant, they can still
throw exceptions. Instead, put such functions in an OP_Once block. This
fixes ticket [3c9eadd2a6ba0aa5] and causes COALESCE() and CASE...END to
be short-circuit.
FossilOrigin-Name: c5f96a085db9688a09793f52ce1ecf033c2e6e2e5873a19fe0fb374b242b317f
2020-03-11 19:56:26 +00:00
drh
9b258c54e4
Rename sqlite3ExprCodeAtInit() to sqlite3ExprCodeRunJustOnce().
...
Other changes to make the new code cleaner. Test cases added.
FossilOrigin-Name: d7f18489978fdbbe3ab317485518cac91a75416ccef55898301afdd76d3b415b
2020-03-11 19:41:49 +00:00
drh
38dfbdae8a
Do not factor out constant functions into the initialization section at the
...
end of the prepared statement, be cause if they throw an exception, it will
abort the statement even if the function is never called. Better to put
constant functions in an OP_Once block.
FossilOrigin-Name: 97a18a5cd701848a9660385e31bffe2c397e3cfe57ccdb876f44d08c00d1d39a
2020-03-11 17:58:27 +00:00
drh
8d5cea6b61
This variant to the fix for ticket [e0c2ad1aa8a9c691] uses fewer CPU cycles.
...
FossilOrigin-Name: fb5a8a9edd0a4f979d6c30278d4ddc73c651f56ae989b4e5983fca36887c5ceb
2020-03-11 02:04:15 +00:00
drh
e7375bfa72
Enhanced detection logic for preventing the use of static schema expressions
...
by code generating routines.
FossilOrigin-Name: 5f60b527b938c0778e8f725c635ce0dc5ed7a4e01fd6252aa2cdb64da2f625bc
2020-03-10 19:24:38 +00:00
drh
5cf1b611a2
Further changes to ensure that expressions held in table and index definitions
...
do not get passed down into code generator logic where they might be modified.
FossilOrigin-Name: f45f5de000834da5b23cdcf12c3f0e3073287756afe06bdb77b95fb65b250258
2020-03-10 18:55:41 +00:00
drh
24e399038b
Make a copy of the expression that defines a value of a generated column
...
before sending it to the code generator routines.
FossilOrigin-Name: 03d201c041c17579e791c73fe6babd60b9f892a84ffd1470851f8eb2857d3990
2020-03-10 13:35:04 +00:00
drh
0c76e892d9
Apply the correct affinity transformations when pulling values off of the
...
sorter index used for GROUP BY. Ticket [e0c2ad1aa8a9c691]
FossilOrigin-Name: 101f7dea75a203f1f3aa422a607ef701eb0901ba4d5e8d1075cd350454a61956
2020-03-10 11:50:43 +00:00
drh
088489e8d9
The sqlite3ExprCodeFactorable() routine should make a copy of non-factorable
...
expressions, as they might be coming from a DEFAULT or generated column
in a table constraint.
FossilOrigin-Name: a2d6f108c5d07559b125823a04c9cb072c80be80d7913097891a6192c7e1e225
2020-03-10 02:57:37 +00:00
drh
afa1ecac9b
Cleaner separation of the STAT4-specific logic in the implementation of
...
ANALYZE.
FossilOrigin-Name: 3df07e5a9a3781a4cf866fc6ee0e5c6f9cd7ca35ce0a6eb3aa7f5f3502e0ffae
2020-03-09 18:26:11 +00:00
drh
ccb3781673
Enhancements to the ".import" command of the CLI.
...
FossilOrigin-Name: cab1834cfc71f71bfed3c5170a0ba40a39385c3b2c50b7c6b6f09cc830dd1b1e
2020-03-09 15:39:39 +00:00
pdr
45dc9ca46b
Fix typos in RowSet.
...
FossilOrigin-Name: 86465c08f4d629a296332a7985937326ac43ea2822c5651bf03862cd79d370fc
2020-03-09 03:21:33 +00:00
drh
ed5e66881e
Fix typos in the Lemon documentation.
...
FossilOrigin-Name: 35f1f151ac478d6b46f3685d2565c35108ef74bd33ce96fb65300d3c303b289b
2020-03-09 01:02:45 +00:00
pdr
db9cb17dc7
Avoid a redundant NULL check
...
FossilOrigin-Name: 25dc53f6608dd9b8b4e8d8ee22e194a6d41d15811781752797cb42fc22ee1317
2020-03-08 13:33:58 +00:00
dan
0ea2d42ac3
Report an error if the main, or any other, database encoding is modified by an external process (perhaps using the backup API) after the db has been opened.
...
FossilOrigin-Name: 895bd20b29e223496e1585483c6ce3335ae9050f2e5de4d6b69d0e40df396862
2020-03-05 18:04:09 +00:00
drh
42a630b1da
Change the sqlite3.pDfltColl (the default collating sequence for the
...
database connection) so that it is the collating sequence appropriate for
the database encoding, not the UTF8 collating sequence. This helps to
ensure that the database encoding collation is always used, even for
expressions that do not have an defined collating sequence.
Ticket [1b8d7264567eb6fc].
FossilOrigin-Name: 4a5851893c3d71cc823b6ab5df5e58a852cd322fff26290f1ea05b63d67f564a
2020-03-05 16:13:24 +00:00
drh
4cf2121e1c
When printing the OP_CollSeq opcode for EXPLAIN listings, include the
...
text encoding with the name of the collating sequence.
FossilOrigin-Name: eb5c1b77d1c55fc286ff8fccfd61e21cb67aec92d6f93b093b9af5c32165d82b
2020-03-05 14:19:49 +00:00
drh
f5cfe6f2c4
Fix a false-positive in the debugging logic that attempts to detect the
...
use of uninitialized registers inside triggers.
Ticket [c4c56482ced89d90]
FossilOrigin-Name: 0463576b5de0a1ee71530f0e4988fc9cceda79148520bea2c67f1fbc4a99cea9
2020-03-03 20:48:12 +00:00
drh
d346fe0ab5
Remove an invalid assert() on the debugging logic that checks to ensure that
...
register values are not used after they go stale. Ticket [d165ad781b39d574].
FossilOrigin-Name: bd94d7d052734460904c687756231f8aa243a2252f07f742dd1e437aa940f536
2020-03-03 20:04:29 +00:00
drh
b3f0d92b91
Improved detection of corruption in the interior nodes of a segment btree
...
in FTS3/4.
FossilOrigin-Name: cc99447ac923166104e8a7c75088ed95279f4491b30cfa37dc3ee5e005dd9fac
2020-03-03 01:16:04 +00:00
drh
39b3bcf8ef
Enhance the fuzzcheck test program so that it is able to simulate OOM errors
...
in the same way that dbsqlfuzz does.
FossilOrigin-Name: a65c8d4e26b2428ecb8232a4a6a44443aa1701319223397e61a823a5aa1827de
2020-03-02 16:31:21 +00:00
drh
a2ec2e4843
Fix a faulty assert() statement in the stale-register detection logic.
...
Ticket [da5a09be6dabbf42].
FossilOrigin-Name: 219c296cc8cab13fa12b64c297bc4a98d8e21491309d97a031edf89ae77fce75
2020-03-02 01:50:48 +00:00
drh
7f05d52c4c
Ensure that the NULL-scan pass counter is initialized when a ORDER BY NULLS LAST
...
is used on the right table of a LEFT JOIN. Ticket [e12a0ae526bb51c7].
FossilOrigin-Name: 704bb9a39acbee420c1d6ac9eb1466a02dd77d3334b938bfddf235973129b5fe
2020-03-02 01:16:33 +00:00
dan
0a21ea997d
Fix a problem with window functions occuring within sub-selects that are part of an OR term in a WHERE clause of the outer SELECT.
...
FossilOrigin-Name: 1e174ed0d29366eb56ad1a0cc8defcb440b426bfd9525aed2f93468248606efc
2020-02-29 17:19:42 +00:00
drh
4a3a3eb3d7
In the CLI, add the ".oom" command for debugging builds.
...
FossilOrigin-Name: 9c3136a722715952d155aae55cbc6d1fb921c6940d8e7d3e32fcba000f6ac1ed
2020-02-29 15:53:48 +00:00
drh
2826918d10
The RTREE extension behaves has if data columns have type REAL, so we
...
should actually declare them as REAL so that automatic indexes handle
them correctly. Ticket [e63b4d1a65546532]
FossilOrigin-Name: 85a9b6a92fd5805d5936f02d555af395441607b9eb5f4dae63560b5e65663b00
2020-02-28 16:04:28 +00:00
dan
9e5ecdc172
In sqlite3changeset_apply(), ensure that DELETE and UPDATE changes are always executed on main database tables, not similarly named temp tables, as documented. INSERT statements are already being handled correctly.
...
FossilOrigin-Name: f71a13d072398c9fc3556f42d75159cc2d0edc2c42f6c47f64503a7fbbca6e37
2020-02-27 17:16:45 +00:00
drh
be284e4ece
Fix harmless compiler warnings from MSVC.
...
FossilOrigin-Name: 951b39ca74c9bd933139e099d5555283278db475f410f202c162e5d1e6aef933
2020-02-27 16:21:39 +00:00
dan
67e2bb92df
Optimization for "SELECT min(x) FROM tbl" where "x" is indexed and NOT NULL. This also allows similar queries on NOT NULL virtual table columns to be optimized.
...
FossilOrigin-Name: 59726777934e201d94e99ca693f0fda4ebfb1c7883d0258ce542f63f9924c28c
2020-02-27 15:07:16 +00:00
drh
47a60d4518
Extra zero terminators on the end of the blank filename returned by
...
sqlite3PagerFilename() for an in-memory database. This helps the result
work better with sqlite3_filename_journal() and similar functions.
FossilOrigin-Name: 63e533d28e87bbb10e0c611de4b79d22aae291b163fe59d1f95dcad9ab3939e4
2020-02-27 13:54:18 +00:00
drh
df97d43930
Ensure that the filename passed into the xFullPathname method of the VFS is
...
acceptable as an argument to sqlite3_uri_parameter(). The interface spec does
not guarantee this, but it has been so historically and some applications
have come to depends on it.
FossilOrigin-Name: bfb09371d452d5d4dacab2ec476880bc729952f44ac0e5de90ea7ba203243c8c
2020-02-27 11:32:14 +00:00
drh
a8781d9d93
Update the fuzzcheck test module so that it avoids inserting text values
...
that contain embedded NULs in the XSQL table. Fix some legacy entries in
the test/fuzzdata8.db that had embedded NULs. Add in new dbsqlfuzz cases
that have accumulated over on the dbsqlfuzz project for a while.
FossilOrigin-Name: 47d4240c4a837e829f593bb2aad7563010838f55345e7a0d8e2ea79462aeeb3c
2020-02-25 20:05:58 +00:00
drh
f575c1cf06
If STAT4 determines that a WHERE clause term that is not used by an index
...
has very high probability of being true, then do not use that term to reduce
the estimated output row count.
FossilOrigin-Name: 40739c793b0e98a3bae296d3a1f74944edcdd4cc33c26b417fde4eaf6f14d062
2020-02-24 17:05:09 +00:00
drh
f06cdde2cf
Rework this changes so that instead of setting the WhereTerm.truthProb when
...
a term is seen to be of low selectivity, it merely sets a new flag
(the TERM_HIGHTRUTH flag) which causes whereLoopOutputAdjust() to ignore
that term.
FossilOrigin-Name: 4558163b6a525990f0f1b6629dbb76daf49bcaf1ddbaf0c50fe05ce9ee480ff8
2020-02-24 16:46:08 +00:00
drh
35d3cb80c4
Disable the new analyzeG.test module if not building with STAT4.
...
FossilOrigin-Name: 4a9d3005769e0398183b03a3e132e3946b9d1c48073af2e0559d7beeac3245c0
2020-02-24 13:35:34 +00:00
drh
2ed1b0e753
Merge bugfix from trunk.
...
FossilOrigin-Name: b542dee9de843c19664c19df7435c6034d23d0d213804d588ec0ff599082d576
2020-02-24 13:26:29 +00:00
drh
0990c415f6
Fix a problem with ALTER TABLE for views that have a nested FROM clause.
...
Ticket [f50af3e8a565776b].
FossilOrigin-Name: c431b3fd8fd0f6a6974bba3e9366b0430ec003d570e7ce70ceefbcff5fe4b6fa
2020-02-23 17:34:45 +00:00
drh
cea1951e80
Do not activate the truthProb adjustment mechanism if the truth probability
...
is less than the heuristic value, as there could be correlations unknown to
stat4. Also add additional tracing output to make truthProb adjustments more
visible.
FossilOrigin-Name: c535fea147ce5c6e4aab25d3c85a3f53a7364c5b5ee10fb6d393c5911a02be7e
2020-02-22 18:27:48 +00:00
dan
5c19346451
Add new test file analyzeG.test, containing a test for the change on this branch.
...
FossilOrigin-Name: 243ab1852a2291595527ea1f26e78ad83eda285ae28f876bc1c703677f495cfa
2020-02-22 17:32:00 +00:00
drh
89efac94fd
When stat4 information is available, try to use it to improve the truth
...
probability of WHERE clause terms that do not participate in the index.
FossilOrigin-Name: 1babd6ec5d60e2c34aa1c0285ead768a88004218468e97262411973fe3487022
2020-02-22 16:58:49 +00:00
drh
e8c4f03266
In the OP_Column opcode, if the cursor is marked NullRow (due to being the
...
right table of a LEFT JOIN that does not match) and the cursor is the table
cursor for an OR-optimization with a covering index, then do not substitute
the covering index cursor, since the covering index cursor does not have
the NullRow flag set. Ticket [aa4378693018aa99]
FossilOrigin-Name: f02030b3403d67734bba471a91ad5bfdb03ddf6fdc3ef14808a04495e43b0470
2020-02-22 13:01:19 +00:00
dan
8a64d62d31
Add test case for previous commit.
...
FossilOrigin-Name: 14d14eb537075c6ac77513b1e7305bed8bc01a9034dfb763fd96f76400f2b705
2020-02-20 14:11:08 +00:00
drh
5f69512404
Early-out on the INTERSECT query processing following an error.
...
FossilOrigin-Name: a67cf5b7d37d5b1484be32092635faafd8f76e5881898cd9435517c4b287d663
2020-02-20 14:08:51 +00:00
drh
1cfee74a28
Fix a potential NULL pointer dereference following OOM. Problem discovered
...
by dbsqlfuzz. Test case in TH3.
FossilOrigin-Name: 5aeb5a2d295e10d5fc1d456b3acaf8ac13c04cb5bb71a8c4571541d366e95887
2020-02-19 15:39:46 +00:00
drh
4b9e736898
Remove a NEVER() macro and add a test case to cause its argument to be true.
...
FossilOrigin-Name: ee034fe916448e953ee7824e5c0db99a36a0ad138ebfb25f751bf84cb80a8fa7
2020-02-18 23:58:58 +00:00
drh
4defdddc31
Add the new sqlite3_create_filename() and sqlite3_free_filename() interfaces
...
for use by Shims. Use these interfaces inside the multiplexor.
FossilOrigin-Name: 9469f36ac89e4b75d0ab25fefbeff25201992c53141da915dcaa017083cab6db
2020-02-18 19:49:48 +00:00
drh
0184a256e3
Convert invalid surrogates to 0xfffd when translating UTF.
...
FossilOrigin-Name: 7fab1393c2b22b1f3b159b631e06e7e0d3900850ee249c38e4d3cdd0aacf637e
2020-02-17 23:08:16 +00:00
drh
78d1d225d8
A better (smaller and faster) solution to ticket [4374860b29383380].
...
FossilOrigin-Name: abc473fb8fb999005dc79a360e34f97b3b25429decf1820dd2afa5c19577753d
2020-02-17 19:25:07 +00:00
drh
bf48ce49f7
Take care when checking the table of a TK_COLUMN expression node to see if the
...
table is a virtual table to first ensure that the Expr.y.pTab pointer is not
null due to generated column optimizations. Ticket [4374860b29383380].
FossilOrigin-Name: 9d0d4ab95dc0c56e053c2924ed322a9ea7b25439e6f74599f706905a1994e454
2020-02-17 00:12:04 +00:00
drh
ac9e184e1f
Avoid an infinite recursion on an illegal recursive definition of an
...
fts5vocab table.
FossilOrigin-Name: 109ee07433b274a39954cef62bf67d47bcda960df9bef56127210ebf1c3c104c
2020-02-16 17:40:35 +00:00
drh
fdfd45aef3
Fix problems in the constant propagation optimization that were introduced
...
by check-in [1c3e5c20a9e6f501]. Fix for ticket [1dcb4d44964846ad]
FossilOrigin-Name: c9a8defcef35a1fee6bcbb88252a2d0076dabe8381b0128b2257b5b5cc494e0f
2020-02-13 22:12:35 +00:00
drh
ab7fdca2ee
Disallow the skip-scan optimization in the absence of sqlite_stat1 data.
...
FossilOrigin-Name: e0c6b8bdb76fcd4f08c89ff20dce6a33ef3c11752e1e919fec5c4e7d423c4b93
2020-02-13 14:51:54 +00:00
drh
0ba3621592
Omit O_NOFOLLOW from the open() call when opening /dev/null, since /dev/null
...
is a symlink on Solaris, we are told.
FossilOrigin-Name: 0c683c43a62fe25c6cb765e4a31556ec91a7c21af79349b3d7eeb13f73dd1cdc
2020-02-13 13:45:04 +00:00
drh
77c9b3ccb3
Fix an incorrect assert() statement that was added yesterday.
...
Tickets [41c1456a6e61c0e7] and [fb8c538a8f57ae2a].
FossilOrigin-Name: abfb043ebb0c55fdc2be58255bc852b13865d81fa4c2e0dbe8c375810557aafe
2020-02-13 11:46:47 +00:00
drh
efdba1a8b3
Increase the default upper bound on the number of parameters in a single
...
SQL statement to 32766 (from 999).
FossilOrigin-Name: 2def75693a8ae002375aff80db0e6c970c75f75e8b6ba64f2c518712badb0ae8
2020-02-12 20:50:20 +00:00
dan
41aa442cf4
When determining whether an == or IS constraint in a WHERE clause makes an ORDER BY term redundant, consider the collation sequence used by the == or IS comparison, not the collation sequence of the comparison expression itself. Possible fix for [fb8c538a8f].
...
FossilOrigin-Name: 16aed5d0c63dcdc2054dbb8a4b6b992476640433bf81e19301e6db5a3fc82633
2020-02-12 11:57:35 +00:00
drh
df9b5cab93
Mark the sha1() extension function as SQLITE_DETERMINISTIC.
...
FossilOrigin-Name: 7d8dcfb95cea732e7588e7505bf80a171dd2e371b164c9435c6ac286060df6df
2020-02-10 19:24:49 +00:00
drh
b6664744c0
Fix the build for when SQLITE_VDBE_COVERAGE is used.
...
FossilOrigin-Name: 084381649edf374ccc5664f136055109a31d4c3a19c4ae2ee5275f630507a2a3
2020-02-10 13:29:10 +00:00
drh
dc4f6fc099
During byte-code generation, strive to avoid jumps that merely jump to the
...
following instruction.
FossilOrigin-Name: bcf876e67e75f6709f2b25683a3952bbbb87c672bb9d7af456feebc0ab9f6c31
2020-02-07 19:44:13 +00:00
drh
b48c0d59fa
Simplify the code by removing the unsupported and undocumented
...
SQLITE_HAS_CODEC compile-time option
FossilOrigin-Name: 5a877221ce90e7523059353a68650c5fdd28ed032807afc2f10afbfbf864bdfe
2020-02-07 01:12:53 +00:00
drh
c84ad31851
There is no need to keep track of the number of changed rows or of the
...
last-insert-rowid while running VACUUM.
FossilOrigin-Name: a8a7c05b16f6c73ac55c359fbf62cae4a76eb0d105a3c53e9f47cede9fd85916
2020-02-06 20:46:08 +00:00
drh
0de19cac43
Unroll the comparison loop inside keywordCode() for to avoid unnecessary
...
comparisions and thus help that routine run faster.
FossilOrigin-Name: cec5f920f5c2a963f88329a08a443fc04be2dd6f7f2d840be63c0ab1de898f0a
2020-02-06 15:38:43 +00:00
drh
c879c4eac0
Separate OP_IdxInsert and OP_SorterInsert into completely separate opcodes,
...
helping each one to run a little faster.
FossilOrigin-Name: 447d71f0867a11f789eba164ea77470b3ae4953927556304b0861cf690250776
2020-02-06 13:57:08 +00:00
drh
5bdad79f01
Remove dead code from the sqlite3_filename_database() function.
...
FossilOrigin-Name: 1b6185550f2bcfa11513898984f1fc2029e0356e9acdc786c5c4a8006b1da2ba
2020-02-06 13:09:56 +00:00
dan
fcbc673752
Fix some fts3 problems found by usan.
...
FossilOrigin-Name: fb7ccf61bed8d862986eda7096bec3df5947f1d1c88f27e7d9c8acf420f40c50
2020-02-06 10:55:10 +00:00
drh
2a74006087
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.
FossilOrigin-Name: ae6dd8d3e921670ee6450453b54245dd71bcfff3fd1bc7fdb7cf4cf9585c3375
2020-02-05 18:28:17 +00:00
dan
3cdc820544
Enable more detailed log messages in SQLITE_ENABLE_CORRUPT_PGNO builds if database corruption is encountered.
...
FossilOrigin-Name: 57c36a293e16bb4d9652874124ee1447bef278e08664bc8dd0070a0ee2ef1173
2020-02-04 20:01:44 +00:00
drh
92a27f7bf2
Extend the OP_Copy-coalesce optimization fix of check-in [b36126c1889e323c]
...
so that it is also correctly disabled by the CASE operator.
Ticket [9d3666754ac37d5a].
FossilOrigin-Name: 29a969d6b1709b80d9cb88b60971e4eb021f7f5f8ee9a619be74b833a78a35ef
2020-02-04 01:41:44 +00:00
drh
40d1db8d20
Fix a problem with the byte-code decompiler that was inserted by the
...
enhancements at [4248980a356f659b]
FossilOrigin-Name: af63e95dcdd6e9741cdddc3698e857e3b8be40048d3036f939f3583e517c4eff
2020-02-04 00:55:27 +00:00
drh
51f37b2bb8
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.
FossilOrigin-Name: 0ea2dbfc9088561d62c3456803cb08d357e4e60f1d21f6ed37315564be4957d3
2020-02-03 19:56:51 +00:00
drh
081ce2042c
Increase the version number to 3.32.0.
...
FossilOrigin-Name: 8130bbb4217bd4a4db1f6bf97115a60bee8b29943bed0c7bdf54bba5edbed8fc
2020-02-03 12:25:18 +00:00
drh
9dce0ef4ca
On an INSERT or UPDATE, perform affinity conversions on new data prior to
...
running CHECK constraints. Ticket [86ba67afafded936].
FossilOrigin-Name: 1d4f86201dab9a22df9ef8175a7ebf3640e97cdb23a06fb454b4c69bfda3a9af
2020-02-01 21:03:27 +00:00
drh
d7b10d74e1
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.
FossilOrigin-Name: 4248980a356f659b10b12c778592996d53c91fae4ea50c8566678da176bdd152
2020-02-01 17:38:24 +00:00
drh
745befd13f
Merge the sqlite3CodecQueryParameters() fix into trunk.
...
FossilOrigin-Name: a812f533693a3605f297199ae0320d663e872208675e86860c5c1803943943aa
2020-02-01 14:20:35 +00:00
drh
1eac966076
Fix a problem in sqlite3CodecQueryParameters() that was introduced by the
...
query parameter encoding changes for the 3.31.1 release.
FossilOrigin-Name: cc65ca541265bd7061ed8f5ec9a54f3c384c41019c5ea1c68dcaabeff3495839
2020-02-01 13:30:39 +00:00
drh
7aedd5d70b
Fix a minor typo in a comment in the btreeinfo extension.
...
FossilOrigin-Name: b5a66d10f4bbaf10def7b50b9ed98b05b41bb2c2af5ab9a90f6cda61169ab123
2020-01-31 14:52:19 +00:00
dan
d03f77ae46
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.
...
FossilOrigin-Name: dcb4838757ca49cf149a6e883b3eb0ac8a075147387a078280dfabe39b1a3e8d
2020-01-29 15:03:01 +00:00
dan
759e9cc064
Add a test case for commit [ffd8bb93].
...
FossilOrigin-Name: bcd5b37b8ebd67537f60c0061fcbc70b2aebebb88d6fb842ccf321a3e20c122c
2020-01-29 13:56:35 +00:00
drh
48118e4060
Remove a NEVER() that is in fact reachable. Test cases in dbsqlfuzz and TH3.
...
FossilOrigin-Name: ffd8bb9351fbd8c1285491d4e10734f6816689de6042d640c178a5ecda75a5ef
2020-01-29 13:50:11 +00:00
drh
ffd3fd0c30
Add new memory barriers during initialization.
...
FossilOrigin-Name: a9b2adc5d61790abd86839d12e7ecb98a85d7e4cde5f94558530e32449d9e483
2020-01-29 13:10:50 +00:00
drh
9ca9a53a42
Modify a couple of FTS test cases so that they work on big-endian platforms.
...
FossilOrigin-Name: b20503aaf5b6595afafee6aa2bc6276354a62b0f583f6d94e31fedfdfc130347
2020-01-29 12:37:59 +00:00
drh
02a95eb9bb
Faster decoding of 32-bit variable-length integers in cases were we do not
...
need to know the number of bytes in the encoding.
FossilOrigin-Name: 59a31b16b54a0068c81ee65bc2fa905c2c826e98da3a7ffd8c3ea860a2827b4a
2020-01-28 20:27:42 +00:00
drh
925ab5c17e
Small performance improvement to the key-comparision routine for strings.
...
FossilOrigin-Name: 41454499a2b63c5fe6fae2d2085773a5f7d869250dcbe669929d20c961211f70
2020-01-28 20:09:39 +00:00
drh
fbfd113365
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.
FossilOrigin-Name: 8ac26a23d7f0ef29c5eb007c7467181f8b96102c8600ea8a5b15cc7584af27bd
2020-01-28 18:09:53 +00:00
dan
4b2f45be34
Fix a 4 byte OOB read in test_multiplex.c.
...
FossilOrigin-Name: 912148913c11d98e48119a2c1fa7a0e52f318af36e7e2491d968ffde286c949f
2020-01-28 16:55:32 +00:00
drh
b9f2e5f777
Minor change for compatibility with the s390 architecture.
...
FossilOrigin-Name: 04885763c4cd00cbca26d048f2b19316bfc93e8edebeceaa171ebfc6c563d53e
2020-01-28 15:02:23 +00:00
drh
562fd18b9d
Version 3.31.1
...
FossilOrigin-Name: 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837bb4d6
2020-01-27 19:55:54 +00:00
drh
f54f105446
Update the version number to 3.31.1.
...
FossilOrigin-Name: 6fb9a8fb85486a8fccc462856316ef523450c23a7a7a81c8dfb323fbe809f8f5
2020-01-27 17:09:02 +00:00
drh
532b0d23fd
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. Technical this is a misuse of SQLite by the 3rd-party
software, but we want to avoid unnecessary breakage.
FossilOrigin-Name: 34ab760689fd493eda482e856047708d74e769a01cc90b69da456d79ffe39aea
2020-01-27 14:40:44 +00:00
drh
9a3bdeba3e
Fix typos in the sqlite3ext.h header file that prevent some newer APIs from
...
being accessed from loadable extensions.
FossilOrigin-Name: 14331989fcaf6591336290ed1548e9c90f0f153e27f456f4c30c966f9c23aa6e
2020-01-23 15:00:18 +00:00
mistachkin
8122c6e9be
Fix variable declaration issue seen with MSVC.
...
FossilOrigin-Name: 8a6fe3066cf0599fcf2960e8fb3ae39e4e7a61ec81e8ec71d0b5910aee2c16f6
2020-01-23 00:08:25 +00:00
drh
78b5220328
Fix a NEVER() macro that can be true if compiled with
...
SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION.
Ticket [b985f0bd1636d9bc]
FossilOrigin-Name: 9f0f5d593a383ec2bebb6513ad566813f5b3dc6f052c61bcd76e8ac557bbb062
2020-01-22 23:08:19 +00:00
drh
1a3220ace6
Version 3.31.0
...
FossilOrigin-Name: f6affdd41608946fcfcea914ece149038a8b25a62bbe719ed2561c649b86d824
2020-01-22 18:38:59 +00:00
dan
d0add948ea
Update test file exclusive.test so that it works with the "journaltest" permutation.
...
FossilOrigin-Name: 4daf94d83319231e42243625c804d5db2d14f10fa5ea1a1f358c3603c47b955b
2020-01-21 16:31:26 +00:00
dan
8c812f98a3
Fix a problem with using views in SQLITE_OMIT_VIRTUAL_TABLE builds. Also some test case fixes required for the same builds.
...
FossilOrigin-Name: 934ee8bdb481a5cbd3d9c5f53028073129d3bca4fee14fe4a49bbf9c0c9d74f7
2020-01-21 16:23:17 +00:00
dan
7d2a1be84b
Fix a case in fts3auto.test that fails for SQLITE_DISABLE_FTS4_DEFERRED builds.
...
FossilOrigin-Name: d241055ead935f0e461a67f483788bcd59f7e8d65ade54b9c7c7c4fec9414102
2020-01-21 15:01:14 +00:00
dan
70a32703ac
Fix an assert() that could fail in SQLITE_MUTATION_TEST builds following an error in a query that uses CTEs.
...
FossilOrigin-Name: c7e29458a73bbe73a1429477d0c01d5a7b870ab75d3cb08a703be21714e439b7
2020-01-21 14:42:48 +00:00
dan
39ef8b31fb
Fix a problem in the userauth extension causing it to occasionally set "PRAGMA count_changes" (and some others) to true.
...
FossilOrigin-Name: 3a62f64222ebd176c06e89b9fe5275b7b1f09df0afbae1c5c148a4e527e9d80b
2020-01-21 13:40:35 +00:00
drh
988af251d8
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.
FossilOrigin-Name: 9265cb7f026c0e959bd034d4cd94fe597744e0dd455d0a20736ee5f5bee880c8
2020-01-21 12:29:02 +00:00
mistachkin
cbf1c8c25b
Improvements to the autoconf TEA Makefile for MSVC.
...
FossilOrigin-Name: cffcf12f03906debeac6a974534b4439a4952cc72767e3bcb8e6d91da944d69f
2020-01-21 01:45:27 +00:00
drh
be03cc9fcf
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.
FossilOrigin-Name: 63d886f4ce3c770498b8bdad45b04143a3f63197d81793bde107450aba4a9c87
2020-01-20 14:42:09 +00:00
drh
4b86e20485
Enhancement to the CLI to allow the ".parameter init" command to work
...
even if defensive mode is turned on.
FossilOrigin-Name: 4d46255096671ae7be33081e81bb25561304e069f459ffa7587f1f19381a1851
2020-01-19 20:37:26 +00:00
drh
38e14fbd5f
Documentation improvements.
...
FossilOrigin-Name: 535afe150939d06342fbbed4ca1b6a1472fde51ac9edd4b4b583b87d90f509c2
2020-01-18 23:52:45 +00:00
drh
76a1fce53b
In the TCL interface, add the ability to change the
...
SQLITE_DBCONFIG_TRUSTED_SCHEMA setting using the "db config" method.
FossilOrigin-Name: 1accfa8cf05856b03cecab7a2cd0c0337842a0003cfbec207b6f0acdd93e8f15
2020-01-18 22:20:14 +00:00
drh
fe7046044c
Allow non-deterministic function in CHECK constraints. It turns out that
...
PostgreSQL, MySQL, and SQLServer all allow this. We should be the the
exception. Ticket [830277d9db6c3ba1]
FossilOrigin-Name: 8c8ce526adb60b8061e55151599ca8b11f1ec2e968d3bacc73a2a249e9e95ee1
2020-01-18 21:34:31 +00:00
drh
f71eb2091f
Do not use memcpy() of zero bytes when initializing a pager. This avoids
...
a warning.
FossilOrigin-Name: cca437788e092b21ed1784dd94d4b1c7204ff1717538d276a10880d1345904bd
2020-01-18 19:46:42 +00:00
drh
a01fda7113
Disable a redundant test case that uses a very large stack, and hence
...
is unable to run with -fsanitize=undefined,address.
FossilOrigin-Name: 3c63f68e12af36e9fd9a3dd4daec9402e75e80bcd819d39c0215a427fd0d7803
2020-01-18 19:07:00 +00:00
mistachkin
591711751e
Fix harmless compiler warning seen with MSVC.
...
FossilOrigin-Name: cd0437ba5b13593ebe4ec30d6236623183f8cfa30ca8a0612662eccb282a863e
2020-01-18 19:02:20 +00:00
drh
cea7b5d57e
Add extra front margin to the fake empty filename returned by
...
sqlite3PagerFilename() for an in-memory or TEMP database.
FossilOrigin-Name: fee945671a19a93287f9bfadc346f9821fb1311c7fc75b95a6a48d1419c840e7
2020-01-18 14:50:06 +00:00
drh
1ee02a1ce5
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.
FossilOrigin-Name: a1be6ee0188911448c064e2c25fb0ca1daad50f3d50fb49a34430bd09736b4a9
2020-01-18 13:53:46 +00:00
drh
2d58b7f40f
Fix a typo in a comment. No code changes.
...
FossilOrigin-Name: 4363f69c3ad5a9859471547cab713f1acabd5fce13872cc1ddaa972d6c1dfb35
2020-01-17 23:27:41 +00:00
drh
929a940678
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.
FossilOrigin-Name: 84f314902c48336849081c7e9fe2a52caf171b8215a1c6e80cded0700c447eb1
2020-01-17 21:12:22 +00:00
drh
ef9f719d0b
Fix #ifdefs so it compiles cleanly with all SQLITE_OMIT compile-time options.
...
Update compile-time option testing.
FossilOrigin-Name: 7584e4b649d57767aac3906da6b06549d5b772aaa69f469c623ae5da834d54d5
2020-01-17 19:14:08 +00:00
drh
915530dcc8
Improved rounding in the 'unixepoch' feature of the date and time functions.
...
FossilOrigin-Name: c9abf1bd2d2496ced9ef4619cd997933cd58452e6ab527ba70746c9975104b6a
2020-01-17 16:47:07 +00:00
dan
a369d98b9a
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.
...
FossilOrigin-Name: 4d6cb28811c01599e34c0394fe5ed17d47f14893c860590c9b4660bef68eb294
2020-01-17 15:45:59 +00:00
dan
d1eb23cd26
Fix a case in "fuzz.test" that could fail, as non-deterministic functions may no longer appear in CHECK constraints.
...
FossilOrigin-Name: a370871e21bd1028ac968ca4f48e6b5f75e647ac40d4342aeb0504a848452908
2020-01-17 11:18:54 +00:00
drh
be0330e853
New testcase() macros in select.c, for coverage of the change from two
...
check-ins ago.
FossilOrigin-Name: 52206488f315803df73f964774270ef4783923407a2567936f56b0a1a88b4400
2020-01-16 17:53:24 +00:00
dan
1d7d8c8f74
Add the SQLITE_FCNTL_CKPT_DONE file-control for the use of custom VFSs.
...
FossilOrigin-Name: 3cc39e5069c8a6a32ecc49c571593615c0f347cadcd3e0325b7f9a11ddc1f546
2020-01-16 16:32:57 +00:00
drh
39df24a3f0
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.
FossilOrigin-Name: 1bc783da63d58b05c690468b569cb2787846357b63c1100d11777666c5787bf4
2020-01-16 16:12:07 +00:00
drh
7db212a70b
Fix an SQL syntax error in the comment on the omit-left-join optimization.
...
No changes to code.
FossilOrigin-Name: 86b5e5a20e967af7ac444ff0a40c2e8b93b7e5c505eebf6d3753a341b05503a8
2020-01-16 12:25:14 +00:00
drh
7d07a5f4e0
Clean up the definitions of the TERM_ constants in the code generator.
...
Formatting only - no logic changes.
FossilOrigin-Name: af06f80a590e20f64fa2f630e85fa728c266ea4696b975cc5f2ab72a3b914379
2020-01-16 11:51:09 +00:00
drh
b5f0e40578
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].
FossilOrigin-Name: 03b003c988d27f3aa1b1e44972ee5a3c7e44ad667ec7f2b8a31d0411c66583d3
2020-01-15 16:20:16 +00:00
drh
be22a85406
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.
FossilOrigin-Name: 3d7434a9d85dae9135473d1c58c22ac01a282e654807aa10be9b39f127291594
2020-01-14 16:50:09 +00:00
drh
05e8c5407f
Remove an ALWAYS on a branch for improved database corruption detection
...
in btree.c:freeSpace(). Test case found by dbsqlfuzz.
FossilOrigin-Name: 54bf04811951db6c894f272f870e3e41f8f5e05a25c1115efbbdbd0d8bba54be
2020-01-14 16:39:54 +00:00
drh
299b102b93
Add the new noop_nd() debugging function to the noop.c extension.
...
FossilOrigin-Name: 72911fb1b010ae093a161b9c0d21cbdedcbc1f924a55f12227fbe342bd978e08
2020-01-14 16:33:07 +00:00
drh
c1f73e29bf
For the showdb utility program, more accurate detection of when the database
...
is in autovacuum mode for the "pgidx" subcommand.
FossilOrigin-Name: 9ce2192b81a81bb8928e3184664694ed2f863ce41c2777cdc35e6b61486aea46
2020-01-14 13:24:14 +00:00
drh
76c1206845
Fix a minor typo on a comment in the CLI implementation.
...
FossilOrigin-Name: db4fb3503c4e1e40d7bd140187014e8f0cc186c441a0c7462987c77e2c83136a
2020-01-14 13:13:19 +00:00
drh
a14de91367
Improvements to sqlite3_open_v2() documentation.
...
FossilOrigin-Name: 4c4fd62a092b8db6398c64a92c9ff35915eedcce1079a77aeda81811d94096c4
2020-01-14 00:52:56 +00:00
drh
c6b2f9e323
More documentation updates. No code changes.
...
FossilOrigin-Name: a684d4ef08a48962c632b598242f5e34c9b2fa3ad6339023fbce8ac91582b5e3
2020-01-13 15:25:43 +00:00
drh
3c867026c0
Documentation updates. No changes to code.
...
FossilOrigin-Name: cc0e0aa3a7d534b806cdf63200b32ab3b7f0e08dde717f043a36d2f91c8a046c
2020-01-13 13:33:08 +00:00
drh
3b8eb08b17
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]
FossilOrigin-Name: 3e3c60d8124672ff72a57dfa2e51276316bcac8c8ae8a5739da358f26924b0fb
2020-01-12 22:38:17 +00:00
drh
d8df36bd4e
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.
FossilOrigin-Name: 0e468aa6decc73be307596782a778a739ff1b5dc0eb10fc4bd6776e460f99f8b
2020-01-12 22:25:58 +00:00
drh
ca7d3e1d42
Remove an incorrect assert(). Fix for ticket [614b25314c766238]
...
FossilOrigin-Name: 6a999c5aa0d1d5569a5bda50d27e3a15c13e93e69d00db97c5294901522064a3
2020-01-12 22:20:07 +00:00
drh
ffe4d4a2d5
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.
FossilOrigin-Name: fd7bcc53524096f5245e5ae04c12780d2c43b9b3af17ec529447aed21b82cc2b
2020-01-11 21:08:59 +00:00
drh
cdfadc7948
Minor changes for consistency between sqlite3_filename_wal() and
...
sqlite3_filename_journal().
FossilOrigin-Name: 9a70ff43a7b6848a71d5049f5a4ae24e3eb8a83d5c6651f5a9937abf03b3eccf
2020-01-11 20:27:02 +00:00
drh
8080403e44
Redesign for better legacy compatibility. Add the sqlite3_uri_key() interface.
...
FossilOrigin-Name: bcb43d11c4d0be36888c9e968ccdf85e7d7fccd72a29866f85c014e0562d4b93
2020-01-11 16:08:31 +00:00
drh
8875b9e7b5
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.
FossilOrigin-Name: 2ae77bd2335708343bce4541b4d2cf16edfe3fd5bc2dfb93757238c926aa960b
2020-01-10 18:05:55 +00:00
drh
b2fe5a7c35
Fix to the register validity tracking logic in debug builds. No impact
...
on release builds.
FossilOrigin-Name: 0a500da6aa659a8e73206e6d22ddbf2da5e4f1d1d551eeb66433163a3e13109d
2020-01-10 01:05:49 +00:00
drh
e5f8801044
Documentation updates on newer APIs. No changes to code.
...
FossilOrigin-Name: 8845a8c22a4ceabee130ce2addbe07e13b0496eeb542c89850f8658d21a48f89
2020-01-10 00:00:18 +00:00
drh
2e22579dea
Fix the fossildelta.c extension so that it will compile on mingw.
...
FossilOrigin-Name: 20237d5dc4451f142b511e50a4acef4574cef17b9222c87dcebfe1ed1bab0ad9
2020-01-09 23:07:21 +00:00
drh
bebce86cde
Merge in the untrusted-schema enhancements.
...
See [/doc/87aea3ab1cdda453/doc/trusted-schema.md|doc/trusted-schema.md]
for details.
FossilOrigin-Name: 5720924cb07766cd54fb042da58f4b4acf12b60029fba86a23a606ad0d0f7c68
2020-01-09 20:44:37 +00:00
drh
32d184e049
Only register the fts3_tokenizer() function using a single text encoding.
...
FossilOrigin-Name: 966964af1021feebc56cfda7b08bc787be7f447d682299f7958463aca30a73af
2020-01-09 20:33:36 +00:00
drh
7be5e3dd4c
Fix a harmless compiler warning.
...
FossilOrigin-Name: edbf911fdeda14bd63cd752f6237896400eb5a65ef486abe7b91433621d21b5c
2020-01-09 20:33:13 +00:00
dan
fbb6e9ff48
Fix an assert() in window.c that could fail with some obscure SELECT statements that use window functions.
...
FossilOrigin-Name: 83dc55679a91bf5d1d13706088ce58eed02b9aad1ad0ae237966e78e0d769663
2020-01-09 20:11:29 +00:00
drh
b84fda37ef
Fix a problem in the encoding display in the updated PRAGMA function_list.
...
FossilOrigin-Name: 318ff7720bc60c30c0826becce424226e9cec25c1d59cb2cdb75793739322760
2020-01-09 16:28:50 +00:00
drh
51ebd5fa14
Fix minor typos in the trusted-schema.md document.
...
FossilOrigin-Name: 87aea3ab1cdda4533e6fed605d1295e83bae0bbb9e1b238d239ce158a0d42954
2020-01-09 16:00:08 +00:00
drh
3858be3e59
Minor formatting changes in the trusted-schema.md document.
...
FossilOrigin-Name: 55553b5e5ece8282f6a56a6f5c71024eaaef3c86ec42203af3da708b0de3643b
2020-01-09 15:18:08 +00:00
drh
b0c4ef711f
Design notes for the new-security-options branch.
...
FossilOrigin-Name: af7c1ed4f8a7293d0ecacca3cfbe9414e0de5ec40b418ce7831b8dc724feb747
2020-01-09 14:51:47 +00:00
drh
32266a1072
Simplified error message for the unsafe use of a virtual table.
...
FossilOrigin-Name: d662129a601e05e8fca5717a890b5bc920b80a750d061f3c2494788d32b917a5
2020-01-09 13:08:28 +00:00
drh
05b32ee3c0
Fix a problem that restricted edgy functions in TEMP tables.
...
New test cases added.
FossilOrigin-Name: 8878c40753566a8c4ccd1d413019cabde7569b947f730527d13bfc3db384e97d
2020-01-09 01:20:03 +00:00
drh
014fff20ad
Block edgy functions used in DEFAULT constraints.
...
FossilOrigin-Name: da434dc149786e4b1cd80b3b2b25f8b614d0dec62d5439f839a66b536999e398
2020-01-08 22:22:36 +00:00
drh
2eeca2046e
Performance improvements and test cases added. Allow "PRAGMA trusted_schema=ON"
...
FossilOrigin-Name: 30882ca80f6c51f6bb7b2692c1ac3f19a7c61a23aa8730be79aec0ae3ef08d54
2020-01-08 20:37:45 +00:00
drh
0dfa5255bc
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.
FossilOrigin-Name: 1da802d54b689a462e1fe899c6ffa08ef14d34f36728b14b055b5a76b1edc274
2020-01-08 17:28:19 +00:00
drh
15f3eacfc0
Provide the -innocuous option to the "db func" method in the TCL interface.
...
FossilOrigin-Name: 0138652b6c2f21fd67e59a23a396a5b9d6a16ee9b44701cddfc49b23fddfce5b
2020-01-08 15:44:10 +00:00
drh
6d35956c86
Fix the rot13.c extension to be deterministic. Add the noop.c extension.
...
FossilOrigin-Name: a679122ca8ec95d5c8afba3a1a50170db9dd519a3810e56877b8f56e858d0175
2020-01-08 15:43:29 +00:00
drh
b7e519956a
In the TreeView debugging output, show a "DDL" mark on SrcList and Expr nodes
...
that derive from a non-TEMP schema.
FossilOrigin-Name: fe7472fd2a70b4df6cb62041b72ed1638ba27ed1e6ceb8aaf56d1c8a82d91889
2020-01-08 14:39:57 +00:00
drh
19ca76af38
Merge recent changes from trunk.
...
FossilOrigin-Name: 5962921fceaf2ec645379a5f1d18e2c2c13abbf92cf64606caee69f45a21c500
2020-01-08 13:08:52 +00:00
drh
87969b2a11
When doing a test-to-double conversion on a BLOB with an odd number of bytes
...
and assuming a UTF16 encoding, ignore the last byte.
Ticket [9eda2697f5cc1aba].
FossilOrigin-Name: 1c76f1d8ec0937a2d2e4ce75f98494c953e9621db31945d7e44f45d90d1c3892
2020-01-08 12:17:46 +00:00
drh
ded33ccea4
Fix a minor formatting error in the display of BLOB values during VDBE
...
tracing.
FossilOrigin-Name: 295442887a3cd5868df26c5be244649ffb3bae8367f5cf02fe513424a1c9f6a7
2020-01-08 11:36:30 +00:00
drh
4a62581b32
Improvements to the documentation of sqlite3_create_collation().
...
FossilOrigin-Name: fa866aec56deca8cc1b70814215bbdc683f41bc0826da0f8804d952de429820c
2020-01-08 10:57:27 +00:00
drh
f8f76d672b
Simplification of the logic in the constant-propagation optimization.
...
FossilOrigin-Name: 1c3e5c20a9e6f501befa2bf6241a1b5190872bd83b765dac67065d252d04ea4f
2020-01-08 04:36:01 +00:00
drh
c9301e6e7c
Fix the constant propagation optimization so that it does not try to
...
propagate constant expressions that have affinity. Ticket [82ac75ba0093e5dc]
FossilOrigin-Name: 6db1c3498f6bfa01bb460e62b802b63ec4bf43577a17a94e1e2fa0ecc1e64960
2020-01-08 01:43:47 +00:00
drh
97bffe674f
Fix a misworded comment. No code changes.
...
FossilOrigin-Name: ee0bc7ede0fbf3e54bb934c0d580c62d7393c984cbc374ece6d57fe9211dac26
2020-01-08 00:39:37 +00:00
drh
2b1c2aad9f
Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set
...
the risk rank for many virtual tables.
FossilOrigin-Name: 4c21373c21c9b17b222ae65297a039a035e6ec6b505c00c33704e3c03f94f834
2020-01-07 19:45:40 +00:00
drh
3f68142b82
Enforce SQLITE_VTABRISK restrictions.
...
FossilOrigin-Name: 3d87ff312e617a26846d482b423163cad9c222513f33e128f0fe348dda27c7c9
2020-01-07 18:10:56 +00:00
drh
406dfcb843
Fix a performance regression caused by the previous check-in.
...
FossilOrigin-Name: d7d98d3dff2f0e0cfa5bb8be8e5fd2af5ab470be399eafe3d77b23ee1262f70d
2020-01-07 18:10:01 +00:00
drh
b77da374ab
Invert the UNTRUSTED_SCHEMA setting to be TRUSTED_SCHEMA.
...
FossilOrigin-Name: f5fcf1fbc6473f8e91315b14d67745f2748010641b7463d1f4ca51e6fdf97462
2020-01-07 16:09:11 +00:00
drh
46d987405c
Merge recent fixes from trunk.
...
FossilOrigin-Name: 5dfa33a09e608d26549e46c58a5563754688af68fa99415f9a548e91f81aca7c
2020-01-07 15:44:22 +00:00
drh
42925d1f1a
Add an "|| CORRUPT_DB" term to an assert() statement inside of btree.
...
FossilOrigin-Name: 03c1d75ddc063469fc856114595bd12d21759fe0979ce1ba1cf52e48e6b0d4a1
2020-01-07 13:32:15 +00:00
dan
262efe4a43
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.
...
FossilOrigin-Name: e1f12978b53683114ab0ef0e84a14dd4fabc72750b214aac19cd9da22a582a27
2020-01-07 09:06:43 +00:00
drh
cbae3f8c7d
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.
FossilOrigin-Name: e1154c39ba0f8caec70d330e6d5bec745c93ec9a7eafedb3e3730fadc8b8277c
2020-01-06 20:48:45 +00:00
drh
1402b8e5b6
Merge enhancements from trunk.
...
FossilOrigin-Name: 9c50f6c28a4cadb2c33954c066a8e94f8aaf4c31b6c0309db35efc472cb0bcaa
2020-01-06 19:30:36 +00:00
drh
5ca06329c9
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.
FossilOrigin-Name: 69f6a7e42f42116d29514239575ee1dc381b5b673da012cb5f3e8cf17922d493
2020-01-06 19:23:41 +00:00
drh
2e26a602a3
Backout change [4d0b9109f7a5312d4e1] because the conditional it added is
...
no longer reachable due to check-in [1409758f72c0206c].
FossilOrigin-Name: b3f2696705cc3e7b038f156423f808432a4680ea7e313dc15e34bdf6b1845655
2020-01-06 18:59:46 +00:00
mistachkin
65cdae00ec
Move variable declaration to start-of-block for MSVC.
...
FossilOrigin-Name: 55c136ef61f23a04be1bf351ab7f6bdfa033653c32557a04916cc9770453f261
2020-01-06 18:44:56 +00:00
drh
b592d47a81
Do not attempt to use the skip-scan optimization if prior terms of the
...
index are already used for non-equality constraints.
Ticket [304017f5f04a0035]
FossilOrigin-Name: d7126a9ced86cb0934d5bde2bf535e6b529c361444c99e723f29dd3eb36e7044
2020-01-06 17:33:09 +00:00
dan
9e10f9ab05
Ensure the SF_Aggregate flag on a SELECT statement is set if a DISTINCT is transformed to a GROUP BY. Ticket [9c944882].
...
FossilOrigin-Name: 1409758f72c0206cc48f9f7e789382472949523b7056ea46f8dcb93fd3ea60c6
2020-01-06 17:06:12 +00:00
drh
2928a15b3c
Refactor names of flags for improved legibility.
...
FossilOrigin-Name: 411e8ec2219bb4181aaf2209fb1e7baf5e8df8b8c8adb82a69b48cf7e8e7e7d4
2020-01-06 15:25:41 +00:00
drh
628b1a3f9e
Remove a NEVER in btree due to a new test case from dbsqlfuzz.
...
FossilOrigin-Name: 46f8ef70fb8b3ae00cc081b280f3dff38b1d0f1b52a8f4477ec89dec32e4d813
2020-01-05 21:53:15 +00:00
drh
67c826536f
Refactor the names of the new controls for restricting what actions the schema
...
can take behind the application's back.
FossilOrigin-Name: 65d7d39a858c51ffd781f5a6335e029895e597aeb1e1ccdadea8ce79c8ad412f
2020-01-04 20:58:41 +00:00
drh
337ca519e1
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.
FossilOrigin-Name: 7a8d7ca726666f4384925f959df0d58f7622229e06f1b5e643a3caccd539bb6e
2020-01-04 19:58:28 +00:00
drh
0ad4f792a9
Merge all fixes and enhancements from trunk.
...
FossilOrigin-Name: b878c30f03e895bbc5c4c99c0f727d49093bb78bdc275593cf4852148579ae69
2020-01-04 19:19:54 +00:00
drh
2e5beddb34
Fix DBSTAT so that it returns now rows, rather than an error when the
...
WHERE clause is "schema=NULL".
FossilOrigin-Name: 5b246b47aeadc25dbec0956e2d6edcd49fbe874a01734fdf15b770507648222d
2020-01-04 19:14:48 +00:00
drh
17aceebab7
Fix harmless compiler warnings.
...
FossilOrigin-Name: 8452fe03430d34abecab618d6136b863630f91d68d69ebbc115f808bc81c3817
2020-01-04 19:12:13 +00:00
dan
664d80bbf7
Omit the omit flat from eq constraints on column "name" of dbstat virtual tables. Fix for [74a4c386].
...
FossilOrigin-Name: cfff5cb2279088aa66f435bd0d627b2c74c9a99ad9addfd44a4df8ba770b795a
2020-01-04 18:38:58 +00:00
drh
56ea69bf0e
Record when the OP_IfNotOpen branch is and is not taken.
...
FossilOrigin-Name: 182a898b14d585edd5fcfdcd6584c957911f0d81773d2868f16b5762dec031ca
2020-01-04 18:33:20 +00:00
drh
64f7ee0219
Remove another NEVER added by check-in [7b62555e285f32d3].
...
Dbsqlfuzz found another test case.
FossilOrigin-Name: 481f4956aff52797880930752693a8c0b10d7fdd71d86919fe8ee13c90ad5b81
2020-01-04 17:55:01 +00:00
drh
6f2180d21a
New test cases in test/in4.test require rtree, so disable those tests on
...
builds that lack the rtree extension.
FossilOrigin-Name: b5900914f7f34caf1a97c87233781d55467329b0ac4366354df13c6fd72a99c7
2020-01-04 17:42:27 +00:00
dan
74ebaadcdd
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.
...
FossilOrigin-Name: 95ef68966c50f311830cba8c9257a4085c93011d205e0e31867c2917fa62a48e
2020-01-04 16:55:57 +00:00
drh
af23236660
Merge the latest fixes from trunk.
...
FossilOrigin-Name: 26ef709a47294c512a70aecd37d29caecec2af261977d9fb2c4d78d09b12f77a
2020-01-04 15:37:57 +00:00
drh
f6ea97ea3d
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.
FossilOrigin-Name: 9da48a5ca66dc67c8f7fb2d2471dac7ea696e35ecba5ddf65747d08d452436c1
2020-01-04 15:21:47 +00:00
drh
4549a3b8cb
Improve a testcase in test/fuzzdata8.db to make it more resilient.
...
FossilOrigin-Name: 139aefe60097e06b43df35652e6b2183b7a4b03341d1bde23deada3fa3358fee
2020-01-04 14:57:26 +00:00
drh
b2b61bb61f
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.
FossilOrigin-Name: 61f873b14c2c835f3d10b018b357cb8b1f041e97e05709d7ab5a8055e5e05349
2020-01-04 14:50:06 +00:00
dan
6fe63b4ee7
Omit the omit flag from eq constraints on column "aggregate" of dbstat virtual tables. Fix for [727074e2].
...
FossilOrigin-Name: 74ef6f2b6d9f50ff1d455e2263ba77707c1e8394b25b3f8a3a2a7b6e7f2c481e
2020-01-04 14:00:56 +00:00
drh
e5cf3e990a
Restore a NEVER and an assert in btree that was removed by
...
check-in [7b62555e285f32d3]. Dbsqlfuzz found test cases.
FossilOrigin-Name: 04a05c83f58784df438dc6614f7920f782bf7c1ed4f6d101c03b6573cfde06ee
2020-01-04 12:34:44 +00:00
drh
79d5bc80c7
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.
FossilOrigin-Name: 9ca906d24a2e88eddb2fd067783512b66cfc49dce1596d816a1c38a09d128218
2020-01-04 01:43:02 +00:00
drh
4be621e1ba
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.
FossilOrigin-Name: 1c266cb3be46d26e640752a99979acb1a1809361ba70ca3fca981c42383c360e
2020-01-03 21:57:53 +00:00
drh
c4ad849921
When UNSAFE_IN_VIEW is disabled, only allow functions in views that are
...
tagged with SQLITE_INNOCUOUS.
FossilOrigin-Name: 9ee79b254e4c51a2a41f7ed49ad389d8d7105e649483adb79772052fa0ade3c0
2020-01-03 20:57:38 +00:00
dan
e455e3acf0
In fts3, avoid making a very large memory allocation if the merge-hint record is corrupt.
...
FossilOrigin-Name: 9add58fe9688d5c1f675736e7f1c6ff7831d2ff6fdeb884a2e62c1bf9536ee50
2020-01-03 20:16:32 +00:00
drh
3b76c45a7f
Add NEVER macros to error-detection branches that were made unreachable
...
(as far as I can tell) by check-in [ceacc28b03580334].
FossilOrigin-Name: 7b62555e285f32d354df7746ef8dce16856c6d9d53a02d895b74ba02362d2968
2020-01-03 17:40:30 +00:00
drh
0d21eae099
Improvement to check-in [7405e98225761180] so that missing or null filenames
...
given to the zipfile extension throw an immediate error.
FossilOrigin-Name: 523e09bd228750fb7be1d4e68d18f6c1bf9db19293d66fbf30b86409321e9814
2020-01-03 16:38:54 +00:00
dan
9a20ea9b5b
Improve a specific case of early database corruption dectecion in the b-tree layer.
...
FossilOrigin-Name: ceacc28b035803342764f9b696c1e80edcd259b87ea4fb46f92963d6cb33de3e
2020-01-03 15:51:23 +00:00
drh
9ee00200ef
Merge fixes from trunk.
...
FossilOrigin-Name: 002406df22995880d002be2e4cebb4d560283d4e0d7a4b5a34edcb110802b543
2020-01-03 15:22:54 +00:00
drh
4c983b2f86
Remove an over-zealous ALWAYS() macro and add a test case that shows that
...
the conditional can sometimes be false.
FossilOrigin-Name: 536e9a9d1bd514056ecbc8172ed58f2656a86f791a15e526ae2e5f2c93687b6a
2020-01-03 14:34:04 +00:00
dan
607dd6e608
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.
...
FossilOrigin-Name: 9d791116420f4e3f613775569e0a0cba2fc22da568b2fb2df920bcf9c9002938
2020-01-03 14:27:08 +00:00
drh
90996885fc
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.
FossilOrigin-Name: b36126c1889e323c9a8f04b4f4884576993c845e7d393e5e73aaa6ab5158c1f9
2020-01-03 14:16:43 +00:00
dan
aa328b6ab1
Ensure that when a Select object is reset a new, empty, SrcList is allocated.
...
FossilOrigin-Name: 4889cbf898d7ec54f061b21b6d3621b22fc482cbeaa7115d40995a4cc30e41db
2020-01-03 13:55:14 +00:00
drh
0cbec59c8b
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.
FossilOrigin-Name: ff9492d3ff733c222ea67f23d478df1547641b5e2e6dd870b0b29e25c13f3739
2020-01-03 02:20:37 +00:00
drh
e1f49b8850
Fix a problem in sqlite3TreeViewBareExprList() in which the routine was
...
not interpreting the new ExprList format correctly.
FossilOrigin-Name: cd56872afbb4edeff2e8c1cb1c8d47c7a9b333b3fc416c20183250807291fae8
2020-01-03 00:28:14 +00:00
drh
618ee33614
Merge enhancements from trunk.
...
FossilOrigin-Name: 091403a6705f5f1352c76eacbfdca75fe0bab12ab9b156842641de07c38d3f66
2020-01-02 23:50:50 +00:00
drh
24d35e409c
Add the two-size lookaside memory allocator. Also, reduce the per-entry
...
size of the ExprList object.
FossilOrigin-Name: 51665bf0f975fb248964a4be205a4f3285d3f3f8cc697977d264efefbbe20dd8
2020-01-02 22:28:47 +00:00
drh
9fc1b9af36
NEVER() and ALWAYS() macros tagging unreachable branches.
...
FossilOrigin-Name: 34b877742ef78e9bb3f16815180f4ad9cd722beb1d610f713400a3b25d68aa9b
2020-01-02 22:23:01 +00:00
drh
378ca1eab3
Merge the latest enhancements from trunk.
...
FossilOrigin-Name: bd57e6d923d3b04f0a07aaf18bf389d2b2b7efc7c57e8cb37e6ef910662d8397
2020-01-02 21:41:59 +00:00
drh
0c4f82051c
Do not allow the zipfile virtual table to start a transaction if no
...
filename has been specified.
FossilOrigin-Name: 7405e982257611803792617f5d8142c54f9831b4a030f4de8607888c525e6289
2020-01-02 21:30:13 +00:00
drh
6b559f3033
Fix some test logic in the OP_Delete opcode so that it works after a
...
cursor-trip.
FossilOrigin-Name: 28900e5cab73f9edb9383d64a37e14fed0602966cb704ddffa60c0281698fd52
2020-01-02 19:50:50 +00:00
drh
1b39aab08d
Ifdef-out code that is only possible with the sessions extension.
...
FossilOrigin-Name: 4fcf07f79672d203efbc90ad21d97f6a131c3885306f8e0bab015d5ac44b8644
2020-01-02 18:37:04 +00:00
drh
3aef2fb1b4
Have the OP_ReleaseReg opcode also invalidate the registers if P5 is non-zero.
...
FossilOrigin-Name: 937be22106f7e3f08712febd342d6cb81d129f2d5ab24ce80b3a5c3f9bbde54e
2020-01-02 17:46:02 +00:00
dan
9f3e6fadde
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].
...
FossilOrigin-Name: e782096aa06fcf410c3a0a6ee26a9e4f44333da39b28b2efe675814a8652911a
2020-01-02 16:24:22 +00:00
drh
4cbd847a91
Fix the OP_Move opcode so that it correctly manages dependency tracking.
...
This change impacts debugging builds only.
FossilOrigin-Name: 5377add4b8af8c52d0a32f5273835ac6bdc42cfb2a95ffcb335b987437a91aa6
2020-01-02 15:02:08 +00:00
drh
22e95fbd74
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.
FossilOrigin-Name: 9886cb4b7987f720aa9d701222ab0987caa0ab8c5d216cb6e523c4a45366dfe5
2020-01-02 14:42:42 +00:00
drh
52f11b885a
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.
FossilOrigin-Name: 49a6368c384178653cb3ccb58cc8eff93327c16929bf79eeefeb13a4ce897153
2020-01-02 13:26:49 +00:00
drh
629b88c683
Use OP_Copy instead of OP_SCopy to move the results of a scalar subquery.
...
FossilOrigin-Name: 435c272dcf6ed5f3acb564b8f959557145f117b869547b670258cf5a1908ab6b
2020-01-02 02:50:45 +00:00
drh
36e678bc39
The sqlite3WhereEnd() call now unwinds all Expr modifications made by the
...
sqlite3WhereBegin().
FossilOrigin-Name: 7bfd42f1dc0c94f9bb74516e62fec8e39c20f4749f4e0972f66c2886d3c64f73
2020-01-02 00:45:38 +00:00
drh
2a83c10072
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.
FossilOrigin-Name: 8ee2ce92c082771675d0e8be597043cf9f0fd4f8a73d6a1498bf8743d6b3904a
2020-01-01 23:02:35 +00:00
drh
fc705da15d
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.
FossilOrigin-Name: 4edddcc0bc8d71e9b8abac67bc3766f1d9143dddd1f59264859ce65e5aa9b8c6
2020-01-01 21:14:30 +00:00
dan
4ea562ee70
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.
...
FossilOrigin-Name: ce1417325273aba866767349b55d9bbfb61a08e716bebda2122918a9657ee38c
2020-01-01 20:17:15 +00:00
drh
aef8167421
Fix the sqlite3ExprImpliesNonNullRow() routine so that it correctly
...
handles a numeric comparison of two AND subexpressions.
FossilOrigin-Name: 07e504d5174a1a8b1aa05ec5b44ac81ab3ea706c5a098caa88deb3d489cec8fb
2020-01-01 16:43:41 +00:00
drh
171c50ec38
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.
FossilOrigin-Name: 473892a8eceacf24d57fd0c72ff2a0b8be4e0d75e0af7a30bdb24fbc3b453601
2020-01-01 15:43:30 +00:00
drh
25c4296bd9
Factor out code generation for in-line SQL functions into a separate routine
...
inside of expr.c.
FossilOrigin-Name: 586a65a28fc6cac77309612abc32a2e1017c65e0387f9f438f5d8ac8406da8eb
2020-01-01 13:55:08 +00:00
drh
6d67aff0e3
Issue OP_ReleaseReg opcodes against the array of registers used to compute
...
index records after the index record has been computed.
FossilOrigin-Name: e3330861b4deab7c7cc09ad8b936d633c600b9fb4e274801efeaaf94e5c860b4
2020-01-01 01:26:05 +00:00
drh
51676fab72
Remove an incorrect assert() statement. Ticket [46fcd700b855e6d1]
...
FossilOrigin-Name: eca7ec9cda4606c4104bcb8da315070b615713db9f3444579c6a3e96b0aad02f
2019-12-31 23:17:35 +00:00
drh
b945bcdaf1
Experimental branch with new sqlite3_db_config() options that could possible
...
enhance security for applications reading potentially compromised database
files.
FossilOrigin-Name: 96a2db2612f2e47bbec0e374a242820c88f03c42ccbf8467abccaef41469bae2
2019-12-31 22:52:10 +00:00
drh
64de2a5f7b
Also set the SQLITE_DIRECTONLY flag on the load_extension() function.
...
FossilOrigin-Name: 3bd095a53119c368fe30e539983588b27957203344cf427405b9a64784b8eba7
2019-12-31 18:39:23 +00:00
drh
1e732787da
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.
FossilOrigin-Name: f3171dc22e4d3a40ca17fe609391d92fc6a997b775bfefa5947aec69c889aa73
2019-12-31 18:12:36 +00:00
drh
cf014f6cbd
Refactor names. Use "small" instead of "mini" to describe the smaller
...
of the two lookaside memory allocation sizes.
FossilOrigin-Name: 88d244983854cdc1a369c5df09ae00f1098784db768ba4e17b963d187dcb1009
2019-12-31 15:12:34 +00:00
drh
5f6a2ed7f2
Merge recent enhancements from trunk.
...
FossilOrigin-Name: 39d55579376906f212271ce9b2d367e3ad029fb173f22c7253312b467970208a
2019-12-31 14:49:10 +00:00
drh
02ff747bc0
The OP_ResultRow opcode releases the SCopy dependences on all its registers,
...
as the values in those registers will not be reused.
FossilOrigin-Name: 1dc83c5d54ca2890112e735e336c209adb8d067d2f647e9f8ae5d58f84a52461
2019-12-31 12:18:24 +00:00
drh
70d6b8327a
Back out the NEVER() from check-in [40d10e7aad5b8992] because it is reachable
...
after all. Ticket [892575cdba4e1e36]
FossilOrigin-Name: f481636f1a0333c6e98906e5d4433bf1d046380bc29c760e8e7e2c2b3530b956
2019-12-30 23:50:19 +00:00
drh
0b973c8bff
Add an ALWAYS() to a conditional which is apparently always true.
...
FossilOrigin-Name: ea44c607b8038999a6bda4d761d95056aa4058d6c2891b7eee0715a50e703490
2019-12-30 23:41:59 +00:00
drh
2b173b93fc
Put a NEVER() on a defensive branch.
...
FossilOrigin-Name: 40d10e7aad5b899206e45d1f8606470a90a07049e15d94c3811cfe695f3a402e
2019-12-30 20:42:53 +00:00
drh
8d95ed789e
Fix a typo in a comment. No changes to code.
...
FossilOrigin-Name: d4813a8d813f234e819f8ebefbd3ff96d3d69593cc7d716cf0ad6c1a126da827
2019-12-30 20:42:17 +00:00
dan
9d41af23a4
Do not use HIDDEN columns for NATURAL joins. Fix for [7c0e06b16].
...
FossilOrigin-Name: ab09ef427181130be09a087b7e572ad4cfb6b3e1b459769ee5ebf046b3ead682
2019-12-30 14:32:27 +00:00
dan
2b6e670f73
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.
...
FossilOrigin-Name: a9e0354c992b0287608ddd18fd35fe7e6102a8f293d6e6e1b3488644bcda8168
2019-12-30 06:55:31 +00:00
drh
7b14b65d20
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]
FossilOrigin-Name: db4b7e1dc399c1f16b827ac087aa37c0815f4b2f41f1ffad59963eead2ab5562
2019-12-29 22:08:20 +00:00
drh
be3da24134
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.
FossilOrigin-Name: 21ef6e99331210b80fa7c71b4f02e8f768a748d01aef884368af2f6b51a067e0
2019-12-29 00:52:41 +00:00
dan
997d7434b7
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.
...
FossilOrigin-Name: eeb76f621de2f930a548db0fbb9fe25b4479b73581826b8dfa2e63cd1f1ab783
2019-12-28 18:25:51 +00:00
dan
4adb1d0000
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().
...
FossilOrigin-Name: 82be135dee7ccfde5f8a67f3621b7ced449dce89bae9cadf025154a4de848c11
2019-12-28 18:08:39 +00:00
drh
a4b2df5ce2
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.
FossilOrigin-Name: 9421b442cad9858ec21050c106aa935a1c0723ab08ef9a867a79638b040b6e68
2019-12-28 16:20:23 +00:00
dan
51f2b1719c
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.
...
FossilOrigin-Name: f4bed1d7af8a94c6facd567dec5afae8865a5ad76b8834493099e5e30bed1132
2019-12-28 15:24:02 +00:00
drh
f1bb31e219
Further improvements to .wheretrace during loop code generation.
...
FossilOrigin-Name: c4d5b75c9381255ec8d9a284eedb6b27be46ca868cae5985cf8a5769b15290c3
2019-12-28 14:33:26 +00:00
drh
118efd1626
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.
FossilOrigin-Name: 59cc46e5a6d8dbb030f27716ad5446ecccf81cf0cfff95338b9133777f2059e7
2019-12-28 14:07:22 +00:00
drh
cacdf20771
Expose some of the Where data structure debug printing routines to the
...
entire WHERE-clause processing module.
FossilOrigin-Name: 85e76887761b5d7e290fb2bac7f9121648f79d67fdd92f624d81632f28620518
2019-12-28 13:39:47 +00:00
drh
29368eabc5
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.
FossilOrigin-Name: 52ea0672d7494346c636cd7b05ca42161eb3b07d9378fa9959be9a11de87dbbb
2019-12-28 13:17:11 +00:00
drh
cfcf4de4a6
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.
FossilOrigin-Name: 5e6357fc953a955d8ebb5c1fcd72e04e4ae5e8bf5941810015c2fbc50de70535
2019-12-28 13:01:52 +00:00
drh
6411d656aa
If the ".wheretrace 0x10000" bit is set, print WhereTerm.prereqAll
...
and .prereqRight fields in the WhereTerm trace output.
FossilOrigin-Name: a4f330b133a36356681dce7d2a65d8ab792620494d6cd4ef4934a97cf3a8e6fc
2019-12-28 12:33:35 +00:00
drh
7505123fe5
Two new test cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: 1be2c18f4021e1d0b8412ecb68a599475c717dd97c7db209fc4203358957fd70
2019-12-28 11:55:44 +00:00
dan
409f3370af
Second attempt to fix a problem with unwinding the WITH stack of the Parse object following an error.
...
FossilOrigin-Name: 315d1f1a503e8c186739658c85b92fa3d12514e5baaa26925c85664b5e85d1c0
2019-12-28 09:08:27 +00:00
dan
43526f4ada
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: d693be375380fbfca426999a77eeecb8453fa77b77f608bfe266945dee1da41d
2019-12-28 08:33:46 +00:00
dan
5d59102a91
Fix an assert() failure in altertable3-22.4.
...
FossilOrigin-Name: c566a91d5c4290b0a491a01e85bf8f9fbebf2910e0d478bafc2d22da7f749cae
2019-12-28 08:26:47 +00:00
drh
9a1f2e4853
Fix a faulty assert() associated with query search limiting query plans.
...
FossilOrigin-Name: 0d743585c242ebd898b232f42937a2306752aaed0a6756705e3ef1cf7593aa97
2019-12-28 03:55:50 +00:00
drh
b97f3532f5
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.
FossilOrigin-Name: 4d0b9109f7a5312d4e136395e08b11dad64d746bc106ad44d47675e5b1dcb4ef
2019-12-28 02:40:49 +00:00
drh
d9670abb58
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]
FossilOrigin-Name: 6afadd3b3a40b0ef29fd14fb24c2a4b9479483e5f8b9125ce02d8daae662207f
2019-12-28 01:52:46 +00:00
drh
ad5f157791
Recompute the values for all generated columns after
...
NOT NULL ON CONFLICT REPLACE constraints fire.
Tickets [37823501c68a09f9] and [5fbc159eeb092130].
FossilOrigin-Name: 4cc12c18860bc4801a407cf45e88e23d3d40391f01a461fbac2cac5f102100e1
2019-12-28 00:36:51 +00:00
dan
a6c1a71cde
Do not attempt to unwind the WITH stack in the Parse object following an error. This fixes a separate case to [de6e6d68].
...
FossilOrigin-Name: d29edef93451cc67a5d69c1cce1b1832d9ca8fff1f600afdd51338b74d077b92
2019-12-27 20:54:42 +00:00
dan
b4b3630657
Remove a NEVER() that is no longer true. Fix for [36ffedcb9].
...
FossilOrigin-Name: 597896ed0ae9e2960a8f39576bd7f77a11dccc1da84b6a44ebb5c38d90ebc330
2019-12-27 20:06:32 +00:00
dan
e3735bf466
Fix a problem involving window function aliases being referenced from sub-selects.
...
FossilOrigin-Name: e3b5fc05c00fc58be7a7c94ce1d97a5b05113f39aba03df64aab08364f85616b
2019-12-27 19:46:07 +00:00
drh
6473ba95a0
Add a missing "ifcapable rtree {...}" line to the window1.test test module.
...
FossilOrigin-Name: 4e6fbb1a5100fe29209bcf668fbecf3a733034b84925265d8a15b0a84baf6cf0
2019-12-27 18:15:04 +00:00
dan
431704375e
Fix a problem with window functions in aggregate queries that do not have GROUP BY clauses.
...
FossilOrigin-Name: 99609786f485653464d1caef1d207ae299d28c925bff3e8e94891759b4765dcc
2019-12-27 16:25:56 +00:00
dan
d8d2fb9222
Do not mistake constant integers in a PARTITION BY expression for references to ORDER BY style references to values returned by the SELECT statement.
...
FossilOrigin-Name: 45c64d39d5afed7fdc6b1de19408559740d1fba1f5e0269ab68b132366a289e4
2019-12-27 15:31:47 +00:00
drh
09bee5743d
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.
FossilOrigin-Name: 8a39803ef8db4d8cb0d231e66299525fad4e61266ca29b3704aebb88df1c745b
2019-12-27 13:30:46 +00:00
dan
5e484cb3eb
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.
...
FossilOrigin-Name: 1ffc045d2bbeeda9c13a3a3585538ff6434fc852b0ae6679d3c8b9f606bf92e6
2019-12-27 08:57:08 +00:00
drh
fce8165ec6
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].
FossilOrigin-Name: 846b1de6e5a9e418f225273dc033234c64c116fcd89c8261522b4902c248451f
2019-12-27 01:50:46 +00:00
drh
8d7f44c03a
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.
FossilOrigin-Name: 465a15c5c2077011befa854a77f9d295bb751ef20b7d2937ac0ba47cc84587c9
2019-12-27 00:19:53 +00:00
drh
fe2a3f1d24
If an UPSERT can cause an Abort due to a constraint failure, make sure
...
the query planner knows this. Ticket [7c13db5c3bf74001].
FossilOrigin-Name: f14ce948662f3445a06d84d4f32d9b81143e0cffaf773d8aa4d3a609bfb9682b
2019-12-26 23:40:33 +00:00
drh
d3ee3ad12f
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]
FossilOrigin-Name: e54560495926fbb8a2ce829c677a2dd0066e46b7a8d4ada9d8a34a3426959836
2019-12-26 23:16:18 +00:00
dan
e752040c09
Fix an assert() in fts5 that could fail if an xSavepoint() call on another vtab fails.
...
FossilOrigin-Name: a5d7f5d24a239f729de0b8aa5becf5af35ba87160565ee0713c335b8d1bbf12d
2019-12-26 14:36:31 +00:00
drh
fa53284777
Makefile.in fix so that it works on systems that require a .EXE suffix
...
on executables.
FossilOrigin-Name: f482a4cdfa768941e22c399de8ec29a55e729529eeae86d3832077ad1bef22f3
2019-12-26 01:10:17 +00:00
drh
0bb7af44a3
Add two new fuzzer test cases from dbsqlfuzz.
...
FossilOrigin-Name: f8d5586a8ceca985dcb2d63d0fbad9e271e9e1664720ee698d4947acd5dcc543
2019-12-26 01:02:02 +00:00
drh
96e8eebf96
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.
FossilOrigin-Name: c8c6dd0e6582ec9103d007b294c42bb1820be1fa7dab85d873b04e0b90571626
2019-12-26 00:56:50 +00:00
drh
0b12613a00
Fix an FTS3 test case that depends on the ICU extension so that it only
...
runs if SQLite is compiled with ICU.
FossilOrigin-Name: 19c6240bdbb022b2af463e59d873280d0f2385bf30e22b9aad5fc9677a99f251
2019-12-26 00:54:39 +00:00
drh
aaa5ba0609
Fix an incorrect assert() added by check-in [fa58aad48a788802].
...
Problem found by dbsqlfuzz.
FossilOrigin-Name: a17b29f08c888301911c35096899f10d24192c8ecec467cddde5401b6bd1903f
2019-12-26 00:53:43 +00:00
drh
e86f3402ac
Disables the optimization that tries to pull the value of an expression
...
from an index on that expression if the expression is a constant.
FossilOrigin-Name: e5fd8b50500f9225e435ef5afee98e3c2cccd22785f99c718d7e6c9b5b653c56
2019-12-26 00:20:56 +00:00
drh
a9ebfe2030
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]
FossilOrigin-Name: fa58aad48a788802b13a819e49f9b8787f713bbe395c46c7295e821c52c81738
2019-12-25 23:54:21 +00:00
drh
b44fec68a5
Fix a minor performance regression from check-in [401c9d30e06191d9]
...
FossilOrigin-Name: 76f54ee86777cbf530654323c953388ef64d0608516722d2522be6c859fa1382
2019-12-24 21:42:22 +00:00
drh
c7a5ff45b9
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.
FossilOrigin-Name: ddb10f0374e66886d0681937b14cf0b4f100f03d3955b45b6c508dc6d9e36976
2019-12-24 21:01:37 +00:00
dan
4fcce747e2
Fix a problem causing fts5 integrity-check failures if numeric values are inserted into a table within a utf-16 database. Fix for [752fdbf6].
...
FossilOrigin-Name: bae060f382e4386c0793db4aa280fe9cd4893307d17a1801a17218ae4dc031c2
2019-12-24 20:51:01 +00:00
drh
a194d3152c
Make the zipfile() extension function more robust against zero-length filenames.
...
FossilOrigin-Name: b9c2005f0291d58d7f3bfd4a2286eb6563e9c9433519c3329035f325fc723445
2019-12-24 18:53:13 +00:00
dan
3fee9de239
Fix another case where malformed utf-8 was being mishandled in fts5. Fix for [df46a6f3].
...
FossilOrigin-Name: 1c0a05b09a97e6e2e9b11c31ed6ec7e6484686614b587ebfd0cfe27d973ba461
2019-12-24 16:20:05 +00:00
dan
84d17bdaa7
Fix an assert() added as part of commit [a11b393dc] that can fail if fts5 database records are corrupt.
...
FossilOrigin-Name: 4630c1ec013a4c2e54a34c9a64b2c803ac3912450de660497eb34ee21c91f426
2019-12-24 15:35:53 +00:00
drh
4eac5f04ab
Extra defense against problems following an OOM. dbsqlfuzz find. Also
...
import the latest dbsqlfuzz test cases.
FossilOrigin-Name: 0a70f5ddaf3567f335cc0fd0fcd5303e2afb5e38a6388faddf5cab1f2a74e3dd
2019-12-24 15:01:17 +00:00
dan
c26e78d275
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.
...
FossilOrigin-Name: a11b393dc2c882cf0b3c47c3405bf43ca1d6459605bd39cccce4d32da653a72d
2019-12-24 14:27:03 +00:00
drh
34da2a4806
Convert an ALWAYS() into an assert() with an extra error term.
...
Dbsqlfuzz find, with test case in TH3.
FossilOrigin-Name: b473ad35c5ce355853e1805a5c0658bda1500775f22f59c6b6759ae990e65aca
2019-12-24 13:41:33 +00:00
drh
22c04f8199
Allow comparison operators of a register against itself.
...
Ticket [188f912b51cd802a],
FossilOrigin-Name: 401c9d30e06191d938503aae024bc453d960fa64dc812ed86c661f94533247fd
2019-12-24 01:53:05 +00:00
drh
1e490c4ca6
Test case for the zipfile-extension bug fix of the previous check-in.
...
FossilOrigin-Name: bc8bfc7fcdf33f6855584e10e9260073430517ff3268cf0c7988dcc4cd785391
2019-12-23 21:11:15 +00:00
drh
d8f2d46cbc
Fix the zipfile() function in the zipfile extension so that it is able to
...
deal with goofy filenames that contain embedded zeros.
FossilOrigin-Name: cc0fb00a128fd0773db5ff7891f7aa577a3671d570166d2cbb30df922344adcf
2019-12-23 21:04:33 +00:00
drh
5f0dfc00de
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]
FossilOrigin-Name: 4c50afafce8416369f89477ba7fe7d9b047399a5ee5754c73d0e67bbea8d877c
2019-12-23 20:41:39 +00:00
drh
192cf36de6
Remove an extra deflateInit2() call accidently left in
...
check-in [f5ee30426e8876e7]
FossilOrigin-Name: 953e6aa6d9ca09e549c88bc728c322fabdcef581f3b4a7763d95488dddbbd6a5
2019-12-23 20:07:28 +00:00
drh
e2478dfa43
Do an early close of virtual table cursors to avoid unnecessary cursor
...
contention in UPDATE for some virtual table implementations.
Ticket [56a74875be799b85]
FossilOrigin-Name: eb95dac7f6482c36853a23234c5ce7af37c7beed8e3675d6a49c4d3a8307e076
2019-12-23 19:28:34 +00:00
drh
a2d50283db
Early detection of database corruption in balance_deeper().
...
FossilOrigin-Name: 61c2233654158e65a3d3baeea947903a919a569fcc4a5b342b2e9a68cec1b6f3
2019-12-23 18:02:15 +00:00
dan
1d24a53125
Fix a case in which SQLite could fail to identify "x BETWEEN ? AND ?" being true as implying that x is not null. Ticket [dfd66334].
...
FossilOrigin-Name: 2f17974912ec5e99089dc0da803e7ff1bf033377a49762d2689a812c005f2641
2019-12-23 15:17:11 +00:00
dan
2811ea6be7
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].
...
FossilOrigin-Name: 0b1dbd60f5db3abe2097dbc0b6de9671685ca5eaf7d3fc8e3f87ff5065a9d114
2019-12-23 14:20:46 +00:00
drh
7edce5ecc0
Fix a shift-overflow problem in yesterday's check-in [36fdeb4f0a66970a]
...
that OSSFuzz helpfully discovered overnight. Thanks Google.
FossilOrigin-Name: bff38e2b5318ed032aaf1d350903c3494b4531f2dc59a6997144ec8e23defef4
2019-12-23 13:24:34 +00:00
drh
0af6ddd3ca
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.
FossilOrigin-Name: f347744e0d576f0250c29259cca755e57afded8956224114c01603c1bca5b3a4
2019-12-23 03:37:46 +00:00
drh
3d8e7a2f97
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]
FossilOrigin-Name: 2c44c73499154bc57634a54cb743642d0aacc93a1336fbb8bb3eb5dbbf616357
2019-12-23 02:43:52 +00:00
drh
13d7950267
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.
FossilOrigin-Name: 36fdeb4f0a66970a35de688b617f90899c89cfdfab659f864df99aa7ebf854ea
2019-12-23 02:18:49 +00:00
drh
4799488e16
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].
FossilOrigin-Name: 9ab985a9c8160b905730678f40ed440a246cdec549c798bafefaed5abbc0437f
2019-12-22 23:48:36 +00:00
drh
5d762b2d1d
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]
FossilOrigin-Name: 89a9dad6330270a4c3b962f86a208088d2ea9883c7d291351a77f058e0ed8b0c
2019-12-22 20:29:25 +00:00
drh
6e827fa27d
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.
FossilOrigin-Name: ef604882a275d3d5ebd4d5a08e3fe43e148f169b7d5c3a81464fbe7f54f3582a
2019-12-22 20:03:29 +00:00
drh
d262c2db8f
In the WHERE clause debugging output (the .wheretrace output) show the
...
parent index of any WhereTerm that is a child.
FossilOrigin-Name: 7fc733328c5914c747e048c830522ec13e433c0a86388bae47b198a3e220c6c2
2019-12-22 19:41:12 +00:00
drh
6c1c85ca48
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.
FossilOrigin-Name: 56539e1c132632c075efc217ad5951a35e4459605ac128914aec3a7be1e25718
2019-12-22 18:55:04 +00:00
drh
db1954be0a
Back out the asserts of check-ins [a500893b6f64aced] and [d9c9fe9f5ad3fc91]
...
as ticket [1b06916e01c82b66] demonstrates a case that refutes them.
FossilOrigin-Name: ddb17d92df194337a103c561ef46ced00db5e67e4551e82de7cb5ad7f457dd5f
2019-12-22 18:23:30 +00:00
drh
9524a7ea9f
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.
FossilOrigin-Name: a982e6434cd66bfbe94d455f538bcbc4360b91572062d92acae6b77e9560e65d
2019-12-22 18:06:49 +00:00
dan
69843342de
Ensure sqlite3WindowRewrite() is called on a SELECT statement before any terms aremoved from it as part of IN() clause processing. Fix for [f00d096ca].
...
FossilOrigin-Name: 8c856404b4e98d295449a4e89a41495dc007319a8e9c35c1a763718d7c5f67e8
2019-12-22 17:32:25 +00:00
dan
7a1d7c3968
Fix "PRAGMA data_version" so that it works the same way with locking_mode=PERSIST and journal_mode=PERSIST configured. Fix for 7a458c2a5f.
...
FossilOrigin-Name: 45748e2db028ffbda5d3e747493721a5a89af3fbc06823081a2f27f570e40e73
2019-12-22 14:29:55 +00:00
dan
e88af0179e
Fix a spurious report of corruption from the fts3/4 integrity-check triggered by using the languageid option.
...
FossilOrigin-Name: 70815e273f511481c310dc33b3b49079901d891078fad49b663fbce06c77ecc2
2019-12-21 20:43:34 +00:00
drh
f4f31df02d
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.
FossilOrigin-Name: 4dbb6e1cb094f3428c74ea8bdd86ab63341fecce978a062968ca01423f382e90
2019-12-21 19:37:09 +00:00
drh
b0cbcd0edf
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.
FossilOrigin-Name: ea721b34477ab8b49d182352c4bc198245933b850e9b6248b4f97600e80bb44b
2019-12-21 14:09:30 +00:00
drh
ed0c34857a
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]
FossilOrigin-Name: 056bb8dcbdc45989c5c6e86d2966200062e3c01c382ec52aae37c828104b4496
2019-12-20 22:46:41 +00:00
drh
67b9ba1732
Apply real affinity to generated columns of type REAL that are extract from
...
an index. Ticket [e0a8120553f4b082]
FossilOrigin-Name: 728ad39e3bd07a2503a95c68ed5bbc3f28fd97551d59f12a5fab25dc68227e99
2019-12-20 20:45:02 +00:00
drh
a513e591ae
Debugging enhancment: Show the Expr.y.pTab pointer on TK_COLUMN nodes of
...
an expression tree in the treeview.
FossilOrigin-Name: 64154ac450e4366d18e7e867841877a69c1f978d3ba9b8754cc133248966731d
2019-12-20 20:08:56 +00:00
dan
879f1a1ea6
Fix a bad interaction between RBU and [df51ae19].
...
FossilOrigin-Name: 0b9d8a1202c4220fd2ef299b6194533c1bf4018a0cd2d13da7e22c1a7de05ffa
2019-12-20 20:03:21 +00:00
dan
42ae633ab9
Fix two more cases in fts5 where sqlite3_value_bytes() was being called before sqlite3_value_text(). Fix for e431c355.
...
FossilOrigin-Name: a1ba9a37d7a68a6d31f8197c6350589ebe6a12f4e3c193a178dd7ead8bcd565a
2019-12-20 19:41:01 +00:00
mistachkin
e99cb2da5f
Export the public RBU entry points from the Win32 DLL.
...
FossilOrigin-Name: e62d1791f428b7a9bb14a59483f12d8ee08afbf4061a5e3be8f64787444301e7
2019-12-20 17:41:15 +00:00
drh
5d73272340
Debugging improvement: when tracing the VDBE, output the register value for
...
OP_Cast after the cast is completed.
FossilOrigin-Name: dc5f1d282d1e75f8a3791b0c95cb8f143b2a956323cb6c889d76d20db7f89257
2019-12-20 17:25:10 +00:00
drh
8cc8feae7e
When computing dependencies on WHERE-clause terms, be sure to take into
...
account the FILTER clause of aggregate functions. Problem reported by
Manuel Rigger.
FossilOrigin-Name: 3cc2b5709e66ef605c3b85ed13ae6cc9c3090e864ebc18859db36284b8f715b6
2019-12-20 15:35:56 +00:00
drh
8c7715d1cc
Improved assert() statements on the OP_Column opcode.
...
FossilOrigin-Name: c538601e4c979ee59f18d19e6eb6296cebfa580fb029a18d5a3f0dd9393acb75
2019-12-20 14:37:56 +00:00
drh
40e9c8328e
Load new dbsqlfuzz test cases into test/fuzzdata8.db.
...
FossilOrigin-Name: 01aeeb5c4c70a0f19651448e94ad5c6810cab3d6957b5bc7a9b4b8e0b887f3de
2019-12-20 14:24:26 +00:00
dan
394aa710f2
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.
...
FossilOrigin-Name: 365dd8b663d5a28af33556b2b3820c6b5482114ef741a1d82b55c6e154f3043a
2019-12-20 14:18:29 +00:00
drh
b2ab3dcff0
Fix harmless compiler warnings.
...
FossilOrigin-Name: 2bbd014c900e0d71fd30ec647739b82c5dc3aa237a0203f5a1db50593dae199e
2019-12-20 14:08:34 +00:00
dan
73b21382d4
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].
...
FossilOrigin-Name: c16305eba0eb14368f2631b9a82b7eb4483c93f3b31257ee7c33f9b00c344379
2019-12-20 13:24:11 +00:00
drh
1548d5276f
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.
FossilOrigin-Name: 01ca865f31c0c817ede7f357401ef76cf311ae662397908464f53e1c147f5b6b
2019-12-20 12:55:21 +00:00
drh
0e5ce8029d
Fix an assert() in btree.c that can fail if an INSERT is attempted on
...
a corrupted database while in PRAGMA writable_schema=ON.
FossilOrigin-Name: 07beb3629e648e7feae4e786191514339ac1d8f6ba5bb6e7cc8a04bc1f1cd6ab
2019-12-20 12:33:17 +00:00
drh
8428b3b437
Continuation of [e2bddcd4c55ba3cb]: Add another spot where it is necessary
...
to abort early due to prior errors in sqlite3WindowRewrite().
FossilOrigin-Name: cba2a2a44cdf138a629109bb0ad088ed4ef67fc66bed3e0373554681a39615d2
2019-12-19 22:08:19 +00:00
drh
6ad0e25fa4
Fix the regexp extension so that it correctly translates all over-length
...
3-byte UTF8 sequences into 0xfffd.
FossilOrigin-Name: 3d4c0bf8904135fa68c75801bfa738715cacc3b19dc8ad6ef550b11798d4b121
2019-12-19 21:11:48 +00:00
drh
8654186b02
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.
FossilOrigin-Name: e2bddcd4c55ba3cbe0130332679ff4b048630d0ced9a8899982edb5a3569ba7f
2019-12-19 20:37:32 +00:00
drh
34ab941e5b
Detect the invalid use of NULLS LAST on an INTEGER PRIMARY KEY definition
...
of a WITHOUT ROWID table.
FossilOrigin-Name: 4417c5bf0aabb34ed174f01afd981c924ae965a42128719d8d6735536631d12f
2019-12-19 17:42:27 +00:00
drh
54d501092d
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.
FossilOrigin-Name: a80f84b511231204658304226de3e075a55afc2e3f39ac063716f7a57f585c06
2019-12-19 15:15:40 +00:00
drh
59c5679691
Fix incorrect SQL generated by the Lemon change of the previous check-in.
...
FossilOrigin-Name: fccfb8a9ed3c1df9f23762bb8df6fdf36a21118899e3fae41f451169a5f2c08e
2019-12-19 13:17:07 +00:00
drh
3e5f7fef33
Modify the parse.sql output file from Lemon so that the RULE table contains
...
a column with the complete text of the rule.
FossilOrigin-Name: 329cbb372d4d77f774f01a87d104c40ef42d713afbe76195b65f5ca205c5ea7b
2019-12-19 12:29:31 +00:00
drh
c29af653e6
Change an unreachable testcase() into an assert()
...
FossilOrigin-Name: 062e00c4d7e30155299339eaefe6cbe01953894baebf0af6d7ab3295b7436eb7
2019-12-18 21:22:40 +00:00
drh
396afe6f6a
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.
FossilOrigin-Name: 862974312edf00e9d1068115d1a39b7235b7db68b6d86b81d38a12f025a4748e
2019-12-18 20:51:58 +00:00
drh
6e1c45ef2e
Add the --vdbe-debug option to fuzzcheck.
...
FossilOrigin-Name: 289158aa24b066c453d2bce4bc2dead1c56fb0b23c3f7c4810b34b13627cef34
2019-12-18 13:42:04 +00:00
drh
a7648f02e0
Enhancements to fuzzcheck on unix so that it captures signals and prints
...
the current test file and test number prior to terminating.
FossilOrigin-Name: ae7cbb246bff3717c283869ccf27ce83611422f3801176819465a8d96f6481bf
2019-12-18 13:02:18 +00:00
drh
8c72afaf33
Add a test case for fix in check-in [1ca0bd982ab1183b]
...
FossilOrigin-Name: 519864da8bb671941a64bf333c2086ad9a068b5f85759e7abd368f0706d3aefd
2019-12-18 09:17:55 +00:00
drh
94649b6159
Correctly unwind the savepoint stack if the database goes read-only in
...
the middle of a savepoint.
FossilOrigin-Name: a96d02b4ab8c70cc20b322e4fa3a4b8814f05c51f5d8b071ec9d69e7379f3ea5
2019-12-18 02:12:04 +00:00
drh
50efa58600
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.
FossilOrigin-Name: 9bdd57cb9ad8ac1f4a0f1a3942d94ca5193109eeb1975343c4f0c7abf7135946
2019-12-18 01:31:21 +00:00
drh
75e95e1fcd
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.
FossilOrigin-Name: 1ca0bd982ab1183bbafce0d260e4dceda5eb766ed2e7793374a88d1ae0bdd2ca
2019-12-18 00:05:50 +00:00
drh
646975c521
Clean up the ExprList that holds the names of columns in a CTE before checking
...
for unused references in the ALTER TABLE implementation.
FossilOrigin-Name: 8223e79f987feda5c8e51ec52cec6798cca16d070b10558939e2888ca1a25b8e
2019-12-17 12:03:30 +00:00
drh
4dad7ed532
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]
FossilOrigin-Name: 0271491438ad2a985aeff355173a8d0f1e5813954c82147bc68cb26cca5804c8
2019-12-16 16:52:22 +00:00
drh
d35bdd6c09
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].
FossilOrigin-Name: 1e3918ca2f2c1cfcfa44249b1d7b847d52cbb8d302a8d4a335c090cfdf22d7a1
2019-12-15 02:49:32 +00:00
drh
95866af326
Abort the OP_Savepoint opcode early if a virtual table xSync method fails,
...
perhaps due to an interrupt.
FossilOrigin-Name: 672e749aef7351de3c69b365c1f80c756fda4e261b5d2ac1faa01d3a7d5a4c49
2019-12-15 00:36:33 +00:00
drh
7e3f135c62
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.
FossilOrigin-Name: a89b38605661e36d192df1d074383b704b34a959fcbc169837c0d4f6848f3208
2019-12-14 19:55:31 +00:00
drh
75f1076885
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.
FossilOrigin-Name: 5b4a88cd3b3a32b1242e0eb733cc0bc4becb830a887b8e6604a4c7452050e163
2019-12-14 18:08:22 +00:00
drh
99670abb82
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]
FossilOrigin-Name: 2401e04730a156aa48787b91af4e516406cb7635145e430be62fd16481816237
2019-12-14 17:43:37 +00:00
drh
aac30f9b50
Make the sqlite3ExprCodeTarget() expression code generator routine robust
...
in the face of unknown opcodes - it simply generates a NULL value.
FossilOrigin-Name: f8e876c82a246ceed32b166f64e05dfe5ce4ab4c6820be60404109b43d36bb80
2019-12-14 15:01:55 +00:00
dan
5be1b20aec
Fix problems in fts3 with processing corrupt records and undefined integer overflows.
...
FossilOrigin-Name: 3b873029ef1903f76442445343af3786cd59ee66b0e5e0e6b76a0b6b1b5eb88a
2019-12-14 14:15:21 +00:00
drh
e3a4f2cf77
Fix an utterly harmless "applying zero offset to null pointer" UB warning
...
in sqlite3AtoF():
FossilOrigin-Name: 052fdf5e58b41ccadaa5aac293ceb4d309ced661d46f3a52be9eb8d01d347a82
2019-12-13 23:38:57 +00:00
drh
0f1fa5de04
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.
FossilOrigin-Name: c29fc21288e37f81a1617c5e2961c575d3bca6a1d1b013b2e0a99774afb1dcdb
2019-12-13 21:24:46 +00:00
drh
d335bc40a6
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.
FossilOrigin-Name: 47b71a84d1262c4bf6ad4f4a91820fd63593f08ae9efa144199d44972225e073
2019-12-13 16:04:52 +00:00
drh
e6068027ca
Cleanup and performance enhancements for mini-lookaside.
...
FossilOrigin-Name: 74805668430051032ae9b256c84e252755ee03075fc08293c948675ed40ec280
2019-12-13 15:48:21 +00:00
drh
ee5b6dd393
Merge fixes from trunk.
...
FossilOrigin-Name: 9c471195f6d3e4b00e2d0f909b306a4036352082dca5f016a8eece226e82163d
2019-12-13 12:14:23 +00:00
drh
2e2c8819f1
Ensure that there is a containing SELECT statement when processing a
...
normal aggregate function as if it were a window function.
FossilOrigin-Name: c1014e80b26131200a115beb86929a8f0ded2dd65b075e47373346c0f170576a
2019-12-13 11:42:56 +00:00
drh
0d98598507
*Remove* the macros, not just comment them out.
...
FossilOrigin-Name: e5dc2939d3e8694d648fc9b73b1174da5b1349e20fbb9cf1c91268939f308f89
2019-12-13 11:32:28 +00:00
drh
4ec4dd701f
Remove unused macros formerly used to define built-in aggregate functions.
...
FossilOrigin-Name: 3ef0d44edd0354cda9b6237f992cb67a2170ee8f1f464b1f38ac36e3a133bc71
2019-12-13 11:31:47 +00:00
drh
85d9411c09
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.
FossilOrigin-Name: bda92d92bf69a73bc6dd498f92578ad6e81111a3f97bc8724d1720e7283a83b6
2019-12-13 01:12:21 +00:00
drh
c4938ea2ba
Tie up the loose ends in the ExprList size reduction.
...
FossilOrigin-Name: 59d0f3afe5249a2a6453fe7bc810c2c7beb896d3800174c7c90f9304c0b1ad88
2019-12-13 00:49:42 +00:00
drh
cbb9da337e
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.
FossilOrigin-Name: fdda76cfb01bf2b19522ac4558b443634d28a69b0828677c42682b645eae1f3b
2019-12-12 22:11:33 +00:00
numist
1b47c9c98e
Reduce the number of call sites to dbMallocRawFinish in the case where n > lookaside.sz
...
FossilOrigin-Name: e392e7f22861ce4b66e4bf84b59c8fd38568fc241a699e001f47fd82011f4d28
2019-12-12 20:58:32 +00:00
numist
c947d6a4dc
Fix an issue where malloc could be used to fulfill a small allocation when a large lookaside slot could have beeen used instead.
...
FossilOrigin-Name: 611020e3378f4c81c277cccd84807ae51a816bbab6c3d887c91c5e5af3b5225f
2019-12-12 20:39:47 +00:00
drh
41cee66848
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.
FossilOrigin-Name: d3783357f8fa76c42a86f12b214522f0388c37773c36ab8c5ce0623abbc4436a
2019-12-12 20:22:34 +00:00
drh
0225d819c4
Change the size of a mini-lookaside allocation to a macro (MINI_SZ) rather
...
than a magic number (128).
FossilOrigin-Name: 5e1949bca998f3c8c23a8ebf01c7a2e7a2af1fdad43886271e1fe0f25411551d
2019-12-12 17:17:24 +00:00
drh
20d6c1fe1b
Merge enhancements from trunk.
...
FossilOrigin-Name: 6cb053f99b5be2ecc30e0733d8f1e4f2a89f642656d3883fc0c867b10a87ba6b
2019-12-12 16:49:10 +00:00
drh
77318a3c3f
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.
FossilOrigin-Name: c6af9f655b73200ecc0c4189698e421af6ca584babdc76e73a36d468b2eea1f9
2019-12-12 15:19:18 +00:00
numist
115d663c05
More efficient implementation of a lookaside allocator that supports mini (in this case, harcoded to 128B) slots.
...
FossilOrigin-Name: b02fdc09c838f355d9efce57f817d6a86153153b4a1f2b763914f4aaa34cb76e
2019-12-12 02:50:07 +00:00
drh
3ecc05bc3f
Fix goofy string formatting in lemon.c that dates from the K&R-C days.
...
FossilOrigin-Name: 48ba5e5a2227257cebafacbb09e9dd91d9b89ab2d52a8b4e4113c1d017d95f41
2019-12-12 00:20:40 +00:00
drh
ce678c297b
Improved tracing output from the LEMON-generated parser.
...
FossilOrigin-Name: 4d6d2fc046d586a1e5989bbb2757f13d0371fbfad0acf45a0e2fd77dffd8d8f9
2019-12-11 18:53:51 +00:00
drh
d4dae75f79
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.
FossilOrigin-Name: 840de36df1aaeb4bad9a7c18e97cc560ba3b8c629c4520a05bc456d67b3347b9
2019-12-11 16:22:53 +00:00
drh
a1ca00edd5
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.
FossilOrigin-Name: 1fa29a5f2a89b6a1ee067f9cb86de1b66455126349efe3502599fc7ad224170c
2019-12-11 15:07:09 +00:00
drh
31046a9f1f
The xDestroy method of a module might be NULL if the schema is corrupt.
...
FossilOrigin-Name: 0457e7d1961ab1f63e31d9028a9064a895f5c3fcfb56ba25e4f37e90197e3a9f
2019-12-11 14:25:11 +00:00
drh
e94006eb42
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.
FossilOrigin-Name: 136cdefb2f7b582ff1771ac7f9e733dc24c357605526cbfb1834937697c8a922
2019-12-10 20:41:48 +00:00
drh
8e8c88964c
Use a statement journal on a CREATE VIRTUAL TABLE statement in case the
...
VCreate opcode fails.
FossilOrigin-Name: aa3b0eb8c3438ddd3b660bc6bce4b1f4a0e3b5ec897079445231ee1b61210d6a
2019-12-10 18:10:12 +00:00
drh
c075c505f3
Fix parser bugs: require a semicolon after an EXPLAIN command.
...
FossilOrigin-Name: 707a058a22bd00ef14431cee0d02048cf1be745c0ef5254eda76c325435738ff
2019-12-10 15:05:09 +00:00
dan
db5ed35609
Avoid a buffer overread in fts5 that could occur when parsing corrupt configuration records.
...
FossilOrigin-Name: 355afd77df21a2265871ca6d075f26b1fa121c7c2682cf512281944ff0c2186d
2019-12-10 03:40:11 +00:00
drh
b5f6243f6d
Set the affinity of regular columns prior to computing the values of
...
generated columns. Ticket [d7c3f125c925c522]
FossilOrigin-Name: d47d66e3d360d8aa6203a855228d2bc40d9a00d69c15f5066b7632d8fb1ed2cc
2019-12-10 02:48:41 +00:00
drh
0a8764ad7a
Rename a local variable to avoid masking a function parameter and thus
...
causing a harmless compiler warning.
FossilOrigin-Name: f065cf003bd2a3a580cb5b9fa2eacd8be075fe8c2bbc5688e9a9406abbfb3804
2019-12-09 19:44:45 +00:00
drh
2bc5cf9ae9
Add a NEVER() to the ALTER TABLE fix in check-in [1d2e53a39b87e364]
...
FossilOrigin-Name: c7309ed3c7588c7e51e09418bf5cfd4611539b44c39cef9ed4ae0e385bae7625
2019-12-09 19:29:10 +00:00
drh
0824d5b9a5
The previous check-in was not quite correct, and introduced a new problem
...
with the USING clause. Use this version instead.
FossilOrigin-Name: ed28aaa4851202111a502f883ca06359d89b25bba4055c29d7bce2b501cfcc68
2019-12-09 18:22:17 +00:00
drh
926f796e8f
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.
FossilOrigin-Name: 1923efb283e8840fa7436eb20b9d2174ef7cace1690d3b97b572a0db2048b8e3
2019-12-09 17:14:48 +00:00
drh
ebd70eedd5
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]
FossilOrigin-Name: f3b39c71b88cb6721f443de56cdce4c08252453a5e340b00a2bd88dc10c42400
2019-12-09 15:52:07 +00:00
drh
7a9698456d
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.
FossilOrigin-Name: e3398c5ffb060b2b26334b8598e2c63953741e2d6f5124dbd6bdfc8e94742539
2019-12-09 14:34:37 +00:00
dan
38096961c7
Avoid infinite recursion in the ALTER TABLE code when a view contains an unused CTE that references, directly or indirectly, the view itself.
...
FossilOrigin-Name: 1d2e53a39b87e364685e21de137655b6eee725e4c6d27fc90865072d7c5892b5
2019-12-09 08:13:43 +00:00
dan
c19e22f397
Fix possible null pointer dereferences in the fts5_expr() scalar function.
...
FossilOrigin-Name: c5d44143599f3fe98492b2b900fa3d77925c7be545096251055ceeab899a41f1
2019-12-09 02:20:37 +00:00
drh
bf9d0996b9
Fix incorrect column-usage accounting associated with generated columns
...
and added by check-in [6601da58032d18ae]. Fix for ticket [b92e5e8ec2cdbaa1].
FossilOrigin-Name: 9d75e1ccc72e9f536f45df3b24e9ecd25076cc1f7cf16b806b19e0e1b68e8326
2019-12-08 00:06:39 +00:00
drh
29cdbadf8a
Correctly deal with multi-row VALUES clauses that contain window functions.
...
FossilOrigin-Name: 26d991f214db143976e2593d3564b5003eb3539a2728d1a0ccae2a2accece76f
2019-12-07 13:42:47 +00:00
drh
c7a046e282
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]
FossilOrigin-Name: 7fa664ea0ea1e0283a9af50c9ff8dd360ee6042f9e491a136f53d9bcbbc9c7ef
2019-12-07 12:13:54 +00:00
drh
7fe2fc0dcb
Fix a problem with foreign keys and generated columns discovered by
...
Manuel Rigger.
FossilOrigin-Name: 27c0fdab1ba4d4993b164eb4b777c63e82aa247c3fa406121dc8ed94970a0b35
2019-12-07 00:22:18 +00:00
drh
5102cf8df5
Early detection and reporting of too few columns in an rtree CREATE VIRTUAL
...
TABLE statement.
FossilOrigin-Name: ef73107f475e40e6bdd8b722e96992070f81fd2b7a3cb718ec8f251c89ca3e81
2019-12-06 19:07:44 +00:00
drh
0a64ddbe76
In the rtree extension, actively suppress extra tokens on the column names,
...
and be pedantic about column affinities. Ticket [367a86e28859f1ff]
FossilOrigin-Name: 97fb5a72f91a44d579466e67c33aa862384c4d1c95c2010cf4ae9dbd172bbcfb
2019-12-06 13:10:29 +00:00
drh
39593e4f09
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.
FossilOrigin-Name: 62f2235adf796c72882b26313489cf49804ec3ec4972e0eee5034176cbb07f84
2019-12-06 11:48:27 +00:00
drh
e5748a5502
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]
FossilOrigin-Name: 32772dfd50b602c049d8c30bc28cde60a18b7495a997d728081f689ff417c956
2019-12-06 01:38:24 +00:00
drh
c6b24ab1b1
Do not allow UPSERT of a view.
...
FossilOrigin-Name: ebf897e861c19e214c57f1e73841b505182202cc8d7d39e24d5a1e5625e26b4a
2019-12-06 01:23:38 +00:00
drh
b6c947251b
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]
FossilOrigin-Name: b7810062ec2489e1c5ca6638dbeb0892e4ce376c5c1834a31d1a332ebab8a871
2019-12-05 21:46:23 +00:00
drh
6c903845cd
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.
FossilOrigin-Name: 7d3e3f6e7e55da41bf776fab094df54fb6a33b2967881d3184cf854c8a637518
2019-12-05 18:29:52 +00:00
drh
05fbfd827c
Additional debugging information printed with the ".wheretrace 0x100" option.
...
No changes to normally delivered code.
FossilOrigin-Name: fc72ec52c92ca6a953e765b48e21d52021fdb23a2cd84f737da4e43c642f6a5d
2019-12-05 17:31:58 +00:00
drh
cb224ab139
Make sure the rowid of an RTREE virtual table has integer affinity.
...
Ticket [9fe487ba3c064b4e]
FossilOrigin-Name: 7ae8c0d52f6aa7f27537216f85456ef49dade040366cfb250c789206ecd4dc5a
2019-12-05 14:42:26 +00:00
dan
e6dc1e5b70
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.
...
FossilOrigin-Name: 7e5ad8e0ab7ee91a5ccb19a9654d6a036233f74d2fdc45f7315feb3d9d035fd4
2019-12-05 14:31:43 +00:00
drh
348d7f64f2
Be strict about type enforcement on rowid look-ups in the RTREE extension.
...
Ticket [30e2c183b6b356e4]
FossilOrigin-Name: d43e0efb9642037dd751cfed13438e71cfceb50e14a0ec603880c6c3be2e93b1
2019-12-05 13:34:13 +00:00
drh
674a9b3425
Enhance the RTREE extension so that it give correct query results even if
...
the query uses non-numeric constraints. Ticket [a55ab6d97d01ecbc]
FossilOrigin-Name: f898d04cf272ef0130dcae146cb86d8630b10a6f19aecfc2fa70e97e082bd51c
2019-12-05 00:44:47 +00:00
drh
a634c9e653
Window functions are never constant.
...
FossilOrigin-Name: 35f0b5a8c7921f7419eeb11be8201fd6988047042fcaeffa297fc322bc480c1f
2019-12-04 19:45:52 +00:00
drh
d63b69b8a2
Ensure that an ALWAYS() in the rename logic really is always true, even
...
for faulty inputs.
FossilOrigin-Name: 54410f0e7710542d5159d0449898598d2b7f7676bfd993644ca47da1bf1fcdac
2019-12-04 15:08:58 +00:00
dan
8f4076223d
Fix an assert() failure that could occur in ALTER TABLE code when the schema contains a view that uses a CTE.
...
FossilOrigin-Name: 75b04a4b0d2e65bfcd02cf4e0b6d8f1954957c590814a9b8f9a9ee2adc2ec022
2019-12-04 14:26:38 +00:00
dan
8aa706e748
Fix a buffer overread that could occur in fts3 with corrupt %_stat records.
...
FossilOrigin-Name: e01fdbf9f700e1bd9dd5283c65547d10d26ce4f4506d3cfef9e1087aecdc2305
2019-12-04 03:46:50 +00:00
drh
f68bf5fbe6
Fix an incorrect NEVER() macro.
...
FossilOrigin-Name: 96b6a76da09a94182414ec1a56da91728c37329d2b55f889e433054ca21605ce
2019-12-04 03:31:29 +00:00
dan
fcc057db25
Fix a double-free that could occur when a component of a compound SELECT with an ORDER BY clause uses named window definitions.
...
FossilOrigin-Name: 92893b7980cbb0c6e26bc0b21390a717193205c9897fea5f26476462928897f9
2019-12-04 01:42:07 +00:00
dan
0232dade79
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.
...
FossilOrigin-Name: c4cb9708d48ead10ee9543f86878be8382cd6e850950d5384c95254bac4a8d6e
2019-12-03 03:34:06 +00:00
drh
d79967adbe
Avoid a harmless zero offset of a null pointer in FTS3, so as to not provoke
...
unnecessary warnings from run-time checkers.
FossilOrigin-Name: 85d95abec4a596eb3ffd2ea19b4067dc1a6970264222ed5d69e75764ac21597c
2019-12-03 03:31:11 +00:00
drh
22e6f67c51
Avoid computing a zero offset of a null pointer, which though this is
...
technically harmless, is upsetting to pedantic run-time checkers.
FossilOrigin-Name: 3ce804e99bbef83d49ec309157448a7c1422725606516cef904e6122aadd3922
2019-12-03 02:51:50 +00:00
drh
ca7a26b5a1
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]
FossilOrigin-Name: 4066a34da7bcdcece6c438c27f3a11bc49b8c8373b7e1603f30f6225e2bc800a
2019-11-30 19:29:19 +00:00
drh
61cb4ed7f1
Add comments in the parse.sql file to help demonstrate how rules are
...
encoded.
FossilOrigin-Name: 2c4f714892327a1a9a303267b1f9685e310cca5dcea9c61287d95e26291b0506
2019-11-29 13:01:57 +00:00
drh
1417c2f77f
Fix the parse.sql output file so that it is readable into a database where
...
foreign keys are enforced.
FossilOrigin-Name: 3a82c554c3bde4640df6865686f8f70e2c1e07c581fed4772b6b0a8ec1b10bb6
2019-11-29 12:51:00 +00:00
drh
2ecf928ea9
More details on the comment justifying the aleged data race in the WAL-mode
...
checkpoint logic.
FossilOrigin-Name: 0fab65c79f675c825ed7e85c82b65ce6f990c9d0796ebb3886942d241df7b268
2019-11-27 20:40:44 +00:00
drh
2bbcaee833
Fix various documentation typos suggested by Mark Benningfield.
...
No changes to code.
FossilOrigin-Name: 08f09dc4f986a27f4e4e69f8226dbfaf0cfe1269cefc2830bf0fbef7b9bbda48
2019-11-26 14:24:12 +00:00
drh
51690f26bc
Fix to check-in [5d9a369301a65f32] so that it compiles without SQLITE_DEBUG.
...
FossilOrigin-Name: fefe2d046725254367f9f82a8c8cb137e8b75dbbf4bc48debf0649479ff2f0c2
2019-11-26 11:10:59 +00:00
drh
fe03dac236
Add the new -S option to the lemon parser generator to cause it to output
...
SQL that describes the input grammar.
FossilOrigin-Name: 4dbd398d640852d4a696d68c72ee039968023d402a8053b5e6b4ef1d75e982a8
2019-11-26 02:22:39 +00:00
dan
597f1eb195
Fix an assert() in fts3 that could fail due to corrupt database records.
...
FossilOrigin-Name: 5d9a369301a65f320a0696fcf1f062ca5976ef34350590c07aecf5335c66d872
2019-11-26 02:03:16 +00:00
dan
baa3458920
Modify journal3.test so that it can handle Tcl command "file attr <file> -perm" returning octal values in either "00755" or "0o755" format.
...
FossilOrigin-Name: b0b655625cf491c832a259d29a67660b8d5943c201617900a83d0660b2673377
2019-11-25 04:15:33 +00:00
mistachkin
fe293347ac
Minor enhancements to the TclKit download tool.
...
FossilOrigin-Name: 75e31b1d56781fc4d28aea6c7f1393a18fd34870a5beb92df81c088d61351b4a
2019-11-25 00:07:03 +00:00
drh
a2f142d079
Abort the window function tree rewrite early following an OOM.
...
FossilOrigin-Name: d66f95a51530259ab48f78c9f91acc38055caf338b6fee846b99a8c077466e95
2019-11-23 16:34:40 +00:00
dan
62be2dc753
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
2019-11-23 15:10:28 +00:00
drh
0f31327eee
Enhance the path arguments in JSON functions to access "#-N" array indexes.
...
FossilOrigin-Name: ffeec62cb5223ae70bc1889df4c0b241f5d17b1a10156362ca59953028741480
2019-11-23 08:51:21 +00:00
dan
7e88d6364c
Fix a memory leak in fts5 error handling code.
...
FossilOrigin-Name: de6637e15d95b7aee2caea8b8d5b9865f276cbbf152ecf0401c4c7bfdf6dee6f
2019-11-23 08:36:35 +00:00
drh
5281864f0c
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
2019-11-22 17:37:56 +00:00
drh
22de8357df
Fix a harmless compiler warning.
...
FossilOrigin-Name: 34343c4b0657767f2676a2a9feb670cf000824e3eadfb1a6d87b57404191d8f9
2019-11-22 11:49:39 +00:00
drh
ec123e1301
Fix an indentation error and improve the placement of an assert() based
...
on a tweet from Yuri Kotov.
FossilOrigin-Name: e6314e386c6877c669bd32788d3886253b0a187bee2c3889f4eaba219f5e52c7
2019-11-22 11:47:04 +00:00
drh
73bacb7f93
Add more test cases from Yongheng Chen and Rui Zhong.
...
FossilOrigin-Name: f24e6ca4f23008212ec05cace9202dbeb37ee34530ead91fac2f5e3eac7f6347
2019-11-22 11:38:40 +00:00
dan
e59c562b3f
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
2019-11-22 10:14:01 +00:00
drh
c398c65bee
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
2019-11-22 00:42:01 +00:00
drh
cd30064bd5
Add all fuzz-test cases received from Yongheng Chen and Rui Zhong. Also
...
fix a minor problem in gencol1.test cases.
FossilOrigin-Name: ac080432b480062507452d3cdbe6c0f759e6f95b65d9862e0462017405ab2b8e
2019-11-21 20:24:04 +00:00
drh
7dc76d8ba0
Fix an out-of-bounds array reference in the generated column logic.
...
Problem discovered by valgrind.
FossilOrigin-Name: a0ab42f779b9a96f4e43879210dfaba8fa593de77fc0ec0e2e6f116d9301ea59
2019-11-21 20:10:31 +00:00
drh
522ebfa7ce
Whenever a generated column is used, assume that all columns are used.
...
FossilOrigin-Name: 6601da58032d18ae00b466c0f2077fb2b1ecd84225b56e1787724bea478eedc9
2019-11-21 19:37:00 +00:00
drh
57f7ece784
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
2019-11-21 18:28:44 +00:00
dan
9c9c70920b
Fix a recently introduced memory leak in the test code in test_vfs.c.
...
FossilOrigin-Name: 2d53a30cc23e53033af8e8666457654db5dcc453ed6cd176ce1d0bff4f528159
2019-11-21 17:14:55 +00:00
dan
6637332988
Prevent direct and indirect recursive content= options in fts3/4 and fts5.
...
FossilOrigin-Name: 2eb997327c2c369c10b7835be80112d77cb2a7cfa9fe4d564042984c21d94698
2019-11-21 14:20:59 +00:00
dan
83420823af
Fix a use-after-free problem in the test suite. No changes to production code.
...
FossilOrigin-Name: 0d1055a5da8274a59f35170b1f9469597ce4c5a4c5e851a1b81d3be2ccd32871
2019-11-20 16:10:40 +00:00
dan
70d1a1a3ed
Further improve detection of corrupt records in fts3.
...
FossilOrigin-Name: a0f6d526baecd061a5e2bec5eb698fb5dfb10122ac79c853d7b3f4a48bc9f49b
2019-11-20 13:31:52 +00:00
drh
594b124f21
Changes to extensions and test logic so that the build works with gcc
...
and with -std=iso9899:1999
FossilOrigin-Name: 2575a68c3965e72f2ab211d933012442755afe6a9b7de9e9e50cdd2155fd1ec8
2019-11-20 12:07:40 +00:00
drh
cde342df70
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
2019-11-19 21:22:16 +00:00
drh
012b15e2d7
Get the aggregate=TRUE feature working on the DBSTAT virtual table.
...
FossilOrigin-Name: 16fef3db063830884de46d53a289f637a7204fe84fcdee7ea81dbb8bca578952
2019-11-19 18:48:11 +00:00
drh
ad84bd849e
Begin an enhancement effort for the built-in DBSTAT virtual table.
...
FossilOrigin-Name: 9b5722f0fe666b99677e5f333dd8413aefb9ace7a461d74f6558f0ac53768719
2019-11-19 14:01:51 +00:00
mistachkin
4a4c1bf856
Make the result of sqlite3_normalized_sql() survive its statement being reprepared.
...
FossilOrigin-Name: 4330f0795dbc2ab41dddd41d5979331fb9b78c477c66367c4be52f929531a45f
2019-11-19 00:13:42 +00:00
mistachkin
3c161e07af
Add support for the SQLITE_ACCESS_SYMLINK flag in the Win32 VFS.
...
FossilOrigin-Name: 175c15008e9f19b8f6762c2fe4a545735128765081980eed01d5e46ca4acb500
2019-11-18 23:48:03 +00:00
mistachkin
dc96192eef
Ensure all file names passed to the VFS layer are double-zero terminated.
...
FossilOrigin-Name: 251230cf43c591cf49cf9d2f392581c57d334b791bc3407814d216b5999c32f4
2019-11-18 22:34:07 +00:00
drh
3c904885b1
In the SQLITE_OPEN_NOFOLLOW processing, distinguish between an I/O error
...
on the xAccess() call and an actual symlink encounter.
FossilOrigin-Name: 2e98b42fcb7bc38e22808a9dc1d7a4231ed08ffa97c9f08f33e6e8cd8726856c
2019-11-18 18:43:19 +00:00
drh
0933aad72c
Add support for SQLITE_OPEN_NOFOLLOW.
...
FossilOrigin-Name: cb79c828496a703f1410f61458ebc1e15a92a63412b36f51945b2b5a32ec6e88
2019-11-18 17:46:38 +00:00
drh
804725a6b9
Improvements to detection of corruption in the %_stat shadow table of FTS4.
...
FossilOrigin-Name: 6b67eba54e7b4887a8cdab7537b12a95e9f17bcdaa0b423af5ed5bd91f69f2c6
2019-11-18 14:04:21 +00:00
drh
13a8f203d9
Further improvements to shadow table corruption detection in FTS3.
...
FossilOrigin-Name: e35d8c76aae59f57cc5193f79b21b4298029bea78e1aab7af67432162ce63e00
2019-11-18 12:04:17 +00:00
drh
3e72bdb5fe
Detect and prevent infinite recursion in fts3SelectLeaf() due to a
...
malformed FTS3 btree.
FossilOrigin-Name: dfcf081d842629a0b177be7eb2eb8ce719324068991040a581e33ea1d5db3d27
2019-11-18 11:14:59 +00:00
drh
19d4175d65
Improved detection of corruption in the %_stat table of FTS4.
...
Chromium ticket 1025467.
FossilOrigin-Name: 10f8a3b718e0f47be528fba086c318e1dfe18ead383d01cfa24dedabad41e0a2
2019-11-18 10:37:57 +00:00
drh
ac801803a5
Fix an assert that can fail if the schema is corrupt.
...
FossilOrigin-Name: ed57c48e4bb337810521bda2da79614313e4835a317ca4eadb52bd67e4eadf98
2019-11-17 11:47:50 +00:00
drh
feb5dcf1a6
Better detection of corruption in the %_stat and %_docsize shadow tables
...
of FTS3.
FossilOrigin-Name: 1e449687881f4d388e54a0e51bcabba41ab10cf7e596ff65e31e88a23c70d497
2019-11-17 02:41:06 +00:00
drh
fd6bf04bba
Remove a reachable NEVER() in FTS3.
...
FossilOrigin-Name: 8bd75bf636f72f32d66c6c38e1918f27daf2f13290f00a001f41d50838bbda47
2019-11-17 00:08:24 +00:00
drh
c72f2fb7fe
More improvements to shadow table corruption detection in FTS3.
...
FossilOrigin-Name: 51525f9c3235967bc00a090e84c70a6400698c897aa4742e817121c725b8c99d
2019-11-16 23:47:40 +00:00
drh
94febb3a77
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
2019-11-16 21:40:49 +00:00
drh
3a5f9bc49c
More restrictions on changes to shadow tables when in defensive mode.
...
FossilOrigin-Name: bae76a5c40703871e5ce4cd23d6fae5a3836606f524a63b01ac828c7a602c5e9
2019-11-16 16:54:53 +00:00
drh
527cbd4a10
Do not allow CREATE TABLE or CREATE VIEW of an object with a name that looks
...
like a shadow table name.
FossilOrigin-Name: 6aef58b629d89955f85f65191ba2be67b2adfac4f0327fe9a7141cb2705dbc00
2019-11-16 14:15:19 +00:00
drh
070ae3beea
Break out the test for writable shadow tables into a separate subroutine.
...
FossilOrigin-Name: 8ad34d36a141fa8f5d9bd784dfeb892c983897a6dc6b867607cc668508acf944
2019-11-16 13:51:31 +00:00
drh
d0c51d1a04
Do not allow shadow tables to be dropped in defensive mode.
...
FossilOrigin-Name: 70390bbca49e706649ca5b7c031f0baf416fc38798c17e5f3b73746b3e66e3b5
2019-11-16 12:04:38 +00:00
drh
47bcc34271
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
2019-11-16 11:33:39 +00:00
drh
5710f1ad48
Modify three test cases so that they work even with unusual versions of the
...
library printf().
FossilOrigin-Name: 8f4a3750b7d272daf96831655ffee80d457875ee121fc4537008046b9a00d0e7
2019-11-15 21:16:34 +00:00
drh
8103a03607
Fix table-valued functions so that they will work as the right table
...
in a LEFT JOIN. Ticket [2ae0c599b735d59e]
FossilOrigin-Name: 2c35d3f67b67a53ead08b1c395e7ca8e5bf65f94a5a962a0562994a3c66c95d9
2019-11-15 00:52:13 +00:00
drh
195a843691
Add support for the sqlite3_hard_heap_limit64() interface and the
...
hard_heap_limit pragma.
FossilOrigin-Name: 6399c47ea89c5766274bd6abdc9b6a85fe5b7f6c1078972c2f58e624bae59b7c
2019-11-14 18:07:28 +00:00
drh
31999c5cac
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
2019-11-14 17:46:32 +00:00
drh
803f06bf62
Merge recent enhancements from trunk.
...
FossilOrigin-Name: b8a631fd30d0732505679230684b3362c965438197a2b11518f01a77599c9202
2019-11-14 15:21:15 +00:00
drh
39d1a2a100
Minor documentation enhancements. No changes to code.
...
FossilOrigin-Name: 6153f3aada0cc9c5e773753797892ee78b518b0d76568382f5fbc9ee960f814c
2019-11-14 15:10:48 +00:00
drh
01d1801cab
New test cases added to fuzzdata8.db.
...
FossilOrigin-Name: 5baffcda7d5a42a99fa905faa834f14b94b1e2a26b5221f15d8ae8f1f5e3236a
2019-11-14 13:57:15 +00:00
drh
ba01634cd3
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
2019-11-14 13:24:04 +00:00
mistachkin
b88eaf1619
Add header guard to the expert extension.
...
FossilOrigin-Name: 7e3151855fd4370fb7d4fff20516c2c2d1980134620df924106e6989bc130583
2019-11-13 18:50:36 +00:00
drh
dbf1c4ba8a
Fix the sqlite3TreeView() output to consistently use a colon and not a
...
comma after the table number in the AST dumps.
FossilOrigin-Name: fa2416f623d83fe93253137302a74fcd6cdd041da337a0756df344d7d09a19f5
2019-11-13 16:50:06 +00:00
drh
d2c40e9310
For for the previous check-in: Always enable the nUri variable, even
...
when debugging is turned off.
FossilOrigin-Name: f84a15394c369cbdb6fba87c603a609722cf1f499626c7f20699060273ab5081
2019-11-12 16:21:27 +00:00
drh
746461f1b8
Ensure that the main filename and the journal filenames in the pager
...
object are all correctly double-zero terminated.
FossilOrigin-Name: df51ae19c1aa4c26f2dcd427eddc1c9cc24b698e1ab0a948b198a57432e25e1e
2019-11-12 14:43:47 +00:00
drh
4c8056079f
Remove a harmless unused variable.
...
FossilOrigin-Name: 28091a48aa6994f8d7c142b5851bcd6b4e9a93a7bbef6c927a6182d24f3245b4
2019-11-12 03:45:23 +00:00
dan
a3b75e982a
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
2019-11-11 15:13:11 +00:00
drh
48eb03bd0e
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
2019-11-10 11:09:06 +00:00
drh
9576802dba
Remove an incorrect ALWAYS() macro.
...
FossilOrigin-Name: f7a74f89dbd58b47bbcb58ea2af71fbe1eb5ec2dbe36d90685c39cb28ecf5250
2019-11-10 10:08:03 +00:00
drh
12bf712707
Change the COLFLAG_NOTAVAIL bitmask so that it fits in the single-byte
...
Walker.eCode field.
FossilOrigin-Name: 53847f5c28bdecfbc7b08685d4dcd0565526f6191491b4827c3c966a4b8d4a85
2019-11-09 15:31:34 +00:00
drh
675f73bcab
New dbsqlfuzz test cases added.
...
FossilOrigin-Name: 18c3a17dc8c07b12427e372ff86668d5bcb6b34d653c46c48561ed576acefa5b
2019-11-09 14:44:18 +00:00
drh
46a31cdf6b
Make sure the WITH stack in the Parse object is disabled following an error.
...
FossilOrigin-Name: de6e6d6846d6a41c4821454dfdc042096234df753be08c5567b79fe535d9b6ea
2019-11-09 14:38:58 +00:00
drh
ff1032e5c2
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
2019-11-08 20:13:44 +00:00
drh
1e7c00e695
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
2019-11-07 14:51:24 +00:00
drh
4e8e533bf7
Restore generated column loop detection logic that was incorrectly removed
...
from the previous check-in [9e07b48934e9a972]. This fixes ticket
[299b50ba812d8e54]
FossilOrigin-Name: 104a2beb57037f9353ffa77096aae0eb64e4682e667f31623bfd3d064dd8d881
2019-11-07 02:32:54 +00:00
drh
dfa15270c4
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
2019-11-06 22:19:07 +00:00
mistachkin
bde3a4f680
Minor simplification to the changes from check-in [36c11ad51f].
...
FossilOrigin-Name: 7bc8205dd9c1657c736a9c6a1a90dd9dad442accfbb77d296eaae2c09ab46bd1
2019-11-06 19:25:45 +00:00
drh
4fb24c82cd
Fix the OP_DeferredSeek index-to-table column map in P4 so that it works
...
with generated columns. Ticket [ce22a07731530118]
FossilOrigin-Name: 36c11ad51fe9ab1bde0b98d0ea9b8588e07d168cd8027486749372894941ad93
2019-11-06 17:31:18 +00:00
drh
b1129c423f
Fix the handling of NOT NULL constraint violations for generated columns in
...
a REPLACE statement. Ticket [2399f5986134f79c]
FossilOrigin-Name: 77b1c90add514050fe62f22751362fecacd99f9775346cffc60e09c326e64e10
2019-11-06 14:49:43 +00:00
drh
06fc24555f
Changes an unreachable testcase() into an assert().
...
FossilOrigin-Name: 5710845b6314f924b490434b4446169f4bb50576aaa940472af68150db16e127
2019-11-04 12:49:15 +00:00
drh
6c68d7592f
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
2019-11-04 02:05:52 +00:00
drh
db535390db
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
2019-11-03 00:07:41 +00:00
drh
0383661414
Fix a problem in VIEW creation that was introduced by the generated columns
...
feature.
FossilOrigin-Name: 9c795c4d2b042d2932774bd1274fa0167ca2dc9838e127e0cf31eb9273a32f2c
2019-11-02 17:59:10 +00:00
drh
089c4bc2e2
"STORED" is not actually a keyword. The parser looks for STORED as an
...
ordinary identifier.
FossilOrigin-Name: 167cd574d6a1d4fe2253f5bc5aaa7b031cbc82853e4d33b8d9b72eaf049003d4
2019-11-02 13:45:03 +00:00
drh
39b30a7d6b
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
2019-11-02 13:32:50 +00:00
drh
978256f3d8
Restore the on-line ".help" for the ".explain" command in the CLI.
...
FossilOrigin-Name: 28b8f1036d569bccce56b4e7042348024b5dd1ffa04850cbeddab1e35c49e5b7
2019-11-02 00:00:14 +00:00
drh
9c6a92982f
Fix a harmless compiler warning.
...
FossilOrigin-Name: f0ebea35d9d6b69a7bb4242fb79ff3db4267e429855fa6969f9f52ffee1c7a99
2019-11-01 18:52:09 +00:00
drh
bc4974c81b
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
2019-11-01 17:31:27 +00:00
drh
f2b9d7c605
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
2019-11-01 16:37:53 +00:00
drh
dc2e331ab2
Add another missing column number translation to the foreign key logic.
...
FossilOrigin-Name: 32df5edcfef2605009f45d6ef1b97c63a99df07c7b4e00dc70f93001cfb8d81f
2019-11-01 16:08:20 +00:00
drh
1a9082f6d7
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
2019-11-01 15:19:24 +00:00
dan
b1c479b61d
Fix an fts3 assert() that could fail when operating on a database containing corrupt records.
...
FossilOrigin-Name: 7c52f5478f9ecf5c078208759143ae9de43c1bf191dfcd74acb8bd169d4dc883
2019-11-01 13:37:26 +00:00
drh
f09a14fbc3
Add missing column translations to foreign key logic.
...
Ticket [c28a01da72f8957c]
FossilOrigin-Name: bc6a43e7ee6353b9ef3dea4309c77e170a1c798eefcfaa7636bf5a93e51c47ee
2019-11-01 12:14:30 +00:00
drh
e7d9814fe4
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
2019-11-01 10:49:15 +00:00
drh
bd0f0eb037
Slightly faster keyword hash table.
...
FossilOrigin-Name: f12e743e19a04ecbf7eb69b675082f2e4dda05b38cd81f6588a1ce95dfc57ada
2019-11-01 02:30:54 +00:00
drh
ff37c40787
Correctly generate pre-UPDATE content for virtual columns that are used
...
by foreign key constraints. Ticket [b9befa4b83a660cc]
FossilOrigin-Name: 40d3282ec285d9f724f6548283f48b601510cf5284da17485723fd650a68f436
2019-10-31 20:54:20 +00:00
drh
29974f7b91
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
2019-10-31 17:13:17 +00:00
drh
04307c8a3f
Ignore differences in Expr.op2 in sqlite3ExprCompare() in cases where it
...
does matter. Ticket [1d2a8efc6c3a595a].
FossilOrigin-Name: 329820673a12ff6a6c8759f40989d4ccf272441064b0366a5f491695b55ad0e9
2019-10-31 13:16:26 +00:00
drh
d493353e99
Enhance the TreeView logic to show information about Expr.op2 for
...
FUNCTION and COLUMN nodes.
FossilOrigin-Name: aceeaf9e28767a0880a16872867a1f57bff163acd0f10d19d5688068077590fa
2019-10-31 12:30:38 +00:00
drh
20cee7d0bb
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
2019-10-30 18:50:08 +00:00
drh
920cf596e6
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
2019-10-30 16:29:02 +00:00
drh
9ee94147f0
New tokens ALWAYS, GENERATED, and STORED used by generated columns should
...
all be fallback tokens.
FossilOrigin-Name: 13fe6978b7de208d2e27460d824f7fc778cf6ea0aabfe566b32bb410b8816f63
2019-10-30 13:00:23 +00:00
drh
66c48907a2
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
2019-10-29 16:18:45 +00:00
drh
f4658b68fa
Tighten the generated column requirement such that every table must have
...
at least one non-generated column. Ticket [166347c6fc994155].
FossilOrigin-Name: 4fba090e678ef184736277c9ec9a9374c8bd4df4d41f51a3dc6818e2efcc103b
2019-10-29 03:39:17 +00:00
drh
b6d861e523
Add a missing translation from table column numbers to storage table numbers
...
while processing constraints on an UPDATE statement.
Ticket [9621dd78a024d07a]
FossilOrigin-Name: 361ea81ae8a13e7d2ec4c2412f30e049bb6ee320980d502c86bedc315cdd3bc0
2019-10-29 03:30:26 +00:00
drh
2c40a3eb35
Disallow tables that have only virtual columns.
...
FossilOrigin-Name: 591973217f1caf24cde91dc15b7edca2edda05dac8ae2b2cd8d71e7aa072f7d1
2019-10-29 01:26:24 +00:00
dan
9930cfe878
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
2019-10-28 13:54:59 +00:00
drh
0f28e1bdd9
Remove a NEVER() comparison from sqlite3ExprCompare().
...
FossilOrigin-Name: f4285297e1e7ebef90bfc0f71402a4e1726d31bc15b69fec13a1f0d98fed1f08
2019-10-28 13:07:01 +00:00
drh
76baf799a2
ALWAYS macro added for coverage.
...
FossilOrigin-Name: a1e1ba9145049491c593ac70d9e05149662d34770129c270d702f284cd19a481
2019-10-28 04:20:28 +00:00
drh
a0e16a2261
Improved detection of attempts to use a generated column as part of the
...
primary key. Ticket [91e86951016a6802]
FossilOrigin-Name: 6d1bbba9a004a2491c76b4a7d09edb9b738102c46fdcb3e0f7b22bffa719518e
2019-10-27 22:22:24 +00:00
drh
1231b4773d
Remove code from the constraint checker that generates virtual column values
...
with the incorrect time. Turns out the the regular code for all other
columns works correctly and so the incorrect special-case code is not
actually needed. Fix for ticket [3ea175512444b0d1].
FossilOrigin-Name: 5b4c0f2ddc6f324e23bbde0ee3d1ab672cfe8ab5044c9b693f4c33cdd75c211e
2019-10-26 23:51:44 +00:00
drh
c34f05cca7
Remove redundant code resulting from a merge error on the previous check-in.
...
FossilOrigin-Name: 713fe86b8c9f3c9ef8af952019e99ba2f4741326226264de6a66baaeb1803d2a
2019-10-26 18:56:12 +00:00
drh
a88c8c1ae4
Add support for generated columns.
...
FossilOrigin-Name: b855acf1831943b3914491ed0bc333131321930cab480a5281012a3aebbba492
2019-10-26 18:47:47 +00:00
drh
cbda9c7ac7
Performance optimization on sqlite3GenerateConstraintChecks() - bypass the
...
loop that checks each column for NOT NULL constraints if it is known in
advance that the table has no NOT NULL constraints.
FossilOrigin-Name: e3c3f4d7872f431a95627d52553101388c1e39458cc7e7f93fc81255f49a89a5
2019-10-26 17:08:06 +00:00
drh
d3c468b758
Clarify some comments and add assert() and testcase() macros to the
...
replace-trigger recheck logic for ticket [c1e19e12046d23fe]
FossilOrigin-Name: 8c0042bd5ccd83f8794d19cbb1ec7564584f0dce54bfebc0ada00b836aca065f
2019-10-26 16:38:49 +00:00
drh
a015d3c82f
Fix a problem in the legacy ".explain on" formatting when it is used on
...
a query with more than 8 output columns.
FossilOrigin-Name: 070b49825c5f87cce15be4b758f0dfdd65226ec379465ca527a18706a1f3b8f4
2019-10-26 16:02:34 +00:00
drh
166bc383e2
Minor changes to help ensure the pointer returned by sqlite3VdbeGetOp() is
...
not used after it becomes invalid.
FossilOrigin-Name: 346bdd49fb93aa58e8bd14250974d8c0c32cc7e8317c8b12da1fa44db10d8a3a
2019-10-26 15:40:17 +00:00
drh
d901b168b5
Overnight, OSSFuzz helpfully pointed out a potential use-after-free bug in
...
yesterdays changes, involving continued use of a pointer after the memory
pointed to had been realloc()-ed. Thanks Google.
FossilOrigin-Name: c422afb507dc875751e6a72e4ba5f4f0793097c0de4533c1600311f689e76ed7
2019-10-26 12:27:55 +00:00
drh
0660884ea0
Add missing VdbeCoverage() macro. Fix an off-by-one error in partial index
...
handling. New test cases. Ticket [c1e19e12046d23fe]
FossilOrigin-Name: 41cc8e3dab998f7efc898d18837ca7fdac94ea3f89954990c5231456bf725fee
2019-10-26 01:43:14 +00:00
drh
a407eccb61
If replace triggers are run during uniqueness checking, then rerun all
...
uniqueness checks a second time using the ABORT algorithm.
Fix for ticket [c1e19e12046d23fe]
FossilOrigin-Name: fbac0c65d8464b126d385262d176864add55452ec9e3d5eb76ffee06e820cb9c
2019-10-26 00:04:21 +00:00
drh
db561bceda
Performance optimization in sqlite3BtreeCursor().
...
FossilOrigin-Name: ea068b099c96b8b9526114732d2a6be186cf381b7329d102778ad25b95510c9e
2019-10-25 14:46:05 +00:00
drh
1b22c1b816
Merge fixes from trunk.
...
FossilOrigin-Name: 4ec57d88415fa4ea2e99d4a5671074ec6829d6824bc8509d5ae9c978d47d1419
2019-10-24 23:43:32 +00:00
drh
4485ac1a25
The previous fix was incomplete. It is also necessary to disable the
...
Expr.y.pTab field when making the translation.
FossilOrigin-Name: b99d5701312f7472e6b606bd824f9273617e2655920485bf50aa96d408064721
2019-10-24 21:02:06 +00:00
dan
ef2df8f343
In fts5, fix a case of overreading a buffer by 1 byte when counting characters in malformed utf-8. Fix for [dd1f67bf].
...
FossilOrigin-Name: 8d964e1c21d4cea699023e02b0616a75c5859dd083c9365cdcbc0676ebbdaae4
2019-10-24 20:35:27 +00:00
drh
c7476735c9
Fix handling of covering indexes that use virtual columns.
...
FossilOrigin-Name: e0f7e321eca91c49102649f70728de69347cbd7b16599b854203c24cfdc348e6
2019-10-24 20:29:25 +00:00
drh
06baba54b4
Correction to check-in [bec5b6d4d083556d] so that it detects *all*
...
triggers that might perturb the insertion cursor.
Ticket [50c09fc2cf0d91ce].
FossilOrigin-Name: 521f1d36282549488a47a434484a24924ee970d29f05a8ae499b7d536bcd692b
2019-10-24 19:35:26 +00:00
drh
035f6d909f
Do not allow ALTER TABLE ADD COLUMN for a STORED column.
...
FossilOrigin-Name: 42fc08bc1528a34a603c2c085b515766a8d33ae7ea0350a52b0ca24b94ebcbc5
2019-10-24 01:04:10 +00:00
drh
31269a9f5f
Add an experimental set of UUID processing functions as the uuid.c
...
extension in ext/misc/uuid.c.
FossilOrigin-Name: 1a6e009372cf9571e540812c8607e95a86740112a1091f03e3f632339eccb629
2019-10-23 21:00:40 +00:00
drh
269d322de2
When a vector comparison appears in the WHERE clause and the constraint side
...
has a COLLATE clause on the first term of the vector, be sure to honor that
COLLATE clause. Ticket [135c9da7513e5a97].
FossilOrigin-Name: 978b2d20cf95d0b7143e3104ce1e9d5c85002867b554dc6b21deb528b730bbc7
2019-10-23 18:09:39 +00:00
drh
6ab61d7052
Minor adjustments for clarity and test coverage.
...
FossilOrigin-Name: 30065716878d4058e75eb510b0b27b68e5193d04625eb173210de8061f20f499
2019-10-23 15:47:33 +00:00
drh
ab0992f022
Fix incorrect arguments to testcase() macros.
...
FossilOrigin-Name: 812467fbf04ce00228a8381a5eee471e4e35cc63184a4538129fcd70b7cec979
2019-10-23 03:53:10 +00:00
drh
a1a01ffb5e
Fix the foreign key logic to be compatible with generated columns.
...
FossilOrigin-Name: 3de57145a18c62ff9b556c7218d8b276000d0052e4890212fa9335235f22d03c
2019-10-23 00:31:01 +00:00
drh
e70fa7feba
Take the declared column time into account when computing the values for
...
generated columns, and apply appropriate affinity.
FossilOrigin-Name: 9e04ba22dfce3998e61331ac229ff543ecccc590284c9dd5def21efbe594fba0
2019-10-22 21:01:34 +00:00
drh
7b8ab230dc
Merge the row-value fix from trunk.
...
FossilOrigin-Name: 1fbd7438611174aa594485241c8cc2f4ea6d09c57ef2fc16c8995e8061fdfdd6
2019-10-22 20:16:04 +00:00
drh
db36e255d5
Disqualify row-value comparisons for use by an index if the right-hand side
...
has an affinity that does not match the index.
Fix for ticket [6ef984af8972c2eb]
FossilOrigin-Name: 5c118617cf08e17a6edfdfba86e3fc49132a780990b68b52724c2aaeac85f506
2019-10-22 19:51:29 +00:00
drh
f4b1d8dc17
Do not allow generated columns in the PRIMARY KEY.
...
FossilOrigin-Name: 1a54743a3d327efc8ecc45b9fde91ddfea3fca36408f9b753453c31f2e4cc69c
2019-10-22 15:45:03 +00:00
drh
7e7fd73b25
In UPDATE processing, include generated columns in the set of columns being
...
updated if and only if their generator expressions reference some other
column that is being updated.
FossilOrigin-Name: d38176e93a628e03f1bd8b689fbc4152a1495388da917c2d89cefed04353d2d6
2019-10-22 13:59:23 +00:00
drh
427b96aedf
New testcase() macros. Fix a problem with INSERT when the IPK is to the
...
right of generated columns.
FossilOrigin-Name: 412799fc5527aaca987e4e04b8a4f774dcdb70fb80e3a126dc3a26d48a66935c
2019-10-22 13:01:24 +00:00
drh
6b910364bb
Merge changes on trunk into the generated-columns branch.
...
FossilOrigin-Name: ba123b8c201053d8f9387de38f3513b06f7721b28d79fab8489f96d336105117
2019-10-22 12:02:09 +00:00
drh
98c94e60d0
Previous check-in to fix [b47e3627ecaadbde] was incomplete. This check-in
...
completes the fix and adds a test cases.
FossilOrigin-Name: c7da1c01f1f239e68c2173ac5748b8c5798271e43bdcee68f51f97cd0ca92bd5
2019-10-22 11:29:22 +00:00
drh
a5d0911546
Move the sqlite3LocateCollSeq(), sqlite3FindCollSeq(), and
...
sqlite3GetCollSeq() routines so that they are all beside one another in
the callback.c source file. No logic changes.
FossilOrigin-Name: 9ff80a9bf8fee776e2f282d0597215b77d48093ebc71d047ad1457da0582ddbc
2019-10-22 01:00:16 +00:00
drh
898c527eaf
When flipping ("commuting") a comparison operator, set the new EP_Commuted
...
bit rather than adding extra EP_Collate bits, to single later processing that
the order of precedence for COLLATE operators is inverted.
Fix for ticket [b47e3627ecaadbde]
FossilOrigin-Name: 90f7c477354d67d22d5eb0da22dac579f384ab44743fdc19887220e32203ebc2
2019-10-22 00:03:41 +00:00
drh
2c3de90da1
Add a VdbeCoverage() macro that was omitted from check-in [eea1e7aa57e74c43].
...
FossilOrigin-Name: cd2317d04c1c4bcf5fe63aa02a6051bdfae8f5566a098e3f45bf9ec1dd0c3ea6
2019-10-21 23:41:56 +00:00
drh
276d7f7847
Try to fix a harmless compiler warning reported by ICC.
...
FossilOrigin-Name: 7f41b44ca2ecb907ea0fd09a974ac9dbdf911463a94f0f77c826cf1b1d9c3e8c
2019-10-21 16:15:57 +00:00
drh
f5f1915d59
Changes to the INSERT logic to make it simpler and faster and so that
...
it works with generated columns and BEFORE triggers.
FossilOrigin-Name: bc368cb090376d33d3844e3689c4f6bd19eed758e39b878ee67fef93b1c839ea
2019-10-21 01:04:11 +00:00
dan
52612bec3c
Fix a resource leak in fts5 that could occur if an auxiliary function is called from within a query that does not use the full-text index.
...
FossilOrigin-Name: b528bdcd45db1b783ecd9739c3d3c890f04de7003f079668970eafaf8e23b2f3
2019-10-20 08:26:08 +00:00
drh
dd6cc9b52a
Work toward getting generated columns to work with triggers. Still more
...
work to do in this area.
FossilOrigin-Name: 932a37275d7e932f8237d32c8fc6087ed8cd342fe01ef2f7a43c7237ab84c9ac
2019-10-19 18:47:27 +00:00
drh
c5f808d85e
Add testcase macros.
...
FossilOrigin-Name: fb9c9bb284d441bd7aa34c87b6fd8ce57d036c17623d82354154fc6286bdd134
2019-10-19 15:01:52 +00:00
drh
b9bcf7ca60
Refactor names of column index transformation functions, for clarity.
...
Get generated columns working with ALTER TABLE RENAME COLUMN.
FossilOrigin-Name: 27ab41c9102e7801ff829488fc123a8040da008bef373d6704efbe2f93e1da90
2019-10-19 13:29:10 +00:00
drh
f95909c764
Fixes for WITHOUT ROWID tables with VIRTUAL columns and an INTEGER PRIMARY KEY.
...
FossilOrigin-Name: 86074da0fd2949e231898ef0bc672d90fd89cefa49fb0eb50ff398fbdd91d1ad
2019-10-18 18:33:25 +00:00
drh
4102deb962
Merge trunk enhancements into the generated-columns branch.
...
FossilOrigin-Name: 85bc4524d76999080faa4474e8880d2b6a2ac3a7f6a76239af4de1a42f8138c8
2019-10-18 17:47:47 +00:00
drh
8e10d74b21
Get generated columns working for WITHOUT ROWID tables.
...
FossilOrigin-Name: 9f409649ec4282a47f0a8b079b419f1922e0c24779b297f477ced168d5b7910d
2019-10-18 17:42:47 +00:00
drh
491c5bea7a
Enhance the ".imposter" command in the CLI so that the first argument
...
can be an existing WITHOUT ROWID table instead of an index. The resulting
imposter is the same table, but with columns in storage order and with
all constraints removed.
FossilOrigin-Name: 9dc0d34586eebf6705d9bd81494c417ac76707b8625d1ff99eda18b4ca2d8a50
2019-10-18 15:58:50 +00:00
drh
6df9c4b990
Claw back some performance from the sqlite3ExprGetColumnOfTable() routine.
...
FossilOrigin-Name: e8426acb94179ff49549aced6ea3c26c49ba4761c2f414fa1772d6a031edc79d
2019-10-18 12:52:08 +00:00
drh
01ef55e0f5
Fix sqlite3ColumnOfIndex() to account for virtual columns.
...
FossilOrigin-Name: 447271123e3b467d9271a4c0cf27f47af2f865c9298b8c355d9e766411a1f422
2019-10-18 12:14:48 +00:00
drh
463e76ff8f
Get indexes working on virtual columns.
...
FossilOrigin-Name: 450c48766c8e62653d074c95f69b0576de3880d183a1d1e5992d88b6fce6cc39
2019-10-18 10:05:06 +00:00
drh
9942ef0d95
STORED columns can now reference other STORED columns, in any order, as long
...
as there are not loops.
FossilOrigin-Name: 0d236698e64b2a4b46f91a25279c406e0bf392fe66116678456f0a034c11d7b4
2019-10-18 02:19:18 +00:00
drh
0b0b3a95d0
In the Table object, change the nVCol field to nNVCol - the number of
...
non-virtual columns, as that is the quantity that we need most.
FossilOrigin-Name: 4ad66af04a654d92711d2d056ce8f35cd21eac4b99fb8d78be1a314620b6d29e
2019-10-17 18:35:57 +00:00
drh
d4cd292c2a
Bug fix with INSERT using an explicit column list on a table with
...
a non-final STORED column.
FossilOrigin-Name: 61b4459ae6a6cc182c11abbc8b1dd629f77beb088d7ccad5e563d8d4769056df
2019-10-17 18:07:22 +00:00
drh
c143114460
Some (but not all) INSERT and UPDATE statements now work for STORED columns.
...
FossilOrigin-Name: fe7517bf4d360597576ab9aba29627d7926d23f2bbbfb3e7bf4d32761617574c
2019-10-17 17:54:05 +00:00
drh
ae3977a8f3
Fix the xfer optimization for generated columns, so that VACUUM works again.
...
FossilOrigin-Name: 8f67b89b04622c1509dc102a83be7a80057dc791625804fc2c294089c98b97e4
2019-10-17 16:16:34 +00:00
drh
8a53ce2ff8
Basic UPDATE functionality working for VIRTUAL tables.
...
FossilOrigin-Name: c21959d4eb5d742a097a98e1874c0bf132dc962a97a65be1ab22d6ca3cf2b261
2019-10-17 15:59:03 +00:00
dan
b2075011a7
Avoid an infinite loop in fts3/4 incremental-merge in the case where the lowest level in the database contains segments but no data (because there is a delete-marker for each valid entry). Fix for [bf1aab89].
...
FossilOrigin-Name: 35beaee059a6cccead4311886ca928d936f23584cf435e35e265e98feea723dc
2019-10-17 15:41:36 +00:00
drh
676fa25a0f
Bug fixes so that "make test" once against runs with no errors.
...
FossilOrigin-Name: 7bfe0f679d8951b3e925bdf549efa0f8d6b514eddeaca69cbfddbd9476cfff5f
2019-10-17 14:21:07 +00:00
drh
ab3c5f26ab
Fix the table_info and table_xinfo pragmas so that they work with virtual
...
columns. Table_info omits virtual columns. Table_xinfo gives them a
"hidden" flag of 2, and 3 for STORED columns.
FossilOrigin-Name: 069351b85f9a706f60d3e98fbc8aaf40c374356b967c0464aede30ead3d9d18b
2019-10-17 13:15:40 +00:00
drh
ab45fc0413
INSERT with named columns for a table with generated columns.
...
FossilOrigin-Name: 64db39f92d68d1b9f23e48af35e16b969c38b58041fbe900066eeb3ddb291cef
2019-10-16 22:01:56 +00:00
drh
c27ea2ae8d
ALTER TABLE is able to add a VIRTUAL column.
...
FossilOrigin-Name: 120c6b78cb51532f783014605f1107d40b2e4f54e3852fb1f8f167d0c0b78c69
2019-10-16 20:05:56 +00:00
drh
7e508f1ee2
Simple INSERT and SELECT operations working with VIRTUAL columns.
...
FossilOrigin-Name: 7f9f90b1b885fa9905b296f2e0fcc9b2341019b42fc839722a93cf60e49a9252
2019-10-16 19:31:46 +00:00
mistachkin
16fd04cdbe
Enhancements to SQL query normalization for UPDATE statements.
...
FossilOrigin-Name: bba975c7af3de9aeb5c62fb8b05d61b96e4ecd0b030008442bbdd345e1e5f134
2019-10-16 17:46:22 +00:00
drh
2da8d6fe74
If an AFTER DELETE trigger fires when a conflict row is deleted by REPLACE
...
conflict resolution, make sure the conflict really has been resolved and that
the trigger did not recreate the row before continuing.
Ticket [a8a4847a2d96f5de]
FossilOrigin-Name: eea1e7aa57e74c4329003f4550168e2aed9e33d2301a3ba84b10781a9cebbc1b
2019-10-16 14:56:03 +00:00
drh
81f7b37270
Initial experimental code for generated column support. Non-functional.
...
FossilOrigin-Name: 11d472c1df707b8d03ec57d8fc582a34f5eb89a9d02a154a9871650c65065b45
2019-10-16 12:18:59 +00:00
drh
4ec3e820a0
Formatting change on a multi-line conditional, for improved clarity.
...
No logic changes.
FossilOrigin-Name: 7248e3476511ecd317f54edcfe1e87443bfdcc1b10c89c7734eefcabafec6c0b
2019-10-15 19:01:55 +00:00
drh
68748ec509
Futher improvements to the IN operator for row-values on virtual tables.
...
FossilOrigin-Name: bc751fb64d5b08e5ca4c85cd1c6fbf09590fa9dad7e176ba373082ea373655b5
2019-10-14 20:32:31 +00:00
drh
4a9f379c9c
New test cases in test/fuzzdata8.db.
...
FossilOrigin-Name: 344d9cb0c726078af6deb4a26bed3aded5b26914bb286d3446d3a4e9150840b7
2019-10-14 15:24:20 +00:00
dan
2d82269ca8
Fix a problem with row-value IN(...) operators and virtual tables.
...
FossilOrigin-Name: aa57d7abac0bb92d4d5fd4e093a11cf8efc04e4eed748b2a400d01f137250649
2019-10-14 15:15:50 +00:00
drh
a0fe5fe54f
When Select-Trace is enabled (in debugging builds only) do not show the
...
result of Window function tree rewrites if there are no window functions.
FossilOrigin-Name: d1acf72ae1ea7484bb9c3a8630094f1a3a9597578c7b9d6e02fc0a4e3f59c57d
2019-10-12 23:38:00 +00:00
dan
d681626a8b
Update the zipfile extension to use deflateBound(), instead of compressBound(), to learn the maximum possible size of a deflate()d buffer.
...
FossilOrigin-Name: f5ee30426e8876e70304f852153b56991a2a66e0f6a82597e9dcccf49163272d
2019-10-11 18:55:10 +00:00
drh
a1698993e6
Futher improvements to LEFT JOIN strength reduction.
...
FossilOrigin-Name: 8a39167bd2d46496f7484cfec371e4bad22da882209b01da9459c4ed5877da25
2019-10-11 17:14:40 +00:00
drh
4a254f98e3
Improvements to the LEFT JOIN strength reduction optimization.
...
FossilOrigin-Name: 548082dfab5d9484279ccc11cd2833ac131b54b7481372b576d7c28bbb3294ea
2019-10-11 16:01:21 +00:00
dan
8b4d0e2cba
Ensure fts3/4 prefix indexes are flushed to disk before an 'optimize' command. Fix for [745f1abc].
...
FossilOrigin-Name: 4ed905b18847d4dbf5a2570052abced338065f824137b90300f62d77b3159d80
2019-10-11 15:33:13 +00:00
dan
9613c9f4a6
Fix the fts3/4 integrity-check command so that it works with "ORDER=DESC" tables. Fix for [8a6fa2bb].
...
FossilOrigin-Name: 5863546df99abd1ad4ebcaba18dec647be4368e2c13ce0b28e48c8608d3e87ef
2019-10-11 14:27:17 +00:00
drh
656d535ae6
Increase the version number to 3.31.0 for the next release cycle.
...
FossilOrigin-Name: ffd4c30620abe6ba38d82f3db934d18cc8468aaac4cd50a4e01be8910854d3f0
2019-10-11 14:25:00 +00:00
drh
21f6daa2cd
Faster response to sqlite3_interrupt() in the OP_IntegrityCk and OP_Count
...
opcodes.
FossilOrigin-Name: bf875dc59909f9c22f7c1fc843bc4d9e5d97af5cb4ef43c4fa1d566ddfdeaacb
2019-10-11 14:21:48 +00:00
mistachkin
af94adf049
Update the autoconf makefile for MSVC.
...
FossilOrigin-Name: 9455643eecb74c8ac93ad3b3566f30e380dd912cdce3de993da5af42973ac59c
2019-10-10 23:58:28 +00:00
mistachkin
6dcf9a451e
Fix harmless compiler warning seen with MSVC.
...
FossilOrigin-Name: 73a82114733af2a316f20eb8578badef307d14286c6ec03197744a6793425161
2019-10-10 23:58:16 +00:00
dan
0287c95165
Prevent SQLite from assuming that if ((? IS NOT NULL) IS NOT NULL) is true, ? may not be NULL. Fix for [d51a8696].
...
FossilOrigin-Name: 7833feecfe745e237f239ee4c38a9e4bf7ad66a32919150208da87c00a826473
2019-10-10 17:09:44 +00:00
dan
cd79010964
Fix a problem in the fts3 integrity-check routine causing it to report as corrupt tables that contain values with embedded 0x00 bytes.
...
FossilOrigin-Name: 629e20c9880acc2cb9e2fa6da39a15a90483e9a8f433df29d285c23bdfb03b0b
2019-10-10 16:41:44 +00:00
dan
3703edf110
Be sure to rewrite column references inside FILTER clauses and window frame definitions when flattening queries. Fix for [1079ad19].
...
FossilOrigin-Name: ccba7202b69d239724c3b589439c9c3b0e1bba237accfeb11c39d492522b8719
2019-10-10 15:17:09 +00:00
dan
da03c1e65e
Avoid assuming that an expression that contains the sub-expression (? IS FALSE) or (? IS TRUE) may only be true if ? is non-null. Fix for [a976c487].
...
FossilOrigin-Name: eb7ed90b8a65748f0721aaf7bdddd2207f552be5015603fbfb7044d815ae2f36
2019-10-09 21:14:00 +00:00
dan
ae55737fbf
Do not allow users to effectively disable fts5 crisismerge operations by setting the crisismerge threshold to higher than the maximum allowable segment b-trees on a single level. Fix for [d392017c].
...
FossilOrigin-Name: 86e497209217abb7bcb491a023cd353f3c7c9c103ebd9f58dd8661b12cf3694c
2019-10-09 18:36:32 +00:00
drh
92a2824cc6
An improved fix for the dbsqlfuzz-discovered ALWAYS() failure following OOM in
...
sqlite3ExprCollSeq(). This time with a test case (engineered by Dan).
FossilOrigin-Name: 907f7965b335d8d5441f2e386bb190d1f93ffcd45ca98d2d1c621dede491fc5e
2019-10-09 15:37:58 +00:00
dan
a6bd1871d1
Disallow fts5 page sizes greater than 65536 bytes - as there are 16-bit offsets used in the page header.
...
FossilOrigin-Name: 75775c5ab44e497cb19be10397229637f1374f05c3244e8f92d6c54fcea94f5f
2019-10-09 15:26:45 +00:00
drh
76f8318e31
Remove the "fastfuzztest" makefile target. Use only "fuzztest".
...
FossilOrigin-Name: e17571c789db31123642d0ed1f3d8764e070019e0deb8b88cce58d2183551cdf
2019-10-09 15:08:27 +00:00
drh
9fd04bfd29
New test cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: b68d21e93a0839b42f49845918df7738ee7fa2a05c7f4ae2f89fdbb5e47ad8eb
2019-10-09 15:03:45 +00:00
drh
efb02281a4
Change sqlite3SelectDup() to always return NULL if an OOM has occurred.
...
FossilOrigin-Name: 01ba4641ab436c6065c8725908fc0913f2abded4ea62e004b7534e0116b9451a
2019-10-09 15:00:37 +00:00
drh
c0efa4d309
Use the "fuzztest" target in place of "fastfuzztest".
...
FossilOrigin-Name: 7129e468fd182c1820cdfa2c66a81d1697e5d1580680b77c0df9bb0ae0049e0d
2019-10-09 13:52:31 +00:00
drh
07eb7f89a0
Remove the obsolete "fastfuzztest" target from the makefiles.
...
FossilOrigin-Name: 3d44f1ee0f606409bc9c091dae2c9d2e78ada318a0de08437f4f4835a1a5d203
2019-10-09 13:12:55 +00:00
drh
f3ce2483f5
Save CPU cycles in sqlite3Prepare() by, among other things, shifting the
...
EXPLAIN column label logic over to sqlite3VdbeMakeReady().
FossilOrigin-Name: 1ca5ef84506aac3e2f08baa36095b3befdeedf2a3443fcd9154a277b55cbf64b
2019-10-09 01:19:07 +00:00
dan
fbd79cc585
Fix problems with using the fts5 'rebuild' command inside a transaction that contains other updates of the same table. Fix for [e258f008].
...
FossilOrigin-Name: 238e0835714696aba0631f288fcc30ec5fddb43893d469c6bf017f386b3cddee
2019-10-08 13:34:24 +00:00
dan
b186a622ee
Disallow page-sizes smaller than 32 bytes in fts5. Also ensure the fts5 integrity-check works even when "PRAGMA reverse_unordered_selects" is true. Fix for [265e935b26].
...
FossilOrigin-Name: 8ab0aebdb3c2d6fb3160b2c58ce6cc0495a6ddd960878a6395958c837f3d1b71
2019-10-07 20:36:18 +00:00
drh
38587159dd
Omit a pointless memory allocation in vdbeSorterSort().
...
FossilOrigin-Name: 5d76dbc5b0584c15d7d59e5c079868f2077f32b865f406b40ec837b8ab6ef2e1
2019-10-07 20:33:26 +00:00
dan
03e025e217
Fix a problem with running ALTER TABLE ADD COLUMN statements within a transaction that writes to one or more virtual tables.
...
FossilOrigin-Name: 31e85fbbc4cfd09a98b4a6dc6624f863816f376c6a4eef1fafc657c8e1abbc36
2019-10-07 18:43:21 +00:00
dan
8451e1fa27
Add a test case for the assert() fix in the previous commit.
...
FossilOrigin-Name: 32fba11ab72f6300391267eaad64e92fa767c289029e668e4bd6c9165acf1487
2019-10-07 13:46:43 +00:00
drh
093589de5e
Fix a faulty assert() statement in the sqlite3VdbeMemExpandBlob() routine.
...
FossilOrigin-Name: 69a26eade2f92029e722a5a654214b1e2a3fc7ed497ce9aa5a7dce944f90e502
2019-10-07 13:26:58 +00:00
drh
b29ef5ef03
Fix the OP_SeekRowid opcode so that it works correctly with a Real argument
...
without damaging the value in the register that is the argument.
Ticket [b2d4edaffdc156cc]. Test cases in TH3.
FossilOrigin-Name: 3cde82c86b963fa75192907d548febd3882c7d8fc7daf1903fadd5ca46623be1
2019-10-07 01:05:57 +00:00
drh
705e73344e
Omit the check for conflicting shared-cache locks in sqlite3Prepare() if the
...
database connection uses no shared cache. We might be able to go back and
remove this code completely, due to the newer Schema.iGeneration logic, but
that will take more analysis. This check-in gives the speed benefit but not
the reduction in code size.
FossilOrigin-Name: 0b73a09270dfafb27f8d1762b547ef8178c9da66f45e7153ff0b76272dfa92f5
2019-10-05 19:53:21 +00:00
drh
1de92a64cd
Optimization to sqlite3VtabUnlockList() for the common case when there
...
is no work to do.
FossilOrigin-Name: fc8d45086dc2bcb9bce756088e99e63cbeedf9129139fb0e6a48b43c4f502180
2019-10-05 19:24:52 +00:00
drh
a22d2fca33
Call sqlite3Prepare() directly, rather than going through sqlite3_prepare(),
...
when processing the sqlite_master.sql column for a schema.
FossilOrigin-Name: cc49380ea76a4a05843d3a0bdfb925464dc9d72c33cf5ab5243dd07d161ad038
2019-10-05 18:33:25 +00:00
drh
4d29448114
Reorder two comparisons for a small performance gain in OP_Transaction.
...
FossilOrigin-Name: d7667f6560318272c8b35b478e29b0ed134105dfd119a2fd53ef0490442c60cc
2019-10-05 15:28:24 +00:00
drh
31f69626df
Performance optimization to the lookaside-memory disabling mechanism.
...
FossilOrigin-Name: 17ce1c49cb0ed6fdd8c7c33431bc2afa217f1092c99b8dd608890a8e7aec7fb1
2019-10-05 14:39:36 +00:00
drh
228a52d973
Version 3.30.0
...
FossilOrigin-Name: c20a35336432025445f9f7e289d0cc3e4003fb17f45a4ce74c6269c407c6e09f
2019-10-04 15:03:17 +00:00
dan
6117a17323
Avoid running a couple of tests in affinity2.test as part of the valgrind permutations, as the way floating point computations are simulated by valgrind causes them to fail.
...
FossilOrigin-Name: 7f9a4b6015ac332a04d3e394a6b3210fc95253d8786a261178a5639cb8d9d987
2019-10-03 16:02:22 +00:00
drh
d1c472dab6
Increase the precision of floating point value display in VDBE debugging
...
output. No changes to normally deployed code.
FossilOrigin-Name: a561a656ff50efc0103da3988626cea3ef05757403b83960f2aa6c0a48c2765e
2019-10-03 14:51:59 +00:00
dan
b008e4d744
Fix some test script issues that come up with SQLITE_OMIT_VIRTUALTABLE builds.
...
FossilOrigin-Name: 3934d2d08ee14d644dc01f967c10f219b76b172c963c90a7a8141f2b08a7d5bf
2019-10-03 14:36:36 +00:00
dan
367b8d7aa7
Fix issues with command line invocation of wapptest.tcl.
...
FossilOrigin-Name: 9e0d5d2640a92070967bc9fdf5c5b1653e41b9c04e04dcb70f18ead10f053aef
2019-10-03 13:44:08 +00:00
drh
9a50f4c72a
Update error detection logic in releasetest.tcl to account for new
...
output formats in USAN.
FossilOrigin-Name: 3f36b988360204628d5ad1df2db34818b9a2d6ba989018d4c17757229f4b0f65
2019-10-02 19:44:42 +00:00
dan
f0578823dd
Update corruptM.test to account for the fact that the database schema may be loaded from within the "sqlite3" command for some test permutations.
...
FossilOrigin-Name: cb9470fc064aad72a4e42c6a021410401b3b1a32446ae8b9cd9c759f0a2a01ef
2019-10-02 19:43:38 +00:00
dan
23d3f5d661
Fix a long-standing problem in fts4 incrmental merge.
...
FossilOrigin-Name: 67da31e24ebb49c4cac81c9e7cfca37ca422555fd0fdb01d8f180890783c84ff
2019-10-02 19:33:34 +00:00
drh
e2b7a7693e
Disable sqlite3_drop_module() tests when virtual tables are omitted from
...
the build.
FossilOrigin-Name: 9f4035f91a9f914797c67afbf19139b2cd25aea48595f7254fe5d18cd693d972
2019-10-02 00:25:08 +00:00
drh
cfee884e73
Remove references to test scripts analyzeA.test and analyzeB.test from
...
permutations.test, since those test modules no longer exist.
FossilOrigin-Name: 2394879698107479270c9d899c704de3756ceae177a338b3c37844e2a31aa6dd
2019-10-01 21:31:57 +00:00
drh
5e81e9fdae
The nodeReaderInit() function in FTS3 may not assume that the node is
...
non-empty.
FossilOrigin-Name: 361eb2f682a303bba72b39d322d9de630494ca044fe0508dcb23b6130d312d85
2019-09-30 19:13:31 +00:00
drh
905d4729d3
Add missing comment to constant definitions.
...
FossilOrigin-Name: 661a3789eb329a2487855e49c31067a9dde4c91c1a3a65b65375d079f906b1da
2019-09-28 18:28:19 +00:00
drh
018dbb17a8
Improvements to a comment. No code changes.
...
FossilOrigin-Name: 1a3671c7003bfff817a8239424c2f945d9dfced97daadb5a5acab203b9bda69b
2019-09-28 16:14:55 +00:00
drh
5c0666d9e3
In FTS3/4, the poslist end marker must be larger than any other possible
...
poslist value, even on a corrupt poslist.
FossilOrigin-Name: 752679aea5a6bbde24cbf39e2fa018f7dd1c226d463ca4bd74125303b2255170
2019-09-28 11:19:56 +00:00
drh
5f419b3bba
Update requirement marks due to changes in documentation wording.
...
FossilOrigin-Name: 326cdc16f4db23c1d17596e4ef8d9d7abc672d48665950029ba53fd40c1b2d99
2019-09-27 17:36:37 +00:00
drh
e4079e1fc5
Allow compile-time options -DHAVE_GETHOSTUUID=0 and -DHAVE_GETHOSTUUID=1.
...
FossilOrigin-Name: 3bcb9cc104e0265a600b03415ad955187fc6445ea8e46dc656412cba5bc1d621
2019-09-27 16:33:27 +00:00
drh
ebc6408484
Alternative implementation of the previous check-in which is testable.
...
FossilOrigin-Name: 102ef64462cf0d78395ccc7ebb8e3bf6b7647c06b7657a037e051697bc08d6b7
2019-09-27 15:15:38 +00:00
drh
818a3b5486
Fix sqlite3ExprCompare() so that it ignores differences in the Expr.iTable
...
field for IN operators, as otherwise it can lead to false negatives, which
is usually harmless, but can cause problems for an assert() in the window
function logic.
FossilOrigin-Name: 6a204b192a6c6f21988cab217366f21b14c672b81ceadc43675761a6d8c4484f
2019-09-27 15:01:02 +00:00
dan
7971b7fe92
More minor test file fixes.
...
FossilOrigin-Name: 352878fe1cbcf7b6803624544bba5a95565d1638d4dd09e91764ddad17889301
2019-09-26 20:57:53 +00:00
drh
91f34eab2d
Allow DROP TABLE to work on tables name "sqlite_parameters" just as it
...
does with tables named "sqlite_stat%". Fix for the ".parameter clear"
command in the shell.
FossilOrigin-Name: e768179baacb2423205a774cc8149fe58ed86a9320102aff4844b1d8933aa1db
2019-09-26 20:05:16 +00:00
dan
9d30c8ff8f
Minor fix for test file indexexpr1.test.
...
FossilOrigin-Name: 0ceab26f15c4c7039647cbccf8939dd5c36a60b70ffeefcd3b415c8d4d8351cd
2019-09-26 19:53:26 +00:00
drh
ec39707fe6
New dbsqlfuzz cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: 49073b7003330027303c4c776e9f85112f8b99b89f848fec3f953eba501d7505
2019-09-26 16:57:42 +00:00
drh
d79cd92b23
Test for an OOM condition in resolveAlias().
...
FossilOrigin-Name: 322eca7f6ad2234059669015aabb773a790e8bc3da95431c9c851ff5342c969b
2019-09-26 16:08:35 +00:00
dan
a51ddb1ed7
Fix a window-functions problem that could occur if an ORDER BY clause contains an alias for a window-function that is not a top-level expression.
...
FossilOrigin-Name: 1cc6cf6407c6e25aeafeca379a93d0ad2614839c07fb3644e46926fce5f1cfab
2019-09-26 15:53:37 +00:00
drh
b19131a8c6
Add a missing VdbeCoverage() macro.
...
FossilOrigin-Name: 36d35dbd5a80dc4a149ed7409cc4b43712622fc4c6a8915b4fbb62fd1d6b7763
2019-09-25 18:44:49 +00:00
drh
2829df082c
Remove an unused variable.
...
FossilOrigin-Name: a19884455b9bafcdc769362d61cfd02df1b5643263e004cb533698bbcfca752b
2019-09-25 17:47:41 +00:00
dan
e7579a53fb
Further simplifications to window-function code.
...
FossilOrigin-Name: 5fe15c1d8383989257e11d1806e6b035acacd1b504ae385ba58d20db10f26eee
2019-09-25 16:41:44 +00:00
drh
edf8a7bf57
In the previous check-in, the variable should be openMode, not openFlags.
...
FossilOrigin-Name: 77b0db22d6c7a031f332bfcf1c8fcd94e464de9f2396f0327ee761a30ebc8b60
2019-09-25 11:49:36 +00:00
drh
1116b1785c
In the unix VFS layer, do not attempt to chown() the journal to be the same
...
as the database if running in 8+3 filename mode. Also, update the comments
on the chown() attempt to be more precise.
FossilOrigin-Name: ab853724a7e01ca32167d294c3c80d6632e805bdf39b6d56db82226a00ad72dc
2019-09-25 10:36:31 +00:00
drh
c5b35ae567
Simplifications to the window-function code.
...
FossilOrigin-Name: 489a1eb3aa2f1225b97b50a5f8688cf1a4ab0371973da1badc29616d70386c03
2019-09-25 02:07:50 +00:00
dan
37d296a717
Bug fixes for window frames of the form (... RANGE BETWEEN b PRECEDING AND a PRECEDING) or (... RANGE a FOLLOWING AND b FOLLOWING) where (a > b).
...
FossilOrigin-Name: 040e196a8be3ca41b9365310ab88c2a3cc84b918a6511c77a6d95d4b4e0da3ed
2019-09-24 20:20:05 +00:00
drh
5776ee5cf5
Omit the sqlite3IntTokens array constant for a code simplification.
...
FossilOrigin-Name: f907395ef5a2dc1d084b6a286af00de4c742cf12d4f347c21e1b757786508f57
2019-09-23 12:38:10 +00:00
drh
7ca1347f59
When a scalar subquery has a pre-existing "LIMIT X" then change it to
...
"LIMIT X<>0" rather than just "LIMIT 1" so that if X is 0 the limit
will still be zero. Ticket [99cd4807dc03f178]
FossilOrigin-Name: 82e5dcf5c1d500ed82f398b38fdae0f30033804e897fbab3c10f1e15e2abedef
2019-09-23 11:55:22 +00:00
drh
b7fc7c8556
Fix a harmless unused variable warning in the test logic.
...
FossilOrigin-Name: d7673a445f4cde8f71153ce81efdc34fbed8b8625714d54afae1a83d548671ff
2019-09-21 18:49:12 +00:00
drh
e39f388eb1
Fix harmless compiler warnings.
...
FossilOrigin-Name: 8ea1dc727d391b15d0c4fa858ff68d5b8a63dde46408f24027dac8d28f044cbd
2019-09-21 17:31:03 +00:00
dan
8c9bcb2328
Allow SQLite to omit redundant ORDER BY sorts in the case where a SELECT statement has GROUP BY and ORDER BY clauses that use the same expressions, even when the ORDER BY expressions are marked "DESC".
...
FossilOrigin-Name: 20f7951bb238ddc0b8932a55145df426b6fdf7b8631e069345902c853c90f191
2019-09-21 15:44:12 +00:00
drh
e47d5ca737
Add --multithread, --serialized, and --singlethread options to the
...
speed-check.sh test script.
FossilOrigin-Name: c17078af6046ba3cb0d7819c915a800c851d7368e13d149140db2a124df32bab
2019-09-21 13:34:59 +00:00
dan
af9b58b335
Simplify the fix in the previous commit.
...
FossilOrigin-Name: 5ef64b0f55d952c7b0016055eaf6bbc1b5b7afc09a62ee8e5e694ffa9863ac7c
2019-09-20 21:12:40 +00:00
dan
ed09dddece
Fix a problem with queries containing a min() or max() function for which the FILTER clause excludes all rows.
...
FossilOrigin-Name: b1d7e104e034655fe41bc55c562d91e8074a2973d538b8b29301458db45afc57
2019-09-20 20:52:16 +00:00
dan
14e3e22773
Fix an assert() in fts3 that could fail when accessing a corrupt database.
...
FossilOrigin-Name: 601ce9532d34f97a5faa170b6d8a272e5c54f2eabff84660201a1840e0fd9929
2019-09-19 13:51:52 +00:00
drh
6d2566dfc2
Always clear the temporary register cache after coding a subroutine.
...
FossilOrigin-Name: b6f2a7f9cdb547c925f08306df82519e41a7a0dd2cabd9861a48917bb6eef845
2019-09-18 20:34:54 +00:00
dan
572b0dddee
Add extra tests for the handling of corrupt records in fts3.
...
FossilOrigin-Name: 40e29a47d1266c16a4992e43579a51addcc632503099c4cd128f77dd4e67da3c
2019-09-18 17:22:00 +00:00
drh
aa16c603ab
Fix another potential "jump depends on uninitialized value" warning.
...
FossilOrigin-Name: 633b214e9b9d99788ed72ab4823a69a43c7c40ed07fb76c7d56c50453c0e58ab
2019-09-18 12:49:34 +00:00
dan
4b48c72721
Fix a "jump depends on unititialized value" valgrind error in fts5 triggered by corrupt database records.
...
FossilOrigin-Name: 6b6751cd90601a1e2744a7d233c973291ecb783801b9327c3b99734dd22bcd27
2019-09-18 11:46:34 +00:00
drh
9d70284022
Fix an OOB read in the INSTR() function introduced yesterday by check-in
...
[3fb40f518086c1e8] and detected by OSSFuzz. The test case is in TH3.
FossilOrigin-Name: d49047c1b59bbfd05204af9973cdb0fab51b4d2661b550aec10d917fff94dc9b
2019-09-18 11:16:46 +00:00
drh
ec722c1088
Do not change the OP_String8 opcode into OP_String until *after* any necessary
...
encoding conversions are accomplished. Otherwise, a rerun of the prepared
statement after an OOM can result in errors. Test case in TH3.
FossilOrigin-Name: 8efd62594eae725decb719aa7777c020f982b7cdc2c92bab3b91bf349a5bc298
2019-09-17 21:28:54 +00:00
drh
e691dcb506
Test cases for ticket [587791f92620090e]
...
FossilOrigin-Name: ca0e3a83a1c015b346a791e6de03904d17a769c52dad0e3d71316c6e2e3f43c7
2019-09-17 13:30:30 +00:00
drh
97b0250599
Fix the instr() SQL function so that it makes a copy of its argument
...
before changing the datatype, since the datatype affects processing.
Also fix the sqlite3_value_text() routine so that it always works even
for values obtained form sqlite3_value_dup(). Ticket [587791f92620090e]
FossilOrigin-Name: 3fb40f518086c1e8d11eb1f4134e965450dbedfa4277bce39ef1e969fc747d38
2019-09-17 03:16:29 +00:00
drh
70738712de
Improved type information display when tracing VDBE execution.
...
FossilOrigin-Name: ee83d8e30d6f9ca8f1cce653ee094ff151f633f4b6a21dd814ab07e8cfb901eb
2019-09-16 20:16:17 +00:00
drh
91f473b5cc
Do not attempt the LIKE optimization for non-text columns and a pattern
...
prefix of "-". Ticket [0f0428096f17252a]
FossilOrigin-Name: 6fe0367f9a337b7c62886b7771f3ce0642faa13f4e4f3d9a0c848abbab514cd0
2019-09-16 18:19:41 +00:00
drh
130dbc3d96
Add recent interesting cases from dbsqlfuzz.
...
FossilOrigin-Name: f06ef3d75d85545dd58c6dda10f7ad04fafbb7ae8706b3821be21f86a94795f1
2019-09-16 15:15:38 +00:00
drh
2ad35d980b
Documentation updates for the SQLITE_DIRECTONLY flag.
...
FossilOrigin-Name: 5beb6dc9bc2d3d0003e33488df9c01aaf28c41c30fd9ca35543cbe3ec5a8d9ce
2019-09-16 14:42:07 +00:00
dan
b42eb3571c
Fix a problem with processing CTEs that use a WINDOW clause.
...
FossilOrigin-Name: ca564d4b5b19fe56842a04f31bb61352e6ae9d72a7e7634eb27ebcf5f670545a
2019-09-16 05:34:08 +00:00
dan
8cce6b8310
Add the --no-rowids option to the ".recover" command.
...
FossilOrigin-Name: 01d71b947a7422081d5c7d6ac2c91b9c936dc41926ab58c92f4a088a64e8c051
2019-09-14 16:44:51 +00:00
drh
d44c617ad4
Extra comments on fields of the Window object.
...
FossilOrigin-Name: 3dbed162518a73213bbfb137c763064518fdc2daeae3952cfab39ce0e6813d3f
2019-09-14 16:21:02 +00:00
drh
fab5b07395
Fix the windows inverse function on the JSON aggregates.
...
FossilOrigin-Name: f464d847af490dd3ec45565dcc4c2e6ff4ed1ebb65036f30ca0b3ce2e73080e6
2019-09-14 00:21:34 +00:00
dan
51a75aaa76
Fix a problem with using json1 window functions with an EXCLUDE clause.
...
FossilOrigin-Name: 4a1978814da41608a16f6953bd575c97d587a34bd80b7ac0e619d62bfdc903d2
2019-09-13 20:42:46 +00:00
drh
e087a7c35b
Fix the windowB test module so that it works even if SQLite is built without
...
JSON support.
FossilOrigin-Name: 807975c76b36347f02aa0ce9661d608adbffe1f7e77c15f8da677e47e1187153
2019-09-13 18:59:04 +00:00
dan
cd9cb85a41
Add the SQLITE_SUBTYPE flag, which may be passed to sqlite3_create_window_function() to indicate that the window function uses sqlite3_value_subtype() to check the sub-type of its arguments.
...
FossilOrigin-Name: ba2ebc3a348decc5cedaf14960e30e7ae26a26824cfa198727f2499162142ef3
2019-09-13 18:27:17 +00:00
drh
477f1f12e2
Fix a typo in the carray extension header comment - the comment that serves
...
as the documentation to this extension.
FossilOrigin-Name: 658a42d3633b31fda260f2c5a1a2c7dd8eb4eb0114d322369017c56faf5ecd42
2019-09-13 17:30:24 +00:00
dan
01a3b6b1b2
Change the meaning of the SQLITE_SUBTYPE flag so that it indicates that the user-defined function cares about the subtypes of its arguments.
...
FossilOrigin-Name: af1bc20f502816db460d2b2d353f715da5cf660e59095de5214c829c1cb20981
2019-09-13 17:05:48 +00:00
dan
945a3527d5
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: 14ef7543465dd14d8fa141fcceb1950b5c2d265a3e862323969d747b39c0cd8c
2019-09-13 16:19:53 +00:00
drh
3f3f2c7357
Ensure that the idxStr for FTS5 is always zero-terminated.
...
Fix for check-in [e6db945454a0dae2]
FossilOrigin-Name: 090cd07d37904da4610d6a6787a3cc825c9a8bdcc5f051267d4608bba9b49d03
2019-09-13 13:23:13 +00:00
drh
fbb9a5b1e3
Fix harmless compiler warnings.
...
FossilOrigin-Name: a8927d14f88c44828e794787bab080455ab62705c93f65ce7d8db83478aa5a8e
2019-09-13 12:24:58 +00:00
dan
685b2ee0c3
Allow fts5 to filter on multiple MATCH clauses in a single scan.
...
FossilOrigin-Name: 9d418a7a491761eeb38a70898677a493e2631e5d62e75ee88431f52d3dfd2344
2019-09-12 19:38:40 +00:00
mistachkin
acf6e08d20
Fix typo for one instance of line number handling in the Lemon tool.
...
FossilOrigin-Name: 980be1730dc1239c63a107923bf2e32b4ec7d4bc31b9190e711cc35f18cc2bb4
2019-09-11 15:25:26 +00:00
drh
c204d81a6c
Enhance treeview to show SOFT-COLLATE for TK_COLLATE operators that omit
...
the EP_Collate flag.
FossilOrigin-Name: a97804620a27acc30bebd2aaa04e38f2f36de48b0931038ca8bdc9cb0c36b8f4
2019-09-10 17:51:27 +00:00
dan
fa50834914
Ensure the columns of views and sub-queries maintain their implicit collation sequences when the "push-down" optimization is applied. Fix for [18458b1a].
...
FossilOrigin-Name: 36997c4ade2ef3a274cd1ac52b44118fb3a05325adb650b7b338ecb43d060575
2019-09-10 15:33:52 +00:00
dan
d5deb6b3c4
Ensure the columns of views and sub-selects in the FROM clause of a select are always assigned implicit collation sequences, just as table columns are. Fix for [a7debbe0].
...
FossilOrigin-Name: b9ec72203c19c2b95e648ac1dfad74eec98d4ff82581cdc10dc4221ba551728f
2019-09-09 20:17:24 +00:00
dan
e08663946e
Ensure the columns of views and sub-selects in the FROM clause of a select are always assigned implicit collation sequences, just as table columns are. Possible fix for [a7debbe0].
...
FossilOrigin-Name: 1863b7bf12521bdd2b51c5b8d3a4634bff3e15d3713e0b5343952df7da02f794
2019-09-09 19:49:42 +00:00
dan
e2ba6df9f0
Add the SQLITE_SUBTYPE flag, which can be passed to sqlite3_create_function() and similar to indicate to the core that a user function is likely to use sqlite3_result_subtype().
...
FossilOrigin-Name: 6aa438ce41d460a6782ae63503128b9140c28ff59c2b2eed48b004acf83e0560
2019-09-07 18:20:43 +00:00
dan
1a97c413f8
Fix handling of NULL, text and blob values in window queries that use "RANGE BETWEEN A FOLLOWING AND B FOLLOWING", or "B PRECEDING AND A PRECEDING", where A>B.
...
FossilOrigin-Name: cb3e2be674316e1d39968eb6567f1fe1b72f9d89af49640a9e83f944979c4cf0
2019-09-04 06:56:43 +00:00
drh
7dc3547eeb
Updates to the default settings in Makefile.linux-gcc.
...
FossilOrigin-Name: 3044cf6917ea8324175fc91657e9a5978af9748f72e1914bc361753f0b2d897d
2019-09-03 16:23:41 +00:00
drh
c7d12f4ad4
When we play games with COLLATE in order to commute an operator in the
...
WHERE clause processing, be sure not to use the commuted operator to qualify
a partial index, as insufficient COLLATE information is preserved to verify
that the expression will correctly qualify the index.
Ticket [767a8cbc6d20bd68]
FossilOrigin-Name: 5351e920f489562f959ab8a376ff720f845ea165e0cdc7c3a271aac53c2aa64a
2019-09-03 14:27:25 +00:00
drh
4fc836546e
Fix a bug introduced earlier today by check-in [88833a9c2849c959].
...
Ticket [29f635e0af71234b]
FossilOrigin-Name: 6e7b4527d32cc1be0294614b9d7363d4b59cf654a954b86515b3f6888975ce73
2019-09-02 22:13:06 +00:00
dan
229ae1ae72
Fix a potential crash in fts5 caused by using an auxiliary function on a "special" query like '*id' or '*reads'.
...
FossilOrigin-Name: 9490683ae883561fa347cbe54ebdd61188d849b4852d904b508250ba5d0807ef
2019-09-02 14:46:12 +00:00
drh
dd668c26b5
When applying the IN_INDEX_NOOP optimization and the LHS has REAL affinity,
...
also apply REAL affinity to each element of the RHS.
Ticket [2841e99d104c6436].
FossilOrigin-Name: 88833a9c2849c959a37a80e0e4d2b211ce3c83a48319724c89b172b060c876b4
2019-09-02 02:21:58 +00:00
drh
0167ef202b
Fix an obsolete comment that defines the meaning of one of the parameters
...
to the sqlite3FindInIndex() subroutine. No changes to code.
FossilOrigin-Name: 0c946f0846b2835f8facca806a4d4ecc2b2e97343de245a0d91716d998b2a829
2019-09-02 01:25:07 +00:00
drh
bffdd63633
When computing an expression value for an index-on-expression or a CHECK
...
constraint and the expressions uses a REAL table column, but the value of
that column is an integer (in other words, when it is using the
store-real-as-integer optimization) be sure to promote the value to real
before evaluating the expression. Ticket [57af00b6642ecd68].
FossilOrigin-Name: 0658c16e311393c8a347b1bd41fa5dbfd2e184aa75d84c011aa8dbac79b632e9
2019-09-02 00:58:44 +00:00
drh
cc80db69e9
Remove an obsolete paragraph from the OP_Column documentation. No code
...
changes.
FossilOrigin-Name: f6d8956cf8b5993a4332b9330e89d5c3d5f8872ea5a2ce3d2e91127406cc1839
2019-09-01 23:36:33 +00:00
drh
35a38e0836
Fix a harmless compiler warning.
...
FossilOrigin-Name: 63c67a54b4d3e501f3059dcdfc6bb50c6b8dad63a34eb773e4408d9e4e780d7a
2019-08-31 20:29:28 +00:00
drh
81d25cf53d
Mark new VDBE branches never taken.
...
FossilOrigin-Name: 83c2adffbfb6dcdddb38ad9f888647b0e39fa24dc0bff344238e1f75a6c7d2ed
2019-08-31 20:26:06 +00:00
drh
80f6bfc064
Improvements to the algorithm that determines which SELECT in a sequence
...
of nested SELECT statements that an aggregate function belongs to. This
resolves an issue identified by dbsqlfuzz.
FossilOrigin-Name: d768007473f4ed40abbdf2c7e501b580b1cc37c1620c7cb90af1f208a8c35145
2019-08-31 20:13:30 +00:00
dan
f66bfcb740
If a DELETE trigger fired by an UPDATE OR REPLACE statement deletes the row being updated, do not attempt to proceed with the original UPDATE operation. Fix for [d6a0fbc1].
...
FossilOrigin-Name: 4145b3e05051ba6729105157a876793ad14a05d895fc10fe704f437eab16ea93
2019-08-31 17:14:35 +00:00
drh
6a19865ff2
Remove some affinity tests that became unreachable due to the prior change.
...
FossilOrigin-Name: e2db1123faac26c0e0b6a1ebef1685ea7633bfcafd1ff743ba5380700f7745af
2019-08-31 01:33:19 +00:00
drh
7314495ff8
When the affinity of a table column is INT or REAL, make the affinity of
...
corresponding index columns NUMERIC. This increases the precision of
index lookups for large numbers so that it matches the precision of
ordinary comparison operators. Ticket [40812aea1fde9594]
FossilOrigin-Name: e0d909c740b774d8a46731696e33342be83206cc4a95d07f42fdb3d8cc2d7a8e
2019-08-30 23:56:34 +00:00
drh
a7ce167e5b
Make sure OP_RealAffinity has been applied to all columns of type REAL
...
in the excluded.* pseudo-table of an UPSERT.
Ticket [5a3dba8104421320]
FossilOrigin-Name: 67381dadede98a55d8d9e085d021e6fa6473071978967b6302e03b28cf2245e1
2019-08-30 23:15:00 +00:00
drh
efb5f9a173
Improvements to VDBE tracing. No changes to code in normal deliverables.
...
FossilOrigin-Name: 54553bf16fabd72d1967acef317beb518e086707ccd45890b7c7256b8da08b75
2019-08-30 21:52:13 +00:00
dan
9889ede28d
Add test case to window8.test. Also fix an error in a comment in window.c.
...
FossilOrigin-Name: 2925bfa5971c8557ecaa6ac18df0825ebbbd1622017509e83451d90640146fa8
2019-08-30 19:45:03 +00:00
drh
db3a32ed1c
Back out the change at [47cd634c98b502d4] which was incorrect. Add a test
...
case so that we don't accidently back out that change again.
FossilOrigin-Name: 596ac2a4eab28b74f4050fb4eb71883f2a1421fdbccf302413e4653391bb52c9
2019-08-30 18:02:49 +00:00
dan
1cac1766df
Add further comments to window.c.
...
FossilOrigin-Name: 900464567b2a5ce0c278a3297e4be1968f609258608aa0fbe2fc67709aa22a4b
2019-08-30 17:28:55 +00:00
drh
ac6627327c
New test cases for window functions with RANGE BETWEEN and DESC NULLS FIRST.
...
FossilOrigin-Name: f7002f86c780e279c9f8a6268f317586519c059c9de2115ff6f1cad272570c29
2019-08-30 16:46:12 +00:00
dan
8b47f52082
Fix a bug in RANGE window functions that use "ORDER BY <expr> DESC NULLS FIRST" as the window-frame ORDER BY clause.
...
FossilOrigin-Name: 39b4cad4a51bb5116d62ffb16ac36d96a9280321b049eb2d008605392f52a459
2019-08-30 16:14:58 +00:00
drh
ae144a1c9f
The expression "(X IS FALSE) IN (FALSE)" does not imply that X is NOT NULL.
...
Ticket [f8f472cbc77ba9c9]
FossilOrigin-Name: dd66134817ecbda01c59a05ad0d6ac44bee700ab10cd2119c869dd69af293fe2
2019-08-30 16:00:58 +00:00
drh
7a231b4973
The expression "(X IS FALSE) BETWEEN FALSE AND TRUE" does not implie that
...
X is not NULL. Ticket [fba33c8b1df6a915]
FossilOrigin-Name: 057fb8b1809b8b9c8fff0fd0804153b9644f0545c23c6ddc4758bda3381094b9
2019-08-30 15:11:08 +00:00
drh
38cefc83c8
The expression "(x IS FALSE) IS FALSE" does not imply that X is not NULL.
...
Ticket [a6408d42b9f44462]
FossilOrigin-Name: 45ff2b1f2693bb0231a864a511bb82cf2a5945ab3d806a5bbaf1517ecb287883
2019-08-30 13:07:06 +00:00
drh
f4d9c9822d
Remove a faulty testcase() macro.
...
FossilOrigin-Name: 80124ae55246b79023d23d3f55487ac3c0b40e8ff301c5daf4dd0631de8ddb29
2019-08-29 23:24:18 +00:00
dan
bd717a4d2e
Improve vdbe branch coverage of NULLS LAST code.
...
FossilOrigin-Name: e8e9f77d52974f6ba0a536d05837b280a996745deb3a2169bb29379f10e49df4
2019-08-29 21:16:46 +00:00
dan
9d23ea74d4
Fix other problems similar to ticket [c0390363].
...
FossilOrigin-Name: 96ff2ba9c4bb71d5f7c6f359986a76a5364b7ac3e1a612441543a9eabecf31df
2019-08-29 19:34:29 +00:00
drh
db586e4843
Add a missing VdbeCoverage() macro.
...
FossilOrigin-Name: 33da6092d3d04b6eb6ab396b8c4f668e3529e26bf11e26f5fcb9b61fe3470197
2019-08-29 16:48:10 +00:00
drh
f76ccb7d54
Remove an unreachable branch in the NULLS LAST logic of RANGE window
...
functions.
FossilOrigin-Name: 47cd634c98b502d40a493455ba6d73cbd0dae74944f9cf06fcbcd025f4b49d6e
2019-08-29 16:17:59 +00:00
dan
b6a9121bb3
Fix another case where SQLite assumes that if "~(? AND FALSE)" is true, "?" must be non-null.
...
FossilOrigin-Name: 616f5663b3dbd0929128c0990fc6d8bba1513c7ae196b87c450ac0b3b3203ecd
2019-08-29 15:50:16 +00:00
dan
1cd382e350
Avoid assuming that for "~ (? OR TRUE)" to be true, "?" must not be NULL, just as we do for "NOT (? OR TRUE)". Fix for ticket [c0390363].
...
FossilOrigin-Name: 84ae41fd2f50cb7c0c3f6522d0f94817e1bbf96eae5316279e3e32cee4e46e91
2019-08-29 15:06:35 +00:00
dan
50b3ea2daf
Fix a potential buffer overrun in fts5 caused by corrupted database records.
...
FossilOrigin-Name: c465d0eb478e42045e08efe8b6fa64d4bd4d747cdf743beae4608562b014169e
2019-08-29 14:25:44 +00:00
drh
0b79824ec5
Improve Lemon so that it enlarges some of its tables slightly in order to
...
avoid having to index range checks on table lookups for a performance
increase.
FossilOrigin-Name: 4be6a23a188bd1fea445283d6dcc2f5c3470c28852dc4895d63117ad0c773fcf
2019-08-29 00:27:12 +00:00
drh
6ee3fa87fd
Fix an unreachable branch in sqlite3ParserFallback()
...
FossilOrigin-Name: e059178b47109caee2c2211b2db6e594c014af636677118a64e10edf01ac017d
2019-08-28 11:49:45 +00:00
drh
010bdb4c79
Further improvements to parser speed by enlarging lookup tables to eliminate
...
the need to do range checking on the index prior to lookup.
FossilOrigin-Name: 47d3e091ae49eb7947af5abef9b5b96b16b86d349e51fe0677795649be6db473
2019-08-28 11:31:11 +00:00
drh
2e51716b15
Increase the size of the yy_lookahead table so that it is never necessary to
...
down bounds checking on the index.
FossilOrigin-Name: bafd872398e58766e996963372c7acc03a1e20a6d39a3867ca45d3ea0ed2ac1d
2019-08-28 02:09:47 +00:00
dan
8085d53d3c
Add support for "ORDER BY ... NULLS FIRST" and "ORDER BY ... NULLS LAST". Use this to fix ticket [f8a7060e].
...
FossilOrigin-Name: 94085fb3e756bc984237b74b6e29c68462ad860870c64dcb5124feaeec387660
2019-08-27 19:59:21 +00:00
drh
e893759cac
The ALWAYS() added by the previous check-in was incorrect. Take it back out.
...
FossilOrigin-Name: 336235db2b1167cdb2feb64b47eb6368c97c43ee9641b7bfccc5775a41dd0d0e
2019-08-27 17:59:01 +00:00
drh
7ec796d002
Add ALWAYS() to an always true conditional that results from the
...
previous check-in. Add a test case for ticket [dbaf8a6820be1ece] to
supplement those already checked into TH3.
FossilOrigin-Name: aff209804722ac902c7abfde80ad2677e0f51beb2c7f28f65d51105d984a1640
2019-08-27 17:28:05 +00:00
drh
790b37a240
Omit the "x IN (y)" to "x==y" optimization of check-in [e68b427afbc82e20]
...
(and ticket [e39d032577df6942]) as it causes difficult affinity problems
as demonstrated by ticket [dbaf8a6820be1ece] and the original assertion fault
is no longer a factor due to countless other changes of the previous 5 years.
FossilOrigin-Name: 7f5168a76a400fc2e1e40c6950470b1bfb38a0be54fc5518c17c29fdae7d8f1f
2019-08-27 17:01:07 +00:00
drh
6397a78b2b
If a TEMP TRIGGER references an auxiliary schema, and that auxiliary schema
...
is detached, move the trigger to reference the TEMP schema before completing
the detach, so that the trigger does not hold a dangling schema pointer.
FossilOrigin-Name: 069c2f4c61f06211a8981abc412afcc1536ece13380b13a70aa99123f8f527cd
2019-08-27 10:05:45 +00:00
drh
512e46a74c
Merge in recent fixes from trunk.
...
FossilOrigin-Name: ad816d01d4bd3908ff2c574d79d1a29b6d732df308f2f1b1cdf7c0bc7c1bd7cf
2019-08-26 20:41:33 +00:00
dan
d790c9a161
Tweak the shell tool ".recover" command so that it can recover rows that consist of a rowid and no fields.
...
FossilOrigin-Name: 279ac7fdec0b1409cd400b7b093f89089d93c49f596f378c6a3032434a85bf83
2019-08-26 14:57:58 +00:00
drh
554a9dc78a
Improved detection of number of column mismatch for vector assignment
...
in UPDATE statements. Ticket [78acc9d40f0786e8]
FossilOrigin-Name: bd4bda73df3794eef424eb13e08fc7cc54347d1ac69febaeec41f6b6cb4a42bc
2019-08-26 14:18:28 +00:00
drh
d86fe44ab5
Fix typo in a comment. No code changes.
...
FossilOrigin-Name: d0cc06d8a30444125e5655f6587a6355471c3447c08a2e5f7a046a4ed5cc5f09
2019-08-26 13:45:49 +00:00
drh
e2754c1fba
Enforce 80-character line discipline in the CLI. Minor improvements to the
...
CLI built-in help.
FossilOrigin-Name: 9690013a00d73a8047b25149ded50d20c74b5c62c0725eec50ed8477688e58a0
2019-08-26 12:50:01 +00:00
dan
666a42ffb3
Minor performance improvement for balance_nonroot().
...
FossilOrigin-Name: d7434cae3edc321e2f1f8d340a0e656b1613b736f8400fb271a0e80f59401b9e
2019-08-24 21:02:47 +00:00
dan
298680d15a
Fix a potential buffer overrun in fts5 caused by corrupt database records.
...
FossilOrigin-Name: 156d612800a7282fe0ebb20feb31d3fd577f4ab60fab8c00940c87143997aefb
2019-08-24 17:11:29 +00:00
drh
ee37f8b0a3
Fix the built-in edit() SQL function in the CLI so that it works with
...
zero-length blobs.
FossilOrigin-Name: e32490128684cfeeb8213baecc78a7942b8fb63d00e375edd965bf236faeed18
2019-08-23 23:05:32 +00:00
dan
ee6c5e5ae7
Move some things in parse.y so that TK_COLUMN and TK_AGG_COLUMN are assigned the same values as they are on trunk for a very small speedup.
...
FossilOrigin-Name: d26fdfa3bc5f8d9c4a6000462080b0dd508e5cae9a83e0d126be48195224da8c
2019-08-23 20:33:01 +00:00
drh
a31d3554c5
Revise the VDBE comments for NULL-scan so that they also work make
...
sense when reading a NULLS FIRST plan.
FossilOrigin-Name: bfe793780fa6fc7a1e7d0ee60606dda272985de9573887dca118e9510fc609f2
2019-08-23 17:09:02 +00:00
drh
5f6a4ea2e2
Additional simplifications of the WHERE loop code generator logic for
...
NULLS LAST.
FossilOrigin-Name: 1383680d927d7d703933be7653c0019199845e7f7e82bcc76d9ca3808093e9d8
2019-08-23 17:00:22 +00:00
drh
0086e07865
Simplification of the WHERE loop code generator for NULLS LAST saves a
...
few CPU cycles and about a hundred bytes of code space.
FossilOrigin-Name: e3ed2f496f51234a8f81d90d47ba603b06dbed38b8bd8f1934294379cde74d3a
2019-08-23 16:12:20 +00:00
drh
ec3dda5b11
Invert the meaning of the regBignull flag so that it is 1 when doing the
...
normal scan and 1 when scanning nulls. This enables the re-do jump at the
bottom of the loop to be coded with a single OP_IfNotZero opcode, rather
than a sequence of OP_If, OP_Integer, OP_Goto.
FossilOrigin-Name: bf875e1a259a4167694e06349458452dc36c1d38aa6843518d9ae46ce74e5559
2019-08-23 13:32:03 +00:00
drh
74e1b861ad
Extra VDBE comments in the NULLS LAST logic provide landmarks to help
...
understand the EXPLAIN output.
FossilOrigin-Name: 649b08ead50f10a9ec0357a5e1ed020195d9f93be61ef703ea036a8e53f07a34
2019-08-23 13:08:49 +00:00
drh
505ae9def8
Add additional VDBE coverage marcros.
...
FossilOrigin-Name: d3531f5be7d3769689e2cd8bdc9bab5608759de027d44cc123996f32a4a89583
2019-08-22 21:13:56 +00:00
drh
a677eecad3
Merge fixes from trunk. Also fix a reference to the KeyInfo.aSortOrder field,
...
which should now be KeyInfo.aSortFlags
FossilOrigin-Name: 63e625c8eb06720eef30573aa562e38c90d228a9cf493f8bb59f09e50f0e3168
2019-08-22 19:35:24 +00:00
drh
0d950af311
Fix the likely(), unlikely(), and likelihood() functions so that they have
...
no affinity, just like any other function.
Ticket [7e07a3dbf5a8cd26]
FossilOrigin-Name: 44578865fa7baf9760e355691ca9ce753295aaba7a4ee0bba29d4f85d9335bab
2019-08-22 16:38:42 +00:00
drh
af8664020a
Fix a false-positive in sqlite3ExprNeedsNoAffinityChange().
...
Ticket [ac184eb571d5e6e0]
FossilOrigin-Name: e62eddbb048cbc2c15cb8eeb5b7a907e7cb08c21a27ebba96a069f62dbcb0f30
2019-08-22 11:11:28 +00:00
drh
3e36480232
Fix the OP_SeekGE, OP_SeekGT, OP_SeekLE, and OP_SeekLT opcodes so that they
...
preserve the datatype of the value in the register used as the key.
Ticket [d9f584e936c7a8d0]
FossilOrigin-Name: 81b9f0f55042777b37de78069f7089041a9ee21dd0a0c86b879053fb46e140b4
2019-08-22 00:53:16 +00:00
dan
f236b21f4b
Add missing VdbeCoverage() macros to new code.
...
FossilOrigin-Name: b1cbcdc6eb42cca0c42a05e0d6ba4c6c7f09adff0c59ecfc5b434a94dec07a41
2019-08-21 19:58:11 +00:00
dan
37874d7dcc
Disable broken test case in expert1.test.
...
FossilOrigin-Name: 73e30c2e92ccab274ff7cee48511c461de148786bb9d338921c1ecb193822282
2019-08-21 17:46:34 +00:00
dan
2ebb550824
Update this branch with latest trunk changes.
...
FossilOrigin-Name: 6153bcf41a9aa0497f8210311c99ac23846223068f2b6a3a1c2d9dec7673c7e1
2019-08-21 15:41:50 +00:00
dan
f7c92e82d2
Avoid assuming that "column IS ?", where column is declared UNIQUE, matches only a single row (as "?" might be NULL). Fix for [b8689402].
...
FossilOrigin-Name: d02490a2f0cae047087130b4ad8f55f265845c2ffb3bde3b7d507edb54acea6d
2019-08-21 14:54:50 +00:00
dan
6fcb9f3ad9
Fix a broken assert() in the fts3 snippet code that was failing for queries containging more than 64 phrases.
...
FossilOrigin-Name: 4c01e0170e113ad052b6c3980beb4be9f1dc03fb3cf34132b90e8b82b23f654e
2019-08-21 11:31:48 +00:00
dan
546738f855
Further tests for the special null-handling on this branch.
...
FossilOrigin-Name: 0dbbb51f4d39cafb01d625d65c12dcb232a9c1da7ed5a9397bf55cfea1b980d2
2019-08-20 20:09:51 +00:00
dan
35fb866ea3
Fix a problem with fts5 "ORDER BY rank" queries when the fts5 table name requires quoting.
...
FossilOrigin-Name: 00e9a8f2730eb7239bf7fd107c97c409e4f9fbd968510766373440a9079898eb
2019-08-20 19:11:29 +00:00
dan
2a0c16f276
Add tests for sort-by-index cases that use IN() and non-default NULL handling.
...
FossilOrigin-Name: 09d660ecde723fb30f3bb3684bbb7f95825d78da6a6f33ddf57846054cd563e0
2019-08-20 17:51:13 +00:00
drh
007ba6457e
Bring the hard-heap-limit branch up-to-date with trunk.
...
FossilOrigin-Name: 9b14eb77548d3f65f5a4c9b16cecdbce8a3fb663692aa8315fbd21aab3e89f0d
2019-08-20 17:14:21 +00:00
dan
4fcb9caa60
Do not pass ORDER BY clauses with non-standard NULL handling to virtual table implementations.
...
FossilOrigin-Name: a9a82ee88d2d12209a674bd19167277aa91a6912e7a8bbf3714f90d559307fee
2019-08-20 15:47:28 +00:00
dan
4780b9ad46
Fix a segfault that could occur following an OOM while processing a SELECT statement for which one or more of the expressions in the window frame declaration are themselves sub-selects that use window functions.
...
FossilOrigin-Name: 75aec4fc886c04fe098828cc03bc72c197cbf40f0a1890fe5bbb98d4fd5c3c7e
2019-08-20 14:43:01 +00:00
drh
95da9d5d46
Add the new sqlite3_drop_modules() interface to the loadable extension
...
mechanism.
FossilOrigin-Name: 658bd51623787be4ca87b066a051d119f39056286e223afef3691629cf1ab0e1
2019-08-20 13:49:12 +00:00
dan
b6ce71bd26
Retain the affinity of an expression in a WHERE clause when it is transformed to a reference to an index column on the same expression. Fix for [f043b113].
...
FossilOrigin-Name: 511da0815673ca4a176aa61dc23a8231b2ab77e8363fc184a78b6e17dba64d49
2019-08-20 11:43:44 +00:00
mistachkin
3722b3abf1
Fix a typo and a harmless compiler warning.
...
FossilOrigin-Name: ec4c63e00c957f98d61ddc1b9d20406c7e1072d6ab0c12ac6939db6c63d90cb8
2019-08-20 02:19:26 +00:00
drh
b6e0286c49
Add the sqlite3_drop_modules() interface.
...
FossilOrigin-Name: e2c6fed8f84929ed51a4e876bb09c85ac4b86a2e4cf0832a7da724bb9f4df5bf
2019-08-19 20:44:07 +00:00
drh
8c754a3613
Omit the "_except" term from the name of the new interface.
...
FossilOrigin-Name: e5ba47c2d8eb9f48a0e0d325e57d0092d536f85983819634c871ebd51829f1d1
2019-08-19 20:35:30 +00:00
dan
ae8e45cb0c
Fix problems with window frames that use ORDER BY ... NULLS LAST etc.
...
FossilOrigin-Name: 75d665a494dd7d6e77d5a80af386ee5accc0a53416d5493424dc0fef6c7b01a0
2019-08-19 19:59:50 +00:00
dan
9105fd5189
Prevent NULLS FIRST/LAST from being used in CREATE INDEX and other statements.
...
FossilOrigin-Name: bb9767a287097a615aeb4abdba689b10e1a1c36c016c8e55905b508075e62c86
2019-08-19 17:26:32 +00:00
dan
dac7e69dc2
Add some extra tests for the lsm virtual table module.
...
FossilOrigin-Name: 4cb009b0f724f72eaea90e45488122f7c2a7d0caf31a8422da4060469507e921
2019-08-17 19:58:26 +00:00
drh
5976b2c805
Fix to the query planner for the LSM1 extension.
...
FossilOrigin-Name: 7496e872a1a50ac65ad04709365a43038fb015ac9c690196de3cb02ce54c2e57
2019-08-17 19:55:26 +00:00
drh
5df8428069
The experimental sqlite3_drop_modules_except() interface.
...
FossilOrigin-Name: 0851db4d337a87f8b2d3ce2ae9f9c928b9483591ca41a9e39cc01548059b1888
2019-08-17 19:45:25 +00:00
drh
87ca8067af
Fix the new ability to unregister virtual table modules so that it works
...
for the automatic PRAGMA virtual tables.
FossilOrigin-Name: 5d6f4dfeea75c7dcd8c511545accb9eb4b405a02db034332249ba54794e313d2
2019-08-17 19:31:09 +00:00
dan
c324d44690
When populating an ephemeral b-tree for the RHS of an IN(...) clause, avoid applying an affinity to a value that may be used later on for some other purpose. Fix for [c7a117190].
...
FossilOrigin-Name: 43e8b14314d876178d487c3b519296ac1de065fdcaa70768e40d684015bceb9d
2019-08-17 19:13:49 +00:00
dan
8328369740
Add tests to ensure that this branch really does fix ticket [f8a7060ece].
...
FossilOrigin-Name: f892066425671a8a0ac923e3ad4744677f6434a66f97b91afa8141f11f179975
2019-08-17 18:16:59 +00:00
dan
cc491f4b1b
Fix problem with DESC indexes on this branch.
...
FossilOrigin-Name: b49df1fe9b7174ebc60023179e8da628c926e59df3dc01b15d4a28e17807bb97
2019-08-17 17:55:54 +00:00
drh
9e9a67adb0
Ensure the functions that appear to be constant are not factored out of
...
expression that originate on the right-hand side of a LEFT JOIN.
Ticket [6710d2f7a13a2997]
FossilOrigin-Name: 500c9152daaf11cf69d778aa8592175f6088337c6667c59af6df3a24cd81eb0e
2019-08-17 17:07:15 +00:00
dan
5b32bdff80
Merge trunk changes into this branch.
...
FossilOrigin-Name: db1e60800bc260cdcd604739daaba72c6b486158123fc62a3898aca4ead33cd3
2019-08-17 15:47:32 +00:00
drh
cc3f3d1f05
Activate introspection pragmas by default. The new option
...
SQLITE_OMIT_INTROSPECTION_PRAGMAS must be provided to keep them out.
FossilOrigin-Name: 9c4bca64fb5f635296a8d7d7c1bf2808e02ca734a9983e5cee9132f5352a9a6d
2019-08-17 15:27:58 +00:00
drh
217ca657d8
The SQLITE_DIRECTONLY flag, when added to sqlite3_create_function() prevents
...
the function from being used inside a trigger or view.
FossilOrigin-Name: de767376987f7668b0770c4920f1532e341b5a27f797d69c0f5e92b87d036170
2019-08-17 00:53:29 +00:00
drh
cc5979dbd3
Add the ability to unregister a virtual table module by invoking
...
sqlite3_create_module() with a NULL sqlite3_module pointer.
FossilOrigin-Name: 31e34fa3390196cdc3178bf120224b08df5ec58fa2c77079ede6e9461a430dad
2019-08-16 22:58:29 +00:00
dan
15750a26fa
Add support for using indexes for some ORDER BY clauses that use non-default NULL handling. Still some problems on this branch.
...
FossilOrigin-Name: 81069d7196857e909c94195d67388f71bc9f832eafd9156d8c5cdddb63513b4a
2019-08-16 21:07:19 +00:00
drh
4043cfef75
Fix harmless compiler warnings in the TCL interface.
...
FossilOrigin-Name: f17e72291f197a92b3e15e054271b997d45211a5a31ca4ea6c7fbb33026d5f1f
2019-08-15 23:11:42 +00:00
drh
11d88e68ab
Add the SQLITE_DBCONFIG_ENABLE_VIEW option, together with a "db config"
...
command in the TCL interface that can access that option as well as all the
other sqlite3_db_config() boolean options.
FossilOrigin-Name: 61b4bccd2984f4c2cf50f58ef08677588e57aa7e079af07473b2e188d9ce4f52
2019-08-15 21:27:20 +00:00
drh
42d2fce7f5
Provide the SQLITE_DIRECTONLY flag for app-defined functions that prohibits
...
the use of those functions within triggers or views.
FossilOrigin-Name: fc745845d8d76adc165575e2192f4176e3c28e614c72571d56f4011560499fe1
2019-08-15 20:04:09 +00:00
drh
725dd72400
Ensure that the optional "sz=N" parameter that can be manually added to the
...
end of an sqlite_stat1 entry does not have an N value that is too small.
Ticket [e4598ecbdd18bd82]
FossilOrigin-Name: 98357d8c1263920b33a3648ef9214a63c99728bafa7a8d3dd6a1241b2303fd42
2019-08-15 14:35:45 +00:00
dan
a3fcc000cb
Ensure that SQLite does not attempt to process incompatible window functions in a single scan. Fix for [256741a1].
...
FossilOrigin-Name: 4f5b2d938194fab7627486e2ced633def2c90d9d3328e3700612feb9dbfa3d9a
2019-08-15 13:53:22 +00:00
drh
d4da4936cd
Avoid downgrading SQLITE_CORRUPT errors detected by the schema parser into
...
SQLITE_NOMEM or SQLITE_ERROR errors.
FossilOrigin-Name: b2e79f8ff0836fcc98a2df9377aad9137307c34058030ecd1b5d4ec3277ed36a
2019-08-15 13:46:39 +00:00
drh
27e80a3b68
Ensure that the cell overwrite optimization does not overwrite the header
...
of the b-tree page.
FossilOrigin-Name: 4cc5694cbd69749c146679c367860952fdf3f5356426ddfd1dce470569702bc1
2019-08-15 13:17:49 +00:00
drh
b9fc45534d
Early detection out-of-bounds page numbers on the direct-overflow-read
...
optimization gives consistent error messages regardless of whether or not
the optimization is enabled.
FossilOrigin-Name: b517a52fa36df0a0854a75858b5e81861771d2e9032a5a0ad79aa76ae64130a2
2019-08-15 00:04:44 +00:00
drh
908e7c43a7
Always check for reads past the end of the file on the in-memory journal
...
driver. This used to be an assert().
FossilOrigin-Name: 4d41ca7d6efbdac70890a8d4159488fc7f59bf78a550b00597b4df990c4fcaef
2019-08-14 15:17:21 +00:00
mistachkin
87ae34ba1a
Add some static to the 'regexp' extension.
...
FossilOrigin-Name: a21d1dde73f811244b5b43f9fed5877263a9c5061470221f417e501f5530edfa
2019-08-13 20:34:35 +00:00
dan
7c2321fdf3
Update test cases so that they work with ICU enabled.
...
FossilOrigin-Name: 408144a1832569ced8e04840f0dd36a3867405f36b13631b0f13c0f7b8a0fb01
2019-08-13 17:56:56 +00:00
dan
3c1970fcee
Update some corruption test cases to take [724f4df9c] into account.
...
FossilOrigin-Name: 927cd7b4c52fae665e57fb6039c6829e339cff5ad5c405800cac3ee149ef5be1
2019-08-13 17:27:43 +00:00
dan
b8a8d523cb
Fix a problem with RBU function sqlite3rbu_bp_progress() when used during an RBU vacuum.
...
FossilOrigin-Name: 8c44b02f1479cec61554800702a3c1d806e4ee64b41ba2af17320f62794a02fe
2019-08-13 15:11:25 +00:00
drh
554a19dbee
Make sure the btree cursor overflow cache is cleared when overwriting
...
a cell in sqlite3BtreeInsert(). Ticket [3cf9bb227e9a5d32]
FossilOrigin-Name: 7dae7b969ed314605a3a2da2cfdce4d81152740f5d3bfbc2a6e311b13ee325a7
2019-08-12 18:26:46 +00:00
dan
6e11892db8
Experimental implementation of NULLS FIRST/LAST. This branch still has problems - the most significant of which is that ORDER BY clauses with a non-default NULLS FIRST/LAST qualifier can never use an index.
...
FossilOrigin-Name: 07babb0f897fc8c9cb5b30481899c32fdd743f3f3ca508d8d957826252107dd5
2019-08-12 16:36:38 +00:00
drh
41428a97b8
For the ".testctrl prng_seed" command in the CLI, if the argument is "random"
...
then select a random integer seed and print the seed value on stdout.
FossilOrigin-Name: 636ca4472c9f41eb3989f28854d4968867837399a2092f389d1b814d98cccbae
2019-08-12 16:25:11 +00:00
drh
30842990b2
Add a TESTCTRL that disables the verification of type, name, and tbl_name
...
in the sqlite_master table.
FossilOrigin-Name: 48d9b48ab4ace234eb1a055cf33cb533a1c3aa82d0a6e086d96226bd9474ceca
2019-08-12 14:17:43 +00:00
drh
c5a93d4c85
Validate the type, name, and tbl_name fields of the sqlite_master table when
...
loading the schema, unless writable_schema is engaged.
FossilOrigin-Name: 724f4df9ccc2b683f7091a3f7a8c20ee210f44d7a610cd1b4c49da1c274add08
2019-08-12 00:08:07 +00:00
drh
14c865e859
Fix the sqliteExprImpliesExpr() routine so that it recognizes that
...
"(NULL IS FALSE) IS FALSE" doe not implie "NULL NOT NULL".
Ticket [9080b6227fabb466]
FossilOrigin-Name: da01ba4fa47c6508b31533ccd769e637af04bd37f51463372fbc6c848d892a4d
2019-08-10 15:06:03 +00:00
dan
b6299681c6
Add extra test cases related to the previous commit.
...
FossilOrigin-Name: 3c690b2b05b7338f3325c50a0750c6023e1173afa4388e836ecb2cc49f19a0ac
2019-08-10 14:35:06 +00:00
drh
3251a2031b
Remove two incorrect assert() statements from the logic used to derive
...
column names and types from subqueries.
FossilOrigin-Name: 712e47714863a8ed7ff73324d9fec569633e8b901c436c633b0220d16a7a9302
2019-08-10 14:16:17 +00:00
drh
cb99c57a66
Allow the RHS of a row-value IN operator to use a compound query with
...
an ORDER BY clause.
FossilOrigin-Name: eaf15d9bae6773058341d6219241f44ce728ad1cb9cf649f2efd4dddd81ec461
2019-08-09 20:26:01 +00:00
mistachkin
044388cf98
Modify signature of sqlite3VdbeChangeOpcode() to accept int instead of u32.
...
FossilOrigin-Name: 68b7f2acf4d228f32250e37cbc0eb5d275b512d49071bbb38e1f5634b705f7d3
2019-08-09 01:59:14 +00:00
drh
3728b84c03
Fix more compiler warnings.
...
FossilOrigin-Name: 1b85442b614df0808c10c34ec281282e5dfd93d6d5f9737b51263ffaa4da5c72
2019-08-09 01:11:32 +00:00
drh
51755a78a9
Fix harmless compiler warnings.
...
FossilOrigin-Name: 1eef4ddea9a2a8c97b97183402c774caa40ef906ea9cccade307381b29a9785d
2019-08-08 19:40:29 +00:00
drh
690f04a0d7
Remove support for SQLITE_ENABLE_STAT3. The sqlite_stat3 table is now ignored,
...
if it exists. Run ANALYZE using STAT4 to get the equivalent functionality,
which presumably everybody has been doing for a long time now.
FossilOrigin-Name: f1cd234c9888142e0ac542d866d7fb55a81fb7edd0a5cd810191b4e0395ffc7d
2019-08-08 19:19:42 +00:00
drh
af97c3f35a
Fix a case of the Expr.affinity to Expr.affExpr refactor that was missed
...
in the [a29f2a7d07beff64] check-in.
FossilOrigin-Name: 83450d10707e2c7c075f3930a8c231c49c593b9cdf0e6097b0187eb877755d2d
2019-08-08 18:49:16 +00:00
drh
5eae1d1b33
More legacy STAT3 code removed.
...
FossilOrigin-Name: 845d2f17de5b4740f95884307d9efec3223737bb0f2c4a74693666caf5f61c21
2019-08-08 16:23:12 +00:00
drh
175b8f06f7
Remove support for STAT3. The sqlite_stat3 tables are ignored, if they
...
exist. STAT4 continues to work as it always has, and as it is a superset of
STAT3 is the recommended replacement.
FossilOrigin-Name: 1e17ea2fd1df4ad49138c787c8fe3207dd0c25c93f9001d52a9b69f8c12e841c
2019-08-08 15:24:17 +00:00
drh
1c269a9ff8
Remove a NEVER() that is reachable from a corrupt database.
...
FossilOrigin-Name: 30e6ee27a9fb78291c324ac9b80db4579280140430804ecd4692e312f9938525
2019-08-08 01:39:07 +00:00
dan
679c9613f6
Remove use of the affinity() function from view.test, as it is only available in SQLITE_DEBUG builds.
...
FossilOrigin-Name: 7f2246a17be9915b3492624a3d8deff56694bdc372f7627e3f16c1869415b1a3
2019-08-07 19:57:21 +00:00
dan
e7e48dc629
Add "set TMP=%CD%" to the start of each msvc script output by releasetest_data.tcl. Otherwise, since binaries compiled with SQLITE_TEST all choose the same sequence of pseudo-random numbers, collisions between temp file names cause errors when running multiple tests in parallel.
...
FossilOrigin-Name: f5d0436d8dc650cadb61a5fe76fd1a0d68dabba54ff0c2a8c138f9dfbdab1c3f
2019-08-07 18:34:21 +00:00
dan
0e3c50c5dc
Eliminate some more cases of redundant sorting in window-function queries.
...
FossilOrigin-Name: 8158d2aca68c5a253054376fdf1b8eaab2db874f4b93524742be7340e9c50dd5
2019-08-07 17:45:37 +00:00
drh
74c490e045
Do not make SQLITE_READ authorizer calls for tables without names, as all
...
such tables will be internal-use-only tables for subqueries and whatnot.
FossilOrigin-Name: 193c87fc96f964984a144c1a4506ef9db033ab2b80e64dd4d09d820fef466407
2019-08-07 13:25:21 +00:00
dan
2712b022ab
Ensure that when the col in an operator like "val IN(col)" is a column of a view, its affinity is not used to coerce val. Fix for [0a5e2c1d].
...
FossilOrigin-Name: 17b3d2218c02a4005d4c96471c452105b54abb25901ae62990b01f0c955135fe
2019-08-06 21:16:28 +00:00
drh
55220a6c70
Improved reuse of file descriptors for which close() is delayed to prevent
...
clearly of posix advisory locks.
FossilOrigin-Name: 509c1ba26a4c12c63ecf04ddfa2f175eaf4dd9b96ab7be15faebd36deb0a0a31
2019-08-06 20:55:06 +00:00
drh
a2de66c6b4
Enhance the ".recover" output in the shell to use double-quotes around table
...
and column identifiers.
FossilOrigin-Name: 846d2d2d2f7fd2e4178c70bc2b92f18941a7972fe88c0129035b7a253ed21785
2019-08-06 20:26:17 +00:00
dan
f32105708e
Add "PRAGMA foreign_keys=OFF;" to the start of the script output by ".recover", just as is done for ".dump".
...
FossilOrigin-Name: bfc29e62eff0ed00c153e18a27815f7e3ba316f46871e9645b84ab1e6709a392
2019-08-06 18:40:36 +00:00
drh
9ce3c8ac26
Ensure that columns of views and sub-queries that are expressions with
...
no affinity are comparied without any type conversions, as required in the
documentation. Tickets [61c853857f40da49] and [d52a29a9e6bc55c5].
FossilOrigin-Name: 9c8c1092a8ce80e114fcfe8ce780332a6f269b8c87df226242b582d2d825c393
2019-08-06 15:32:42 +00:00
drh
915e434c35
Performance optimization to the new affinity handling logic.
...
FossilOrigin-Name: c9724e761bce7a4ae63ce3c1408795915865e8d3024dcb90690456f724f0df53
2019-08-06 15:18:15 +00:00
drh
96fb16eecd
Use 0x40 (ASCII '@') instead of 0x00 to mean "no affinity" so that columns
...
with no affinity can appear in a zero-terminated string. Use the new
SQLITE_AFF_NONE macro for this new magic number.
FossilOrigin-Name: e8234f6939ccff4c10f741cf66d1c537cfebcbd0d1d79a618a64c755a7f087b5
2019-08-06 14:37:24 +00:00
dan
5978a7a525
Ensure that columns of views and sub-queries that are expressions with no affinity are not assigned BLOB affinity. This matches the documentation. Fix for [61c853857f40da49].
...
FossilOrigin-Name: e15a0977ddfad3d0f4c7654c5665ff10830c25b20ecf6ef500b1ba23fb89e31f
2019-08-05 20:53:19 +00:00
dan
0a8d06a93f
Add test cases to this branch.
...
FossilOrigin-Name: f37317d81cc2864ed57c76a7347351310d61c8056a2a0179218530ba60a44986
2019-08-05 20:45:53 +00:00
dan
2046a77365
Fix the patch on this branch so that it works with sub-queries, as well as views.
...
FossilOrigin-Name: 7480db307c39b86bce269583e5917f5e1a3990500552fd98400ef3e7088c0b2a
2019-08-05 19:44:47 +00:00
drh
81506b88b8
One of two options on how to address ticket [61c853857f40da49]. In this
...
mode, we back out the documentation change of
[https://www.sqlite.org/docsrc/info/07b7749da88d54e5 |[07b7749da88d54e5]]
and change the core to work as it has been documented to work since 2017,
rather than how it has actually worked since 2009.
FossilOrigin-Name: 09cd0c0c6e6c963e0039a733876e5149adb3cd10e9b92699fa1dcb0633e997a4
2019-08-05 19:32:06 +00:00
drh
1194904b81
Refactor field Expr.affinity into Expr.affExpr to avoid confusion with other
...
fields and variables named "affinity" and display affExpr it in
sqlite3TreeViewExpr() output.
FossilOrigin-Name: a29f2a7d07beff64e489e8f824babc6228c4a499fadc0ee701caa60a63baadcd
2019-08-05 18:01:42 +00:00
drh
2b96b6969a
Improved detection of corruption on the freeblock list of a btree page.
...
FossilOrigin-Name: 4b00799bdf107fce8a9dd84fd5bf6597e4f3373659b89aae4a1242be5964726f
2019-08-05 16:22:20 +00:00
dan
72d1eac673
Fix a problem with renaming a table when a view or trigger within the schema uses a FILTER with an aggregate function that is not currently registered with the database.
...
FossilOrigin-Name: 2ac0e42f8ab7a9184c2a2efd13bd50ab51bc01f9f34e9e63591fd18db02dff54
2019-08-05 13:19:25 +00:00
dan
3cbbd195ca
Prevent an fts5 table from being its own content table, or part of a view that is the content table.
...
FossilOrigin-Name: b6d52c9364767ff4ab7279ae981afb97799299dcfaf38a0110c40ca82c72a825
2019-08-05 12:55:56 +00:00
drh
45f3b3cf1d
Stregthen an assert() in the WHERE clause code generator for the min/max
...
optimization.
FossilOrigin-Name: 1bd4b97d6405c9b093f3bfed914c56088ee13e4a2242be62b74a86660f74f533
2019-08-03 19:06:18 +00:00
dan
192418bd49
Fix a problem with queries of the form "SELECT min(<expr>) ... WHERE <expr>=?" where there is an index on <expr>. Fix for [71e183ca].
...
FossilOrigin-Name: d465c3eef458c851d97eea6e4117247d9c69386b276168080dbff7bb64070c93
2019-08-03 16:37:40 +00:00
drh
55b4c827fa
In the ".wheretrace 0x100" debugging mode, show the structure of the
...
main parameters to sqlite3WhereBegin() calls.
FossilOrigin-Name: fd598e475d353363e19adc27a671170f11ae9f6d8cad58cb2303fb2ad8ac6bec
2019-08-03 16:17:46 +00:00
drh
9f8c028221
Add the SQLITE_TESTCTRL_PRNG_SEED which can control the PRNG seed either
...
directly or through the schema cookie of a supplied database connection.
FossilOrigin-Name: 2660e9292ae2c229eb7c57a6a79bb19f0c970072f86750fbe9cca3113d44ffe4
2019-08-03 01:40:17 +00:00
drh
2e6d83bc49
Give the SQLITE_TESTCTRL_PRNG_SEED two arguments. The second argument if not
...
NULL is a pointer to a database connection which seeds the connection from
its schema cookie. In this way, fuzzers can control the PRNG seed.
FossilOrigin-Name: 49aa34480622cce4d7a72c59d9cfa8336886387acec8ee15b72f295ea1a52d8c
2019-08-03 01:39:20 +00:00
drh
e6e96b1b45
Fixes to the PRNG_SEED pragma idea.
...
FossilOrigin-Name: c71098409c98af8360f8f28b9238a12ec764018a5782e8ff03fdf5db54031d6e
2019-08-02 21:03:24 +00:00
drh
ade54d68ee
Add the SQLITE_TESTCTRL_PRNG_SEED test control.
...
FossilOrigin-Name: 3ac5723164ae801e209ce525a5d94692767136f9d06be2a84883dcea677d02da
2019-08-02 20:45:04 +00:00
dan
0bf6549cd1
If a query like "SELECT min(a), b FROM t1" visits no rows where "a" is not null, extract a value for "b" from one of the rows where "a" is null. Fix for ticket [41866dc37].
...
FossilOrigin-Name: faaaae4940b5f4f70e4988ad5b45582410b381ace0031e6abcde0b9217c06796
2019-08-02 19:40:01 +00:00
dan
ddd7421c91
If a query like "SELECT min(a), b FROM t1" visits no rows where "a" is not null, extract a value for "b" from one of the rows where "a" is null. Possible fix for ticket [41866dc37].
...
FossilOrigin-Name: a7277ed0623dccdbf775ae6127611d6bc6e150f6942a048ab4281e5136c0e98d
2019-08-02 18:43:59 +00:00
drh
d744ee0b50
The sqlite3_set_authorizer() interface should only expire prepared statements
...
when it is setting a new authorizer, not when clearing the authorizer. And
statements that are running when sqlite3_set_authorizer() is invoked should be
allowed to continue running to completion.
FossilOrigin-Name: 961e2f08c35238bcb1d32430d16451a96807b2c4bbb194ee621128dd09cd3981
2019-08-01 22:48:45 +00:00
dan
401593e348
Add new release tests for windows to releasetest_data.tcl.
...
FossilOrigin-Name: 1b330ec24c350c59f6d3779f6c0819fe95b89f4dfca5a1f2c22f22b5fe9cd087
2019-08-01 15:18:51 +00:00
dan
71f059c880
Fix a problem in ALTER TABLE triggered by views or triggers that include the construction "ORDER BY true" or "ORDER BY false".
...
FossilOrigin-Name: 8168021f9ab5fb8b4888257963c9ec68fd1dfeedaf6bba4b8e07438001d0be0f
2019-08-01 10:58:46 +00:00
dan
45cb2aa98c
Update "releasetest_data.tcl" so that it is a standalone script that generates sh or batch scripts to run each tcl test run at release time. Update wapptest.tcl to use it.
...
FossilOrigin-Name: 559c2dd6724b2fc238760863d4be7132b591457e72ca5758fdd4002fbf7df4bc
2019-07-31 21:08:55 +00:00
drh
9252df4969
New test cases in test/fuzzdata8.db.
...
FossilOrigin-Name: 6e92d71c24c6039e7116f02fc5f39b2b87efcd3674ea828077c03d760bf49c45
2019-07-31 15:16:14 +00:00
drh
7e35e81dcb
Do not allow the json_set() function to overwrite the same element more than
...
once.
FossilOrigin-Name: f237f60e4fa9171dfe9a77c8637595c2701e971034d41bd6018944e8b2b27a6f
2019-07-31 12:13:58 +00:00
drh
9c3bb59f76
Fix the build for when -DSQLITE_SMALL_STACK is used.
...
FossilOrigin-Name: b9eda2249ab5cf523093e4849c317d9a4b1743f7e15d96bdd6bb6cc423302914
2019-07-30 21:00:13 +00:00
drh
2ad07d96b6
Improved fix for ticket [ced41c7c7d6b4d36] that keeps skip-scan enabled,
...
but avoids identifying a skip-scan as order-distinct (because it is not)
and thus forces a separate b-tree to implement the DISTINCT clause of a
query. This undoes check-in [a871d69c6de65038] and substitutes a new fix.
FossilOrigin-Name: 89bf0399e87be76e7b264e0a35e8a6d3af0f9e71123a929c20754882b636ca70
2019-07-30 14:22:10 +00:00
drh
822bc969f6
Disable the skip-scan optimization for DISTINCT queries.
...
Fix for ticket [ced41c7c7d6b4d36]
FossilOrigin-Name: a871d69c6de65038360aa6142fbad22689fb347e526cca56bb83e695c1441fbe
2019-07-30 01:17:03 +00:00
drh
8fbcb04811
Convert an assert() in R-Tree into a database corruption detection case.
...
FossilOrigin-Name: 48b518eb6f76fb0beb161d1ebcf3b793efc36262d6d77a1ad5906b6501138e28
2019-07-29 17:18:45 +00:00
dan
8279fe8a4b
Fix a crash in fts3 caused by corrupt database records.
...
FossilOrigin-Name: 11f7f94f1c5d761e7f381e277658b7e857cc369283996c509061de55fd6aad52
2019-07-29 16:53:30 +00:00
dan
ed9d12dbc2
When using an index for both DISTINCT and ORDER BY, do not confuse the number of columns required for distinctness with the number required to get the correct sort order. Fix for [6749cb3c].
...
FossilOrigin-Name: 6ac0f822450b26c7d67c33cdb2a90189cd3cf65a052af8497b795c3f71a23813
2019-07-29 15:32:01 +00:00
dan
a79a0e733f
When using an index for both DISTINCT and ORDER BY, do not confuse the number of columns required for distinctness with the number required to get the correct sort order. Fix for [6749cb3c].
...
FossilOrigin-Name: b47169319ad88e8ffdbe8fbb91f4cced81ebd5c0ee1b018be2d0256c9a1c5159
2019-07-29 14:42:56 +00:00
drh
337cc3992a
Fix the OP_Affinity operator so that when applying REAL affinity, it
...
only sets MEM_IntReal if the integer value will fit in 6 bytes or less.
Fix for ticket [ba2f4585cf495231]
FossilOrigin-Name: 2b221bb15fd2b9f6a426e5eb439f7dbabbe3c4cab010c49b87dae3bb1f16c081
2019-07-29 06:06:53 +00:00
drh
122c514271
Fix a minor typo in a comment.
...
FossilOrigin-Name: cea8a892f76bddc63b921ffc11ea8dce8f8cf649a2c77aa908c7c5c91eed7f4c
2019-07-29 05:23:01 +00:00
mistachkin
f71a243a60
Sync up warning related compiler options in the Makefiles for MSVC.
...
FossilOrigin-Name: e77d48d1dd140967b18106044dd45e2ba6cd77b6aa5afa8bf3f0a9c16a50eec4
2019-07-29 02:52:11 +00:00
mistachkin
ac713403fd
Fix harmless compiler warning seen with MSVC for x64.
...
FossilOrigin-Name: 857b2ba6d05d6f5a8cfdf269bae9005b25e1903ab9dc6b70546979d8c633f03b
2019-07-29 02:49:14 +00:00
dan
b8293a5bee
Update RBU so that it supports indexes on expressions.
...
FossilOrigin-Name: 6bfa44da226fd758a2ee924d1e8e3a742b0635b6d3f922a4a7919cb14b2418e6
2019-07-26 20:33:23 +00:00
dan
dff1d5b61b
Fix RBU handling of partial indexes with comments embedded in their CREATE INDEX statements.
...
FossilOrigin-Name: e1ccf211aa975a6688a27f7dc4cea80784ed8dcfe1950b2fa6eb0a3cb938838a
2019-07-26 16:16:31 +00:00
dan
bfe33f80dd
Fix a potential buffer overread in fts5 triggered by a corrupt database record.
...
FossilOrigin-Name: 16472112b6886ada18d45cfb409cca2e83dde5a8ba8a36d481e87b61100b0186
2019-07-25 19:29:24 +00:00
drh
00c12a51e3
Fix faulty asserts in the code generator.
...
Ticket [c52b09c7f38903b1]
FossilOrigin-Name: 01cdc590f7894ea23ee0d674747d7ebf8196efbef3c87d47e72dbc1ab6ae2883
2019-07-24 23:15:19 +00:00
dan
9443dbc493
Improve the ".recover" command so that it handles intkey pages linked into non-intkey b-trees, and vice-versa, better.
...
FossilOrigin-Name: 9c458acba5a100a76148a3efb78ea9f57b85751e80788e4532694bd8976608a0
2019-07-24 20:10:27 +00:00
dan
01c08bcacd
Improve the ".recover" command's handling of corrupt database schemas.
...
FossilOrigin-Name: becaaa4d29d17ad613f2a120f0b173e53403b3de26f22beaf83f66ebf369bf60
2019-07-24 19:20:30 +00:00
dan
95063c2867
Improve the ".recover" command in the shell tool so that it is not confused by auto-vacuum databases. And so that it can recover tables for which one or more of the column names are SQL keywords.
...
FossilOrigin-Name: 87d76047d6a3df31bc9b7c0cffa7b758236c124f87263a520850b019cbbc4c6e
2019-07-24 08:15:09 +00:00
dan
1c70f71e12
Avoid redefining types u32 and u16 when fossildelta.c is compiled as part of the amalgamation.
...
FossilOrigin-Name: d8e88248e3204b5f2b95b9b8921ee7ee2f7574ae81e6abd5b4f2ddf187f7d71b
2019-07-23 13:26:43 +00:00
drh
9378818d89
Do not use the insert-overwrite optimization if the cell might overwrite the
...
page header.
FossilOrigin-Name: f60a83069168899dcfd706b4d0901084c7ce92d85277950317e962a8a98ec668
2019-07-22 23:24:01 +00:00
drh
e209457295
Consolidate the removal of Window objects from the Select.pWin list into
...
a single subroutine.
FossilOrigin-Name: e46b2afc99329c43de08d4a2e6ade4d2239d7409c5d5626bf272a3e0dd24d1b4
2019-07-22 19:01:38 +00:00
dan
e0ae3f69eb
Fix a bug in the linked-list handling code added by commit [fd7316cd].
...
FossilOrigin-Name: 05080344dceafcfb670fbf01f7d69a1d713a54b6845f968a9cfe941fb53b13af
2019-07-22 17:28:43 +00:00
drh
cda50737f4
New test cases added to test/fuzzdata8.db
...
FossilOrigin-Name: 25fec62ac5a23382a54eee78d3705885eb4065826d7e8da098816d03ae9dc639
2019-07-22 16:57:13 +00:00
dan
7f6f12bdd3
Remove Window objects from the corresponding Select.pWin list when they are deleted, as they are, for example, when the ORDER BY clause is optimized out.
...
FossilOrigin-Name: fd7316cda0fdfe86985f41a97dff3beba188606ec9bc6fef38a686a6976a6e01
2019-07-22 16:33:02 +00:00
dan
75b0821e99
Remove Window objects from the corresponding Select.pWin list when they are deleted.
...
FossilOrigin-Name: d23f33168222dfa40a67dc7de58057418151989e81429e4af47617e86db04667
2019-07-22 16:20:03 +00:00
dan
1e60261cfb
Fix a problem with renaming tables when the schema contains an invocation of a currently unregistered aggregate with a FILTER clause.
...
FossilOrigin-Name: bd37ce3fb8dee8d538f6afc0bfc13cdc3ebdd504e6461f0130c6ecc8af585f68
2019-07-22 11:38:43 +00:00
drh
fd15e18d7f
Make sure any window definitions in an ORDER BY clause are removed from
...
the SELECT statement if the ORDER BY clause gets optimized out.
FossilOrigin-Name: 23b119671f0be3c6b72cf2dc5f7707a0626766db7aa56529ab00d33d1a0a1bee
2019-07-20 21:12:31 +00:00
drh
7fc296aa66
Early detection of a corrupt R-Tree in the R-Tree search algorithm.
...
FossilOrigin-Name: 2bf5a4c16457562dc942bcc6ec06d9b4e795ef3ea8e31550e18857bbebd08a76
2019-07-20 18:00:46 +00:00
drh
bcb0e64c82
Performance optimizations in the rtreeStepToLeaf() routine of RTree.
...
FossilOrigin-Name: 4e34e3615ff31f4a6432033797b2e1a6604007ea0e501d714ecb362632776150
2019-07-20 17:43:28 +00:00
drh
e04c1ec52a
New test cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: 39be3c61bd809cc89bdfdba90afc391ac9c2f81dfd8bb68a9b085b0ca8cd1fba
2019-07-19 15:03:54 +00:00
drh
c5cc870ef8
Refinement to check-in [348e7f193a963390] that avoids unreachable branches.
...
FossilOrigin-Name: bbfb2908ecd113c88e69a0984cbe2550463cdd3a67648b0e4e3578e80630136e
2019-07-19 15:00:32 +00:00
dan
9bf022d57c
Fix a problem with renaming a table when the schema contains an invocation of a window function that is not currently registered.
...
FossilOrigin-Name: ff290feb97f689cf6ce4162d6aa36f9f9dcf1bff3096847d53a85f39f728d2de
2019-07-19 14:32:42 +00:00
dan
750c6ba5e5
Fix a problem with renaming tables when the schema contains WINDOW definitions with (illegal) non-numeric expressions as part of a PRECEDING or FOLLOWING clause.
...
FossilOrigin-Name: 348e7f193a963390a0595183d603541f85c5d1a911c98ed2e06599691ffe98f5
2019-07-19 11:20:42 +00:00
dan
a1ac03590b
Fix a faulty assert() in walker.c that could fail when processing an ALTER TABLE statement on a schema containing invalid table references that are part of a WINDOW definition.
...
FossilOrigin-Name: ee076c28d8ee0f5b099cdef83ae6cea6ef5aa209ab528d7c49949dd653ce019c
2019-07-19 10:31:29 +00:00
drh
b555b0806e
Fix a new problem in the BETWEEN operator when applied to a window function.
...
The problem was introduced yesterday by check-in [7ef7b23cbb1b9ace].
FossilOrigin-Name: 47e23064ba0205148f89e12803a62d5a4d6d2054f593f60c031e815112170b9b
2019-07-19 01:11:27 +00:00
drh
4509ffa362
Always use the stdlib.h intptr_t type for pointer-integer conversions, when
...
it is available.
FossilOrigin-Name: c0d932449db3deed42a99bd948aab61e56b2d8441d7de5243688695ff04e8177
2019-07-17 19:57:55 +00:00
drh
996f5ccb33
Fix an incorrect assert() in balance_nonroot().
...
FossilOrigin-Name: 59c9e73f86b89ee17b0bce47bcb93f5b5ace5b7985678287195002afb9d40cd8
2019-07-17 16:18:01 +00:00
drh
09ea1256ec
Improvement to the hexdb interpreter built into the CLI and into the
...
TCL test harness: Round the "size" up to the next multiple of the "pagesize".
FossilOrigin-Name: 9ec92939cb2d2c96ae15bc496feed233ce31424c25a6bf86ace7e0ef3eedec5b
2019-07-17 15:05:16 +00:00
dan
8b65e5919d
When processing a BETWEEN or CASE expression, avoid transforming a node of the original expression into a TK_REGISTER node. Instead, take a copy and use it instead. Fix for [1be72aab9].
...
FossilOrigin-Name: 7ef7b23cbb1b9ace9f853238d9133320c153e6c3417e6823ab6394ee1fe56358
2019-07-17 14:34:17 +00:00
drh
3db3d12cd1
Fix the WITHOUT ROWID table logic so that it generates a correct KeyInfo
...
object for tables that have a PRIMARY KEY containing the same column used
more than once with different collating sequences. Enhance the index_xinfo
pragma to assist in testing the above. Fix for ticket [fd3aec0c7e3e2998].
FossilOrigin-Name: 84a51a755c18ac8253080db6eec505df894ee3b1e97cfa8e61039ac38001e270
2019-07-17 12:49:16 +00:00
drh
19d9a3ca6c
New test cases for PRAGMA index_xinfo on a WITHOUT ROWID table. And new
...
testcases using index_xinfo to verify that WITHOUT ROWID tables are
constructed correctly.
FossilOrigin-Name: 340378c1e60da80263523776f4b6366a9d332a7ee25986637e8b157f4e8e4bd3
2019-07-17 12:42:15 +00:00
drh
7b1904e35d
Enhance the "PRAGMA index_info()" and "PRAGMA index_xinfo()" statements so that
...
they allow a WITHOUT ROWID table as their argument, and in that case show
the structure of the underlying index used to implement the WITHOUT ROWID
table.
FossilOrigin-Name: 62274ff683ba077d8b0fa34ad653ce235a8c5cbfdb7ab8558469af7333d03698
2019-07-17 11:01:11 +00:00
dan
1ff9407198
Fix problems with duplicate fields in the PRIMARY KEYs of WITHOUT ROWID tables.
...
FossilOrigin-Name: bd9a47a3a2997bfbf9c8a11c5b7196e362974054e58a2fe701778b1580264de8
2019-07-17 09:18:06 +00:00
dan
4d02b5f7d0
Add casts to shell.c.in to avoid warnings on systems where size_t is 32 bits.
...
FossilOrigin-Name: fe014288ac03cdf0dc5410b7d45cad4768759b52746c0a22bce2fc03779c5d5a
2019-07-17 07:23:06 +00:00
drh
55f66b341a
Add new assert() statements in an attempt to help static analyzers avoid
...
false-positives.
FossilOrigin-Name: 9e66458592d40fbd96ea5f21339573110ca1cfe328238a020c9420a87d35dd72
2019-07-16 19:44:32 +00:00
drh
2cd02a5d2a
Add assert()s in os_win.c in an effort to silence false-positives from
...
static analyzers.
FossilOrigin-Name: 22a7c15b262376fb0ce4dd3d044373380d86c5ccd96e2f24576cf04318597c33
2019-07-16 18:27:07 +00:00
dan
993b48e2b7
Call ioctl() with the correct signature on both Android and stock Linux.
...
FossilOrigin-Name: 2422534908a85a4cd11784e4c23a74ad121404f73dade587bf27efde1e2b982b
2019-07-16 05:11:16 +00:00
dan
e464802d49
Fix a problem that could cause a crash if a blob handle were closed after the associated database handle was closed using sqlite3_close_v2().
...
FossilOrigin-Name: 52f463d29407fad691c42b13462880e7605603c9be9f480d18e953a0ef78149a
2019-07-15 13:58:28 +00:00
dan
ec9b2a132b
Call ioctl() with the correct signature on both Android and stock Linux.
...
FossilOrigin-Name: 68e12e063fe41bcd65cf8a120f838b9b1723ed803ea85240fe0f2145b78df2d7
2019-07-15 07:58:28 +00:00
drh
08e2e8e680
Mark an unreachable branch using ALWAYS().
...
FossilOrigin-Name: 0fff105a3e501fd91877d67761459eb0323e6cf79916242027cce0d05697f554
2019-07-14 00:15:07 +00:00
dan
0088574271
Fix a memory leak that could follow an OOM in the new FILTER code.
...
FossilOrigin-Name: 85fd70fead834aed16cffbea892b2255b4e10dd677f4dbbb96062d5ff42efdeb
2019-07-13 18:27:54 +00:00
dan
8f245174a3
Fix a typo in test file window1.test.
...
FossilOrigin-Name: 8c80e81d01abde9a5032cdc1a492d0fccd8db139f78d2db9413a60cfdc8e0f64
2019-07-13 17:54:24 +00:00
dan
5e61c1b741
Fix error handling for the case where a window function is passed the wrong number of arguments.
...
FossilOrigin-Name: 871796bb19e61c1282d8ac97a82d8b57bde50f2a2a08004ab53136d77c138df4
2019-07-13 17:45:25 +00:00
drh
ea38f4f4cc
Fix a double-quoted string literal used in the ".schema" command of the CLI.
...
FossilOrigin-Name: fcd937d9786a82ef4147e657d54ea0beb6ac87e2eb1677186b318493d473077b
2019-07-13 17:21:47 +00:00
dan
df9d32441a
Add support for attaching a FILTER clause to an aggregate function.
...
FossilOrigin-Name: ee293e5aeac0b05a8b809095610fd8b4fdaf8e68cd368de90ec0d45e3582ffe5
2019-07-13 16:39:38 +00:00
dan
4f9adee289
Rework the FILTER clause implementation to share more code with window functions.
...
FossilOrigin-Name: 5dac8c38dfc3f41c5c8fb49ca35de7fd1b21f269d72e8ba6ba59ed0a4030a54d
2019-07-13 16:22:50 +00:00
drh
8616cff6c8
Remove unreachable "break" statements to silence harmless compiler warnings
...
from ICC.
FossilOrigin-Name: 0d7287e1bfdd5a392bf2fb17699e7cfd0b08bf61fab6cbf4b4bb347b3c4b4610
2019-07-13 16:15:23 +00:00
dan
648d629953
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 86ab963cc5743867e0535b78a5776e18c13835aa44bf2009f77642df8407cb3f
2019-07-13 09:56:56 +00:00
dan
01fd42beef
Trivial performance improvement for balance().
...
FossilOrigin-Name: c7920f5569022f645ec4dbfce8c228880263785c708c2c0ac065e770c438b1d9
2019-07-13 09:55:33 +00:00
dan
52d9a3c213
Minor performance improvement in vdbeRecordCompareString().
...
FossilOrigin-Name: 777fec84a5db968e033883920586ec0afef65578be0c1eb3021fce525111edde
2019-07-12 15:15:43 +00:00
drh
76fd7be3a3
Improved comments and extra testcase() macros on the serial-type computation
...
logic in the OP_MakeRecord opcode.
FossilOrigin-Name: 18bfb2179ce2c60cec8f5859a84b737731a5e53b28e35072cbb249f18b94262b
2019-07-11 19:50:18 +00:00
drh
7f88a24dc6
Increase the version number to 3.30.0 for the next release cycle.
...
FossilOrigin-Name: 2578e3c64b0a92ab92143f18d107a1a180bd6fa87243661930771c4c080f8098
2019-07-11 19:27:02 +00:00
drh
c1da4397d6
Move the sqlite3VdbeSerialType() routine in-line in the OP_MakeRecord opcode.
...
Optimizing compilers were doing this already. By doing it manually, we can
omit some redundant tests and make the whole thing run a million cycles faster
and use about 80 bytes less code space.
FossilOrigin-Name: d837ab0da52632699abc09320980606aef020df5020c253f99c97e24bf3c6d00
2019-07-11 19:22:36 +00:00
dan
6488271f05
Change the parser on this branch to more closely match trunk. This saves a few more cycles.
...
FossilOrigin-Name: be01b801fbc258f0ab9542130cec12a5ea5e2d0bf087684a9eda909ad459c211
2019-07-11 18:43:33 +00:00
dan
8117f113bc
Minor performance improvement in sqlite3ExprDeleteNN().
...
FossilOrigin-Name: bcc8b38ac75b731a4cd2873ab83f423be036467a511b617c779869de9bbb5383
2019-07-10 20:16:53 +00:00
drh
ea7e83b780
Version 3.29.0
...
FossilOrigin-Name: fc82b73eaac8b36950e527f12c4b5dc1e147e6f4ad2217ae43ad82882a88bfa6
2019-07-10 17:32:03 +00:00
drh
ea9b564d78
Add the "LL" suffix on a pair of larger integer literals, for compatibility
...
with older C compilers.
FossilOrigin-Name: 6f328c35947d6b3a0741514757b8944692203e89bdb2e7f9bbce8ad9288be344
2019-07-09 23:35:50 +00:00
dan
f446a7a8cd
Update rtree.c so that SQLITE_DEBUG is required to turn on assert() statements, even if it is compiled separately from the amalgamation.
...
FossilOrigin-Name: b6e17f0139482a22c2fc84552767bc9a293b282499e3a790de069e0e84455fb2
2019-07-09 17:36:26 +00:00
dan
e0155b7af9
Fix a test script problem in windowfault.test.
...
FossilOrigin-Name: 47010bf17cb080cc1c693c84d16b986ea4addf9c54bd7e22de1e0f6b555ea9d1
2019-07-09 12:03:21 +00:00
drh
0ba323476a
Fix dbfuzz2 so that it will compile on systems that do not support getrlimit().
...
FossilOrigin-Name: 36295dcebcb5487f2a462eabb41900ac28b8e839898ef0fae0aa4730bf9b0671
2019-07-08 18:35:51 +00:00
dan
bedf84c17b
Fix an assert() that [28196d89] caused to fail.
...
FossilOrigin-Name: 8fb0c6d5a38e77aa4c5f394fb8af1b0c7c6a4790e932aabc213a3078ee9acaf6
2019-07-08 13:45:02 +00:00
dan
62742fd264
Ensure collation sequences and affinities work in window function queries. Fix for [9ece23d2].
...
FossilOrigin-Name: 28196d894ac9fad9d8f877c7bf17ec9d299d12acdcc942f9ea0783777b14fdc5
2019-07-08 12:01:39 +00:00
dan
1efcc9dd96
Another very small performance improvement.
...
FossilOrigin-Name: 7a1e30a17f57ca006dd84b6f97b0c7811bf4c6da4b02903452ffc4bc363cab9b
2019-07-05 19:10:41 +00:00
dan
b28c4e564a
Minor tweak to patch on this branch to reclaim some cycles.
...
FossilOrigin-Name: 81eed055de856068109a7e332cca0c3ff1120ebe2bfa5ed6383b165c726e0a7c
2019-07-05 17:38:55 +00:00
dan
7d840e530f
Fix a valgrind problem in fts3corrupt4.test.
...
FossilOrigin-Name: cb3dec427e399064eeec31c15565346f045bd7c46d2f7860b1cd346bbcccb124
2019-07-05 15:16:22 +00:00
dan
e88c0cde6c
As it requires wal mode support, do not run test file chunksize.test as part of the "journaltest" permutation.
...
FossilOrigin-Name: acd2df36c2876ff3cc477889fc99f493cdf53a656bdb84bde6121676c9eeed1f
2019-07-04 19:19:08 +00:00
dan
79d8aa24f1
Fix a typo in the wapptest.tcl script.
...
FossilOrigin-Name: 971b4422ae7a8eed67f5db62c0e1cc061faac9404ff5f7051d7e07decf2207a4
2019-07-04 16:30:41 +00:00
dan
40d6c827e9
Have wapptest.tcl run at least one threadtest with an SQLITE_ENABLE_MEMORY_MANAGEMENT build.
...
FossilOrigin-Name: d6131caf6471ad41fa5a28b0067d759ac1cc9dba1170678534488b416f9a1157
2019-07-04 16:06:59 +00:00
dan
a082cd75a1
Fix a race condition that could occur in SQLITE_ENABLE_MEMORY_MANAGEMENT builds when two threads simultaneously open the first two database connections in the process.
...
FossilOrigin-Name: 5ea3f6fc88cf66824128aa64f777a7abb4f6ed55f214d7a135f36e306a32487c
2019-07-04 16:05:26 +00:00
dan
16e12c573d
Add tests for the FILTER clause. And a bugfix.
...
FossilOrigin-Name: 28aa1702f7f0334abd1b30e7aa48ea3679539b11bfbba32bc9f0d6049cf18a7b
2019-07-03 18:31:20 +00:00
drh
4b50da9c95
Restore the legacy behavior of enabling double-quoted string literals in
...
all contexts. But also provide a new compile-time option (SQLITE_DQS) to
change the default to something more restrictive.
FossilOrigin-Name: 97a94446f3941c313c4c3a19d9f89f24d7ef06e842f79d66f0ad88810b872084
2019-07-02 12:23:09 +00:00
dan
6ba7ab0d25
Experimental implementation of FILTER clause for aggregate functions.
...
FossilOrigin-Name: 1f1ae2d6ac8dcbb62e5aa3dc17bc67d559cb565fc0d0a8c00a596075d35f8130
2019-07-02 11:56:47 +00:00
drh
00a6153faf
Use the OP_Sequence opcode for generating unique rowid values for an
...
autoindex on a co-routine implementation of a subquery.
FossilOrigin-Name: eab4297577e4d325fed4757867fc77860de7448998d86f098c8a50272e17d35e
2019-06-28 07:08:13 +00:00
dan
855b5d144a
Ensure that when an ephemeral cursor is reopened with a second invocation of to OP_OpenEphemeral, the sequence counter is reset and the cache marked as stale. Fix for [9cdc5c46].
...
FossilOrigin-Name: 5fd20e09a522b62a529cf4d76fbdf0a09426f67ffa30430cac6b81ebf32ba43e
2019-06-26 21:04:30 +00:00
dan
07312a6b06
Fix a typo in an option name for the .dbconfig command in shell.c.in: s/wriable_schema/writable_schema/
...
FossilOrigin-Name: 1c58522e49cd91426bca7efccf0d99e0f2803dcd5991ae5d56166fc5510e4c62
2019-06-21 14:05:27 +00:00
dan
fe9a832e80
Fix a problem with handling with handling quoted path elements in extension functions json_set() and json_insert() reported on the mailing list.
...
FossilOrigin-Name: 45bfcb88e71451a656982e217375e257fc8e68374349c2984be1266bf86fb8cf
2019-06-17 14:50:33 +00:00
drh
d9678890a9
New sqlite3_db_config() options:
...
SQLITE_DBCONFIG_LEGACY_ALTER_TABLE,
SQLITE_DBCONFIG_DQS_DML, and
SQLITE_DBCONFIG_DQS_DDL.
FossilOrigin-Name: a61db8ff6713d66778a0500ca4049229c081a3ae95991f05eba09729434444b3
2019-06-17 14:13:30 +00:00
drh
d0ff601c62
Improved interface to double-quoted string literal enabling/disabling.
...
FossilOrigin-Name: 923cfd53fcff2fcb91530bf819d2ecb0eda3f6a27dae29c7460f9ce3a3ffce7b
2019-06-17 13:56:11 +00:00
drh
cf175c193b
Avoid transforming TK_COLLATE or TK_UNLIKELY Expr nodes to TK_REFERENCE.
...
Instead, transform the uppermost Expr node in the expression tree that
is not of this type. Fix for [e1e07ef2].
FossilOrigin-Name: 54110870487f78013ab1b554413c18baa2bdc07d979bc65c110f32d30c3b53fe
2019-06-16 14:56:41 +00:00
dan
069d1b1faf
Avoid transforming TK_COLLATE or TK_UNLIKELY Expr nodes to TK_REFERENCE. Instead, transform the uppermost Expr node in the expression tree that is not of this type.
...
FossilOrigin-Name: ba7870e292919cf6c2f4b65b63fb0420ba2718eb0a797e0ba5302eec551a4238
2019-06-16 08:58:14 +00:00
dan
e3664dcb48
Fix minor problems in the test code in test_demovfs.c.
...
FossilOrigin-Name: ca4ddfefc1be1afbf366d87c47f0dd1122350d7ab34ba60020c5babb64a654a4
2019-06-15 15:32:37 +00:00
dan
44c99ecf9c
Add extra test case for one of the problems fixed by the previous commit.
...
FossilOrigin-Name: 0bbceebb126c94b5159079a341fa16e8424b7f2f6b9364561516964e871fb6e0
2019-06-15 15:27:37 +00:00
drh
bdf4cf0b90
Ensure that sqlite3RenameExprUnmap() does an unmap of the result set alias
...
names in subqueries when ALTER TABLE fails because of a syntax error in a
trigger.
FossilOrigin-Name: d3b6f1665f6fb5fc5cf1c0864d779d0b24746ada530f755c7b6ff34766bd2188
2019-06-15 15:21:49 +00:00
drh
0a6873bfd6
Add SQLITE_DBCONFIG options LEGACY_ALTER_TABLE, NO_DQS_SCHEMA, and NO_DQS.
...
FossilOrigin-Name: 1fad20925efa70d0c242e9cba8fa55456fb07a81229c1068da84c6e27d0c0be8
2019-06-14 21:25:25 +00:00
drh
c164cc992f
Deprecate the SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option when it is
...
turned off. This probably will impact no-one. If it does, they will get an
error message instructing them to contact developers, so that we can get
feedback that somebody is actually using this feature. Start-time disabling
of covering index scan is not affected.
FossilOrigin-Name: 23e49f9984f74f242602c6e56bfc645585c7c86bcdd585c322ab0d8e20958d86
2019-06-14 17:37:39 +00:00
drh
821afa44c1
Fix the implementation of the built-in RTRIM collating sequence so that
...
it works for control characters at the end of the string.
Ticket [f1580ba1b574e9e9]
FossilOrigin-Name: 86fa0087cd1f5c79ed51b99a226ec2eef5b0fa0a23981d469bec0e02fadf2a68
2019-06-14 13:24:46 +00:00
drh
060b7fa974
Refactor the LIKE optimization decision logic so that it uses
...
sqlite3AtoF() on both boundary keys to determine if the optimization can be
used when the LHS is something that might not have TEXT affinity.
Ticket [ce8717f0885af975]. See also [c94369cae9b561b1],
[b043a54c3de54b28], [fd76310a5e843e07], and [158290c0abafde67].
FossilOrigin-Name: b4a9e09e60213ccff925d09f0b6e549e2a3e3862856c710f108779e2867dec76
2019-06-14 12:28:21 +00:00
drh
4eb4e4fe7e
Add a new requirement mark on the ctime.c code.
...
FossilOrigin-Name: c4b405687b010ee20ec02c42913a0540909d0155c88a4a56194fda99c704279e
2019-06-13 16:14:53 +00:00
drh
e25007602b
Do not use the %lld printf conversion in the platform printf() as some
...
legacy platforms do not support it.
FossilOrigin-Name: f8696b60eec0dcacfe92d9a31cbf1436d674140e5447de0cd1c2f52bff6c2be4
2019-06-13 14:07:41 +00:00
drh
4245e0456d
Fix a minor error in a test script, and harmless compiler warnings in the CLI code.
...
FossilOrigin-Name: eaa34626e497d3af132dd8f13eddbbda89365d369ed43212a5f788175b3d6198
2019-06-13 13:52:46 +00:00
drh
0ce974d122
Adjust requirements marks and add new requirements tests.
...
FossilOrigin-Name: ebb81dad1f43dac4636cd44d4055d1d4b198c675f73e23c5a2d8d992ae27fe1f
2019-06-12 22:46:04 +00:00
drh
13d0402077
As a special case, casting '-0.0' into numeric should yield 0.
...
Fix for ticket [674385aeba91c774].
FossilOrigin-Name: 491f0f9bbddb6302536d99abd1ea481fd747ddcf6c6eaaacc0338d147b119081
2019-06-12 20:51:38 +00:00
dan
6ece353f2d
Handle expressions like "expr IS TRUE COLLATE xyz" in the same way as "expr IS TRUE". Fix for [4d01eda8115b10d1].
...
FossilOrigin-Name: 5c6146b56a75a94f4baa10e95407c54dd0b9314a57a8702a4b96b15c4d7ac48c
2019-06-12 13:49:32 +00:00
drh
a7d6db6ac0
The affinity of the unlikely() function and its cousins should be "none".
...
Ticket [0c620df60bffd9ef]
FossilOrigin-Name: 614ecb0af47038848e8ba2aed6b92db6f33ddc4aea6361795dbde440380f5a35
2019-06-11 21:02:15 +00:00
drh
42be2ad30b
Make sure the affinity of the RHS of an IN operator does not affect the
...
outcome even if the RHS expression contains a COLLATE clause.
Ticket [57353f8243c637c0]
FossilOrigin-Name: 0f748fe58bbbb7ce3f30303da25ec811b2bbce249549aa9c7927979ac5b38013
2019-06-11 18:07:53 +00:00
drh
2c3f46500f
Mark an unreachable branch with an ALWAYS macro.
...
FossilOrigin-Name: d4755aca4b435eed62b54af84013f7f176d3fa5b7b1c243555d59de5749fcde5
2019-06-11 16:43:58 +00:00
drh
66cc2ca83a
New test case in fuzzdata8.db.
...
FossilOrigin-Name: e96641f0be7d4454215459b0a95cf1c46ba0133e46d0bae22269741c8f4e5b44
2019-06-11 16:07:39 +00:00
drh
fa685947d8
Off-by-one error in the CAST to NUMERIC logic.
...
FossilOrigin-Name: 25b89630206fdbb41c756e98f99baa711d35a8c226697a92339d0fe7e8b3652a
2019-06-11 16:06:05 +00:00
dan
0b277a980a
Have the ALTER TABLE code handle the case where an entire expression that includes a sub-select is excluded from a view, trigger or index.
...
FossilOrigin-Name: f2c8179f3c0b77f10da3f9b0771db4dec30d0bbf0b7f4751ce439bfb08da8f6f
2019-06-11 12:03:10 +00:00
drh
8e34e4061b
Add the new sqlite3ExprUnmapAndDelete() function and use it in place of
...
separate calls to sqlite3RenameExprUnmap() and sqlite3ExprDelete().
FossilOrigin-Name: 36ea13e0a851a749c9ef292377ecd82dbd4797d38df907b362487fa234c98ca5
2019-06-11 10:43:56 +00:00
drh
b854b76733
The ALTER TABLE command should not attempt to rename objects that are
...
contained within an expression tree that has been optimized out because
it is the other branch of an "AND false" expression.
Ticket [533010b8cacebe82]
FossilOrigin-Name: 04bd5cb73287f926f1ecf578998fa6ce1379474e86918c692eae5778d0817cef
2019-06-11 02:43:22 +00:00
drh
a753d40039
Fix repeated test numbers in the altertab2.test file.
...
FossilOrigin-Name: e82f235e7201a420149847cda630ac6f2fce5e3a4577b0ea4793f430d3dc1611
2019-06-11 01:56:42 +00:00
drh
e53be9f236
Remove a comment made obsolete by check-in [71643deb6bbad4b4]. No changes
...
to code.
FossilOrigin-Name: 211c8002d5ea4b224125d4ed395fe15767d1dc32a77b40b89fdfc80bdd1c5a48
2019-06-11 01:30:39 +00:00
drh
378a7d356b
A string consisting of a single '.' is not a floating point literal with extra
...
text at the end. Fix for ticket [412bba9b22c677da]
FossilOrigin-Name: 57050162294efec90caa5cc3c2f8c1a85215526adcf57b284ce2d2e799286b78
2019-06-10 23:45:10 +00:00
dan
e4a9e4d0e5
Have ALTER TABLE commands ignore the lhs of "expr IN ()" and "expr NOT IN ()" expressions, just as other queries do. Fix for [533010b8ca].
...
FossilOrigin-Name: 71643deb6bbad4b4a511bfd43b32245b50a555b508b90f33adf0656ae53292c6
2019-06-10 19:17:37 +00:00
drh
99778c4b21
Improvements to the documentation for the xAccess method of the VFS.
...
Ticket [5e0423b058fa5adf]
FossilOrigin-Name: 7078d77effc296c63c91ec032c866e2b320f081d58e57e9e83cc58373169bda3
2019-06-10 19:07:15 +00:00
drh
c285ded26c
Make sure a CAST to "NUMERIC" results in an integer if the value can be
...
losslessly expressed as an integer, as the documentation requires.
Ticket [dd6bffbfb6e61db9].
FossilOrigin-Name: c0c90961b4fa1c1185772d04fe1915bc1a1af27ed8ddb8db1c524bf90d68ccbf
2019-06-10 18:33:16 +00:00
dan
e20a894a34
Handle renaming a column or table when the schema contains a (meaningless) index on the constant expression ('text' IN ()) or ('text' NOT IN()).
...
FossilOrigin-Name: 567b13093956185b5d5e971b81ba4788fd9d26c03688f643b380f0f1c1a94da0
2019-06-10 15:34:16 +00:00
dan
32d0f64e8d
Do not attempt the LIKE optimization on a column with numeric affinity if the rhs of the operator begins with whitespace. Fix for ticket [fd76310a5e].
...
FossilOrigin-Name: 94b58ab059cba9771e75f16d1460f313104a8fb879f9f8805725d362aa58cbcd
2019-06-10 13:46:42 +00:00
drh
55700bcd72
Remove code in the round() SQL function that became unreachable due to
...
the optimization of check-in [e95138f5f4febde5]
FossilOrigin-Name: b141bae3f6d16c0ebb59dac9b02086a4370839e71ade34004f647b09b1083d1d
2019-06-07 22:51:13 +00:00
drh
9a2782293c
When casting string values into numeric and the string has a prefix that looks
...
like a number but total string is not a well-formed number, then take extra
care that the result is either integer or real depending on what the prefix
looks like. Fix for tickets [e8bedb2a184001] and [4c2d7639f076aa].
FossilOrigin-Name: 67a68af5578f08d2be2e48cf4fd12a6cf35a09c47d259deda81950f7ee1f02f7
2019-06-07 22:26:08 +00:00
dan
4eefeb5577
Also upgrade script config.sub to the latest version. This should have been part of the previous commit.
...
FossilOrigin-Name: efbf31b82e6e16fda88d8cea54202a8593ff52f2267a44dba828704818162e66
2019-06-07 18:56:03 +00:00
dan
9cc867d09c
Upgrade the config.guess script to the latest version.
...
FossilOrigin-Name: be8438133f6cd87e5d51f15cfd1eed83176b3239334875eb0c3dec502cfe39d3
2019-06-07 18:53:51 +00:00
drh
d985f7260b
CLI enhancements: Add the ".filectrl" command. Make the ".testctrl" command
...
visible to ".help".
FossilOrigin-Name: 7b3a99fce8b4a757f2b2ef2f0b02d68566f2528d9ae1e30628522717f872466c
2019-06-05 14:29:53 +00:00
dan
48646e497b
Add a test case for the unix SQLITE_FCNTL_CHUNK_SIZE file-control.
...
FossilOrigin-Name: 3a477fd0c944440be03d23c667053b346c769c6a4f6ba1ef094b7581a08d7bd4
2019-06-05 13:14:19 +00:00
drh
f9c7c4b1f2
In the CLI, add a small delay (0.1 seconds) after launching the output
...
command for ".once" before deleting the temporary file.
FossilOrigin-Name: 4979f138e8c8bef7dd6b5921fb9ca9fea86bbf7ec1419934bb2d1a0d74e77183
2019-06-04 18:21:59 +00:00
drh
9b2ec0efa1
New dbsqlfuzz test cases add to test/fuzzdata8.db.
...
FossilOrigin-Name: 873aa46da3d0f97784cad94828fc367bb2ceb13d5ece2e105320f404b3971c85
2019-06-04 15:47:37 +00:00
dan
471e88f732
Fix a segfault in fts3 that could occur when processing corrupt fts records.
...
FossilOrigin-Name: dff24c6c7a4e7623984b5bb24c2ff14fe079dc49a0ad048cbfc66f84c08875b0
2019-06-04 13:11:37 +00:00
mistachkin
17df761a84
Fix harmless compiler warning in lemon.
...
FossilOrigin-Name: 2da0eea02d128c37f2fbe764227ac526d3e993284516544adc0a216a035c5676
2019-06-03 15:09:25 +00:00
drh
84422db987
Optimization to the round() SQL function for large input values without a
...
fractional part.
FossilOrigin-Name: e95138f5f4febde598f39e031d6e4f4d5ad0adbd8dcdd34fd0baaa78ab393417
2019-05-30 13:47:10 +00:00
drh
05921223c2
Smaller and faster sqlite3IsNaN() implementation makes deserialization of
...
floating point values much faster.
FossilOrigin-Name: ea748edecb261f2b862d542daff6e99a6fd8879a8ace94b440d99e110577d1c1
2019-05-30 00:46:37 +00:00
drh
8a3884efae
Much faster implementation of applyNumericAffinity() by avoiding some
...
unnecessary calls to sqlite3Atoi64().
FossilOrigin-Name: c1d8a3f65490eef2216f360d708b1746cbaa6dadce42c0950dc8e09b9ab28ee2
2019-05-29 21:18:27 +00:00
drh
b0968b6b14
Add an assert() as an additional test for fix in check-in [523b42371122d9e1b3].
...
FossilOrigin-Name: f9e85e6c79162081f8f512d22951931a89d157a32b24afdc48b7eb865379abe7
2019-05-29 18:33:59 +00:00
drh
7cd5e856e5
Fix the query flattener optimization so that it preserve the "SF_Compound"
...
bit when flattening a compound subquery into a non-compound outer query.
Failure to preserve that bit could allow subsequent flattenings which are
not valid. Fix for ticket [c41afac34f15781fe09cd].
FossilOrigin-Name: 523b42371122d9e1b3185425745f1490138bff7f7cc941ee26ee81df7ade5bf4
2019-05-29 17:22:38 +00:00
dan
efdb371a1d
Fix an assert() in fts3 that could fail when processing corrupt records. Also some minor sanitizer warnings.
...
FossilOrigin-Name: c736c40aab071a69bd5c5347b7c116d87ea3954019e967ca8ff7bdb4b518e5bf
2019-05-28 14:42:32 +00:00
drh
0a0e89fa21
Fix an error message on the blobread() extension function so that it says
...
"read" instead of "write".
FossilOrigin-Name: 7cbb9a5fe835d01be158edd1e2f9d553dc257f2d27b53a5d5bf6660d0bd101c4
2019-05-27 11:21:43 +00:00
drh
3517cc7f36
Fix a memory leak in the delta_parse() table-valued function of the
...
fossildelta.c extension.
FossilOrigin-Name: c86ca3f0220a5f9e7f7f1818f6e1220d851f3ebed6a5f0aae6ac38309bd2930e
2019-05-27 11:09:55 +00:00
drh
ef7d5187a7
Improved rounding even on systems with an 8-byte "long double" type.
...
FossilOrigin-Name: 15202aee150fa8e15fb90e90e5765c5e19a1eaf4896da2996a747636b76da8e6
2019-05-27 00:29:15 +00:00
drh
c2b893a7e0
Performance enhancement in sqlite3AtoF(). About 8% faster.
...
FossilOrigin-Name: 81721aa54587e20d031d528fb6b74d91671a6e950fa926dc63f4284466e70f0e
2019-05-25 18:17:53 +00:00
drh
38a59af417
Use "long double" literals to initialize an array of "long double" objects.
...
FossilOrigin-Name: 2e2ebad3ab636c4c65814ad41d417b105be8e254d609d0e08fbba4c5bd107bf3
2019-05-25 17:41:07 +00:00
drh
4413265d4e
Add new cases to speedtest1 for measuring performance of binary to/from decimal
...
conversions of floating point values.
FossilOrigin-Name: b84e7057c05338347b4267f7ccc1d7b9b6d4e9a941ce8b76bf2c27c26772000c
2019-05-25 13:14:19 +00:00
drh
aa81cae485
Disable the new rounding tests on systems without long double support.
...
FossilOrigin-Name: ed250b4e18ea042d681bbe8d7ed00895564f4525c22928a003a84585b4756ec3
2019-05-25 00:17:26 +00:00
drh
a0ed86bc37
Improvements to rounding behavior in the round() and printf() functions.
...
FossilOrigin-Name: 641b2d210541b4d5a1a9e57d7dcf5ce5dfd7ff4d2dc6277ba0582869f48fc946
2019-05-24 22:58:16 +00:00
dan
98d63579be
Fix an fts5 segfault that could occur after parsing a corrupt structure record.
...
FossilOrigin-Name: 600daa9c27206628bf74892376ded35dac11fe0a34894fcd975ad5041a0a0fda
2019-05-24 11:55:01 +00:00
dan
c542fa8573
Add test cases for the fix in the previous commit.
...
FossilOrigin-Name: c1057b2a60add08e5c80ef2a53932a690b096f2eb03c7de863844deaa8fc9d53
2019-05-23 16:40:45 +00:00
drh
30ad79aeb4
Improvements to the view-self-join optimization so that it works on all
...
VIEWs, not just on Common Table Expressions.
FossilOrigin-Name: d2fe370cafa9b11f6c3eb4e1c3be48d9d2610b9d2f9d9ebf9e50267f9079dfc0
2019-05-23 16:38:12 +00:00
drh
53e8709b75
New test case for check-in [74ef97bf51dd531a] that takes the fix in the
...
previous check-in into account.
FossilOrigin-Name: cb1d06521de5918a2324a41e207b48c5e5149c23b927b9e3e1f3c3b38b82658e
2019-05-22 23:12:10 +00:00
drh
59145813d2
Renumber the Select.selId values in the copies of SELECT statements that
...
implement VIEWs when the VIEW is expanded, so that when the same VIEW is
used twice in the same join, each expansion as a distinct selId.
This fixes ticket [ce823231949d3abf42453c8].
FossilOrigin-Name: 3cacc4b940fd69776d930deec9512df47a2f22cb04fb955e354a0b25bdec287c
2019-05-22 22:49:23 +00:00
drh
90c21df233
New dbsqlfuzz find added to test/fuzzdata8.db.
...
FossilOrigin-Name: 42af7c819bc52ccb6953a58b1c05d3bd47cc438c5119a9555b1b796764eb9f20
2019-05-22 14:35:10 +00:00
dan
29fa6b6642
Fix a buffer overread that could in fts3 when dealing with corrupt records.
...
FossilOrigin-Name: 1660d7733eb443ab085ddef7666b998a1c75ac81cc54a9620960a8d3b377e28e
2019-05-22 14:22:44 +00:00
drh
51e441da2b
Combine the implementations of the key and hexkey pragmas into a single
...
case. Have both pragmas return "ok" if they are implemented.
FossilOrigin-Name: b3692c406f7ba62587c9d3256f888748393519680e9e2db53f59557f1a300e05
2019-05-21 17:04:27 +00:00
dan
7ed6c068f5
Fix a problem in [b5ca442a] causing an assert() to fail in REINDEX commands.
...
FossilOrigin-Name: a3e77c7776ab01dadb9d30d6067ac97e9d4b09ec54834558a5fa1ffed7b52c72
2019-05-21 16:32:41 +00:00
dan
ef14abbf8d
Use a statement journal for all CREATE INDEX statements in case an indexed exprsesion throws an exception when it is evaluated. Fix for [b5ca442a].
...
FossilOrigin-Name: b8071d10cba8f6c19fb8d5df3877f72567dc6d6a94744a39cbc1f58b2e2f343b
2019-05-21 14:42:24 +00:00
dan
595d9f5f3c
Fix a segfault that could occur in sqlite3session_diff() if NULL were passed as the pzErrMsg argument.
...
FossilOrigin-Name: aee73fd28f031a2568ac723de0826be7f1dca6be3b049e4a04fb47af75dcf4bf
2019-05-20 19:46:30 +00:00
drh
acd6bb5fe4
Improvements to the automatic compile-time selection of byte-order, as
...
suggested on the mailing list by Seb Kemper.
FossilOrigin-Name: b7aad929619f7043b1685a6477d50f6b4436e85511eb365eceae3dd4dbab571a
2019-05-20 18:43:57 +00:00
drh
3e4f6c43b8
A minor variation on check-in [1685610ef8e0dc] which (hopefully) makes the
...
logic a little easier to follow. Also disallows the use of the double-quoted
string hack in the query expression used for VACUUM INTO, which is not
strictly required, but moves us toward the goal of disallowing the double-quoted
string hack everywhere.
FossilOrigin-Name: 3e1b55f3ab85710ed81574904718205c7370b5f0b5a41029e961486d2e3f37c7
2019-05-20 18:35:49 +00:00
dan
0d92571d65
Disallow string constants enclosed in double-quotes within new CREATE TABLE and CREATE INDEX statements. It is still possible to enclose column names in double-quotes, and existing database schemas that use double-quotes for strings can still be loaded. This addresses ticket [9b78184b].
...
FossilOrigin-Name: 1685610ef8e0dc9218b02461ceab14dc6114f4f5ef7fcda0da395094aff443e1
2019-05-20 17:14:25 +00:00
dan
8ac02a94ab
Update the sqlite3ExprCompare() routine so that it does not think "? IS NOT TRUE" is the same as "? IS TRUE". Fix for [d3e7f2ba5b3].
...
FossilOrigin-Name: 99eba69b3a64741c69d167bf7a05dbe138c9e7faecc54a1b8d8220cb23902830
2019-05-20 10:36:15 +00:00
dan
7ac0e562a3
Fix an assert() failure that could occur in a join query if the RHS of an IN() operator is a list containing correlated expressions. This problem was introduced by checkin [e130319317e7611938] which was part of the fix for ticket [787fa716be3a7f650c] - so this commit is part of that ticket's fix too.
...
FossilOrigin-Name: 778b1224a318d0137c7dab8361128f593506d3677267898119b934b4d66dfe38
2019-05-18 21:22:25 +00:00
dan
4db4b5b4fe
Avoid including the comment in the output of "PRAGMA table_info" in situations where there is a comment following a DEFAULT value within a CREATE TABLE statement.
...
FossilOrigin-Name: d91095ba7130e974f0c95334760c679a31479b07a3d458e15994a24eee474752
2019-05-18 19:49:08 +00:00
drh
6c35b3065c
Disable PRAGMA journal_mode=OFF when SQLITE_DBCONFIG_DEFENSIVE is turned on.
...
Ticket [f4ec250930342e0c].
FossilOrigin-Name: a0f5eb5c79cc33b7224f3421d2baa02a2a19eb9d6eaa8117dda4a1878b229cb5
2019-05-17 20:37:17 +00:00
dan
be81262400
Always store a REAL value in a column with REAL affinity if the integer equivalent would require 8 bytes of storage. Fix for [3c27b97e3].
...
FossilOrigin-Name: 14c00b1016ba53ab2dc177c59a27b6b9209202973685f0f274112d296ba7dfcb
2019-05-17 15:59:11 +00:00
drh
829d4253ff
Add test cases to test/fuzzdata7.db for (harmless) dbfuzz2 finds.
...
FossilOrigin-Name: 1eb2a628e4bfae51fea43e8f40fedfe23f2118024d9cce35828c3cbe92a9b392
2019-05-16 20:40:08 +00:00
drh
5c2f2206b6
Initialize the 18-byte overrun area on the buffer used to reconstruct
...
overflow btree cells during a btree search, to avoid a harmless
jump-depends-on-uninit-values warning.
FossilOrigin-Name: 4b05caeb1b9767ba58cb4261ecc22cdd495216b3258d45f2165cdbd3ea079495
2019-05-16 20:36:07 +00:00
dan
0971ef45ab
Fix an assert() in the OP_Delete opcode that could fail with a corrupt database.
...
FossilOrigin-Name: 915388ab39ba3ca8681cd2613b91314aa965967f23a5bface90f54a3d6423300
2019-05-16 20:13:32 +00:00
dan
36c9301816
Add new test file fts5corrupt4.test.
...
FossilOrigin-Name: 5dfc4fe98a4821cbdbfd7dfddf221b00251b2a26bf58767a3956b64e9a4e92da
2019-05-16 16:44:47 +00:00
drh
e72d1a8682
Fix a harmless use-of-initialized-value fault in the assert() logic added
...
by check-in [d612fb7873cf59d]
FossilOrigin-Name: 3dac90728a6a1962da478afe751582ddf8b6d4666548a805564817b21e07a246
2019-05-16 11:47:16 +00:00
mistachkin
3196abb7cb
Fix harmless compiler warning in the session extension.
...
FossilOrigin-Name: dff823ca8b5ca4a5611407b0231f89b2e8c981f50e85e361e76d3e4973cea8ca
2019-05-16 03:47:38 +00:00
drh
df82afc04e
Make sure the OP_Concat opcode always correctly zero-terminates a UTF16
...
string, even if the input strings are ill-formed. This is a followup to
check-in [3a16ddf91f0c9c516a7] that fixes a case the previous check-in missed.
Also add assert()s to prove correct zero termination.
FossilOrigin-Name: d612fb7873cf59dfda18cabe45f674c37aa78a4587de3378b1840c99465a0269
2019-05-16 01:22:21 +00:00
drh
73c53b39c9
Fix the count-of-view optimization so that it is (correctly) disabled for
...
a query that includes a WHERE clause or a GROUP BY clause.
FossilOrigin-Name: 05897ca48a40c6771ff83ba8ecc3a5c60dafddf58651c222dd8cf89b9fc7b077
2019-05-15 18:42:15 +00:00
drh
58eaf76355
Simplify the "Verifying Code Authenticity" section of the README.md file.
...
No code changes.
FossilOrigin-Name: adebffc18e6165672947a6bda5ca23ea7723cca7ab8da4feb81fca8f83e4fcaf
2019-05-15 10:16:34 +00:00
dan
a40cb96a4c
Fix a problem with the fix for [9cf6c9bb51] (commit [658b84d7]) that could cause a cursor to be left in an invalid state following a (rowid < text-value) search.
...
FossilOrigin-Name: bc7d2c1656396bb4f5f1f814e60dbf816cc91c5a521b54ad593cd3da0fe8dcb4
2019-05-14 20:25:22 +00:00
drh
9252966b3c
New test cases in test/fuzzdata8.db.
...
FossilOrigin-Name: 228e1087c0602470e450586499de5a3e87e266c688bc828f20e3bad2fdc65ff1
2019-05-14 19:20:52 +00:00
dan
2a71b17f2f
Fix a problem with corrupt db handling in the fts5_vocab module.
...
FossilOrigin-Name: 456ced57774a92acff23cad975b78ff0e5cbbf5204ea48599fe1761a018a92e4
2019-05-14 18:33:58 +00:00
dan
c12655df87
Fix an assert() and potential buffer overrun in fts5 that could occur if the database was corrupt.
...
FossilOrigin-Name: 8be8bd0d562e571b73a93f4ed18258ebd114bbab67ee3cdcd66a4c8f2987f8dc
2019-05-14 11:33:09 +00:00
drh
bf9ff256fe
Disable index seek optimizations on REINDEX when the order of primary keys
...
in the index differs from the main table.
Fix for ticket [bba7b69f9849b5bf11b4].
FossilOrigin-Name: f7aadfab3bb8eb8eb2cd62dc8a6823538387b3329f1efc23ef75482488109478
2019-05-14 00:43:13 +00:00
dan
d6712f3638
Fix an assert() failure in fts5 that could occur when processing a corrupt database.
...
FossilOrigin-Name: f158c048be1dc7c80d38787a20495caa55b86416967efd57f4888548d42b4819
2019-05-13 11:52:19 +00:00
drh
c51cf8642f
A new implementation for the sqlite3ExprImpliesExpr() theorem prover that
...
does a better job of answering TRUE to "(NOT A) OR B" when B is a NOT NULL
expression.
FossilOrigin-Name: b3413197f57711f04102d8cc6ff1e8ddbe0f5f2bcb6e1989cf314fa97f0ff7f1
2019-05-11 19:36:03 +00:00
dan
c6824c8d6c
When considering partial indexes, do not assume that a "CASE x ..." expression implies "x IS NOT NULL".
...
FossilOrigin-Name: 1b24303220b7b4f59520176a0150fc619c668865450b4fdaa9ce4113a56e9687
2019-05-11 16:14:42 +00:00
dan
8f2b1e4c90
Do not assume that "x IS NOT ?" implies "x NOT NULL" when considering partial indexes. Fix for ticket [8025674847].
...
FossilOrigin-Name: 0ba6d709b50d92db1542f2ff30535a80184b00dadf759d51e5cae7a6e37b1764
2019-05-11 13:04:33 +00:00
dan
90255b8149
Add tests for the RBU module.
...
FossilOrigin-Name: a194e53670e25a48c2bb51b54755abff88ed6ae2596c5858fb4aac16cb452bdf
2019-05-10 20:44:10 +00:00
drh
2240bb88f8
Fix harmless compiler warnings.
...
FossilOrigin-Name: 956ca2a452aa3707bca553007a7ef221af3d4f6b0af747d17070926e000f2362
2019-05-10 17:54:58 +00:00
drh
9546c76656
Fix harmless compiler warnings in the CLI.
...
FossilOrigin-Name: 2846bc0429c0956473bfe99dde135f2c206720f0be4c2800118b280e446ce325
2019-05-10 17:50:33 +00:00
mistachkin
d9bc6e8973
Fix some harmless compiler warnings.
...
FossilOrigin-Name: ca068d82387fc3cda9d2050cedb4f9c61b6d9dc54f89015b4b2ee492243ed5c9
2019-05-10 16:16:19 +00:00
drh
4142265645
Ensure that the BtShared.nPage value is reset correctly on a SAVEPOINT
...
ROLLBACK.
FossilOrigin-Name: e6d5fee8cdbdce8515957e8288e4d1e7b06f417fd3f9deeeb636fbf5b995af51
2019-05-10 14:34:18 +00:00
dan
08f6de7f31
Treat integer values in window definition ORDER BY clauses as constants, not as references to another expression.
...
FossilOrigin-Name: 7e4809eadfe99ebfd797a7c63501421021a720bbeed9fba81bebf630c58bb791
2019-05-10 14:26:32 +00:00
drh
2ce9b6bcd5
Improved comments and extra assert() statements on the OP_Savepoint opcode,
...
just to make the code a little easier to read and reason about.
FossilOrigin-Name: e80b2d9fcbc82ae5dc8a1fc13196f9a30bdb504eb5a5c131d136a78bbd5bbe7b
2019-05-10 14:03:07 +00:00
drh
7e6dc5d908
Fix the previous check-in [db9acef14d492121] so that the amalgamation build
...
works for systems for which lack HAVE_ISNAN.
FossilOrigin-Name: 3cc55e09e6c1de2059d97bdddf2fdfbdcc62c584b513f56faf9d3a39ef80cddd
2019-05-10 12:14:51 +00:00
drh
05d7bfd0bb
Fix the round() SQL function so that it handles infinities correctly.
...
FossilOrigin-Name: db9acef14d49212108c8082cc15a9b9b4a56b8afe4fe1104ddf62783739c1fbe
2019-05-10 12:06:47 +00:00
dan
5985dcbf5e
Fix another small buffer overread in sqlite_dbdata triggered by a corrupt database page.
...
FossilOrigin-Name: 1dfc95b8673b0e8c9ef5040c2fa0fbe9846e430d104e9b83f3f1f3ad63446380
2019-05-09 18:37:37 +00:00
dan
39e04f83b9
Fix a problem in the ".recover" command allowing a circular loop of b-tree pages in a database file to cause an infinite loop.
...
FossilOrigin-Name: 8d2a062eb8a3e6fdc6a61b571c8da0070382bf208c53e797151eac8679c975a1
2019-05-09 18:33:32 +00:00
drh
0a0536ab0f
Make the ".schema" command in the CLI resistant to corrupt database files.
...
FossilOrigin-Name: f22c7e229ea4626c5268d61de3964521cf6a2735290cbd1518d68731ba6cca90
2019-05-09 18:13:30 +00:00
dan
4d2175613f
Fix a crash in the sqlite_dbdata module that could occur if a pointer within an overflow chain in a corrupt database pointed past the end of the db.
...
FossilOrigin-Name: 3eae4e301e3e4bcf14e96066f77be1434c5d4b3daadb10153cd36382589ac128
2019-05-09 17:54:27 +00:00
drh
6bab6f2b4d
Disable the optimization where a REAL value with no fractional part
...
is stored as an INTEGER when the integer uses as much space as the real
value it proposes to stand in for (8 bytes). This avoids corner cases
of comparing integers against real values that are beyond the resolution
of an IEEE 754 double. Fix for ticket [6c1d3febc00b22d457c78c2]
FossilOrigin-Name: 9b0915272f4d4052aa31e9297424a7db9a0234b676e8e2a44c3f2dc54236705a
2019-05-09 17:10:30 +00:00
dan
f6099e9b40
Avoid long delays that can occur when ".recover"ing data from a database with a corrupt freelist.
...
FossilOrigin-Name: 20f06bf2e659212a68dcf138e444da7bd4220548ec15a97cfd7eb82e028b3630
2019-05-09 16:57:39 +00:00
drh
5ad1251a60
Improved debugging output from the OP_MakeRecord opcode.
...
FossilOrigin-Name: ac790729d9c8f8612936bab56dca6061408007bc2150ac8c7089132403d7f885
2019-05-09 16:22:51 +00:00
dan
9c34bc0ad5
Fix another corruption related buffer overread in the sqlite_dbdata module.
...
FossilOrigin-Name: 5cd728fb6b3a70f795306d4d6e12151a4de327f801733a8558139e3cd76fe66a
2019-05-09 15:51:27 +00:00
dan
e216ae0a3e
Fix further buffer overreads triggered by passing corrupt records to the sqlite_dbdata module.
...
FossilOrigin-Name: dbc6a9f7f67256dea96d3245e7bec145ba65d64adf322e18f1f3ac9556b4e0b6
2019-05-09 15:07:46 +00:00
dan
9877965f56
Have ".recover" handle cases where the sqlite_master table contains malformed SQL statements.
...
FossilOrigin-Name: e736da9c18fad138c5502d354c3553373cba15358b69e44b257f60def59422e2
2019-05-09 14:15:19 +00:00
dan
13b876773c
Fix a problem with running the ".recover" command on a database that is zero pages in size.
...
FossilOrigin-Name: 47fa65343e46c7782a173174952c637c5621e16229ece258dc7e7a556683ca0c
2019-05-09 11:45:21 +00:00
dan
b3e3a5bb57
Avoid reading outside a record buffer when extracting an SQL value in the sqlite_dbdata virtual table code.
...
FossilOrigin-Name: d99bb0c11d62f629bf59da037827af73a9b814e65815006e0cbca1bc41f42e25
2019-05-09 11:34:31 +00:00
dan
eb4a61a30c
Merge accidental fork in trunk.
...
FossilOrigin-Name: ec9373031d76b34163a45d0ed05e43c0c9d585c8d47aa255f670340673bc7875
2019-05-09 11:21:32 +00:00
dan
873b019826
Fix a problem in the new code introduced by [658b84d7] causing corruption and other errors to be ignored.
...
FossilOrigin-Name: 7ccf2e7d413adb109c61456a5f46e87d38884801dbaab93297a17e3050014b59
2019-05-09 11:19:27 +00:00
drh
68feae52a9
Improved error handling for the ".open --hexdb" command of the CLI.
...
FossilOrigin-Name: 4fa831d5cd5861f6a0a8f08a738b2d4d371fb2a788178ce86482c5bba761f9de
2019-05-09 11:18:41 +00:00
drh
eb265343a9
Ensure that the sqlite3BtreeLast() interface initializes the *pRes return
...
to zero if the cursor is already sitting on the last entry of the table.
FossilOrigin-Name: ebe4845cd0ffb96b30be3c69eb399d58e93149886bc2fa60a7ebd7b4fbe447a4
2019-05-08 23:55:04 +00:00
drh
6f7f5d95f8
This is part of the previous check-in that didn't get committed for some
...
reason - probably because I failed to press the "Save" button on the text
editor.
FossilOrigin-Name: 51d32173ff1f610b5d75a50f20fa1e0e4e22046299869e3b82e0bb446dba890c
2019-05-08 23:53:50 +00:00
dan
ad5536fca1
Add another test case to cover a previously uncovered branch in the RBU module.
...
FossilOrigin-Name: 30392985612c51d4583a905f8fe766f08cd31b86d0e30a977adc6a6705649e00
2019-05-08 21:14:48 +00:00
drh
97afa309d7
Fix another pattern for which the LIKE optimization does not work for a
...
non-TEXT affinity. Case found by Manuel Rigger.
FossilOrigin-Name: 740201107ae802c12b678e388ea524db01ad0eb70601c78490ad63eae0fe6cf1
2019-05-08 19:55:24 +00:00
drh
ea5c040f87
Simplification to the logic underlying PRAGMA case_sensitive_like.
...
FossilOrigin-Name: ef0015fde4c87e992ffd3d7dea8586951bdd65ff98d30d436b126b85b1cc9c74
2019-05-08 19:32:33 +00:00
drh
9e9374b2e2
Avoid an excess register allocation in UPDATE, when possible. This improves
...
speed (slightly) and reduces the code footprint.
FossilOrigin-Name: 8658574e3f435f03a87c04f398bd05078ebc53ecb4a477d3b24902d701d935c4
2019-05-08 19:06:59 +00:00
dan
42e84ae1ab
Add tests to improve code coverage of the RBU module.
...
FossilOrigin-Name: ecb56b75a0e66462acdcce285b93f9fc56944c42902d886d6bada419059519a9
2019-05-08 18:49:51 +00:00
drh
08652b5ea0
Provide the SQLITE_OMIT_CASE_SENSITIVE_LIKE_PRAGMA compile-time option to
...
omit the case_sensitive_like pragma. This change, in combination with
documentation changes, is the current solution to ticket
[a340eef47b0cad5].
FossilOrigin-Name: eabe7f2d4ff0e0dd868dcab7ec1d4a9168a25f80d3a52f0eeea2f90bd33782f2
2019-05-08 17:27:18 +00:00
dan
a7be6f355c
Fix VDBE opcodes OP_SeekLT and OP_SeekLE so that they work on intkey tables with non-numeric text values.
...
FossilOrigin-Name: 658b84d7f4a0886591c5aab30ed9e31c4a0f56db303eb863f24833ca37085d14
2019-05-08 11:52:13 +00:00
dan
9edd8c11ab
Fix VDBE opcodes OP_SeekLT and OP_SeekLE so that they work on intkey tables with non-numeric text values.
...
FossilOrigin-Name: a870c196d78d8b72c7353fa0015e96b2abd4be154541d76328e3a4f9e5da5d04
2019-05-08 11:42:49 +00:00
drh
291508f62b
Remove an ALWAYS() that was previously added by check-in [a0819086] but
...
which turns out can sometimes be false.
FossilOrigin-Name: ad8fc5d8b440c49df95328df0408be699dde5a1dbd195b3f1f32e5f765578032
2019-05-08 04:33:17 +00:00
drh
d2cfbea2a4
Remove a NEVER() that was added in the previous check-in because it is in fact
...
reachable.
FossilOrigin-Name: 74eba2558a81f9e790d95a12a0c5379d4f80b43c8698ef9d6a31ff8d160a53d8
2019-05-08 03:34:53 +00:00
drh
dfcecdfea8
Earlier detections of errors in the byte-offset-to-cell-content integer at
...
offset 5 in the header of a btree page.
FossilOrigin-Name: a0819086a521fb0ca4ffd12f959b168a89ea2e30a2844bbbd39831b2b9ecf29b
2019-05-08 00:17:45 +00:00
drh
2c45b67711
Generate all records for INSERT or UPDATE prior to running foreign key
...
constraint checks, since the FK checks might modify the datatype of registers
used to generate the records. Fix for ticket [e63cbcfd3378afe6980d6].
FossilOrigin-Name: 3c75605b4652ae88659465d832953ac9d467369f9cb417f73b3d8599ec60b18b
2019-05-07 20:06:41 +00:00
dan
f116ad8527
Do not commit an "OR FAIL" statement that causes foriegn key constraint violations.
...
FossilOrigin-Name: 659c551dcc374a0d349ba9419f692e3363839e11d791a17cc35fa1854a674a51
2019-05-07 19:44:11 +00:00
dan
244edd01d3
Add test cases for the fix on this branch.
...
FossilOrigin-Name: 2e31abe0ae5937a8ce10179e0ae045ee4c5ed8b7e2622ab41243226c6d3f5425
2019-05-07 19:21:58 +00:00
drh
a7c3b93fa6
On an INSERT or UPDATE, generate the new table record prior to running
...
foreign key checks, in case the foreign key checks changes datatypes on
the registers holding column values. Proposed fix for ticket
[e63cbcfd3378afe6980d626].
FossilOrigin-Name: 3f1c8051648a341db4dffad66d3b1f9980d8a2b314cb0ce879cb2a10d1779b84
2019-05-07 19:13:42 +00:00
drh
dd2d9a3d5a
Strive to prevent harmless compiler warnings in GCC 4.8.5.
...
FossilOrigin-Name: 8b6691f619ed9a56f6aecbd878ebb447c40984f8767508b248494fd9ec68fbaa
2019-05-07 17:47:43 +00:00
dan
f4f86f3fca
Optimize the restarting of an RBU vacuum.
...
FossilOrigin-Name: 82062351a62f4ccc438a2b47a22ee581bd030dec952fecd610f360a25002a5ea
2019-05-07 16:37:37 +00:00
dan
126537e1dc
Remove some redundant code from sqlite3rbu.c. Add test cases for RBU vacuum.
...
FossilOrigin-Name: 7b051698d8a763d9db190fd662931266d24a4982f34f100a28641934c222e37b
2019-05-07 16:28:50 +00:00
dan
57c4514720
Optimize further cases of restarting an RBU vacuum.
...
FossilOrigin-Name: 6b3261bfa1d762aa29a57244a30cf5e35655f1fe9c30ee682c186dec29d7a2c2
2019-05-06 20:40:23 +00:00
dan
f9b0c45161
Fix a problem with renaming an INTEGER PRIMARY KEY column of a WITHOUT ROWID table using ALTER TABLE.
...
FossilOrigin-Name: 91f701d39852ef1ddb29d1527d1520867c5efea110333315c55d8b08084384e7
2019-05-06 16:15:28 +00:00
dan
c245855702
Optimize some cases of restarting an RBU vacuum.
...
FossilOrigin-Name: cdc09867ed6522026ae7bfac1f59cd79b60fba6d07d49b99b030a501a7059ee4
2019-05-04 20:04:42 +00:00
drh
664d6d139e
Fix the NOT NULL logic in the theorem prover that determines when a partial
...
index can be used. Ticket [5c6955204c392ae763a95].
FossilOrigin-Name: c2e439bccc40825e211bfa9a88e6a251ff066ca7453d4e7cb5eab56ce7332635
2019-05-04 17:32:07 +00:00
mistachkin
bc8b231098
Fix harmless compiler warning seen with MSVC.
...
FossilOrigin-Name: 5862b83eb36b93016d37e5b86ebb183d891bb553901facab1e5d83e114a38ec3
2019-05-04 03:56:47 +00:00
drh
b1d93be142
In the sqlite3_value or Mem object, make the MEM_IntReal type completely
...
independent from MEM_Int and MEM_Real. This helps avoid problems when
inserting non-float values into a "REAL" column.
FossilOrigin-Name: 5a8a23ee5f60a31dbd167a0966d1ab3d0f1c07df2251906cb73f23d1f5466b46
2019-05-04 01:41:18 +00:00
drh
3242c69c91
New testcase macros to ensure that MEM_IntReal is fully tested.
...
FossilOrigin-Name: 8b8ef445ccccc148af2cda5975986af0d134352fe16283f65d0f8a91c9ffa932
2019-05-04 01:29:13 +00:00
drh
0c8f40389e
Add the SQLITE_TESTCTRL_RESULT_INTREAL test-control and use it to create
...
the intreal() SQL function in testfixture. Write a few simple tests to
prove this all works. TH3 will hold most of the INTREAL tests, probably.
FossilOrigin-Name: c9838731325e0ca73bd8784c10c74ae043fed7861e6de269fd90e29fa4a19955
2019-05-03 21:17:28 +00:00
drh
30d3b0ceb5
Ensure that UTF16 strings are properly zero-terminated before returning them
...
in an sqlite3_value_text16() request, even if the string is invalid UTF16
because it was formed from an arbitrary and/or odd-length BLOB.
FossilOrigin-Name: 3a16ddf91f0c9c516a7fc2a9d4a4f69a8326f9b8ea66421e9ef1a2d663687b70
2019-05-03 19:34:41 +00:00
dan
a51297200f
Fix a memory-leak/segfault caused by using OP_OpenDup and OP_OpenEphemeral on the same VM cursor.
...
FossilOrigin-Name: a9b90aa12eecdd9f2a8b2d23da8b7cac43d8b1789f5cefa3f4e939d9f2b59269
2019-05-03 18:50:24 +00:00
dan
ac4085bc2c
Fix a problem where self-joins on views that are aggregate queries may return the wrong result.
...
FossilOrigin-Name: 74ef97bf51dd531a277cf22fa4d42043d93799d5a5bd550812648834460fe0b7
2019-05-03 17:19:10 +00:00
drh
f2566c4132
Improved comments on the elements of the array constant used to implement
...
the sqlite3_value_type() interface.
FossilOrigin-Name: f73a7de7a53f6aa6517221550a9c9882893206edfd7433e80e5fc0f441db9fc4
2019-05-03 17:08:16 +00:00
drh
5bf4644f41
Fix the ".open --hexdb" command in the CLI so that it works even with
...
terminal input.
FossilOrigin-Name: 9b5d943426c9273162ecb4c561eb3b25e843318dd438239c882c9db50f788454
2019-05-03 02:41:36 +00:00
drh
169f077e07
Make MEM_IntReal a completely independent type, meaning a floating point
...
value stored as an integer. This fixes a problem with arithmetic within
arguments to string functions on indexes of expressions. But it is a big
change and needs lots of new testcase() macros for MC/DC and so it is
initially put on this branch.
FossilOrigin-Name: dba836e31cb29d339b4520acb06188a892a52e45c50aba9742966b01108e251a
2019-05-02 21:36:26 +00:00
drh
de7109e61b
Ensure that the typeof() function always returns SQLITE_FLOAT for floating
...
point values even when the value is stored as an integer to save space.
FossilOrigin-Name: 48889530a9de22fee536edfd1627be62396ed18d842d5fd6d91e010b4337be95
2019-05-02 17:45:52 +00:00
dan
ee253f7881
Add options to wapptest.tcl similar to those supported by releasetest.tcl. Also add the -noui switch, for running without wapp altogether.
...
FossilOrigin-Name: 005a169406ccea6e3cc42271620870d985e8bada1ad49a63656003db4911cb51
2019-05-02 17:06:01 +00:00
drh
e12ca5abf6
Earlier detection of a database corruption case in balance_nonroot(), to
...
prevent a possible use of an uninitialized variable.
FossilOrigin-Name: c509d8a8aebe0da4847e95cf737c21313a665de9a540da2db57b8ed22f98a402
2019-05-02 15:56:39 +00:00
drh
1df339ba75
Merge enhancements from trunk
...
FossilOrigin-Name: 3a4751a9f2784131f81071305b838caa63410a76533fb879627e1849d626f893
2019-05-02 14:15:12 +00:00
drh
cf1747b782
The collating sequence of the column must be TEXT if the LIKE or GLOB pattern
...
starts with a "+" sign. This is another case of ticket
[c94369cae9b561b1f996d005] that was discovered by Manuel Rigger.
FossilOrigin-Name: b043a54c3de54b286c4eae564eab6b99118a410d99bdb63480faba3123d2ca11
2019-05-02 01:41:53 +00:00
drh
01325a3f75
Fix an issue (discovered by OSSFuzz) in the enhanced OP_Concat operator
...
from check-in [713caa382cf7dd] earlier today.
FossilOrigin-Name: 3e897702f8f789fe5119b9042fb93eca3fbfcc44564fbfa66c65628725b1157d
2019-05-02 00:52:50 +00:00
drh
7d0a3fd340
Add a test case for ticket [ae0f637bddc5290b44669e066a].
...
FossilOrigin-Name: ece481695fc3c959c3eba0fb485cdda43a10b06d17259b0121e15bfc5e8e8b9f
2019-05-01 19:01:27 +00:00
drh
83a1dafb03
When values have real affinity and are converted into strings for CHECK
...
constraints or index expressions, do the conversions into a real-number format
even if the values are stored as integers for efficiency.
This appears to fix ticket [ae0f637bddc5290b446].
FossilOrigin-Name: 5997d075665faca6b70fa647e877ebc84c473b32887b96235865d59ce80247f8
2019-05-01 18:59:33 +00:00
dan
f78408c775
Fix an incompatibility with -DSQLITE_OMIT_LOAD_EXTENSION=1 in dbdata.test.
...
FossilOrigin-Name: a77cd85b1a8b86e71b511f05f8c67faa046d24a48684139d2f64e51249203411
2019-05-01 17:36:56 +00:00
dan
0de0ab8207
Fix a case in wapptest.tcl where a failed test might report 0 errors.
...
FossilOrigin-Name: 2be1ed70df605663822d1afdde757f426ccf2ee38add8dc6b6bb4fc4d90a31dc
2019-05-01 17:32:36 +00:00
drh
8a7e11fb78
Avoid unwelcomed side effects on the input operands in the OP_Concat
...
operator. Fix for ticket [3be1295b264be2fac49b681]
FossilOrigin-Name: 713caa382cf7ddef872e510a76a5fca40be1a8d8876ce2f91b632bb0810a6630
2019-05-01 15:32:40 +00:00
dan
c97001fd55
Update wapptest.tcl so that it deletes extra files if the "Keep files:" checkbox is clear. Set it by default.
...
FossilOrigin-Name: 09623cc4cc82e3c123d1fd5d88b2f4b50ec5f2cc7e579a7203258bf0c246a74f
2019-05-01 15:25:38 +00:00
drh
6fcc1ecc99
In "PRAGMA vdbe_trace" output, show the results of OP_Affinity opcodes.
...
FossilOrigin-Name: 56604bb60a8ebac8d2854628d1b052d594d7effe14be8333977995dc07b65114
2019-05-01 14:41:47 +00:00
dan
a3e086d803
Fix an incompatibility with auto-vacuum mode in new test script recover.test.
...
FossilOrigin-Name: 36dd5b0804797a35d0dc596b6ca4f71813a155c5a470237ab6e3d1bcd9ccc6be
2019-05-01 08:48:44 +00:00
dan
919458923d
Update wapptest.tcl to use a simpler slave script. And to leave scripts wapptest_configure.sh and wapptest_make.sh in each test directory.
...
FossilOrigin-Name: 07e527d781838412b2a434e64baaa49cbf7410a51c7393f54adc7b8eaffd5229
2019-04-30 20:43:10 +00:00
dan
c589acbc50
Fix a problem allowing a Table object to be deleted from within a call to the xDestroy method of the associated virtual table, causing a use-after-free error.
...
FossilOrigin-Name: 1dbbb0101e8213b92b9a4c78c0fd2f9d0240a8ea3b40dff1033d1b8d71fb04ef
2019-04-30 15:36:32 +00:00
drh
f135cb7d7f
Fix an error message in the Lemon parser generator.
...
FossilOrigin-Name: b6d7d42b7426622a26b67809cd1f21285fea120aa1897377b9946840463b41f1
2019-04-30 14:26:31 +00:00
drh
cf83323936
Small performance increase and size reduction in the implementation of the
...
LIKE and GLOB operators.
FossilOrigin-Name: f97626f921dafe596b615a168ef31987f4a1c0b52956443e1a5c1148b49cab74
2019-04-30 11:54:36 +00:00
drh
b70b0df8eb
Slightly smaller and faster implementation of the OP_MakeRecord opcode.
...
FossilOrigin-Name: 3bdce7ef1a6bb03affe978243fec603d5a55c071aa6d87c469a3c199d23f3b5e
2019-04-30 01:08:42 +00:00
drh
3af1b60e3a
Changes to oserror.test so that it works even on systems that allow
...
an unusually large number of file descriptors.
FossilOrigin-Name: a27b0b880d76c6838c0365f66bcd69b1b49b7594470993b608f4e490cbdc4882
2019-04-29 16:44:11 +00:00
drh
4baa75b32f
Do not de-duplicate columns index columns associated with a WITHOUT ROWID table
...
if the columns have different collating sequences. This is the fix for
ticket [3182d3879020ef3b2]. There is one test case added, but most of the
tests are done in TH3.
FossilOrigin-Name: 1b1dd4d48cd79a585e1fa7ee79128e9f2a9ee9846339dc56bbd67b75112dcad5
2019-04-29 13:48:45 +00:00
drh
c19b63c9a3
Improved header comment and precondition checking for the new isDupColumn()
...
function.
FossilOrigin-Name: 740d5ff6cc9bf7b151dfb8b27409e5923cfb2789b5398fe13d89563aff8ffc07
2019-04-29 13:30:16 +00:00
dan
51f5ffa1a4
Fix a buffer overwrite in shell.c.in (part of the new .recover code).
...
FossilOrigin-Name: 92facbc73a940d2844ac88fafd2d2dadb10886fb0b7c53e23f346d18fa6d6327
2019-04-29 11:41:46 +00:00
dan
490e6f2506
Fix a stack overflow that could occur when renaming a table that has a trigger containing a window function invocation that itself contains a specific syntax error.
...
FossilOrigin-Name: c621fc668c6538f9f5bdac204f012c64998679a61aa8e224d212503820224c09
2019-04-29 11:27:58 +00:00
drh
f78d0f426c
Take collating sequence into account when removing redundant columns from
...
indexes on WITHOUT ROWID tables. This is the first proof-of-concept fix
for ticket [3182d3879020ef3]. More testing needed.
FossilOrigin-Name: b34fa5bff40d3d364bd8c80e7de55c606ef3caac47b14b5265ebcb38857eb85e
2019-04-28 19:27:02 +00:00
dan
73c0d272a9
Add the ".recover" command to the shell tool. For recovering as much data as possible from corrupt databases.
...
FossilOrigin-Name: 50fe48458942fa7a6bcc76316c6321f95b23dc34f2f8e0a483826483b2fb16f6
2019-04-27 20:30:19 +00:00
drh
6c59136498
Fix a minor typo in a comment. No changes to code.
...
FossilOrigin-Name: 95209072176ff21a91e96d5bd014b35ef100da2b0b93958baf6df4294a8daa85
2019-04-27 20:16:42 +00:00
dan
1b16216f9e
Fix building the shell with SQLITE_OMIT_VIRTUAL_TABLE. And without SQLITE_ENABLE_DBPAGE_VTAB.
...
FossilOrigin-Name: 425d708c3908fe74f69b62e6dd1722a0018088977e12f14b312dad1df0fbb804
2019-04-27 20:15:15 +00:00
dan
0aa01ee42c
Add comments and fix formatting issues in new code in shell.c.in.
...
FossilOrigin-Name: b91d819bd16de43fc99e379da0ba9c915b0c5afc68e804a50c3c1662c1f9a740
2019-04-27 19:36:49 +00:00
dan
42ebb01e9f
Add the "--lost-and-found" option to the ".recover" command. For setting the name of the orphaned rows table.
...
FossilOrigin-Name: 67bb88e24c74d02ae0c4ac6ff2f873f6b0035ccefe5cccfc71c5686cbc76b4c3
2019-04-27 18:47:03 +00:00
dan
f57bea31ba
Fix a problem in the .recover command with recovering WITHOUT ROWID tables where the PK columns are not the leftmost in the CREATE TABLE statement.
...
FossilOrigin-Name: 91df4b8e0386105d01614921e8410994b621404a3d46ec4af8687b8743c52d52
2019-04-27 15:35:45 +00:00
dan
98c5ad309f
Have .recover store all orphaned rows in a single table, with extra columns to indicate the orphaned page and sub-tree they were discovered within.
...
FossilOrigin-Name: 7221f6e33ed6a5a96ec61e25f2a1f70b84aae66e503d897eb7b7ff1aec42355d
2019-04-26 21:11:37 +00:00
dan
db5ba5c385
Omit tests of the LIKE optimization in like3.test when SQLITE_ENABLE_ICU is defined.
...
FossilOrigin-Name: af53c41a127c314c0608f3fd016d3a26896783745e46cd180976a188400cdb75
2019-04-26 17:08:50 +00:00
dan
ca42438261
Fix another problem with database freelist handling in the ".recover" command.
...
FossilOrigin-Name: bee2652ac26370e612a8c81dd7554befc2d523442a2fbbc77dc73479e6a0d7fd
2019-04-26 15:40:27 +00:00
dan
c0b42437ab
Fix a locking-page related problem with the ".recover" command.
...
FossilOrigin-Name: afdae10424f0f3d0f10a4b73e9732aa55c5ee664814d8ca0edd372cfb17c2445
2019-04-26 15:14:53 +00:00
dan
6aa001527c
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 1da302d85d7ad4ba54f877117a45d667439fd2ef31dc70ea1d54dc1fba196e68
2019-04-25 20:06:34 +00:00
dan
9c014f8b0c
Unless the "--freelist-corrupt" option is specified, do not have the .recover command attempt to recover data from pages that are on the database free-list.
...
FossilOrigin-Name: 8d2f52bb640d6d0f84b18d746043e56f45a73ace93239be1d036701f7f4018fd
2019-04-25 19:23:15 +00:00
drh
10c0e7115b
Add the sqlite3_hard_heap_limit64() interface and the corresponding
...
"PRAGMA hard_heap_limit=N" command.
FossilOrigin-Name: b0ccef61a7f92d20228becbf4f997bf0f4e46dad2deaf0896dc63b976ad1dd11
2019-04-25 18:15:38 +00:00
dan
b9b71dbfd4
Fix a bug preventing .recover from working on databases where the final page of the db is corrupt.
...
FossilOrigin-Name: 959bbd11e92cc789973daf20dfcb8a6d8dc724dd603b286cbdd59e5d1fdb2909
2019-04-25 16:20:40 +00:00
dan
efa363b84c
Improve the performance of the .recover command.
...
FossilOrigin-Name: a50768314d10d743a0cc013b434b516f0763e0a6c5b79655d8fefde7de53e869
2019-04-24 20:48:55 +00:00
drh
dbdd93b7e1
New test cases in test/fuzzdata8.db.
...
FossilOrigin-Name: 7be6222c9ec44596e4eddd906c831eb1272b90fbdf68641d791f216264feb7cf
2019-04-24 17:04:02 +00:00
dan
bebea908b8
Fix another instance in fts3 where a corrupt record can cause a buffer overflow.
...
FossilOrigin-Name: e1724f1d618cfbcfd1e495d8965a395656cfc1114e1bffd4bc3be0bd5cdb6550
2019-04-24 16:13:52 +00:00
dan
a27cce76bf
Fix a problem in fts5 where a corrupt position list could lead to a buffer overwrite.
...
FossilOrigin-Name: 516ca8945150bdc1363603e234be5f3f4a3861f581d7cc9455da3e87b9974309
2019-04-24 15:57:25 +00:00
dan
04687f9e03
Fix an error in fts3_write.c allowing a corrupt database to cause a crash.
...
FossilOrigin-Name: 6e4a5f22811bcd1485e27073ec96821d448b91b6d1ff1659cc3772449d19a762
2019-04-24 15:13:02 +00:00
mistachkin
8e7e517b68
Correction to the #if in the previous check-in.
...
FossilOrigin-Name: 30dc05ac12910d318a737f8d7a0e895e5c42ff4c53472aeebc89f052eac05deb
2019-04-24 04:53:01 +00:00
mistachkin
49b0572302
Fix for 8-byte alignment asserts that can trigger in some circumstances with 32-bit MSVC.
...
FossilOrigin-Name: 4c02832e0c4351ced9d2391f09ee071c65a74b85a0509bf58f045afeb166f48c
2019-04-24 00:37:11 +00:00
drh
29e780068b
Make no atttempt to generate VDBE code for VACUUM after a syntax error.
...
FossilOrigin-Name: 930842470da27d72650033ef2c1df413e70f7c40eb46f91027b35f5ee156af38
2019-04-23 22:00:39 +00:00
dan
b182588c8e
Have ".recover" handle "\r" and "\n" in the same way as ".dump".
...
FossilOrigin-Name: f95f0f02ab6c6cf45f25b613c7ab57f68249689d0a9eddf4c9518ddf0edad365
2019-04-23 20:48:32 +00:00
dan
38f9c7194d
Fixes for the ".recover" shell command.
...
FossilOrigin-Name: 8dcc1d89d955bf58c80a8c30a37960f0cf95719953951a92626cc332cc75ec60
2019-04-23 18:03:02 +00:00
drh
3ea557e0e7
Changes to the --hexdb decoder option in the shell (and also in the TCL
...
test code) so that it works on systems where sscanf() does not recognize
"%hhx" as wanting to delivery results into a character-size variable.
FossilOrigin-Name: 4258e42d92b0113ba59f407197fc24f21734900e5b02952deed07818be3e3e5d
2019-04-23 15:30:58 +00:00
mistachkin
d5ddecb2f0
Minor simplification of NULL value handling for STAT4.
...
FossilOrigin-Name: 69bad9257f8db6a2a761bdd298d972eb48d4f845ec11dedc802ba3bafb979915
2019-04-23 15:08:11 +00:00
drh
d94d9e2289
New test cases in fuzzdata8.db.
...
FossilOrigin-Name: 0fe3c3fd30294d15cdfe29e9c49f3c8968e864ec8a114282561642f75586ab09
2019-04-23 12:31:41 +00:00
drh
f4b331535d
Improvement on the previous check-in. Parse.rc is less reliable than
...
Parse.nErr for detecting SQLITE_TOOBIG errors.
FossilOrigin-Name: 8d478cfb92fdeb87591403fe1713b290fee309a38b71abee0002012935d1db98
2019-04-23 12:30:15 +00:00
dan
b40af49d73
Enhance the ".recover" command. Fix a problem with overflow pages in dbdata.c.
...
FossilOrigin-Name: f193ca587f9e4f925f4f2343b0b07053bd6f93dd87fc6f8f41cf4479e90cf562
2019-04-22 20:52:12 +00:00
drh
2b13cd99d3
Early detection of SQLITE_TOOBIG when processing nested queries.
...
FossilOrigin-Name: 5d85d80ef8b216639244c6f4e6a2c0050af3cf9c3998f372bae4a19c0430f2fd
2019-04-22 20:05:54 +00:00
dan
a9a5465eb4
Fix an assert() that may be false for corrupt databases.
...
FossilOrigin-Name: b2ce5ed175cb5029ac07392ae371c86eeec23c74624aad007dee51cf359f3eeb
2019-04-22 11:47:40 +00:00
dan
68cb86ef23
Add the ".recovery" command to the shell tool. For recovering the maximum amount data from corrupt databases. Still needs work.
...
FossilOrigin-Name: 7461d2e120f2149315ddac2676d51d7445bcdb8e97543effd9c30603517ef9da
2019-04-20 20:57:28 +00:00
drh
1d2d71a02c
Mark a single branch as no longer reachable.
...
FossilOrigin-Name: 4f35b3b78a461b0617a5cd04f60d2ab277bcc7c994dae463851a3cb5d041a723
2019-04-19 23:05:56 +00:00
drh
6b23603eb9
Increase the version number to 3.29 for the next development cycle.
...
FossilOrigin-Name: 6cf16703fd4a835c249c947006ae4a4bf81873c8ca1803945453c9845f882dc1
2019-04-19 22:01:10 +00:00
drh
17180fca9d
Improved optimization of the AND and OR operators.
...
FossilOrigin-Name: 0fbd154eb419b57b9c064c1f47346835d6324388b966b73f8a0122de065f08b1
2019-04-19 17:26:19 +00:00
dan
65455fc682
Fix a problem with renaming a table that starts with "sqlite". Fix for ticket [f00d7b65].
...
FossilOrigin-Name: a2ead8aa4517b63cda7bf84464326e9cb5e228224caa603568c0e04ea44e6588
2019-04-19 16:34:22 +00:00
drh
ad31727fc6
Use macros to determine if an expression is always true or always false.
...
FossilOrigin-Name: 6de980a09c3a7adf71f2c9a63a242673b5e1f246e8ee071b26844275f0dad0fc
2019-04-19 16:21:51 +00:00
drh
d5c851c1cb
Streamline the processing of the AND operator. Slightly smaller and faster.
...
FossilOrigin-Name: 7713996aa99ce6dd35b5a2db74dd26658fb8d9817169b2a7531cdef6edb41403
2019-04-19 13:38:34 +00:00
dan
3b412ac247
Add the sqlite_dbptr virtual table to the dbdata extension. For querying the links between b-tree pages.
...
FossilOrigin-Name: 3213a15f2133afbb0a4fec3b8f6e0eeca8c0befafd6658c41074e84f589d5d32
2019-04-18 21:14:11 +00:00
mistachkin
7a3e50dc97
Minor simplification of NULL value handling for STAT4.
...
FossilOrigin-Name: 5718a9d5fc3fdfc89db869501c81fda39b3ec5c7e11fa0038fc258e316f5d8a1
2019-04-18 19:21:19 +00:00
dan
f1173b69b1
Add the experimental dbdata extension.
...
FossilOrigin-Name: a3ab58832935e1399ecc7e4d8daefa3a6afa6b301792ce7176bc5d7c173510fb
2019-04-17 21:17:22 +00:00
drh
680f0fe32a
Small performance and size optimization in sqlite3WalFindFrame().
...
FossilOrigin-Name: 03f2e78899fad99b0a0951b3a408268276954d4cd785389ed9a0192c9217f6fe
2019-04-17 21:12:05 +00:00
drh
e551b51472
Fix a typo in the CLI help output for the ".dump" command.
...
FossilOrigin-Name: 57638248de147efe8d663b3ae1389f590c7b2b7225ecfe295699d68c2893cd09
2019-04-17 13:58:07 +00:00
drh
25f933ad93
In the "pgidx" report from "showdb", also show the number of rows on each
...
database btree page.
FossilOrigin-Name: 2bda9dc41c07092ae37d0c6001c1271e0622bfff7151201fc2bb4c95422c087b
2019-04-17 13:23:28 +00:00
drh
8083ef029f
In the "pgidx" command of the showdb utility, try to identify orphaned pages
...
and show when pages have been zeroed out.
FossilOrigin-Name: eed701ef919c70d891727250be6a1b626aeb894c562d221e319ae6d74fc71d3d
2019-04-17 12:29:45 +00:00
drh
698c86f40d
Small performance improvement on the variable-length integer decoder:
...
sqlite3GetVarint().
FossilOrigin-Name: 5df2bf62fcd4dfdaa195062dddbd5ce5420bc239b2649ac8f547e0db34e7f0bb
2019-04-17 12:07:08 +00:00
drh
7e427337fe
Faster and smaller implementation of sqlite3StrICmp().
...
FossilOrigin-Name: 7ac500fb5abfe1ad60f2ffdcc8fbe5ccc1c641bbeed53f00940e9ff78788e53d
2019-04-17 11:34:44 +00:00
drh
d331c7ab1f
Version 3.28.0
...
FossilOrigin-Name: 884b4b7e502b4e991677b53971277adfaf0a04a284f8e483e2553d0f83156b50
2019-04-16 19:49:53 +00:00
dan
2eb2ca8391
Avoid a sanitizer error (pointer arithmatic overflow) in vdbesort.c.
...
FossilOrigin-Name: af61a2fc45a0fa1277d7453779238b77de4c298a9f60714b7dc62ddca5874f80
2019-04-16 11:21:13 +00:00
dan
112e174020
Avoid a sanitizer error in test1.c. Have releasetest.tcl/wapptest.tcl create a file called "makecommand.sh" that can be used to rerun a test from the command line.
...
FossilOrigin-Name: 4de4480ffdea1e923c4b964692ccde92d713c8b6c056bb04bddf1ff55ee891ec
2019-04-16 10:51:29 +00:00
dan
af4d50c4a1
Fix a bug in test module test_fs.c causing a segfault on OpenBSD.
...
FossilOrigin-Name: ee886600297c2a03d9d1d10db88d3d107b48e5d4de5e5d91b0ab16cc7c447ede
2019-04-15 19:17:50 +00:00
dan
46b341530e
Fix a problem with the user-auth extension and deserializing in-memory databases.
...
FossilOrigin-Name: 09fa0b3c4adf7f81a777975762029ad43dbdc76b02dc32d2307e1c42465213c9
2019-04-15 15:41:33 +00:00
dan
189aa7dc96
Fix a test script problem in fts5corrupt3.test.
...
FossilOrigin-Name: 734192d876e0489cb34e454aaa4a9c6858145791a49959b31dee2917a8e41a7d
2019-04-15 13:59:08 +00:00
drh
660107f35e
Update tool/symbols.sh to ignore symbols from sessions and rebaser and to not
...
try to compile with ICU which is not available on all platforms.
FossilOrigin-Name: 0bab4ece6e81916d0f7255a8e553b8ca040cb8a96ab21e294212e232119f8ddc
2019-04-15 13:51:27 +00:00
drh
07891f0294
Remove a stray tab from the source code.
...
FossilOrigin-Name: 0ada58e9303d53aba8bdc37abe5904aa40e91f80e247eb51cb1192387b0d661c
2019-04-14 00:40:29 +00:00
drh
d4de9f7b1e
Fix an obsolete comment and other minor issues from code inspection.
...
FossilOrigin-Name: cd084427319394386844d6651479256a2fd57a412fccb79ba53172ce76693eb1
2019-04-14 00:34:20 +00:00
drh
766b431ab9
Fix a harmless compiler warning in test logic.
...
FossilOrigin-Name: c3932e66040bf4c82727a26a976291fab219e8bc8a6d7579e19304538cc6df18
2019-04-13 16:50:21 +00:00
drh
328c84f1e9
Fix the fts3varint.test script so that it works even on versions of TCL
...
for which Tcl_GetWideIntFromObj() does not work.
FossilOrigin-Name: 53f787ad298756027f630bfefade98b46f01539eb152f7e359b280335c77379e
2019-04-13 16:43:58 +00:00
dan
de21ad704a
Fix a test script problem in fts5corrupt3.test.
...
FossilOrigin-Name: 858f62274eb727109d0452ad2d80c0e0acab0f569494b1218c404501e103ed39
2019-04-13 16:35:02 +00:00
dan
e2081dd859
Partially revert the test file changes in [4371a0c46e]. It is no longer required following [93ae382e97c23c90].
...
FossilOrigin-Name: 593a7e6e20a2f91fe3497edd7effad50ac876f7f03c9222e332dfeb43d26882e
2019-04-13 15:07:00 +00:00
drh
73f940c89e
Fix additional compiler warnings introduced by the previous check-in and found
...
by MSVC.
FossilOrigin-Name: 6fc0deffa4eed902fd13eefe6d2765f338f3dadc5b29f7cae5064e135417746b
2019-04-13 14:17:09 +00:00
drh
f6ad201ac2
Fixes for harmless compiler warnings.
...
FossilOrigin-Name: c28c973ad6debd63f13e5d4d3da036f680baaec9d863eda039f2747db9f1cfd5
2019-04-13 14:07:57 +00:00
drh
3b574e4ea9
Use the 64-bit memory allocator interfaces in extensions, whenever possible.
...
FossilOrigin-Name: 07ee06fd390bfebebc014b47583d489747b0423bb96c810bed5c605ce0e3be71
2019-04-13 04:38:32 +00:00
drh
0aa3231ff0
Enforce the SQLITE_LIMIT_COLUMN limit on virtual tables.
...
FossilOrigin-Name: 0b6ae032c28e7fe34d81d1769f6e2901addbd1b95cd9a255dcef274061fb0164
2019-04-13 04:01:12 +00:00
drh
158931ab64
Test case changes so that they work with both Tcl8.6 and Tcl8.7.
...
FossilOrigin-Name: 7b771405a9adc3ec191156be4ebe7122f4c698d88d69ae2134c75acb8d8feebb
2019-04-12 16:25:42 +00:00
dan
37eca05112
Tweaks to wapptest.tcl: Ensure that the "Debug" checkbox is disabled unless the app is in "config" state, and have Debug variants run "test" instead of "fulltest".
...
FossilOrigin-Name: dd248c186a157b5ed60bbdae669b31237b8354c1a7e6ed64d377904043bd57ee
2019-04-12 13:40:54 +00:00
dan
150dfbd2c8
Fix minor problems in tcl test scripts.
...
FossilOrigin-Name: 56b664185e3e56ad22e0c16a5b946fc8204d4d33221b6b4269d6d650dfd9969c
2019-04-12 12:10:03 +00:00
dan
9b475e65a1
Add the test/wapptest.tcl script, an alternative to releasetest.tcl that uses wapp to provide the user-interface.
...
FossilOrigin-Name: edd87cd606ce264f181c16bbe889adeb8b27e90914f914c0f5d7b68c2dc2d7bd
2019-04-11 19:07:17 +00:00
dan
8ea00d744e
Merge trunk changes into this branch.
...
FossilOrigin-Name: d805fc0cf1c4ef07a7bc947f75828931e3788d0e64730caab3b42ae58009a194
2019-04-11 19:04:01 +00:00
dan
e639128cb0
Further tweaks to wapptest.tcl. Add the ability to run the extra (n)debug tests that releasetest.tcl runs.
...
FossilOrigin-Name: ec9c4f6d8da25dcc834812c2bb24bda1017833b1c572bdbbf87f0191e1310706
2019-04-11 19:03:15 +00:00
drh
323096175e
Remove the vfslog.c extension from the testfixture target in main.mk, as
...
that extension has no TCL bindings and is inaccessible.
FossilOrigin-Name: d71f8bbc4efd8af935671c4e7626862d6e5a4c2e51527b9e82b2f0c94ddf6e93
2019-04-11 17:06:54 +00:00
dan
971194aca3
Fix RBU so that it does not write rows that should be excluded into partial indexes (corrupting the database).
...
FossilOrigin-Name: 31eb27f438ad727b095a518bfe0f7ed37cb806fc1e6929b821eddcc6cc9de260
2019-04-11 16:54:20 +00:00
dan
579d41dc8d
Fix the checksymbols target in Makefile.in.
...
FossilOrigin-Name: 1956eb348170a9a873878b522f377fa7303cdb3beca41f5515b6b9da1b1f544d
2019-04-11 06:50:52 +00:00
dan
93673620ec
Have wapptest.tcl display the name, OS and architecture of the host.
...
FossilOrigin-Name: c47e53b4d0f29628bd20ba3daf7e759c4bfed07710d982c095445c01376d57f5
2019-04-10 19:45:19 +00:00
dan
523fb53f72
Various fixes for the wapptest.tcl script.
...
FossilOrigin-Name: cbf423656047f0cb5200be6981a205e0ae206eef8263aa686f4a3621fb07fb57
2019-04-10 18:56:30 +00:00
drh
6adba9031c
Update the list of OMIT options in the omittest.tcl script.
...
FossilOrigin-Name: f294cfc173c5653ef161dbff63b7838dbccdcad797f5163c49b3173f9f35ab0f
2019-04-10 18:29:40 +00:00
drh
0364f229cc
Further refinement of the sqlite3VdbeMEmExpandBlob() fix of check-in
...
[df58774e994bd] to prevent a reference to an unused variable - problem
discovered by Valgrind.
FossilOrigin-Name: 09435b5700a2650816ad9ffa628be5fa19da62369c30329801feb5e840463c7e
2019-04-10 13:24:35 +00:00
drh
0e1a574875
Change the name of some internal testing interfaces to avoid a name
...
conflict in AIX.
FossilOrigin-Name: c1cae7e7f0a612508c8f82b334d9ebc423f443e99b13092d52e26b348c7cbc5e
2019-04-10 12:02:55 +00:00
drh
86ec1eddde
Do not place arbitrary restrictions on the length of the failure message
...
for a uniqueness constraint.
FossilOrigin-Name: 037da798fa5510ba7c776831ebcd683a85dca28e25bc657ff17bb2b08c3d406e
2019-04-10 00:58:07 +00:00
drh
9e26ac852a
New test case for SQLITE_TOOBIG errors.
...
FossilOrigin-Name: 4c77fbbe5d54248821161d708d0631fab65659bef31f95a61af681d4639f5918
2019-04-09 21:37:27 +00:00
drh
c3dcdba387
Improved reporting of SQLITE_TOOBIG errors while parsing.
...
FossilOrigin-Name: ea2d4b65e20e44e19219c821bf68e97ff3af1760b3b4762250d020ba2a5a6343
2019-04-09 21:32:46 +00:00
dan
c7f3373ec7
Fix a problem caused by a small SQLITE_LIMIT_LENGTH value and a CREATE TABLE with a very large name.
...
FossilOrigin-Name: 9b5d408864920b302f2d21abcae1d90f1e0cd68b18262136554ba0e6219d6025
2019-04-09 20:50:44 +00:00
dan
a3020dcb21
Add test/wapptest.tcl, a wapp alternative to releasetest.tcl.
...
FossilOrigin-Name: a4af0c2fee05aaa2e95ae6a5c847ff2d363e24f325f4ffdcf51bc264b9bf5e2d
2019-04-09 19:53:32 +00:00
drh
25050f2620
Use an unsigned integer to count free pages in btree.c:freePage2().
...
FossilOrigin-Name: 8820408597341344b308277ce6ef41b47c7514d6c613520789b05ee52cbedae8
2019-04-09 01:26:31 +00:00
drh
427db2d245
Make the testcase() macro added in the previous check-in reachable for
...
testing.
FossilOrigin-Name: 80704a16f6dbbeacc65fa36a3623df10292a28aeacf9e2c1d2891258479e3b89
2019-04-07 18:21:12 +00:00
drh
7d683394f1
Fix a faulty assert() in the sqlite3VdbeMemExpandBlob() routine.
...
FossilOrigin-Name: df58774e994bd306b1a2e1f259e7e4408f01c5b1dc104673698168bbf8a63ce5
2019-04-07 18:04:57 +00:00
dan
ce3c3eeda0
Fix two assert() statements in fts5 that are only true if the database is not corrupt.
...
FossilOrigin-Name: edb095a9a679c8c702abd0a487e55ed4b09110b54bcd7d5275020576f2713a39
2019-04-06 15:38:46 +00:00
drh
7bbdc3c597
Remove some stale references to the addopcodes.tcl script from documentation.
...
FossilOrigin-Name: c0381b0bc90aa3c2415c4b3ac338cfe6d308bb5d4247bc6f2b6e919f549c254c
2019-04-05 21:17:11 +00:00
drh
f1722baaf8
Eliminate the tool/addopcodes.tcl script. The purpose of that script was to
...
keep the number of parser codes below 256 in order to save parser table space.
But we have long since blown through that ceiling so the addopcodes.tcl script
was just needless complexity. There is no longer any reason to keep it around.
FossilOrigin-Name: d272819298083ebbde57962a2938925b1aaa1caf03e48bb3ea26ad91e0461d84
2019-04-05 20:56:46 +00:00
dan
6cf3009f6c
Add further tests so that veryquick.test covers all vdbe branches.
...
FossilOrigin-Name: cbc67de5a3937fa65811ed7c13e870699c895660dc2132cf9d3cf5d83364e344
2019-04-05 20:47:15 +00:00
drh
ce059e5219
Improved comment on the sqlite3FaultSim() function. No changes to code.
...
FossilOrigin-Name: 08b29672c552e5a6a3874746c6cc7025295e0e44dec43a1bfba3022acce849ff
2019-04-05 17:22:50 +00:00
dan
94c7ab5038
In the test_vfs.c VFS, if a Tcl xWrite script returns "SQLITE_OMIT", silently omit the write() call.
...
FossilOrigin-Name: 8b5a621e2ee3bb9d7d4f905217872e7e59153be9477aaa626cea287d56710b5b
2019-04-05 16:52:45 +00:00
drh
e3bd232e2d
Add the ability to override the new corruption detection logic
...
of the previous checkin, in order to exercise downstream corruption
detection during testing.
FossilOrigin-Name: e859d3184606dd453b9fc4ee388922d7be4b61aad84a66ac82107935ffd56f3a
2019-04-05 16:38:12 +00:00
drh
86223e8d65
In the xfer-optimization, do early detection of when the source and destination
...
index share the same btree, to avoid a long delay prior to reporting the
database corruption.
FossilOrigin-Name: af1e5873d44d31466023ae145bdfc6b4191eb48b62e5752c6e683bcf571980e7
2019-04-05 15:44:55 +00:00
dan
d1f9932e4b
Add further test cases to improve VDBE branch coverage.
...
FossilOrigin-Name: 51a95e52fc58d8be2c9c51576dff7258c705735b66d203948f80db017b4c10d2
2019-04-04 20:55:37 +00:00
drh
4c81cada05
Fix a typo in the documentation for sqlite3_value_frombind(). Also add a new
...
hyperlink to that same documentation. No code changes.
FossilOrigin-Name: bf3cd9364fdfc951feb04f78728eb8e0dae12b3dc5702a36bb6e69c0abab8864
2019-04-04 19:21:45 +00:00
drh
eacc8816dc
Minor fixes to requirements marks.
...
FossilOrigin-Name: 02ebc60b9bbc1736f4989eb56f8d31ca97fe90c930841d10986c618381ceb8b4
2019-04-04 18:20:25 +00:00
dan
b84b38fd89
Add test cases to improve coverage of VDBE branches. Still some to go.
...
FossilOrigin-Name: 4cef609d61de272cfdc2b39e1d49c7cd56ec834086bd63095116ff98f4d402bd
2019-04-04 17:58:34 +00:00
drh
80ac9cb3c0
Correctly initialize the loadable extension thunk.
...
FossilOrigin-Name: 4fca46ded7873d4939d7c6bff363ded41667f2255a4ab624a1a24bebbae733eb
2019-04-04 17:39:54 +00:00
drh
677525756b
Simplification of the recent VACUUM changes that make the code more like
...
what it was before the change. Also, make the VACUUM command a no-inline
procedure to work around a performance regression.
FossilOrigin-Name: 9cac5ac145d62117c918539baaa8a3c124230e031842e35fa1ba59f658c99518
2019-04-04 15:25:52 +00:00
drh
eb80863cbf
Fix an incorrect comment on a test case for rowid renumbering in VACUUM.
...
FossilOrigin-Name: 0d293fb43f2eb64026ac1e0422f54d4839b101898cc9913fc7746760c08ed41f
2019-04-04 14:36:02 +00:00
drh
4e61e88348
Only preserve rowid values for VACUUM INTO. Keep the legacy behavior of
...
renumbering rowids for ordinary VACUUM.
FossilOrigin-Name: 13a0ea6466b051ea5281865ed5285b8b5a99ec4307f400c5f7b03692723f1cd1
2019-04-04 14:00:23 +00:00
drh
b92d7d264e
Add a defense-in-depth NEVER() test to the WAL cleanup code.
...
FossilOrigin-Name: 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2ad28f
2019-04-03 17:48:10 +00:00
dan
3f49c321e8
Fix a couple of problems with "RANGE BETWEEN <expr> PRECEDING AND <expr> PRECEDING" frames.
...
FossilOrigin-Name: 39225cc77579896214dceb93b7f224b4b3bc95b3505a2e19b41b0b18b184fbc4
2019-04-03 16:27:44 +00:00
drh
0f134f0267
Small optimizations to the grammar for window functions save about 120 bytes
...
of space in the parser tables.
FossilOrigin-Name: bce01d9584e52b23d7c07c2e832d5fa5d6e6235711c856b903a296725f61ed6e
2019-04-02 18:12:20 +00:00
drh
94809086e5
Use a separate bit on db->dbOptFlags to disable the xInverse optimization on
...
window functions, rather than reusing the query-flattener disable bit.
FossilOrigin-Name: bc0fb1c324be2fd668bc4398c7d364b7e3c5a98537fe5fb58a125b66f3e6d041
2019-04-02 17:45:56 +00:00
drh
3de52e8fa0
Including the phrase EXCLUDE NO OTHERS in the frame-spec of a window function
...
(which is the default setting for EXCLUDE) silently disables the xInverse
optimization. This is a feature, but we will keep it undocumented for now
in case we later decide it is a bad idea.
FossilOrigin-Name: 10aedce3dd2c0c9f0ee9e0aefd0b4d2c2eb17c4ca72003c4db9768ea5cdafcf4
2019-04-02 17:45:01 +00:00
drh
3fda0aaf00
Put the list of keywords in mkkeywordhash.c into alphabetical order.
...
FossilOrigin-Name: ac98b23b34632fbc654a34a8b3d842ce65603e4c04d89c589b46f4d48a61152d
2019-04-02 13:10:50 +00:00
drh
860d2b08c6
Make sure the MEM_FromBind bit inthe Mem.flags field is not included in
...
the MEM_TypeMask. This critical changes was omitted from the previous two
check-ins by mistake, and so those check-ins are not fully functional.
FossilOrigin-Name: f7ba2daf91c96ba16958188d6084a0ff129310d348932de493d326f1d24679cd
2019-04-02 00:56:20 +00:00
drh
e8975ac9e1
Add new APIs to the extension loading mechanism.
...
FossilOrigin-Name: 6f122faf8a34b986e58ba4622cff918c6d133d6f91d4b723b50bd086d5bed8e1
2019-04-02 00:48:29 +00:00
drh
29ddbbbf36
Add the sqlite3_value_frombind() interface. Use that interface to
...
improve fts3_tokenizer().
FossilOrigin-Name: b3f2c3205a28dc21ea7080e5e1ba246ce9c9b90c1309262ca11d8e40943ed677
2019-04-02 00:28:54 +00:00
drh
e0f20b46fb
Performance improvement on the OP_Variable opcode.
...
FossilOrigin-Name: 1dc7993bb6957587a6c63142e97b8e4137c3d81bbfd724f86048e0894bcb429b
2019-04-01 20:57:11 +00:00
drh
d6db6598ca
Improvements to the sqlite3ExprImpliesNonNullRow() theorem prover.
...
FossilOrigin-Name: 3fde627616030ca0de87169467e2e453fdc91154942e3a3a92a221df5923b2d2
2019-04-01 19:42:42 +00:00
dan
afb3f3c72c
Add a test case to cover a missed VDBE branch generated by window.c.
...
FossilOrigin-Name: b36813d6467c82159bd3bb69d34ac28fc161a13052ca67d7cf9ad75e2aaea9d5
2019-04-01 18:43:09 +00:00
dan
1d07f1d8c7
If the library is built with SQLITE_VDBE_COVERAGE defined, have the Tcl tests generate a vdbe coverage report in file testdir/vdbe_coverage.txt.
...
FossilOrigin-Name: f0ed714637bf30443d0551d9b6fececa00fc9dfe9669fe720c4598ef71c61e2c
2019-04-01 17:24:20 +00:00
drh
495ed62e85
Frame range comparisons can never be NULL because the values will have
...
been checked for NULL prior to the test.
FossilOrigin-Name: fa37cf9a6aa3e4325674cb6af68f617d25e349c3f694d0117a19a36fc42daf15
2019-04-01 16:23:21 +00:00
drh
83c5bb997a
Mark rowid-comparison opcodes as never-null for VDBE coverage tracking
...
purposes.
FossilOrigin-Name: a69bb4f257500e40ef4056d5628ef25266def5bcef07eebdb471a79fffe80237
2019-04-01 15:55:38 +00:00
drh
21826f44bf
Improved VDBE branch coverage in the run-time frame-spec error detection
...
logic of window functions.
FossilOrigin-Name: f56d305a7bad6608d51d8c8cef417ddb66cff50f0a75d28554ea669e47f3d90d
2019-04-01 14:30:30 +00:00
drh
c906533650
Improved comments on the VDBE branch coverage testing logic. Fix the
...
VDBE branch coverage measurement on the OP_MustBeInt opcode.
FossilOrigin-Name: 8681750e855a020ee374cb9f973f701a72068e33f97d0101a4fab3a228e5ebda
2019-04-01 14:01:21 +00:00
drh
6cbbcd8ad6
Fix a defect in the VDBE branch coverage testing logic.
...
FossilOrigin-Name: 1fcf3307d37f0e8e0c8c54491c609b73c7add6eaa38409a41c7cd6614a877a19
2019-04-01 13:06:19 +00:00
mistachkin
4e2d3d40dc
Fix harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: 6cf8b18ec20f11c25ff7396f29c742404d3a88d5e97a5fd53ccfaff51dec3f33
2019-04-01 03:07:21 +00:00
drh
8fe25c64f1
Early detection of too many columns in an index avoid a possible 16-bit
...
signed integer overflow.
FossilOrigin-Name: 8af0caeb6d1e55f66ad2f12af94845dccfe1d0420faf326f5917fc07f8aa6050
2019-03-31 21:09:33 +00:00
drh
ce5752cd1f
Add some missing VdbeCoverage() macros.
...
FossilOrigin-Name: d03b611302f68483770d49b113b4ed685ba03526d2007647c306f8ec7ae697d2
2019-03-31 18:17:00 +00:00
drh
3fc6042992
Improvements to VdbeCoverage macros.
...
FossilOrigin-Name: 10ee9e337e5f8a846dc827f6deb07930a790ac9d290b62f73de59454e465d5a1
2019-03-30 20:43:40 +00:00
drh
6f88359df6
Fix issues with the previous check-in and add more VDBE branch coverage
...
testing macros.
FossilOrigin-Name: b5f72f10f2dfdbee9fe98c63ffb933e841203790746a920b99df14ca5c14127c
2019-03-30 20:37:04 +00:00
drh
bf00f6d7ec
Enhanced VdbeCoverage() macros in the new windows function code.
...
FossilOrigin-Name: f24066f8dd847dfb656f26c4a8142e7fb6a412ffe325aea6254cb122cfbb3e1c
2019-03-30 20:10:11 +00:00
drh
b336d1ab83
Add a call to sqlite3FaultSim(410) inside of btreeRestoreCursorPosition()
...
to simplify testing of error scenarios.
FossilOrigin-Name: bb643bac535ac7d5fb4c13edb8782cd13540bbc7d2b2deb689f4ca8d1914f422
2019-03-30 19:17:35 +00:00
drh
119e1ffc5e
The defragmentPage() routine detects corruption in the first-free-slot fields
...
at offset 1 in the header and throws an error, rather than asserting.
FossilOrigin-Name: fb125bd338ab32b33d02fe61b76497b6d4a2a160056d6e759e15c94903e61a41
2019-03-30 18:39:13 +00:00
drh
2c794b15a0
Add the blobio.c extension module implementing readblob() and writeblob().
...
Experimental.
FossilOrigin-Name: e3fde56da46e9592143b8beeee5eba4d74b8ef67edb7bf73a85edd2e0f7a8d21
2019-03-30 17:30:50 +00:00
dan
0708054570
Add an extra IO-error test to windowfault.test.
...
FossilOrigin-Name: 5b8c44cd39c529e8adbc51f67088409e963515b988868856120a59e6c7160210
2019-03-30 17:07:23 +00:00
drh
7678fdc33d
Change the fts3_tokenizer() function to always return the pointer as a BLOB
...
as long as the first argument is a bound parameter, regardless of the
SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER setting.
FossilOrigin-Name: 27160df7b3a04ac59d06013ede1d2ee27a4ace86a525ecc333bf7f8b5c580afb
2019-03-29 17:26:44 +00:00
drh
038ebf6875
Remove the unused P5 flag from the OP_Rewind opcode.
...
FossilOrigin-Name: c2edbf3b8c643edcd5823eb907fd7531cf5be8a8b6a014fa1b123eb0ea3231cf
2019-03-29 15:21:22 +00:00
dan
3580843595
Fix a fairly obscure problem causing the planner to sometimes choose sub-optimal plans for a query with a single virtual table in the FROM clause, and at least one IN(...) constraint in the WHERE clause.
...
FossilOrigin-Name: f5752517f590b37bfc0267650f5800320e22a8ecaba34aa6893281ce8d268026
2019-03-29 13:17:50 +00:00
drh
a920b209ff
Fix typos in the comments of the sessions extension, one of which affects
...
the generated documentation. No code changes.
FossilOrigin-Name: 040d5d515bcb37bea05e0d156dbaf066c68052ac574f1b0b2cb118d473a353e0
2019-03-29 11:48:10 +00:00
drh
5155b75be2
The two-argument version of fts3_tokenizer() works regardless of the
...
value of SQLITE_DBCONFIG_ENABLE_FT3_TOKENIZER as long as the second
argument is a bind parameter.
FossilOrigin-Name: ab76e3a90e56bd36a17ded9c7a77e88632ca12d3bd73f197df747a634c81e0cf
2019-03-29 11:39:41 +00:00
drh
57b1a3e303
Initial implementation of the sqlite3_value_frombind() interface.
...
FossilOrigin-Name: 98da62dfdacc6b3c490c387d1f8a74cc5daa978776967e264ad4800c380b0ddf
2019-03-29 11:13:37 +00:00
drh
d137f4e6e5
Recover a some of the performance lost by window function alias fix two
...
check-ins back.
FossilOrigin-Name: 965cbcea117835d2c6d2ec58c8025b227f491c35805e282cb31228436bc6bec1
2019-03-29 01:15:11 +00:00
drh
f72a97925d
Add new test cases to test/fuzzdata8.db
...
FossilOrigin-Name: f908cd40b275a5753d5167ebb25871300381687adcb3a7fcb1f14b57a20ee3d0
2019-03-28 20:50:41 +00:00
dan
4ded26a53c
Prevent aliases of window functions expressions from being used as arguments to aggregate or other window functions.
...
FossilOrigin-Name: 1e16d3e8fc60d39ca3899759ff15d355fdd7d3e23b325d8d2b0f954e11ce8dce
2019-03-28 16:15:05 +00:00
drh
6f1644c0f9
Show the pointer address for Window objects in the TreeView display.
...
FossilOrigin-Name: 1ae70ad2ffd36c27b154940126c5e3ed00c05c0d8761d9320a65a03b1b4e4dc6
2019-03-28 13:53:12 +00:00
drh
0dc0e9c2af
More improvements to TreeView output for Window objects:
...
(1) Show when the frame-spec is implied rather than explicit.
(2) Move the FILTER clause out from within the OVER clause, making it
a sibling of the OVER clause, to match syntax.
FossilOrigin-Name: d6a07433421ac9a475ff0014587f0beefdf88ce89aef9443f8a20cd26083731f
2019-03-28 13:35:28 +00:00
drh
fc15f4c528
Improved TreeView display of Window objects.
...
Change the Window.eType field to Window.eFrmType to avoid confusion with
other "eType" values.
FossilOrigin-Name: ec2f207dedb223077bbd3e4584499250eb12219712c917e930acccfa2c46e23b
2019-03-28 13:03:41 +00:00
drh
a2b6806b3e
If the string formatter in sqlite3NestedParse() fails due to an over-length
...
string, make sure this error is recorded by the parser so that it knows to
fail.
FossilOrigin-Name: 85e53ff13300132250221de769a2aa7d92d81bb48d60f6e99000bc69a5b1e6fb
2019-03-28 04:03:17 +00:00
drh
40f827a65e
Improvements to the README.md file. No code changes.
...
FossilOrigin-Name: bbdbaf84a52937ccf877072a8b01b07f7b9c037c59ba54df72ca888d5404cbad
2019-03-28 01:00:37 +00:00
mistachkin
61ad5513e0
Support building the Tcl bindings DLL using MSVC.
...
FossilOrigin-Name: b2011c13173114505705d2ff2ba6f476697d51aca0bddd585a9e5a639dca41e2
2019-03-27 14:59:56 +00:00
mistachkin
ba9ee09598
Fix harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: 5be64ea8e33f632f9c337feac9b0663d8e6e59fc9a71e5d832d9fd905c06458e
2019-03-27 14:58:18 +00:00
dan
725b1cfc53
Fix a problem with window frames that use "BETWEEN <start> AND 0 PRECEDING".
...
FossilOrigin-Name: 7927b6b023502e990d23f30251b5b0918b547726b863bfb6747dcd7f1f71d19a
2019-03-26 16:47:17 +00:00
drh
d4a591dd6b
Fix harmless compiler warnings.
...
FossilOrigin-Name: a063f7c426d1ac066bf05cc03288f49b1c92e06a8cb2bc271cce9bd3022a74ea
2019-03-26 16:21:11 +00:00
dan
b60c3b01cc
Add support for new window functions related features - GROUPS frames, RANGE frames with logical start and end points, the EXCLUDE clause and window chaining.
...
FossilOrigin-Name: c6da39115d3e2b0fd3a03c4bcae8ee8b05a6bbd6b11f8c54712fbff6387f610d
2019-03-26 13:08:34 +00:00
drh
1cb0263bcd
Fix an obsolete comment in the CLI. No code changes.
...
FossilOrigin-Name: fade103cbac1b067f9544935b767f36dc266aceb3269cc84a3ae3b04ad9a4823
2019-03-25 22:05:22 +00:00
drh
65c29fd3eb
In the CLI, code the "sqlite_parameters" name directly rather than using a
...
macro, for clarity of presentation for users who are reading the code for
the purpose of seeing how the CLI implements parameter binding.
FossilOrigin-Name: e775ef002dd33e6bcbeec8d4b6ad7f59749e35548c7a59c9fa3bcfdc5cc50730
2019-03-25 21:56:26 +00:00
drh
ccf6e7d0f0
Remove a test from the index build logic which is no longer needed and is
...
in fact unreachable.
FossilOrigin-Name: 9b20ee10ff86c1f79706180310e02b6f78863e02b179062d8966573ae33a252f
2019-03-25 21:55:44 +00:00
drh
346f4e264a
Change the name of the parameter table in the CLI to "sqlite_parameters".
...
Doing so involves adding SQLITE_DBCONFIG_WRITABLE_SCHEMA and allowing the
creation of tables whose names begin with "sqlite_" and that are indexed
while writable_schema is on.
FossilOrigin-Name: 24ef3844692debc2db7b1d427f5dcf4050481a8c7f71c3b516766b819ecab587
2019-03-25 21:35:41 +00:00
drh
58b42ad131
Earlier detection of corruption while added to the freelist.
...
FossilOrigin-Name: 8c80b004cae71aaf820a31dba80c100ed162ef5bae845fb4535ff4d3be407500
2019-03-25 19:50:19 +00:00
drh
1c960269dd
Fix a faulty assert() statement in balance_nonroot() - the assert() should use
...
get2byteNotZero() instead of get2byte() for the corner case where the
number cells is zero on a 65536-byte page.
FossilOrigin-Name: bcbe7d96df3c9515f679ccf671ca9ba89d081b53501495d4218eb5126196838b
2019-03-25 18:44:08 +00:00
drh
af5a2e166d
Improvements to the help text in the CLI.
...
FossilOrigin-Name: 919fec91dac4cb0d5f67404d4f47a65f353d752f5da0aa7b071bf3caf19e0522
2019-03-25 15:09:19 +00:00
drh
e7476115ad
Fix the writefile() SQL function implemented by ext/misc/fileio.c such that
...
any directories created have standard umask permissions, not permissions
of the file that is to be written.
FossilOrigin-Name: f11c89595dc65f89be6df62830c8cddd3933acfd4baaecd348ecd99e71db5831
2019-03-25 15:06:16 +00:00
drh
b17ea91230
For the ".archive --update" command in the CLI, only update files if their
...
mtime or mode has changed. To force an update, use the new --insert instead.
FossilOrigin-Name: 191a023ae708490eca61b3a42a3df41bb6709079f3905881abb82ebd46182607
2019-03-25 14:24:19 +00:00
mistachkin
21a3b3191e
Support Tcl libraries with a suffix.
...
FossilOrigin-Name: 8d0153996a3685a9b109a01fea0cba76e4296b010e96fc0db43fa6fde54d1965
2019-03-23 00:38:52 +00:00
mistachkin
b1b808b92d
Further enhancements and fixes.
...
FossilOrigin-Name: c9f1972e10b0cdb5e351a776a64c60acf404dcfbe2a8a28c0a273bbe851e677f
2019-03-22 22:34:16 +00:00
mistachkin
57494adcc5
Attempt to detect when the MSVC linker requires the /MACHINE argument.
...
FossilOrigin-Name: 3e355846217785c30f518d31a5541172c4213c0d8559c3f8638a047cd745c98e
2019-03-22 16:52:17 +00:00
dan
781b7ac3f6
Fix a problem with a window function in a correlated sub-query where at least one reference to the outer SELECT appears in a FROM clause sub-select.
...
FossilOrigin-Name: 9aca86f98388ff66b2bccb3fbfc486a3931398d2a8da139f905826ae2cdbb205
2019-03-22 13:56:49 +00:00
drh
ed26483346
We learn that readdir_r() is deprecated in favor of plain old readdir(), which
...
is now suppose to be threadsafe using thread-local storage. So remove the
use of readdir_r() from the test code. (SQLite itself never calls readdir()
or readdir_r()).
FossilOrigin-Name: 7a0a26ed380dd0bdda50b0204b30b53bbbbc70f278eba02f91541ac6c691aef2
2019-03-22 13:53:25 +00:00
drh
fb5567123f
Add the --limit N option to dbfuzz2. Set the default callback limit to 250K.
...
FossilOrigin-Name: b99f8512c06b9d47e48b028781265512ce8b812ae4e6af0a7139a093cf9a8f74
2019-03-22 11:38:14 +00:00
mistachkin
7ac2ee0a74
Sync up the autoconf makefile for MSVC.
...
FossilOrigin-Name: ecbae90aef63ed6d07d474416900db36ff6dd9c2ed1bbb5f4d883b6838156be1
2019-03-22 01:26:39 +00:00
mistachkin
e2bcbb4048
Support building the Tcl bindings DLL using MSVC.
...
FossilOrigin-Name: 908c4c891fa7472b43d232bde7d3789105c5f5b2cfaf6652bf6d5829236933cf
2019-03-22 01:25:16 +00:00
dan
dcc427cf19
Add an extra test for database corruption to defragmentPage().
...
FossilOrigin-Name: 80e951fce3e5aaa224c8dba6449832d2efabcdc24e86eb6b7833f85cf08ecc00
2019-03-21 21:18:36 +00:00
dan
c7694a6d1d
Remove assert() statements based on the counter-factual proposition that 0 is not a valid cursor number.
...
FossilOrigin-Name: c7b336181aac6785a515f275c0f50ad4bf2dee20abde959b56d968a7fdce3e5b
2019-03-21 13:51:09 +00:00
drh
87c889cfa5
In the CLI, give better error messages if something goes wrong
...
with the ".dbinfo" command.
FossilOrigin-Name: 3649a77b79001ea6c5defe882f9934521b20b9d36aab26d03b5d42006c7fa228
2019-03-20 18:22:51 +00:00
dan
2381f6d7e5
Fix a potential dangling pointer deference in an ALTER TABLE run on a schema that contains constructs of the form "PRIMARY KEY(column COLLATE collation)".
...
FossilOrigin-Name: b9e2393cf201e3fc24519c5ae65d0a5953147d78884e53d44a7958747b4a7e13
2019-03-20 16:58:21 +00:00
drh
ff119f04b4
Fix harmless compiler warnings from MSVC.
...
FossilOrigin-Name: f0f02d46e40667d0fc31c57eb26d459ce2f3a3c222c767fa371100b36e5335d1
2019-03-20 12:08:27 +00:00
drh
e41fd72acc
Enhance the rtreenode() function of rtree (used for testing) so that it
...
uses the newer sqlite3_str object for better performance and improved
error reporting.
FossilOrigin-Name: 90acdbfce9c088582d5165589f7eac462b00062bbfffacdcc786eb9cf3ea5377
2019-03-20 11:16:09 +00:00
mistachkin
065f3bf4f2
Fix various harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: 1c0fe5b5763fe5cbace9773dcdab742e126d0bd035ab13d61f9d134afa0afc0c
2019-03-20 05:45:03 +00:00
drh
d0f820a7e6
Enhance the VACUUM INTO command so that it works on read-only databases.
...
FossilOrigin-Name: 55be6d0a9fa8a64b9c9c5ed51a2b9144304f7f0870a13b92d5864ac4d54491b6
2019-03-19 20:42:42 +00:00
drh
f3e90dd276
Fix a compiler warning in FTS5.
...
FossilOrigin-Name: d5acf3af65f9608d4096b9b78289d84b21cd1ea463457f858ffeb20d5bd5d123
2019-03-19 20:13:41 +00:00
dan
78694ea307
Add further tests to window8.test.
...
FossilOrigin-Name: ec7e224f50271a69a28074270b01328ec0ee38751fcb93b2c598d8be2b77a95d
2019-03-19 19:39:42 +00:00
dan
6603342f12
Fix a problem with EXCLUDE clauses on window frames with no ORDER BY.
...
FossilOrigin-Name: e0255063799a2a8531f0eaa8790334509591a5ababc5b915035b46d2faa80363
2019-03-19 19:19:53 +00:00
dan
8eff0cc326
Add tests to ensure that the window functions implementation is not generating code for unnecessary sorts.
...
FossilOrigin-Name: e195948a6876efe01b5cf2ed67bc9015a781fda39dca668099cb7edc1d331818
2019-03-19 17:45:31 +00:00
dan
1d4b25fa50
Add missing VdbeCoverage() macros to new code in window.c.
...
FossilOrigin-Name: 4f9b93e6cfa0b3b6ab8a126299c2b2a242f840453dc450e84d3df87576cf6cf8
2019-03-19 16:49:15 +00:00
drh
f012dc4eb9
When computing the amount of scratch memory needed during a rebalance operation,
...
assume the worst case for the number of cells per page, rather than relying
on the BtPage.nCell value, which might be incorrect for a corrupt database.
FossilOrigin-Name: a420ebd08f5a96b9e61a37cb42e1b3f346c23505630d9c33fe30ce7882959b36
2019-03-19 15:36:46 +00:00
dan
e5166e070a
Revert the OP_MustBeInt opcode implementation on this branch so that it again matches trunk. The extra functionality is no longer required.
...
FossilOrigin-Name: c02f77b1b4d025d4243f883d6f3a2b3abcaf4944e0209f641b62c576415343dc
2019-03-19 11:56:39 +00:00
dan
b1dd3db537
Tweak the tool/cg_anno.tcl script so that it can run on systems without /usr/bin/tclsh.
...
FossilOrigin-Name: a026189aa46114d2de4f1da5882aeef9cf446a5aa6ea068d51c27df0d7302ddb
2019-03-19 11:35:18 +00:00
dan
d430c2eb46
Update this branch with latest trunk changes.
...
FossilOrigin-Name: 98cc26598718e5557ee00aa77336024c91e483ec6de650e172ad1b44a6f0a77b
2019-03-19 11:17:28 +00:00
drh
713836f913
Add a LICENSE.md, containing the text of the blessing.
...
FossilOrigin-Name: cbb7e60272cda518fa1bd8d3e3cd02e031b657fef92a9d4d7ed8c2bfb97be7c8
2019-03-19 09:57:52 +00:00
dan
ced89124d8
Ensure that all the new window-function keywords can still be used as SQL identifiers.
...
FossilOrigin-Name: a6d61dfd4780eccfce5f7a5ead6c04e3b78bc4a461551fd7dd602550e0d51084
2019-03-19 06:40:29 +00:00
dan
0525b6f47f
Add further tests for new window function functionality.
...
FossilOrigin-Name: 1fbddf01b1c3fff95b05e2f2f709754e2b514296060b4846518791e7161d9ddb
2019-03-18 21:19:40 +00:00
dan
108e6b2c87
Always evaluate window functions using the alternative path usually only used by EXCLUDE frames if the SQLITE_QueryFlattener test flag is set.
...
FossilOrigin-Name: 2879a691aca9304aea5acb46bab8e82bb2e08eb54201f3679d60bfc0e8383845
2019-03-18 18:55:35 +00:00
dan
bdabe742da
Fixes for RANGE windows and NULL values.
...
FossilOrigin-Name: 723c84be3ec5ae941b7abd2442cdb76ca3bd76a5ce2d830b0e648c6e1424885a
2019-03-18 16:51:24 +00:00
dan
d406d07262
Fix a buffer overread that could occur when running fts5 prefix queries inside a transaction.
...
FossilOrigin-Name: b3fa58dd7403dbd4d2e9f3ae23d7d1337830d6fef2aa2f137ac5174de0d5828e
2019-03-18 15:49:07 +00:00
dan
b15f19c75e
Fix an fts5 problem with interleaving reads and writes in a single transaction.
...
FossilOrigin-Name: 45c73deb440496e848cb24d4c1326d4105dacfee8bbafb115e567051855e6518
2019-03-18 15:23:20 +00:00
drh
610f11de25
Fix a typo in a comment. No changes to code.
...
FossilOrigin-Name: c2f50aa4e7bad8821e91a7490283dd53e44047d10a8cfebc3e2da26c770a5218
2019-03-18 10:30:00 +00:00
drh
faeeddf0f0
New hyperlink on the README.md file.
...
FossilOrigin-Name: cc5ab96715ebb1089b4e9aa647badd2510aaa056f26004718f921f4ac07e2f93
2019-03-17 23:59:02 +00:00
drh
3756d59bc3
Update the README.md file at the top level to talk about how to deal with
...
version names and how to verify the code in Git mirrors.
FossilOrigin-Name: e8c87a0ac1bf434c12a8ab602e7913a89a51898e818f30fa541a9b5708864212
2019-03-17 23:44:16 +00:00
dan
1e7cb19be3
Fix problems with RANGE windows and string, blob and NULL values.
...
FossilOrigin-Name: cebe09e11cc91d9776f259dd9b87e9c760a460f53ba6fa36481dfe58f77ad417
2019-03-16 20:29:54 +00:00
dan
bf84515a2b
In order to identify the first row of each partition, check if the rowid in the ephemeral table is 1 instead of using a dedicated flag register.
...
FossilOrigin-Name: f2d5f7a24c7aa483c579706c5bd7268a74da6d53025d78fa8642908c2aed1707
2019-03-16 10:15:24 +00:00
dan
c782a81aa5
Implement the EXCLUDE clause for window frames.
...
FossilOrigin-Name: 9b43c3ee2e054b05715573f4f3893b84aabc5100832333c9a0f2a1628552a978
2019-03-15 20:46:19 +00:00
drh
aadf8327be
Back out the change to support Fuchsia, since it turns out fuchsia does not
...
like dot-file locks.
FossilOrigin-Name: 1d801a3b2c48dc8a918d6da047bc877acf033d5f5c4e1d4b412ba7678ed6f8b3
2019-03-15 19:08:23 +00:00
dan
25f5383cb8
Remove a debugging printf() left in test/sessionfuzz.c.
...
FossilOrigin-Name: 73c4abc90264355f3ea6e8c34e5aad6ed665b70fb136c4d416e2a98e46562bbd
2019-03-15 18:57:49 +00:00
dan
1f3b284b11
Ensure that ALTER TABLE commands open statement transactions. Fix for [596d059a].
...
FossilOrigin-Name: 0f2129f59f7df929106e2af876c2976dea6528c1dc1850d64cddb256f20e121a
2019-03-15 16:17:32 +00:00
dan
d35300f9b6
Parse EXCLUDE clauses in window frames. They do not yet work.
...
FossilOrigin-Name: d03c7533a1e993f1b12392a5193b2127484307b27072236a1255e7a30849a381
2019-03-14 20:53:21 +00:00
dan
a0f6b83300
Add things to this branch that will be required to support the EXCLUDE clause.
...
FossilOrigin-Name: 7d66cd2013206ebad50c7cdb7dab9211fa8b47f5cb7067dcb314b3e0180875f8
2019-03-14 16:36:20 +00:00
drh
a49774f478
Technical improvements to the documentation for sqlite3_bind_blob() and
...
sqlite3_bind_text(). No changes to code.
FossilOrigin-Name: fb60150aeedc3898cb249c75c98a7cb48fcec090f94ded7896b634e436c7daa5
2019-03-14 00:01:23 +00:00
drh
2e41b99ea9
Improvements to the sqlite3_db_filename() API documentation. No code changes.
...
FossilOrigin-Name: 711f5ec4dc2635e3102a607510cbbe0b468d9f0af935e09d3454e6e925c8dcb2
2019-03-13 23:51:05 +00:00
dan
db7d895e9d
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 0b904517bd6c4c59082381577246d3d2351b4265fc9151438ee4c33cf16f2eb1
2019-03-13 17:31:20 +00:00
dan
b6f2deac3c
Avoid allocating excessive registers for the PARTITION BY expressions when processing window functions.
...
FossilOrigin-Name: 180be266238e18c01f8bd52c75dd9aa3e26e553620258141cd95189a0ae59ddb
2019-03-13 17:20:27 +00:00
dan
b560a7194d
Remove rows from the ephemeral table used by window functions once they are no longer required.
...
FossilOrigin-Name: 6ad553192051eaa0c6d929baacde2de07b93c6d09de861028bbce55a2c9bfdd3
2019-03-13 15:29:14 +00:00
drh
b65e801e5f
New test cases added to test/fuzzdata8.db
...
FossilOrigin-Name: 049e9926202317f58c54b6351ff120fb69bf821f409909b1a1c5e335c0396707
2019-03-13 13:19:05 +00:00
dan
fcb02429ec
When deserializing a database (sqlite3_deserialize()), do not attempt to parse the schema before the data is loaded.
...
FossilOrigin-Name: 4e1b005e8b397a22161a6b89cbd3f17bda70a6e0a86d8abdc61856edf2a74da4
2019-03-13 11:40:30 +00:00
drh
2a934d75d9
Detect zero-length free slots on btree pages and report that as corruption.
...
FossilOrigin-Name: c4f0568fde1d4070e7522ec36c0958be7426076002a7fa2da12a46411ab2e92d
2019-03-13 10:29:16 +00:00
dan
d446165f7d
Minor optimization in sqlite3WindowCodeStep().
...
FossilOrigin-Name: b1322ffb6e63a110998068bf4f0a903028bd4fc0464ae1e517d745fb46423f39
2019-03-13 08:28:51 +00:00
dan
bb40727857
Allow real values to be used in PRECEDING and FOLLOWING expressions for RANGE window frames.
...
FossilOrigin-Name: 25ff7091cb12c63b1864ce68a9151f8432af5804b5ae905a2175761ab4b9fdd8
2019-03-12 18:28:51 +00:00
dan
935d9d8260
Expand on header comment for sqlite3WindowCodeStep(). Further simplify the implementation of the same.
...
FossilOrigin-Name: 5129bcc996b3c9f78ab6b674a4364787e7b353b90f15f027cad4431012022c30
2019-03-12 15:21:51 +00:00
dan
9e24439c2f
Fix a crash that could occur if the RHS of an IN expression is a correlated sub-query that refers to the outer query from within a window frame definition only.
...
FossilOrigin-Name: 0524aaaf45681437c2dca3d31ff26a65bee7bd2074730277c29136635ee0be0f
2019-03-12 09:49:10 +00:00
dan
cc7a850f2e
Remove "cache mode" from the window frame code generator. Handle the same cases by editing the window frame specification itself.
...
FossilOrigin-Name: 081263538332bb9c07e62630629007ccbba31bef5dc890f60b4ba58a355f70ac
2019-03-11 19:50:54 +00:00
dan
a786e453a4
Simplify the windows frame code some. Add a comment explaining some of the VM code generated by sqlite3WindowCodeStep().
...
FossilOrigin-Name: 6bd1a07949ff3d394056bfcc813444401ef00806e3f0e0423ff6962541e84bdb
2019-03-11 18:17:04 +00:00
dan
71fddaf195
Fix problems with "RANGE ... ORDER BY <expr> DESC" window frames.
...
FossilOrigin-Name: e7bced731aa071c95bc398cdecd53c939841bf0c52fbcd06e47ba68f8c5cc35a
2019-03-11 11:12:34 +00:00
dan
72b9fdcf20
Add support for RANGE window frames. Some cases still do not work.
...
FossilOrigin-Name: ffc32b246d92d53c66094afe11950b53ffab6a1c230c602eebbfedafb2eb57f4
2019-03-09 20:49:17 +00:00
dan
f7b846e4ed
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 53ea550ce759ae4683bcf0ae3af655bfe04f85db70f74edee6bcab56d83bb041
2019-03-09 07:38:16 +00:00
dan
0d86a9bd54
Add simple tests for GROUPS window frames.
...
FossilOrigin-Name: 2872702dacadad11f4fd7c437b77ef82763e840c9c92eefe87eac2491c38f963
2019-03-08 20:57:05 +00:00
drh
37f6ffb887
Fix a harmless bug in the Makefile.
...
FossilOrigin-Name: 62ac9cb07f5f2d14e716cd0f99f3f2fd34f6c9b4303619be8dfbca2eecf5b727
2019-03-08 20:26:12 +00:00
dan
6c75b39614
Finish consolidation of window frame code. Add untested support for GROUPS frames.
...
FossilOrigin-Name: 954bf369935083c188c3b14e77ed89fc5ec4323cc5b0c67e4a2e48fcc278df45
2019-03-08 20:02:52 +00:00
drh
bcf1f41a62
Add new test cases in test/fuzzdata8.db
...
FossilOrigin-Name: 97bdc090f30610cc5dd29101452d1647550387f9c6f742e50f1e07c3cf68a147
2019-03-08 14:07:15 +00:00
drh
4b986b2a47
Patch makes balance_nonroot() slightly smaller and faster and more robust
...
against corrupt databases.
FossilOrigin-Name: 174da3c32c9caebd642c31cb594597ccd5bb2a7fc501b1f49aef0b7b4765bfca
2019-03-08 14:02:11 +00:00
dan
66b8457c7c
Fix another segfault in fts3 that could occur with corrupt records.
...
FossilOrigin-Name: fcc24edde471c2214add2dbc3a27da8890a7148105c5ffa024faf72457964a5f
2019-03-08 13:27:27 +00:00
drh
9a518843f5
Detect an attempt to drop a btree that is not within the bounds of the
...
database file and abort early with an SQLITE_CORRUPT error, to avoid
problems later on in the process.
FossilOrigin-Name: 235a9698f5e9b3c21dc51c9c5042becfb82fc1762a7519a46b9f9fdafe9b0f13
2019-03-08 01:52:30 +00:00
dan
54975cdff9
Fix other "ROWS BETWEEN" cases on this branch.
...
FossilOrigin-Name: a5f68f66472610b5beb4fe28669fbbfe83a32742be73cecad9b2ae28f8a17b30
2019-03-07 20:47:46 +00:00
dan
c813750b7b
Modify new window functions function so that cursors are stepped immediately after each operation, instead of immediately before.
...
FossilOrigin-Name: 093d2b25f1b656bba57d665aac68109436861b157a5769432b612176dae3f6eb
2019-03-07 19:26:17 +00:00
dan
00267b8a7b
Simplify the window function code generator some more.
...
FossilOrigin-Name: 45cbd3b4498cea8856f189e9d0a192556d4f15212055b8328a1beca6083fc47a
2019-03-06 21:04:11 +00:00
dan
b33487b0b6
Improvements to the way built-in window functions are handled.
...
FossilOrigin-Name: e8eee566dfca6f4c8af074731dfe91f7fbcd9ca72f0303235b52e4e2e80d5b71
2019-03-06 17:12:32 +00:00
drh
39c5c4ae06
Add the sqlite3_stmt_isexplain() interface.
...
FossilOrigin-Name: ee642d3e2775ba4c73627ac71d0abf7a0f7a4ab3151d88e0076e9992f4814983
2019-03-06 14:53:27 +00:00
drh
aff0fd483c
Add an "|| CORRUPT_DB" term to an assert() that might be false if the database
...
is corrupt. Also add a branch to have sqlite3PagerMovepage() return
SQLITE_CORRUPT in that case.
FossilOrigin-Name: b0d5cf40bba34e459caa7480bc84a1d75496c2ab52029f4bb0a31f2d9369a8ee
2019-03-06 14:08:41 +00:00
drh
aaad696141
Fix a potential 32-bit integer overflow in the "showdb" utility program when
...
it is trying to interpret a corrupt database file.
FossilOrigin-Name: 3803e750384ec37091b0a6c350f8ef67720e316fd6f74c95e3c5f231c4a01ceb
2019-03-05 23:49:17 +00:00
dan
b25a214dec
Extend windowCodeStep() to handle any ROWS PRECEDING/FOLLOWING frame specification.
...
FossilOrigin-Name: af0ea1363548461b2aad8fd54ee3f2f616111dcae2d6480f5294da44c87a0a5d
2019-03-05 19:29:36 +00:00
drh
91ed9ce0dd
Add a script to tool/ that will extract the sqlite3.h header file from an
...
sqlite3.c amalgamation.
FossilOrigin-Name: 38d2e510cdedf38153466b161c0842b1604aef7b5589c51f628ae7cbb6a8722a
2019-03-05 16:53:16 +00:00
drh
7bf3133fef
New dbfuzz2 test cases added to test/fuzzdata7.db
...
FossilOrigin-Name: 25975e1fb2be0c011542c0a6b001385cec8113662df93dc618f725f2a4692bc2
2019-03-05 14:47:53 +00:00
drh
0a31dc201e
If the initial byte of a record is a large value, then always used the
...
generalized record comparison routine sqlite3VdbeRecordCompare() rather than
one of the specialized versions that are optimized for shorter records.
FossilOrigin-Name: c1ac00706bae45fe9735061ada025880606cdfb8ecfdaa36b4e2d04275820861
2019-03-05 14:39:00 +00:00
dan
4e72e62f3b
Merge trunk changes into this branch.
...
FossilOrigin-Name: 9b4d561f68febdab6624d8c567fb4357bf67dda500664cf708d16a76f37b8ec1
2019-03-04 21:08:53 +00:00
dan
680f6e8e2e
Support some "ROWS BETWEEN N PRECEDING AND M FOLLOWING" window functions without caching entire partitions.
...
FossilOrigin-Name: e7a91f12282afb5d5d7d78397a11d18e0268ee0c931d85e21fce00d13929494e
2019-03-04 21:07:11 +00:00
dan
4474e869fe
Fix a problem preventing compilation with SQLITE_OMIT_UTF16.
...
FossilOrigin-Name: 906d1fd8650874236e0bf5734d5347dcc45ec036164a56570fec37da4ffeaf8f
2019-03-04 07:15:57 +00:00
drh
75db74fdae
Improved comments on the fossildelta.c extension.
...
FossilOrigin-Name: d7d23f0450d659b2c7df34e4df8623ca7b6fe3bd19422e3e9234515214ae8510
2019-03-02 20:09:35 +00:00
drh
e22976c535
Fix the SQLITE_DIRECT_OVERFLOW_READ compile-time option so that it works
...
with SQLITE_HAS_CODEC.
FossilOrigin-Name: fd085e9260bec18f968704abb2dd324d954baa121d13b67c3f5b801e9e3834aa
2019-03-02 15:25:24 +00:00
drh
8f46f34e2d
Remove a redundant parameter extraction call from the percentile.c extension.
...
FossilOrigin-Name: d49c32e6e7cc341b5961d2c7b7c68d1649c6542eeec201660e3f82a55aea9e3b
2019-03-02 12:17:35 +00:00
drh
f10c535fa5
The fts3_tokenizer() function returns NULL if the
...
SQLITE_DBCONFIG_ENABLE_FTS_TOKENIZER setting is disabled, which is is
by default.
FossilOrigin-Name: f5732f4caf7a37a6445c61ae0d0ac14cc9deb897376e73aa36a1ead025b92c69
2019-03-01 21:33:29 +00:00
drh
10cc16c954
Fix a minor comment typo. No code changes.
...
FossilOrigin-Name: 9a0a93c89d3fdd0f9000a9226388e2e53f299165e043913f40b83bf597bfea04
2019-03-01 21:12:40 +00:00
drh
b531aa8fd9
In a query that uses a partial index, the expression that is the WHERE clause
...
of the partial index must always be true. Use this fact to avoid evaluating
identical terms in the WHERE clause of the query.
FossilOrigin-Name: 9b2879629c34fc0a8e99d94648903eb93aabbc7a3682c80cb7382f9a9ca5ffb7
2019-03-01 18:07:05 +00:00
drh
9cb0264041
Add the ".parameter" command to the CLI.
...
FossilOrigin-Name: 1f9fa58541dc974989eee9c9a5d453956f7dbcf42965ece2db2cb5dee3f3f5e2
2019-02-28 20:10:52 +00:00
drh
c06ede105d
Add the new "bind_fallback" method to the "sqlite3" object in the TCL
...
interface.
FossilOrigin-Name: c7f70b6d96338dba201e005104e7f7148c1a8cd767ab05e35b44617c4c797bc5
2019-02-28 17:29:19 +00:00
drh
4ddf7f4211
New test case loaded into test/fuzzdata8.db.
...
FossilOrigin-Name: 00ae0c6c4815366bd2f36bc054b13bc7b568dd0a3caceddf0eba4db33f010ee4
2019-02-28 14:09:14 +00:00
dan
95fdb63b7f
Avoid an assert() failure and an undefined left-shift operation in the fts3 snippet() function that could occur if the database was corrupt.
...
FossilOrigin-Name: d5250db6322103326f0d5782ba049996d9ce8784f9e53a3112fb6f09f888f1c3
2019-02-28 13:41:35 +00:00
drh
45616c7f75
Add an "|| CORRUPT_DB" term to an assert() statement in the btree defragmenter.
...
FossilOrigin-Name: 6bfd8655f006e031c0d4c988356c4b9206efa6bfdb034fde8ffa3361521a4844
2019-02-28 13:21:36 +00:00
drh
8e0f794d17
Enable the LIKE optimization when the ESCAPE keyword is present and the
...
PRAGMA case_sensitive_like pragma is ON.
FossilOrigin-Name: 6ae4b8c525f446ddb0e0bdd5e4e01e06e2ab975e3effa42fce6a1102b3a39830
2019-02-27 23:05:14 +00:00
drh
0319934322
Fix the readfile() UDF so that it returns an empty BLOB, not an OOM error,
...
when reading an empty file.
FossilOrigin-Name: 0edad5339e36d69aed9289bb3e60d35f9930386d76a62bb0194c4fdf420d16fb
2019-02-27 19:59:56 +00:00
dan
89d249364e
Add the "-returntype" option to the "db function" Tcl method.
...
FossilOrigin-Name: 789a492b68c353e2b763d67d399722b7ab61bfe09b472466df2821f65cab1be9
2019-02-27 16:38:19 +00:00
dan
f26b145385
Verify that fts5 auxiliary functions cannot be used in aggregate queries.
...
FossilOrigin-Name: 122330dba3eb2492875bd02a46442306f73e251408447af5e5914ee0c8d6a110
2019-02-27 15:26:03 +00:00
dan
69e224f88a
Reformat the white-space in a few test cases so that the tests work with Tcl 8.6.9.
...
FossilOrigin-Name: 29d02bf2fa9ecacbcc3e862ca70382f5875da8c1dc7fd27366190045fcc42b15
2019-02-26 19:16:49 +00:00
drh
ddc28c23d5
Minor change to dbfuzz2 that allows it to be compiled against older versions
...
of SQLite.
FossilOrigin-Name: 6d39d6a68bf09e0b4f6706218373e74fc03148fd8bdba5031c3de2f750d87cf2
2019-02-26 18:21:08 +00:00
drh
bfa70de117
New test cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: 61fdfc57b9539cb6da5fc24653da2c8fb7c041a7409df911df11b987ed479a3a
2019-02-26 17:52:44 +00:00
drh
5cb1ffc1bd
Allocate a few extra bytes for the pager temp page as an overrun buffer while
...
processing corrupt database files.
FossilOrigin-Name: e7aca0714bc475e04b16e9db78722ce025d2a1382f80cfc0a49cff2af904eae5
2019-02-26 17:49:07 +00:00
drh
eaac9996ed
Use unsigned integers to count the number of pages in a freelist during
...
an integrity_check, to avoid any possibility of a signed integer overflow.
FossilOrigin-Name: 05b87e0755638d31f6d8918f8758362f8c3981661449b5171180a8498f66bd9d
2019-02-26 16:17:06 +00:00
drh
2b454e0335
Fix a harmless compiler warning that only comes up during debug builds.
...
FossilOrigin-Name: 848869ced988ca4d0ac76d43f984360fd11997a580719cccf8d55becea4e8fb1
2019-02-26 16:11:46 +00:00
drh
9ebe59d6ff
Update the configure-generated makekfile to generate a portable pkgIndex.tcl.
...
FossilOrigin-Name: 35cbee7fe4a0b7ca06206ca2f69fc35abe3de4929070d6585ab765af82027438
2019-02-26 12:29:25 +00:00
drh
8b738d0865
Enhance the command-line shell to accept bound parameters, using the
...
TEMP table named "$Parameters" to look up the values for bound parameters.
FossilOrigin-Name: 7c941ce5bcc872ec92cbe0e409fd773f44a5ab1f814e689ad57f756b911e2b96
2019-02-25 18:43:54 +00:00
drh
c3017e7b4a
Update comments on the fossildelta extension. No changes to code.
...
FossilOrigin-Name: 9da4fb59b28686630d63a79988b458726332cf06cc0e6e84d7c0a7600f5fcab0
2019-02-25 14:52:43 +00:00
drh
7edcb11ca7
Fix a typo in the documentation for sqlite3_total_changes().
...
FossilOrigin-Name: 8474c1560e0c3a28c6a7ed360202a8e7caae3c8259f60bbfa6d2948ab7876f51
2019-02-25 14:16:19 +00:00
dan
f2e5c98613
Fix a couple of assert() statements in fts3 that can be false if the database is corrupt.
...
FossilOrigin-Name: 84162af521f29df8a186163fbdef9856e1aa8aba78e74d7df0ba2cc83bb86240
2019-02-23 20:48:41 +00:00
drh
7f414c0c0c
Check-in [fa792714ae62fa98] is incorrect. Add a test case to refute it and
...
also a fix to make it right.
Then add an alternative fix to ticket [df46dfb631f75694] in which
all ephemeral tables used as the RHS of an IN operator be index btrees
and never table btrees so that they can always be reused.
FossilOrigin-Name: d3915230e3ee5878fe2e65a0afb7e91ee124aaf46b4e28c6e00053d6df13d445
2019-02-23 00:21:00 +00:00
drh
4bdd26dfab
Remove a testcase() macro which is now unreachable due to the contraction of
...
the use of IN_INDEX_ROWID.
FossilOrigin-Name: 90c5a17cd526b256753f876e575f3e731d5e8b9dd6e196cf8d8f7306e099b91c
2019-02-23 00:08:09 +00:00
drh
50ef6716d2
Make all ephemeral tables built to hold the RHS of an IN operator be
...
index-btrees, never table-btrees, regardless of whether or not they are
used as IN_INDEX_LOOP or IN_INDEX_MEMBERSHIP. That way, the same ephmerial
table can be reused for both cases.
FossilOrigin-Name: c2d50df8fd1a1fdae6226a3e77296ded09b53a74540caedd4868e686a93cbc10
2019-02-22 23:29:56 +00:00
drh
bc0a55cf0b
Check-in [fa792714ae62fa980] is not a valid fix for ticket
...
[df46dfb631f75694], as the new test case in this check-in demonstrates.
The fix here causes test cases for the [df46dfb631f75694] bug to fail
again, so this check-in is on a branch. A new fix is needed for
[df46dfb631f75694].
FossilOrigin-Name: 0d456456da6e25b20d9d27ca95f1013082bca52ee74ee9bf91732a9fa843ea45
2019-02-22 21:33:56 +00:00
dan
f030b37682
Internally, remove all references to a Window object that belongs to an expression in an ORDER BY clause if that expression is converted to an alias of a result-set expression. Fix for [4feb3159c6].
...
FossilOrigin-Name: 579b66eaa0816561c6e47ea116b46f229188f0fc84c1173bfe0d21df2dff9a9a
2019-02-22 19:24:16 +00:00
drh
480c572f2d
In sqlite3NestedParse() be sure to detect all SQLITE_NOMEM and SQLITE_TOOBIG
...
errors and to distinguish between them.
FossilOrigin-Name: 73056b314bd63288c662752e9bd469b70264c38031c1c857460e64fdb1ed4e2e
2019-02-22 16:18:12 +00:00
drh
255a81f10a
Modify sqlite3_str_finish() and sqlite3VMPrintf() so that they always
...
return NULL on any OOM or SQLITE_LIMIT_LENGTH error.
FossilOrigin-Name: e7144ffd21294d7aebbfa6aa5a262797a6d16de11193f1bf6b75f5f27b04c940
2019-02-22 15:42:10 +00:00
drh
dbdddc99d8
Detect oversized strings in the OP_String opcode even if the P4 argument
...
is originally UTF8 and has to be converted to UTF16 to match the database
file and that conversion causes the string to become shorter and cross
below SQLITE_LIMIT_LENGTH threshold. This might fix an OSSFuzz problem
that we have been so far unable to reproduce.
FossilOrigin-Name: c13d563925db12bc2c91ff9432050261e5bd39d960e2739777a66bf804df2e31
2019-02-21 16:41:34 +00:00
drh
6a1bfc9a6d
Changes to the unix VFS that allegedly enable it to build of Fuchsia.
...
We have no way of testing this.
FossilOrigin-Name: be21a6416d47ff7db995006a0422b745044d9b8bb5bad3c53342aa6e2e524771
2019-02-20 19:20:16 +00:00
drh
7e85e9033f
Disable unix-specific features of dbfuzz2 when compiling on windows.
...
FossilOrigin-Name: af84774d1eebcfe6a61b564b4edf280ad3c3a93f39b7f70b6fcc56f7bbdfb9eb
2019-02-20 19:06:16 +00:00
drh
8cf92890f2
Avoid the use of function pointers in columnName(), as function pointers
...
appear to be a source of consternation to LLVM.
FossilOrigin-Name: c48f6f39c5f89a338fed7153553a27a5d882d4d8db8221e911b96e0dd57c53d9
2019-02-20 18:13:57 +00:00
drh
b1af9c603c
Progress handler improvements:
...
(1) Invoke the callback after OP_Program opcodes
(2) Invoke the callback multiple times in a row to catch up after a
long run of no progress checks.
FossilOrigin-Name: 0c5db18d79366d9c23925ce3ed835500311f32a10aa7dbfdd09148b1e8a2507b
2019-02-20 13:55:45 +00:00
drh
042666e4fa
When an IN operator drives a query loop, mark it as "CODED" so that it
...
will not be used afterwards for a (pointless) membership test. This is
a better fix for ticket [df46dfb631f75694] than the previous fix that is
now on a branch as it preserves the full optimization of
check-in [e130319317e76119].
FossilOrigin-Name: fa792714ae62fa980f1767acc6d622a6727ceb677870243c88548423795dcb5b
2019-02-20 12:52:47 +00:00
drh
2a98b586c8
Enhance the xBestIndex method on delta_parse() to return SQLITE_CONSTRAINT if
...
no delta argument is supplied.
FossilOrigin-Name: f16d127c3b4a735afae1fc236bcf90f31adff079c7d3a896f901d908ff8b8532
2019-02-19 20:29:05 +00:00
drh
2d441ce3f3
Add the delta_parse(DELTA) table-valued function to the fossildelta
...
extension.
FossilOrigin-Name: d91fcc267bf1be795dfdb1fbfb40c2aea79ddff247a51d26462136c325b7a6d3
2019-02-19 20:19:51 +00:00
drh
4bec44bdfa
Add the fossildelta.c extension in ext/misc with implementations of the Fossil
...
delta functions.
FossilOrigin-Name: b80cafa6f8a5c6ff1dc9efd2f670777ab131ace2df1eb431cedc8cfa901baf18
2019-02-19 18:39:16 +00:00
drh
6d7f18d60c
Fix a potential memory leak in RBU if the rbu_fossil_delta() SQL function is
...
misused. Misuse never happens in a working RBU system, so this is not a
particularly important fix.
FossilOrigin-Name: 12517d1b15da46bc90bd95bb9c161d7f2ecdd7f28b1b3a5ed4397939ef986061
2019-02-19 17:45:31 +00:00
drh
12fe9a0d25
Fix an assert() that might not be true if the database file is corrupt.
...
FossilOrigin-Name: f2d400db4dbfb05e2540178ed3662f97f8c57a95f8129886c7081c35e53adf0d
2019-02-19 16:42:54 +00:00
drh
3cbd2b7245
New assert() to verify the TF_HasprimaryKey flag.
...
FossilOrigin-Name: 0abace8a7aecca01c8677d07f3ec1bafb289ceffe5bcd60284701a7bf813f415
2019-02-19 13:51:58 +00:00
drh
9df385ec3d
Always use the symbolic name SQLITE_IDXTYPE_PRIMARYKEY rather than a hard-coded
...
magic number 2.
FossilOrigin-Name: 55d43adc894a6b1e0f77bf481dad6dd604a0dc0022e72bbf2e3037f97351971e
2019-02-19 13:08:35 +00:00
drh
b43ac0021f
Fix an assert() that might not be true if the %_segdir table of FTS3 contains
...
corrupt entries.
FossilOrigin-Name: a6509ca3dc2602c7d0376230ee63c1bb4c4066f007e77e9ac20d8eee966e5e13
2019-02-18 12:16:03 +00:00
drh
56785a0a80
Fix an assert() that might be false for a corrupt database.
...
FossilOrigin-Name: 0cfb888723fb8ff0763bbc23acb7d21a53f6d1c40661d8468248644281b29d85
2019-02-16 22:45:55 +00:00
dan
e7c9ca41b2
Add support for chaining of WINDOW definitions.
...
FossilOrigin-Name: c155125fd5dddb438c09d40f5137c47d88defb7a6ede4261f09d7bdaad250d37
2019-02-16 17:27:51 +00:00
drh
9c7e44cddd
Improved oversized cell detection when updating ptrmap pages in
...
balance_nonroot().
FossilOrigin-Name: aa61435a4c3800f023788081c1342ad6a05a41449a424fa6c039d5ca46072256
2019-02-14 15:27:12 +00:00
drh
82642f815b
Ensure that the nProgressLimit variable is always initialized in
...
sqlite3VdbeExec(), even if the routine jumps to its exit processing early.
FossilOrigin-Name: 167b91df77fff1a84791f6ab5f72239b90475475be690a838248119b6dd312f0
2019-02-12 22:58:32 +00:00
drh
c332e04310
Enhancement the progress callback mechanism so that the progress callback
...
is always invoked at least once at the end of a prepared statement if the
opcode count has been exceeded. This makes the progress callback more
effective at limiting run times. This check-in also includes and unrelated
performance enhancement to OP_Column.
FossilOrigin-Name: 68cce272e7f7cbc0c319ee8b7ff674d652cb1e95e903d99d848c41dff2b5d304
2019-02-12 21:04:33 +00:00
drh
5860a61d59
Further performance improvements to btreeInitPage().
...
FossilOrigin-Name: 93ae382e97c23c90312739481e47ef7f9bc475a8382c063a2de2986c950c0aec
2019-02-12 16:58:26 +00:00
drh
83acc14ad4
Increase the version number to 3.28.0 for the next release cycle.
...
FossilOrigin-Name: 6eb38c59a81d27b7c1f3edad84b27a1114df6f1607282b2be1b5de9c7decc512
2019-02-12 15:51:36 +00:00
drh
f9101623a3
Register the "vfsstat" virtual table immediately when loading the vfsstat.c
...
extension.
FossilOrigin-Name: 9bd92afd0cb0a958441e861c7006b77027125b1ceea0868958ec948b6b3c7bc9
2019-02-12 12:25:34 +00:00
drh
62e009f3d8
New test cases in test/fuzzdata8.db.
...
FossilOrigin-Name: ab2356f580384e4b40d128fc04fd6bc4dfcf50109df77d05d59adcc20f339066
2019-02-12 01:28:24 +00:00
drh
3e7800a9db
Defer computing the number of bytes of free space on a btree page until that
...
value is actually needed.
FossilOrigin-Name: 177f5f40eabfcfd229ac7f291dfed9e9ee35762e86923a0f356915f389da177d
2019-02-12 01:04:49 +00:00
drh
a941ff712d
Change an assert() into a NEVER(), since the condition is difficult to prove
...
with certainty. Improved comment on the MemPage.nFree field.
FossilOrigin-Name: fec071b89df2cbafda365077bb54bc9999e12086f36d6cea8d125662b36638dc
2019-02-12 00:58:10 +00:00
drh
8357c662b3
Do not invoke btreeComputeFreeSpace() when not necessary.
...
FossilOrigin-Name: f11b0ed47402034378ded2c60b82841b81cd1319cdb72d1ef052faef29a5294d
2019-02-11 22:50:01 +00:00
drh
d4a6744b50
Improvements to comments. No changes to code.
...
FossilOrigin-Name: 16eb0fc8f8cce51eaa5305ebc9f3bd8c8d935dd3ebebab6820e5629f9292eec2
2019-02-11 19:27:36 +00:00
drh
6813350966
Fix test cases. Avoid unnecessary tests for MemPage.nFree less than zero.
...
FossilOrigin-Name: 480a5090befdc29eaeb6f0b22831c980d6ee92438d9b2e766de68b037ded38b8
2019-02-11 17:22:30 +00:00
dan
43a6e4d3df
Fix another segfault that could occur in fts5 with a corrupted database.
...
FossilOrigin-Name: 09e337386beb2008eba969f79601d1b8ed953951ce6e43782586e168140d78d2
2019-02-11 16:12:09 +00:00
dan
47a30159e5
Fix typos in comments in fts5.h. No changes to code.
...
FossilOrigin-Name: c19e97bc927074915a3ac8307bf89d30580cf90edd75f4001bcf589b2dfefe58
2019-02-11 13:25:33 +00:00
drh
c01f41cfa6
Updates to a comment to keep it in alignment to the changes on this branch.
...
FossilOrigin-Name: 7499f74351415e601eb48eff6b6fccd3a78d137f5ea9cd7cac46b904772966de
2019-02-11 12:51:39 +00:00
dan
8cd2e4ae03
Build and test fixes for SQLITE_OMIT_WINDOWFUNC builds.
...
FossilOrigin-Name: 8824115a9776e876a3677f0cb479e311ee65584d43872b37766a146afec72d8f
2019-02-11 11:34:01 +00:00
dan
3fd7eaf3f2
Avoid using non-ANSI return statement in void function sqlite3WalSnapshotUnlock().
...
FossilOrigin-Name: 4a4952d38e8177ed8d59aaa575410bebf76787dd6d801fdbdb809d4f8c670da0
2019-02-11 11:04:17 +00:00
drh
f0c48b1cd8
Add an assert() in an attempt to repro an ASAN warning from OSSFuzz.
...
FossilOrigin-Name: 7b41222428dcebaae2e9a0e8192e091b6fdee5b1163a5fa14ca1cd4f06354983
2019-02-11 01:58:34 +00:00
drh
85a379b74b
Fix a page-cache reference leak in the btree balancer when there is a corrupt
...
database.
FossilOrigin-Name: 9285899120dec24ff2944431ad455d7ae217ef408ae2f1a3e7bdfb897099028c
2019-02-09 22:33:44 +00:00
drh
b0ea9432a1
Defer computing the MemPage.nFree value of an in-memory btree page
...
until it is actually needed, since for many pages it is never needed.
This checkin works sufficiently to prove the concept, but still has issues
with exception handling.
FossilOrigin-Name: 1d43ee4000b71f5c6d49244dee96358c567f09ba3451b9d22895a796d3f61ad6
2019-02-09 21:06:40 +00:00
dan
2fa619a3a8
Change a few assert() statements in fts3 that might fail if the database is corrupt.
...
FossilOrigin-Name: db74a56af73d92b7a9d43ceda7e4540915c580c68a0266b4ddefb9e0d5cbcbeb
2019-02-09 19:23:54 +00:00
drh
298f45c641
Small performance improvement and size reduction for pageFindSlot() - the
...
routine in btree.c that locates a free slot for a cell on a btree page.
FossilOrigin-Name: 1969372ac72d25cc642a0268f4bb0ae4b59f2dca568c119ef61b67183b3a8bd9
2019-02-08 22:34:59 +00:00
drh
16d7e87caa
Further simplifications to sqlite3VdbeMemSetStr().
...
FossilOrigin-Name: 1d212957079a2caa30f3c9d80f43464781bc9634c2b5181a5814efbddae31711
2019-02-08 17:28:20 +00:00
drh
6ff7427733
Change the sqlite3VdbeMemGrow() routine so that it no longer guarantees a
...
minimum size of 32 bytes. That minimum is no longer required, and without
the extra check for the minimum size, the routine runs faster.
FossilOrigin-Name: 5c499da8a4d0babc56883aa362ae124772fd9214a51169a88a5dee523d051658
2019-02-08 15:59:20 +00:00
drh
1cf197583d
Give the sqlite3 object a pointer to the current Parse so that if an OOM
...
occurs, it can automatically set the Parse.rc value to SQLITE_NOMEM. This
avoids a frequent extra test of db.mallocFailed in the innermost parser loop.
FossilOrigin-Name: 5c6638040b3017c6be016441422d965a3ca00dd6ae1f78cadc0b54562978f64e
2019-02-08 14:55:30 +00:00
drh
8851e10017
Do not do the optimization that attempts to pull expression values from
...
an index on that expression when processing a multi-index OR
(see check-in [a47efb7c8520a0111]) because the expression transformations
that are applied become invalid when the processing moves off of the current
index and on to the next index. Fix for ticket [4e8e4857d32d401f].
FossilOrigin-Name: 440a7cda000164d3b46109caf2e1dde80681ba9b0d94ba9be6847d2b917445cf
2019-02-08 04:15:19 +00:00
drh
1e30c7f369
Change VACUUM so that it preserves ROWID values.
...
FossilOrigin-Name: 49e5d11d463de078c2b8a963f5ed436210937e6dfddf06942132db9ec685bfd8
2019-02-07 19:07:11 +00:00
drh
24bfecab3c
Experimental change to VACUUM so that it preserves existing ROWID values.
...
FossilOrigin-Name: f264015f84de51d74f681ba62a5f26bd859480d93e1eaf9e1018b3e9b4e0bea3
2019-02-07 15:09:44 +00:00