]>
git.ipfire.org Git - thirdparty/sqlite.git/log
dan [Sat, 30 Jun 2018 20:00:35 +0000 (20:00 +0000)]
Fix a minor problem in the code for determining whether or not an SQL
statement is SQLITE_TOOBIG.
FossilOrigin-Name:
763e6c9e2bbc0a6ef8d8361069bf7160790c9064f24f0e336b7ed85668735da9
dan [Sat, 30 Jun 2018 19:12:36 +0000 (19:12 +0000)]
Merge all changes from the weak-fallback branch except those related to the
weak-fallback feature itself.
FossilOrigin-Name:
aad718fb1afacf1c921966796ab1e149207c31b16409c5672f0371f4fb9d6565
dan [Sat, 30 Jun 2018 18:54:56 +0000 (18:54 +0000)]
Have the tokenizer handle fallback for tokens "OVER" and "FILTER" in the same
way as it does for "WINDOW".
FossilOrigin-Name:
12d819e1c17d8036900352b0989c4bfcbc34193c3735bb9af7ab051f0f129d3d
dan [Fri, 29 Jun 2018 20:43:33 +0000 (20:43 +0000)]
Further performance related tweaks for sqlite3RunParser().
FossilOrigin-Name:
5eb4776598f5bba7ef21a2c58c03105544da73d642d7ffc146f84eff1993d71e
dan [Fri, 29 Jun 2018 20:21:24 +0000 (20:21 +0000)]
dan [Fri, 29 Jun 2018 19:54:51 +0000 (19:54 +0000)]
Improve on the previous checkin. Still a bit slow.
FossilOrigin-Name:
c1fb41aa7b7207b81ee1d5d32da3380b36d694033b87a2873981e0c6437ba956
dan [Fri, 29 Jun 2018 17:44:52 +0000 (17:44 +0000)]
Instead of using a lemon %fallback directive, have the tokenizer try to figure
out whether an instance of "WINDOW" should be TK_WINDOW or TK_ID.
FossilOrigin-Name:
022079cb0d67be5ac0a50dd9a4d41ee55ce8df681ecd0a544170d75fc8649978
dan [Thu, 28 Jun 2018 20:05:04 +0000 (20:05 +0000)]
Modifications to parse.y to better support backwards compatibility for the
"window" keyword.
FossilOrigin-Name:
7c4b879bdb10f30260f0fb28fcb559ab0949865d10f4ff2cf13834a326198998
drh [Thu, 28 Jun 2018 03:38:49 +0000 (03:38 +0000)]
Introduce the concept of "weak fallback" in the parser. A weak fallback
only occurs if a syntax error would result otherwise.
FossilOrigin-Name:
c41d7079fb63831bd2f009b64cbf5a423e8119e6b841bfd9bd5a2d85fba3b142
dan [Wed, 27 Jun 2018 20:24:59 +0000 (20:24 +0000)]
Add missing VdbeCoverage() and VdbeCoverageNeverTaken() macros to window.c.
FossilOrigin-Name:
4383cb68a1241768ddb3f180f8cbb9ea1638f8806210b10aac1384b8a7ecdca2
dan [Wed, 27 Jun 2018 19:48:50 +0000 (19:48 +0000)]
Avoid redundant ORDER BY operations when rewriting SELECT statements that
contain window functions.
FossilOrigin-Name:
336de43a47e206fe7629072e5b8c80d4ede17ead8ef4dcf5d8da6833ff22d2f9
dan [Tue, 26 Jun 2018 20:19:44 +0000 (20:19 +0000)]
dan [Mon, 25 Jun 2018 20:34:28 +0000 (20:34 +0000)]
Add documentation comment for sqlite3_create_window_function(). And further
tests.
FossilOrigin-Name:
3f2705b93368f7b0dfd2e03387c3d0b55eddb04940ec83e226e420d8ab10c77f
dan [Mon, 25 Jun 2018 11:42:08 +0000 (11:42 +0000)]
Fix another problem that could cause a crash when a window function was used
in a view.
FossilOrigin-Name:
e954145a3addf60247954b9161473cd02ae2400f469840523093e25e23fbc54d
dan [Sat, 23 Jun 2018 19:29:56 +0000 (19:29 +0000)]
Fix problems with using window-functions in correlated sub-queries.
FossilOrigin-Name:
3e23cfc8133342a4de6813afdc33d726f06d625424b16d0999fb22be51bf8913
dan [Sat, 23 Jun 2018 16:26:20 +0000 (16:26 +0000)]
Fix a problem with using LIMIT in window-function queries.
FossilOrigin-Name:
c1abd2dda4154cb573bdf627cdef794d3697f874c3b70357aaf5e4ed95ad1d5c
dan [Sat, 23 Jun 2018 07:59:39 +0000 (07:59 +0000)]
Fix a problem with using a window-function SELECT as a FROM clause sub-query
in some circumstances.
FossilOrigin-Name:
11d733396f75ef1f206cd6f35630ff176484279861772918b9ea69412c13c62d
dan [Fri, 22 Jun 2018 20:51:35 +0000 (20:51 +0000)]
Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC.
FossilOrigin-Name:
5f04b016467342b5a796bf702ed25b621eb86f2961c1e703d276c93f2cb6aa89
dan [Fri, 22 Jun 2018 17:57:10 +0000 (17:57 +0000)]
drh [Thu, 21 Jun 2018 23:53:54 +0000 (23:53 +0000)]
Improved context for error_log message coming from sqlite3_prepare().
FossilOrigin-Name:
fea7ade649ae72303078782f7bc510e0a17f082ffde10e769f1aeb1cf37b5554
dan [Thu, 21 Jun 2018 19:20:39 +0000 (19:20 +0000)]
Fix a problem with handling single row partitions in the percent_rank() window
function.
FossilOrigin-Name:
b84fbf16eac718c151731e2b2dcc73f2f2a144e3670f8566a30793f1e4e6a3ec
dan [Wed, 20 Jun 2018 09:23:49 +0000 (09:23 +0000)]
Add tests to improve coverage of code in window.c. Fix a problem with "SELECT
row_number() OVER ()".
FossilOrigin-Name:
f41b6b7317e2b5ac5721a3adff49f298ded29f9e0f887af98faeb0cb7e865ab6
dan [Tue, 19 Jun 2018 19:15:25 +0000 (19:15 +0000)]
Merge latest trunk changes with this branch.
FossilOrigin-Name:
6ad0e64b465959c50d4c895c053b15ee7efed11b6427604d2eab88635d9f7319
dan [Tue, 19 Jun 2018 18:11:05 +0000 (18:11 +0000)]
Fix a problem caused by a sub-query containing a window function in the FROM
clause of a query that itself uses a window function.
FossilOrigin-Name:
f4b1b6f85b53d72e735a1382f7c3de75af405a7878dd8cdcb10394e859ea3d69
dan [Tue, 19 Jun 2018 17:13:11 +0000 (17:13 +0000)]
Fix a problem with using min() or max() as a window function.
FossilOrigin-Name:
801074ce63d3f4825cc9fa508c42629a9f74e7f9e35c5f238343bb1cff4fbae1
drh [Tue, 19 Jun 2018 11:15:19 +0000 (11:15 +0000)]
Minor change to the input grammar to make the parser tables slightly smaller.
FossilOrigin-Name:
320fa69e6aa2a7d67f6444d6c13de9893e27b85c36a933b06da113d753b6aafc
dan [Mon, 18 Jun 2018 20:34:43 +0000 (20:34 +0000)]
Fix problems with using window functions in CREATE VIEW statements.
FossilOrigin-Name:
943bccd2a6bd4cf3e0534c1fa46885bfa2ba7b780ddcdff9f1ea4cbb3f04e786
dan [Mon, 18 Jun 2018 20:08:08 +0000 (20:08 +0000)]
Add test case for the fix in the previous commit.
FossilOrigin-Name:
39434262d5cf1af197ce0abb1f1ee84ee0797823e290a493c5bf8376fbe287a6
mistachkin [Mon, 18 Jun 2018 19:09:30 +0000 (19:09 +0000)]
dan [Mon, 18 Jun 2018 17:36:41 +0000 (17:36 +0000)]
Ensure that all four callbacks are provided when registering a window function
(otherwise SQLITE_MISUSE is returned).
FossilOrigin-Name:
5720dcd8b111b1f8712c8fb4b441ccb129e838db8c26a6e9e0f095dc6a851f6b
dan [Mon, 18 Jun 2018 16:55:22 +0000 (16:55 +0000)]
Add new API function sqlite3_create_window_function(), for creating new
aggregate window functions.
FossilOrigin-Name:
da03fb4318fd2613ec5c5b109a3974ac1120c19ed16bed4ca85bbdc4b35c998c
dan [Fri, 15 Jun 2018 20:46:12 +0000 (20:46 +0000)]
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