drh
cf025a8c18
Fix the assert()s in the byte-code engine that prove that cursors
...
are unidirectional.
FossilOrigin-Name: 4b0b4e14039469b656662312a5f80f086ede293e9ad04c7bc99a202b683a1e55
2018-06-07 18:01:21 +00:00
drh
f1949b6634
Remove the NextIfOpen and PrevIfOpen opcodes which are no longer needed
...
when the IN-early-out optimization is working.
FossilOrigin-Name: 439c8162272795b422a0e01b01b832fbc12b39914c9632a674162af8bdecff98
2018-06-07 17:32:59 +00:00
drh
056f5396fe
Test cases.
...
FossilOrigin-Name: 085e863713a3f2d420c0076b275a6ac445a59d4d93f9eb0e8503b4e3f5589249
2018-06-07 16:07:00 +00:00
drh
64c1f77a8e
Merge the ".stat/.eqp" CLI fix from trunk.
...
FossilOrigin-Name: a91cad3381bb843d6f58975251bf99f0fa1a1398fae53d97a98a6c8ee65e718e
2018-06-07 15:28:40 +00:00
drh
3c49eaf4be
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
2018-06-07 15:23:43 +00:00
drh
f7b0a5f3c3
Add the WHERE_IN_EARLYOUT flag and use it to clarify the logic of this
...
optimization.
FossilOrigin-Name: 522f1eacc20f11002cad58232a7c2610f369568653510e54f46088f579f778dc
2018-06-07 14:59:22 +00:00
drh
bd573c459b
Merge recent trunk enhancements.
...
FossilOrigin-Name: e9d7bf4f7b9d6f8dabc4c95d43ebf12f2149bed1c5e750048b1b684128073c38
2018-06-07 14:32:16 +00:00
drh
df12595c09
Change a comma into a logically equivalent but semantically clearer semicolon.
...
FossilOrigin-Name: 71f97f0f82b3abfb07feb78d64a182fc50ff396e85d6f5aac479dbf58ba4d00a
2018-06-06 23:31:26 +00:00
drh
6eb3480bd7
More space and performance enhancements to sqlite3VdbeRecordCompare().
...
FossilOrigin-Name: 83a60ff056a63f18479030e9dfb10926fbb0d906d51f2cf88233098e15c75534
2018-06-06 20:55:10 +00:00
drh
d882108a01
Small performance optimization in sqlite3VdbeRecordCompareWithSkip() for
...
the common case where the comparison is equal.
FossilOrigin-Name: 1e616e256a4fb1b64271706fdfa77dc5790eba0a2f0e619544e169bc61d7c805
2018-06-06 20:29:19 +00:00
drh
4011c44322
Rearrange the order of some checks in the integrity_check pragma for a very
...
slight performance gain.
FossilOrigin-Name: 4b853f020570bf4af1b14e03f35764c7d7a03a40af58efc783e06f2b883cef78
2018-06-06 19:48:19 +00:00
drh
685a50ad74
Fix the sqlite3BeginTrans() calls within the snapshot extension.
...
FossilOrigin-Name: 1fef7ad25b6a8e59163ac57f5cf0412bfc5b0e9446fd782f5f0a7d7ee11741fc
2018-06-06 18:50:50 +00:00
drh
397776a823
Another minor optimization to OP_Transaction.
...
FossilOrigin-Name: d80077aee3904e5d93164b342cae14d813de8e84e567462412751e06c7487d41
2018-06-06 17:45:51 +00:00
drh
bb2d9b1bf1
Change sqlite3BtreeBeginTrans() to return the BTREE_SCHEMA_COOKIE, for a
...
small speed improvement when starting new transactions.
FossilOrigin-Name: a10662aa915ae2b5a78b3e10920350d32255b2d6b1a8aac0aba1ad173b07ed2b
2018-06-06 16:28:40 +00:00
drh
0cfd46a1ad
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
2018-06-06 01:18:01 +00:00
drh
bb777d517d
Update the version number to 3.25.0 for the next development cycle.
...
FossilOrigin-Name: 7598236c356cdb548c6188d69dfef99f7a08b89e512a3addfe1433ccd85e7b68
2018-06-05 23:51:52 +00:00
drh
48baed4f77
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
2018-06-05 23:21:11 +00:00
drh
8c2b6d784b
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
2018-06-05 20:45:20 +00:00
dan
280c894b74
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
2018-06-05 20:04:28 +00:00
drh
86d0ea7558
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
2018-06-05 15:16:25 +00:00
drh
995bbbf993
Merge trunk changes.
...
FossilOrigin-Name: 047295c588e9fdf2ffa4e69e166f177fd193309531dc6a9ac755fb7a763adb72
2018-06-05 13:54:06 +00:00
drh
8e9deb61af
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
2018-06-05 13:43:02 +00:00
drh
00583291bd
Version 3.24.0
...
FossilOrigin-Name: c7ee0833225bfd8c5ec2f9bf62b97c4e04d03bd9566366d5221ac8fb199a87ca
2018-06-04 19:24:41 +00:00
drh
6b27f5fab7
Merge recent changes from trunk.
...
FossilOrigin-Name: f8df2a8e28acdd9573a9ffc18027553f35f769a989f5dfbf81f31b0656ee6065
2018-06-04 13:27:39 +00:00
drh
eb7df46e32
Avoid using a misaligned pointer.
...
FossilOrigin-Name: 1ecb3aa13de5c8dc611b814ff34010de0bd90aae73d88aa37a59c4627be4cc2d
2018-06-02 19:14:58 +00:00
drh
1fb7a60ca0
Fix the usage of posix_fallocate() so that it correctly responds to
...
EINVAL returns.
FossilOrigin-Name: ce2c3e7a875ede4366c48660ae8239d2b74e5f690ad5059844a45f1164f41e61
2018-06-02 19:01:54 +00:00
dan
69a4b383a2
Update a test case in malloc5.test to take into account that malloc()
...
sometimes returns slightly more space than requested.
FossilOrigin-Name: 3d5eae1c26353cdee89f31f1293b05c0edb494c775ba0912d9b4fda9ab0ef304
2018-06-02 17:00:57 +00:00
drh
5ba5f5b5d2
Work around a sanitizer warning about a pointer being only 4-byte aligned
...
instead of 8-byte aligned.
FossilOrigin-Name: 1b807b51cdf455b4f54216b73fd22bbc90f94e24222401e045f88cfd27f487e3
2018-06-02 16:32:04 +00:00
drh
789df14b11
Proposed fix for the use of posix_fallocate() so that it handles EINVAL
...
returns correctly.
FossilOrigin-Name: ab3a5539db82814cafb832cdaebd1e14566139306453ef9cdba6b244a994fe0b
2018-06-02 14:37:39 +00:00
drh
e893e2e4ee
Fix the CSV extension so that it works with single-column CSV files.
...
FossilOrigin-Name: e336cf00486bdc0ec04ecded2b7c874d73a87e6aba3544e3678bedfb9a4af3b6
2018-06-02 12:05:18 +00:00
drh
4344dbd3ab
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
2018-06-02 11:31:15 +00:00
dan
0f86c9d8fa
Fix a bug in the SQLITE_ENABLE_SORTER_REFERENCES code causing an out-of-bounds
...
array reference.
FossilOrigin-Name: 8cadaf587dc96370f9c8a1dccc366b93021e8cfe4526da9368a088828fd14faf
2018-06-01 13:30:45 +00:00
drh
416a801600
More documentation typo fixes. No code changes.
...
FossilOrigin-Name: 66c24513c2f6de98bd888c3e4c07bbb39fabf30ea9dd01eb255460054055347d
2018-05-31 19:14:52 +00:00
drh
8cdafc384e
Fix a harmless typo in a comment used to generate documentation.
...
FossilOrigin-Name: 5a2a88cb01ef4b299f9a5b2963f392a3bae90e8a7f84b190e67f86090f891e23
2018-05-31 19:00:20 +00:00
drh
fc232d6f65
Add the Makefile.fallback makefile to the amalgamation tarball.
...
FossilOrigin-Name: ce3d04563337c9556d66e55acfb454789b0baa49a1be8fcc349251ce88236d62
2018-05-30 14:17:09 +00:00
drh
5d3112872d
Do not use the codec on the resetdb.test script.
...
FossilOrigin-Name: fe55cea0c80ab29120574c5c4a8473b83fc80f79d7e11bc7c326bfdb32aa3902
2018-05-30 07:36:55 +00:00
drh
8e02a180b9
Fix a typo in an error message in the CLI.
...
FossilOrigin-Name: 808839808141493c1e5122f40b2cdff725be0cd1212e03d609345dbff7af03e4
2018-05-30 07:24:41 +00:00
drh
6a8b94e266
Fix the parser so that it builds with -DSQLITE_OMIT_CTE.
...
FossilOrigin-Name: 86ee267ee86f5264774a9f215b1158aeaa2d605e77c205731b5ee3945d7de4c2
2018-05-30 01:14:20 +00:00
drh
3e62ddbf13
Fix a harmless compiler warning.
...
FossilOrigin-Name: 8d02c7a6a09f7520ad180b0d943db475894cd39b0ccdb2ad2c44009d5f25c8a6
2018-05-30 00:59:09 +00:00
drh
a0368d9396
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
2018-05-30 00:54:23 +00:00
dan
ea93e2804d
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
2018-05-29 19:12:58 +00:00
dan
867e6de4d7
Fix autoinc.test and resetdb.test so that they work with all permutations.
...
FossilOrigin-Name: 89f56d6b0a6847b042a1556cdf79c598c9bfdbdd5f9529d508ca7b4d26a6ed38
2018-05-29 16:37:12 +00:00
drh
59ee43a78e
Add a comment to justify a goto statement. No code changes.
...
FossilOrigin-Name: f141d806476aabe592a15d83b72c9409d2cd6bd7f9cced1ea2513c134191430a
2018-05-29 15:18:31 +00:00
dan
1d40cdbd4b
More minor changes to test scripts.
...
FossilOrigin-Name: ce9b756f09df4feb485bbf9695f8c6774906eb1b2fb45a340b74ffd21c9adfd8
2018-05-29 14:29:28 +00:00
dan
d3e17ffbb7
Fix some test script issues caused by recent EXPLAIN QUERY PLAN enhancements.
...
FossilOrigin-Name: f808e22831c33bfe3d0dd44e209f64d527c23ca7c72be7c694736535afee1317
2018-05-29 14:06:55 +00:00
dan
66e82b47d9
Do not run test file "resetdb.test" as part of permutation "inmemory_journal".
...
FossilOrigin-Name: 4921e5bae4c12c3413cc0b2e58766cf2ac117ad95f92fcd1c2457db6cfabb054
2018-05-29 13:25:14 +00:00
dan
fecfb3189b
Do not require a statement journal in cases where REPLACE conflict handling is
...
used to insert a single row, so long as the REPLACE operation cannot fire any
triggers or foreign key actions.
FossilOrigin-Name: 469a62ca33081854e54f3af6d93ab5a350484b149c8c8c4ee8be0ae5418382d9
2018-05-28 18:29:46 +00:00
drh
50baf3d525
When compiling with SQLITE_DEBUG, add run-time checks to ensure that no statement aborts unless either there have been no writes or else there is a statement journal.
...
FossilOrigin-Name: ce99c7724460b9cf4ccaf7f6bc1a522b5c34d5ad0683d465f7926b10f31f7d05
2018-05-28 18:25:19 +00:00
drh
341141c339
Fix the build so that it works with -DSQLITE_TEST_REALLOC_STRESS
...
FossilOrigin-Name: 90ba2b2e5ce2619e68879eb325b43639159f27eb462b9fb6795534c91200a3d2
2018-05-28 17:43:28 +00:00
drh
4031bafafb
When compiling with SQLITE_DEBUG, add run-time checks to ensure that no
...
statement aborts unless either there have been no writes or else there is
a statement journal.
FossilOrigin-Name: 5a4542dbcf17a9f7fed600897555c271e1651fd50eb41d0b126725b486e1d14c
2018-05-28 17:31:20 +00:00