]>
git.ipfire.org Git - thirdparty/sqlite.git/log
dan [Fri, 15 Jun 2018 19:01:35 +0000 (19:01 +0000)]
Fix another problem in lead()/lag(). And some errors that could occur
following OOM faults.
FossilOrigin-Name:
fadd4dc119d8df0d871f4d839b7a11070e2ffb8927e84b3e7a94f34196db3de3
dan [Fri, 15 Jun 2018 16:10:44 +0000 (16:10 +0000)]
Fix a bug in the lead() and lag() window functions causing them to fail when
used in queries featuring multiple window functions.
FossilOrigin-Name:
3839fb18f917e4f705821198d624b19d84eb07f1ee29ad23314ab7cec6bf6a2b
dan [Thu, 14 Jun 2018 20:52:08 +0000 (20:52 +0000)]
Fix a problem with handling of statements containing two or more different
windows.
FossilOrigin-Name:
567e09ef2a8cd84a2481117e52595bed0f3b588745a9e441aae0f87680f3a2e8
dan [Thu, 14 Jun 2018 19:06:36 +0000 (19:06 +0000)]
Fix problem with window functions min() and max() when used with a PARTITION
clause and a frame starting point other than "UNBOUNDED PRECEDING".
FossilOrigin-Name:
43eb1e75a4d7ac0973ed8589bbaf379c24cdc8eacc4e613610d2d4c24d385dc1
dan [Thu, 14 Jun 2018 14:30:51 +0000 (14:30 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
5cf5f1808a51f9c2cfc98dd49b4f1ce860b53e935287f89868ce2fdbace8eb06
dan [Thu, 14 Jun 2018 14:27:05 +0000 (14:27 +0000)]
Improve comments and code legibility in new file window.c.
FossilOrigin-Name:
bb915854d435bdd78f141d70e23527e97922ec176acd3ed8060c78dffc96bab8
dan [Wed, 13 Jun 2018 20:29:38 +0000 (20:29 +0000)]
Fix problems with "RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING" window
frames.
FossilOrigin-Name:
c34f31dbd79891249ee9485e91f6ea558ee1db62e04fb0fff2c051612b8fa5e7
drh [Wed, 13 Jun 2018 17:19:20 +0000 (17:19 +0000)]
Output infinity as 1e999 in the ".dump" command of the command-line shell.
FossilOrigin-Name:
ee431d55eba618cfba414c3946b3162bc205a70dd4e43d74a7623be332b94c92
drh [Wed, 13 Jun 2018 16:52:38 +0000 (16:52 +0000)]
Pad out the sqlite3_value structure to be a multiple of 8 bytes.
FossilOrigin-Name:
f76dc33bde4b2180b935d1261492d9535772ed37e54489c1a33e9f11c7c90433
dan [Wed, 13 Jun 2018 16:08:22 +0000 (16:08 +0000)]
dan [Wed, 13 Jun 2018 11:41:54 +0000 (11:41 +0000)]
Unless SQLITE_OMIT_AUTOINIT is defined, allow sqlite3_vfs_unregister() to be called before sqlite3_initialize().
FossilOrigin-Name:
ab6c1ae46d992f91ce0995274f48d545eb02ba92544aee89b188f2fc92b66f2a
dan [Wed, 13 Jun 2018 11:11:13 +0000 (11:11 +0000)]
Check that malloc() has not already failed when invoking the xUpdate() method
of a virtual table implementation. This fixes an assert() failure in FTS5 that
could occur following an OOM condition.
FossilOrigin-Name:
e9a7e4d58f3716991309ca0e3f080717e473c7c231685954aceee36172f19cf2
drh [Wed, 13 Jun 2018 02:20:34 +0000 (02:20 +0000)]
Add the unused SQLITE_CANTOPEN_DIRTYWAL result code. This code was used
in some historical versions on the apple-osx branch but was removed
by check-in [
27e20d699872b2b8 ]. Restore it so that old code that actually
references that result code will still compile.
FossilOrigin-Name:
9f40383eed936a6921ef8dc94775eb55d03a761f36eda7be1b9cdd0a0d30fa80
dan [Tue, 12 Jun 2018 20:53:38 +0000 (20:53 +0000)]
Fix another issue to do with window-functions in aggregate queries.
FossilOrigin-Name:
6413e38a174044c28fa9b8b937e6c972d144547a246e6f2882e782538300d042
drh [Tue, 12 Jun 2018 19:35:51 +0000 (19:35 +0000)]
Documentation update: clarify that sqlite3_errcode() and related interfaces
do not themselves modify the error code.
FossilOrigin-Name:
858fc52b237702b5e0381eebf5c158bffd7371ff0053a8583b8c175f8f691c82
drh [Tue, 12 Jun 2018 19:22:30 +0000 (19:22 +0000)]
Documentation updates: clarify the behavior of sqlite3_column and
sqlite3_value interfaces following an OOM error.
FossilOrigin-Name:
428c581e4bed1d140cfb670633c9c61b36be7bb30a862d2e1ae7eaee26dccb4f
dan [Tue, 12 Jun 2018 18:40:17 +0000 (18:40 +0000)]
Fix some problems with using window-functions in aggregate queries.
FossilOrigin-Name:
fe7081e0952950f577234fcbb58f3c1efa4579267654fd2f713dc4804e470e7e
drh [Tue, 12 Jun 2018 13:52:23 +0000 (13:52 +0000)]
Improvements to SCopy correctness tracking when SQLITE_DEBUG is enabled.
FossilOrigin-Name:
b2973f2357a2c5e22e0d612c970adbc6d51cbc5e4ff7ac6d2b678722e553e8ec
drh [Tue, 12 Jun 2018 13:16:57 +0000 (13:16 +0000)]
drh [Mon, 11 Jun 2018 21:33:08 +0000 (21:33 +0000)]
Improvements to the --enable and --disable options for the
amalgamation tarball.
FossilOrigin-Name:
02e337e0808947c7ef376b5a300cd3c461f1a368c9fe7ffd7ca5744f102641c2
dan [Mon, 11 Jun 2018 20:50:25 +0000 (20:50 +0000)]
Clarify the relationship between a Window object and its associated Expr.
FossilOrigin-Name:
0cd55e98a478740032f5569ddc00fa5b0e063e90db6e00ac7598c9b7c2fffeee
drh [Mon, 11 Jun 2018 19:47:14 +0000 (19:47 +0000)]
Fix various --enable and --disable options on the top-level configure
script.
FossilOrigin-Name:
6fd7e8ceb96981cff023653a54b85bea0e1da3d706cd9f4383f5c5533213ef4d
dan [Mon, 11 Jun 2018 18:16:51 +0000 (18:16 +0000)]
Fix handling of window frames containing negative number of rows. e.g. "ROWS x
PRECEDING AND y PRECEDING" where (x<y).
FossilOrigin-Name:
b6d9c7eda853420ae46a05bd432711e8bf9ebaa448c7d90ccfc0bcc338a87706
drh [Mon, 11 Jun 2018 18:06:48 +0000 (18:06 +0000)]
Fix the column cache invalidation logic in the code for ROWID uniqueness
constraint checking in the INSERT command. This fixes ticket
[
c2432ef9089ee73bd ].
FossilOrigin-Name:
0b485a571c805a5bc431a231a196ff6034342c6548d92b09c52814dd57c89c75
drh [Mon, 11 Jun 2018 17:35:02 +0000 (17:35 +0000)]
Add the OP_SetTabCol and OP_VerifyTabCol opcodes, only when compiling with
SQLITE_DEBUG, to do run-time verification of the column cache.
FossilOrigin-Name:
b37614a3670770919a7c7f8157c5fd6578d736447998640b52e5cef8174cadc2
drh [Mon, 11 Jun 2018 13:10:45 +0000 (13:10 +0000)]
Strengthen the sqlite3VdbeMemAboutToChange() run-time verification mechanism
to better detect missed calls to AboutToChange().
FossilOrigin-Name:
793e942205a12eedb7ecc5ad8a27e3e52bbd4e1d50a0d1453d04a83ba728884e
dan [Mon, 11 Jun 2018 11:19:35 +0000 (11:19 +0000)]
drh [Mon, 11 Jun 2018 01:30:03 +0000 (01:30 +0000)]
Always initialize the WhereClause.hasOr field that was added by check-in
[
292724ffc4 ]. Error detected by OSSFuzz.
FossilOrigin-Name:
9faf41713e865f26485d9e90918d77c25be211384941eadda6a36237f52c25de
dan [Sun, 10 Jun 2018 07:42:35 +0000 (07:42 +0000)]
Update Makefile.msc to include window.c in the build.
FossilOrigin-Name:
16db73842ade5eb0fe02f257b91d1c7b41d830d3f17f8638b8fbaed309d9a852
drh [Sat, 9 Jun 2018 20:52:45 +0000 (20:52 +0000)]
Fix a typo in the amalgamation autoconf file.
FossilOrigin-Name:
de0857f39620b7f5c921ddf8d11b11723b4ba3cfe52e43cf77e883697b7c1c4c
dan [Sat, 9 Jun 2018 18:09:44 +0000 (18:09 +0000)]
Merge recent trunk changes with this branch.
FossilOrigin-Name:
c71f23590c25b4cecd27722e6c0fc8e3bf320d399c7d9398b7016dd5cf5b05eb
dan [Sat, 9 Jun 2018 17:58:51 +0000 (17:58 +0000)]
Update the amalgamation build script to include window.c.
FossilOrigin-Name:
21d2f4a62eceab0de0b4669bf3e81eb71512211ed710ce0eb525695fb7309d6b
dan [Sat, 9 Jun 2018 17:43:45 +0000 (17:43 +0000)]
Add support for FILTER clause on aggregate window functions.
FossilOrigin-Name:
ceaf798ea09184bc0e7d3dcf3ad4d909d2e4e7018754a8417a813f33010140a7
drh [Sat, 9 Jun 2018 16:49:00 +0000 (16:49 +0000)]
Slightly smaller and faster code by encapsulating wal-index hash table
location information in a separate WalHashLoc object rather than passing
around the various elements as separate variables.
FossilOrigin-Name:
538a365b7a32ab7fa84f59d7556242cfb59b76d287b6417eb3a823197a354e8e
drh [Sat, 9 Jun 2018 14:13:46 +0000 (14:13 +0000)]
Improved comments an presentation for the recent IN operator decision
improvement.
FossilOrigin-Name:
31e480f68dfd887cfd9114f9f9fec53d751d3ecc27e36f55c0166b51b2fbb08c
drh [Sat, 9 Jun 2018 02:49:11 +0000 (02:49 +0000)]
Performance improvement to sqlite3WhereExprUsage().
FossilOrigin-Name:
fd0934139076848f2f2edfd3d74d54608531031a05a60ca6ac1d7016dcd538df
drh [Sat, 9 Jun 2018 01:12:08 +0000 (01:12 +0000)]
Compute the bitmask of indexed columns for each index once when the Index
objecct is constructed, instead of recomputing it every time it is needed.
FossilOrigin-Name:
d735872ec383bbd220b08c61d25db9ff3675d2542b9e7867e7d6323a12e0cc23
drh [Sat, 9 Jun 2018 00:09:58 +0000 (00:09 +0000)]
Avoid invoking the whereLoopAddOr() routine in the query planner if there
are no OR operators in the WHERE clause, thus speeding up query planning
slightly.
FossilOrigin-Name:
292724ffc4bfca435fff309383d488ffdbe1e314e5eb26da21cf2f621b64bce5
drh [Fri, 8 Jun 2018 23:23:53 +0000 (23:23 +0000)]
When the query planner has the opportunity to use an IN operater constraint
on a term of an index other than the left-most term, use the estimated number
of elements on the right-hand side of the IN operator to determine if makes
sense to use the IN operator with index looks, or to just do a scan over the
range of the table identified by the index terms to the left. Only do this
if sqlite_stat1 measurements are available as otherwise the performance
estimates will not be accurate enough to discern the best plan. Bias the
decision slightly in favor of using index lookups on each element of the IN
operator.
FossilOrigin-Name:
2cbbabdf5ef624d809fbb40d2d312a29e0b5f02756fc0dbf6985fc8b0c8d1ade
drh [Fri, 8 Jun 2018 21:21:01 +0000 (21:21 +0000)]
Only choose to scan an IN operator rather than use an index if we have
real STAT1 data to suggest it is advantageous.
FossilOrigin-Name:
30e874661dcc1a2ecb40df2ef74582151d85bb36c754a38548829a3b6285f18d
dan [Fri, 8 Jun 2018 20:58:27 +0000 (20:58 +0000)]
drh [Fri, 8 Jun 2018 19:54:07 +0000 (19:54 +0000)]
Merge the btreeNext() assertion bug fix from trunk.
FossilOrigin-Name:
11bd66e09035039fbfc4c5631196962dd3f2e6634f5123a7b2fec17aeaaab07b
drh [Fri, 8 Jun 2018 19:13:57 +0000 (19:13 +0000)]
Fix an assert() that can be false for a corrupt database and a strange query
that uses a recursive SQL function to delete content from a corrupt database
file while it is being queried.
FossilOrigin-Name:
99057383acc8f92093530e216c621d40386a06fe98131ff0af6df524d80a6410
drh [Fri, 8 Jun 2018 18:22:10 +0000 (18:22 +0000)]
Consider doing a partial table scan to fulfill an IN operator rather
than using an index. Try to pick the plan with the lowest cost.
FossilOrigin-Name:
1fa40a78fef4516c39b217bff67efe7e7d2077cca00aae0ef5c2c9cff94f008b
dan [Fri, 8 Jun 2018 16:11:55 +0000 (16:11 +0000)]
Do not flatten sub-queries that contain window functions.
FossilOrigin-Name:
236cb75bd1f0d5eb86aa5f52d8d548e7263c34633833dcea9dfc934f142113b8
dan [Fri, 8 Jun 2018 11:45:28 +0000 (11:45 +0000)]
Fixes to allow group_concat() to be used as a window function.
FossilOrigin-Name:
89bbc9ba8f66853a7530453f146c9df1baacd8558468016cefa7602911f7578a
dan [Thu, 7 Jun 2018 20:35:28 +0000 (20:35 +0000)]
Merge latest trunk changes with this branch.
FossilOrigin-Name:
251022034219819a1dc356542770ff46e3147a080f072eb20af6106771dadd92
dan [Thu, 7 Jun 2018 20:08:59 +0000 (20:08 +0000)]
drh [Thu, 7 Jun 2018 18:13:49 +0000 (18:13 +0000)]
The IN-early-out optimization: When doing a look-up on a multi-column index
and an IN operator is used on a column other than the left-most column, then
if no rows match against the first IN value, check to make sure there exist
rows that match the columns to the right before continuing with the next IN
value.
FossilOrigin-Name:
09fffbdf9f2f6ce31a22d5a6df7a45f19a16628da622f12d6e33171cce09fb21
drh [Thu, 7 Jun 2018 18:01:21 +0000 (18:01 +0000)]
Fix the assert()s in the byte-code engine that prove that cursors
are unidirectional.
FossilOrigin-Name:
4b0b4e14039469b656662312a5f80f086ede293e9ad04c7bc99a202b683a1e55
dan [Thu, 7 Jun 2018 17:45:22 +0000 (17:45 +0000)]
Add support for window function first_value().
FossilOrigin-Name:
060b26402880daab085ad01f5f0dbde957c7a22cd219be5b8ec94fba883051a0
drh [Thu, 7 Jun 2018 17:32:59 +0000 (17:32 +0000)]
Remove the NextIfOpen and PrevIfOpen opcodes which are no longer needed
when the IN-early-out optimization is working.
FossilOrigin-Name:
439c8162272795b422a0e01b01b832fbc12b39914c9632a674162af8bdecff98
drh [Thu, 7 Jun 2018 16:07:00 +0000 (16:07 +0000)]
dan [Thu, 7 Jun 2018 15:54:26 +0000 (15:54 +0000)]
drh [Thu, 7 Jun 2018 15:28:40 +0000 (15:28 +0000)]
drh [Thu, 7 Jun 2018 15:23:43 +0000 (15:23 +0000)]
Avoid using a prepared statement for ".stats on" after it has been closed
by the ".eqp full" logic. Fix for ticket [
7be932dfa60a8a6b3b26bcf76 ].
FossilOrigin-Name:
bb87c054b1b76959e46258ac66b24027f468b390a4148ac67f208a1fbeda4060
drh [Thu, 7 Jun 2018 14:59:22 +0000 (14:59 +0000)]
Add the WHERE_IN_EARLYOUT flag and use it to clarify the logic of this
optimization.
FossilOrigin-Name:
522f1eacc20f11002cad58232a7c2610f369568653510e54f46088f579f778dc
drh [Thu, 7 Jun 2018 14:32:16 +0000 (14:32 +0000)]
drh [Wed, 6 Jun 2018 23:31:26 +0000 (23:31 +0000)]
Change a comma into a logically equivalent but semantically clearer semicolon.
FossilOrigin-Name:
71f97f0f82b3abfb07feb78d64a182fc50ff396e85d6f5aac479dbf58ba4d00a
drh [Wed, 6 Jun 2018 20:55:10 +0000 (20:55 +0000)]
More space and performance enhancements to sqlite3VdbeRecordCompare().
FossilOrigin-Name:
83a60ff056a63f18479030e9dfb10926fbb0d906d51f2cf88233098e15c75534
dan [Wed, 6 Jun 2018 20:51:02 +0000 (20:51 +0000)]
Add implementation of nth_value() window function.
FossilOrigin-Name:
eb1fb420ac70857e7ca4cbad78be15a27bee8f915ba2da080c7efa1879c06c31
drh [Wed, 6 Jun 2018 20:29:19 +0000 (20:29 +0000)]
Small performance optimization in sqlite3VdbeRecordCompareWithSkip() for
the common case where the comparison is equal.
FossilOrigin-Name:
1e616e256a4fb1b64271706fdfa77dc5790eba0a2f0e619544e169bc61d7c805
drh [Wed, 6 Jun 2018 19:48:19 +0000 (19:48 +0000)]
Rearrange the order of some checks in the integrity_check pragma for a very
slight performance gain.
FossilOrigin-Name:
4b853f020570bf4af1b14e03f35764c7d7a03a40af58efc783e06f2b883cef78
drh [Wed, 6 Jun 2018 18:50:50 +0000 (18:50 +0000)]
Fix the sqlite3BeginTrans() calls within the snapshot extension.
FossilOrigin-Name:
1fef7ad25b6a8e59163ac57f5cf0412bfc5b0e9446fd782f5f0a7d7ee11741fc
drh [Wed, 6 Jun 2018 17:45:51 +0000 (17:45 +0000)]
Another minor optimization to OP_Transaction.
FossilOrigin-Name:
d80077aee3904e5d93164b342cae14d813de8e84e567462412751e06c7487d41
drh [Wed, 6 Jun 2018 16:28:40 +0000 (16:28 +0000)]
Change sqlite3BtreeBeginTrans() to return the BTREE_SCHEMA_COOKIE, for a
small speed improvement when starting new transactions.
FossilOrigin-Name:
a10662aa915ae2b5a78b3e10920350d32255b2d6b1a8aac0aba1ad173b07ed2b
drh [Wed, 6 Jun 2018 01:18:01 +0000 (01:18 +0000)]
Fix the ".archive" command in the CLI (and the corresponding -A command-line
option) so that it silently ignores filenames that contain "../" in their
names. This prevents the "Zip Slip" attack.
FossilOrigin-Name:
27291f2d7fd4dadf2ee9b9a7d1373158cadfbaf83c3654b00d7030dc921770c6
drh [Tue, 5 Jun 2018 23:51:52 +0000 (23:51 +0000)]
Update the version number to 3.25.0 for the next development cycle.
FossilOrigin-Name:
7598236c356cdb548c6188d69dfef99f7a08b89e512a3addfe1433ccd85e7b68
drh [Tue, 5 Jun 2018 23:21:11 +0000 (23:21 +0000)]
Avoid unnecessary loads of columns in an aggregate query that are not
within an aggregate function and that are not part of the GROUP BY clause.
FossilOrigin-Name:
e15e100660d290249ef235e7a8927b88296e56ec0f80ec626eecbd542adc7633
drh [Tue, 5 Jun 2018 20:45:20 +0000 (20:45 +0000)]
Add the OP_IfNoHope and OP_SeekHit opcodes used to reduce the number of
unnecessary sqlite3BtreeMovetoUnpacked() calls when checking for an early
exit on IN-operator loops. Futher optimizations are likely possible here.
FossilOrigin-Name:
6bf251af4347165a470d39457d61ab6d2a06c206db8f30bd8be5dbb388ae8a5b
dan [Tue, 5 Jun 2018 20:04:28 +0000 (20:04 +0000)]
Calculate non-aggregate expressions in the SELECT list of an aggregate query
that does not use min() or max() once per group, instead of once per row
visited.
FossilOrigin-Name:
dce2dfbe1590deb3ef5661230ae2d232bd492441195defbf698ac56f9629211c
dan [Tue, 5 Jun 2018 16:16:17 +0000 (16:16 +0000)]
Add implementation of last_value() window function.
FossilOrigin-Name:
2493ce1a402888f6a8f25e03052c25a4e9bca740639e98cb614f5e5160ac25d3
drh [Tue, 5 Jun 2018 15:16:25 +0000 (15:16 +0000)]
Use an OP_NotFound opcode to cancel futile IN operators early. The current
implementation is suboptimal because it always runs teh OP_NotFound. This
still needs to be enhanced to only do the OP_NotFound if no results have been
seen on the current loop.
FossilOrigin-Name:
87a9fc504f9a78caf7a7949cc7ada0a19d61bfab51bb49a00a1607194c116212
drh [Tue, 5 Jun 2018 13:54:06 +0000 (13:54 +0000)]
drh [Tue, 5 Jun 2018 13:43:02 +0000 (13:43 +0000)]
Update and correct the documentation on the OP_OpenRead, OP_OpenWrite,
and OP_ReopenIdx opcodes. No code changes other than the addition of
an assert().
FossilOrigin-Name:
8a0b730d0ea640d5cf75febe39b2162411a12eb5275765a85882158b5a085681
drh [Mon, 4 Jun 2018 19:24:41 +0000 (19:24 +0000)]
dan [Mon, 4 Jun 2018 18:55:11 +0000 (18:55 +0000)]
Add implementation of window function ntile().
FossilOrigin-Name:
3f093f608c6cc193aac77e7eafa8006c27a7776682d9d7b6e743710dff41ae42
drh [Mon, 4 Jun 2018 13:27:39 +0000 (13:27 +0000)]
dan [Mon, 4 Jun 2018 08:28:18 +0000 (08:28 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
83d6416a868fac81a78c9507185a48d00920e4322276245e285946f760915f4a
dan [Mon, 4 Jun 2018 08:22:09 +0000 (08:22 +0000)]
Add support for window function cume_dist(). Improve tests for percent_rank().
FossilOrigin-Name:
76543f7dd3a2310f6e81a1bae17db9bb5d2cf10c1b87ed3f8394b3e75576078b
dan [Sat, 2 Jun 2018 21:04:28 +0000 (21:04 +0000)]
Add support for window functions row_number(), rank(), dense_rank() and
percent_rank().
FossilOrigin-Name:
91c1cb7a217d0991a08256269f6c55ef185c25362d57b36bfbd2d85dab38e58f
drh [Sat, 2 Jun 2018 19:14:58 +0000 (19:14 +0000)]
drh [Sat, 2 Jun 2018 19:01:54 +0000 (19:01 +0000)]
Fix the usage of posix_fallocate() so that it correctly responds to
EINVAL returns.
FossilOrigin-Name:
ce2c3e7a875ede4366c48660ae8239d2b74e5f690ad5059844a45f1164f41e61
dan [Sat, 2 Jun 2018 17:00:57 +0000 (17:00 +0000)]
Update a test case in malloc5.test to take into account that malloc()
sometimes returns slightly more space than requested.
FossilOrigin-Name:
3d5eae1c26353cdee89f31f1293b05c0edb494c775ba0912d9b4fda9ab0ef304
drh [Sat, 2 Jun 2018 16:32:04 +0000 (16:32 +0000)]
Work around a sanitizer warning about a pointer being only 4-byte aligned
instead of 8-byte aligned.
FossilOrigin-Name:
1b807b51cdf455b4f54216b73fd22bbc90f94e24222401e045f88cfd27f487e3
drh [Sat, 2 Jun 2018 14:37:39 +0000 (14:37 +0000)]
Proposed fix for the use of posix_fallocate() so that it handles EINVAL
returns correctly.
FossilOrigin-Name:
ab3a5539db82814cafb832cdaebd1e14566139306453ef9cdba6b244a994fe0b
drh [Sat, 2 Jun 2018 12:05:18 +0000 (12:05 +0000)]
Fix the CSV extension so that it works with single-column CSV files.
FossilOrigin-Name:
e336cf00486bdc0ec04ecded2b7c874d73a87e6aba3544e3678bedfb9a4af3b6
drh [Sat, 2 Jun 2018 11:31:15 +0000 (11:31 +0000)]
Ensure that sqlite3AuthRead() is only call for TK_COLUMN and TK_TRIGGER
expression nodes. This fixes a harmless assert() identified by OSSFuzz.
Move the assert() into a position where it is tested even if the authorizer
is disabled.
FossilOrigin-Name:
d0c3beef7cdc680c0768ddd18f766a4ca7be822c1eb1776b2f73b7433d9962dc
dan [Fri, 1 Jun 2018 21:00:08 +0000 (21:00 +0000)]
Allow an entire partition to be cached in a temp table for all types of window
frames. This is required by nth_value() and others.
FossilOrigin-Name:
b5b18f661341d8d450147e62d321791c706f16c0550bcd98eec3e0220c039189
dan [Fri, 1 Jun 2018 13:30:45 +0000 (13:30 +0000)]
Fix a bug in the SQLITE_ENABLE_SORTER_REFERENCES code causing an out-of-bounds
array reference.
FossilOrigin-Name:
8cadaf587dc96370f9c8a1dccc366b93021e8cfe4526da9368a088828fd14faf
drh [Thu, 31 May 2018 19:14:52 +0000 (19:14 +0000)]
More documentation typo fixes. No code changes.
FossilOrigin-Name:
66c24513c2f6de98bd888c3e4c07bbb39fabf30ea9dd01eb255460054055347d
drh [Thu, 31 May 2018 19:00:20 +0000 (19:00 +0000)]
Fix a harmless typo in a comment used to generate documentation.
FossilOrigin-Name:
5a2a88cb01ef4b299f9a5b2963f392a3bae90e8a7f84b190e67f86090f891e23
dan [Wed, 30 May 2018 20:44:58 +0000 (20:44 +0000)]
Allow min() and max() to be used as window functions.
FossilOrigin-Name:
c16125a884a9131b707ac20033968c4c3177ea79625a15efb64d754568c6c7a0
drh [Wed, 30 May 2018 14:17:09 +0000 (14:17 +0000)]
Add the Makefile.fallback makefile to the amalgamation tarball.
FossilOrigin-Name:
ce3d04563337c9556d66e55acfb454789b0baa49a1be8fcc349251ce88236d62
drh [Wed, 30 May 2018 07:36:55 +0000 (07:36 +0000)]
Do not use the codec on the resetdb.test script.
FossilOrigin-Name:
fe55cea0c80ab29120574c5c4a8473b83fc80f79d7e11bc7c326bfdb32aa3902
drh [Wed, 30 May 2018 07:24:41 +0000 (07:24 +0000)]
drh [Wed, 30 May 2018 01:14:20 +0000 (01:14 +0000)]
Fix the parser so that it builds with -DSQLITE_OMIT_CTE.
FossilOrigin-Name:
86ee267ee86f5264774a9f215b1158aeaa2d605e77c205731b5ee3945d7de4c2
drh [Wed, 30 May 2018 00:59:09 +0000 (00:59 +0000)]
drh [Wed, 30 May 2018 00:54:23 +0000 (00:54 +0000)]
Demonstration code on a possible technique for optimizing the use of IN
operator on columns to the right of multicolumn indexes. If the OP_Noop
generated where were really a new opcode that checked to see if there existed
any entries in the index with a matching prefix, it might prevent unnecessary
iterations of the IN operator.
FossilOrigin-Name:
92f0fe155d5546fc7f4a443d0630613dabe149061966308e5420fad652278f16
dan [Tue, 29 May 2018 19:12:58 +0000 (19:12 +0000)]
Increase the number of database handles opened by test script oserror.test to
provoke an "out of file-descriptors" error to 20000 (from 2000).
FossilOrigin-Name:
3b00f73456c65dfc1827fdada9afb49245f9addfa684d5ae35e69a07f39164bf