drh
2ab792e4c0
Change sqlite3BtreeNext() and sqlite3BtreePrevious() so that they return
...
SQLITE_DONE if they have already reached the end (or beginning) of the table.
This gives a performance increase and size reduction.
FossilOrigin-Name: e972a3860892022d57b26ec44ce0fbadc61c1ff54b7a10b7e82390db88d323a7
2017-05-30 18:34:07 +00:00
drh
e70d01f143
More efficient error handling and reset in the binding mechanism.
...
FossilOrigin-Name: 9a3e3b34ba6eafce2f560c13225a3673e18d696b29295b59d958e938fa593baf
2017-05-29 22:44:18 +00:00
drh
77f6af2b96
Avoid unnecessary fstat() calls to determine the database size when
...
transitioning into a read transaction on a rollback-mode database.
FossilOrigin-Name: 6c3476b513965df22d648f9a1b99733af753b44d51163cc7d42a69bf562300e1
2017-05-29 16:45:45 +00:00
drh
5f5a2d1c3c
Avoid unnecessary calls to fstat() to determine the database file size.
...
FossilOrigin-Name: c733a1dea37e4678e7bd0d3d0ca9b8eae1fbdc28615f75d8f1e5141aa53567d9
2017-05-29 14:57:23 +00:00
drh
8abc54e2e8
Fix a typo in a comment. No code changes.
...
FossilOrigin-Name: cb29b838886769afe866b1172e3d5d7e36387149b79c51f91cf59da3f4a5f25b
2017-05-29 14:30:46 +00:00
drh
979dd1be57
Optimizations to the Walker object and its methods to make the code a little
...
smaller and to help it run a little faster.
FossilOrigin-Name: 6854a34ed708259f2280f7ee56cec09f7fc99810dc739dc2814ddeae286aa2c4
2017-05-29 14:26:07 +00:00
drh
d8a295669c
Correctly initialize the iSelectId of FROM clause terms that are a self
...
join of a reused materialized subquery. Without this, the EXPLAIN QUERY PLAN
output for the query will identify the subquery using the uninitialized
(and arbitrary) iSelectId.
FossilOrigin-Name: 43c9ae371f6250fee98a7c4011726eff8ad37f5a97add4f490ac3a2dd501a0d2
2017-05-29 13:09:24 +00:00
mistachkin
e16a350f17
Improve shell help text for the '.open' command.
...
FossilOrigin-Name: 7cc940a97efc096ff3725710f526c06f52453bd923fb9e825ce6990275df747a
2017-05-29 03:48:13 +00:00
drh
ae2ac854b3
Smaller and faster vdbeSorterCompareText().
...
FossilOrigin-Name: 542dc4c5eb87017fe03b6c181e779993aa84564785e1177ccf937d52f985593b
2017-05-27 22:42:36 +00:00
drh
14e845a9d4
Small performance increase and size decrease in the btreeInitPage() routine.
...
FossilOrigin-Name: 6f415833e0554706dcf04f68ecba4ca2e54c08f3bbf6a1dba182bb132c912a2e
2017-05-25 21:35:56 +00:00
drh
137c46f8b6
Merge the LEFT JOIN query flattener fixes from 3.19.2.
...
FossilOrigin-Name: 6513e4a121e32df7e5cd95f47cdf8049b85bdbcb378cf23db29838fb1143d3ce
2017-05-25 17:27:52 +00:00
drh
dc6de47925
The SQLITE_EXTRA_IFNULLROW compile-time option causes OP_IfNullRow opcodes
...
to be issued for references to the right-hand side table of *any* flattened
join, not just LEFT JOINs. This puts extra stress on the OP_IfNUllRow opcodes
for testing purposes.
FossilOrigin-Name: 1a074c8a2bc0b28918ef905339d11a21d30101b4ea8c06c8b3faca7d17237538
2017-05-25 11:39:50 +00:00
drh
074ce1e7fd
The TK_IF_NULL_ROW expression node must be treated as a variable that
...
references the table Expr.iTable.
Proposed fix for ticket [7fde638e94287d2c].
FossilOrigin-Name: b30a364a12d9865242b1444984cd25ee126dc69108d5c6a2d4b35df184437fe9
2017-05-25 00:28:36 +00:00
drh
f43ce0b445
The TK_IF_NULL_ROW expression node must be treated as a variable that
...
references the table Expr.iTable.
Proposed fix for ticket [7fde638e94287d2c].
FossilOrigin-Name: 77fc23013cebc7797985864b91d78db5d0e2469511732044ebfaf02b891c979a
2017-05-25 00:08:48 +00:00
drh
63ad86e70e
Fix a problem in STAT4 equality estimation for multi-column indexes
...
introduced by check-in [3e0590dee0e68cc1599].
FossilOrigin-Name: cfb0d9e0207128b1c2b48689288a849b19dbc00a22cfaca26eec4bfc773629f8
2017-05-24 04:18:00 +00:00
drh
ce13b99f99
Remove the msvc.h header file from the autoconf tarball.
...
FossilOrigin-Name: 84996aef68adeabc8bd97cad269188c67de628f776337a25ec2d63bc956cee78
2017-05-23 20:00:00 +00:00
drh
3c790f2a83
Disable the LEFT JOIN flattening optimization for aggregate queries, as it
...
does not currently work. Further fix for ticket [cad1ab4cb7b0fc344].
FossilOrigin-Name: 05ada741554b9fd00befcf7b4083637f53de68699ae5210ac18e0773ad1a9910
2017-05-23 15:33:41 +00:00
drh
1d1fc5e385
Disable the LEFT JOIN flattening optimization for aggregate queries, as it
...
does not currently work. Further fix for ticket [cad1ab4cb7b0fc344].
FossilOrigin-Name: 44b21e35c92137cc519d0cc87c627cc531d0bd442a7b9a7356fa2c6bc5f70fb6
2017-05-23 15:21:37 +00:00
drh
7c1544e051
Ensure that the expression rewriter inside the query flattener decends into
...
the substructure of the TK_IF_NULL_ROW operator. This is a continuation
of the fix for ticket [cad1ab4cb7b0fc344].
FossilOrigin-Name: 28d2902d8f4dfbbfc610f271e00d353b0baae386b56b482f96b88836410be129
2017-05-23 12:44:57 +00:00
drh
eff0a7b25e
Ensure that the expression rewriter inside the query flattener decends into
...
the substructure of the TK_IF_NULL_ROW operator. This is a continuation
of the fix for ticket [cad1ab4cb7b0fc344].
FossilOrigin-Name: 941d8142b7c9a96ff143d1add3c86cf42d61fd08e532d400dac555f23eadbcfb
2017-05-23 12:36:13 +00:00
drh
44bdc92938
Remove a surplus semicolon, which was harmless on gcc and clang but caused
...
compile-time errors on msvc. This only comes up using the encryption extension.
FossilOrigin-Name: 4510d55d1e2e23d4a4470dbd414161beec2ceefb7537fd66ea3c347e11624dfc
2017-05-23 01:30:26 +00:00
drh
10d33c1781
When flattening a query, make sure iTable attribute of TK_IF_NULL_ROW
...
operators (that result from a prior flattening of a LEFT JOIN) are updated
correctly. Fix for ticket [cad1ab4cb7b0fc344].
FossilOrigin-Name: 919d36e6ea112c8c94f01e02611c48e78c441657e6898a466cfc39f1e0001403
2017-05-23 01:29:35 +00:00
drh
3f1e9e00e6
When flattening a query, make sure iTable attribute of TK_IF_NULL_ROW
...
operators (that result from a prior flattening of a LEFT JOIN) are updated
correctly. Fix for ticket [cad1ab4cb7b0fc344].
FossilOrigin-Name: 92c178507df553e4f1110342c8f9b11b3ee37989e1d634fcaccabf657befa22f
2017-05-23 01:21:07 +00:00
drh
d4fb196531
Remove a surplus semicolon, which was harmless on gcc and clang but caused
...
compile-time errors on msvc. This only comes up using the encryption extension.
FossilOrigin-Name: 987a2b5537254b1fe843eb798d7eb7f04dbe1e32fb827cfb9e1e1ef6c2096759
2017-05-23 00:32:56 +00:00
drh
453ca043a2
Add the ".cd" command to the command-line shell.
...
FossilOrigin-Name: 5fe28e15b1d6d8a588fcaf93c6035c0e0ab7bcad1067c7933cd430d2e04bbbd8
2017-05-22 18:00:34 +00:00
dan
21766c0c16
Fix a case where NULL was being passed to memcmp() following an OOM. This is
...
probably not a real problem, as the number-of-bytes parameter was passed 0 in
this case, but it was causing a santizer complaint.
FossilOrigin-Name: 3ea2bad27e516d5dbfa4a9cb0c767d6a8387280a7e4bbf2ae80cd318da670d66
2017-05-22 08:04:09 +00:00
drh
78436d4c66
When planning a query using sorting, resolve ties in the solver by selecting
...
loop plans with the smaller unsorted cost.
FossilOrigin-Name: f261678c90297f9767040c577796cc1d4db598aa44b0de6906cb73eaef377dee
2017-05-22 00:45:15 +00:00
drh
d8025e43ae
Prevent a possible NULL pointer dereference in the OP_Found opcode that
...
can follow an OOM error. Problem found by OSS-Fuzz.
FossilOrigin-Name: 50ad60ded54aa22dfdf519ed5da6451de790e22a972ff299f7976fbdce7a0579
2017-05-19 23:04:04 +00:00
drh
e46515b53f
Prevent a possible NULL pointer dereference in the OP_Found opcode that
...
can follow an OOM error. Problem found by OSS-Fuzz.
FossilOrigin-Name: c2de178fe7e2e4e0d764e7e6ac637cfc8c053580c43f7246318dafad2974de3c
2017-05-19 22:51:00 +00:00
drh
bcbb066534
Improved comments on one routine in the query planner. Improved diagnostic
...
output for ".wheretrace". No production code changes.
FossilOrigin-Name: 946b87a5282f00d8c532a51f4390e6de781b9a0d6626cb3c077c5622895dc540
2017-05-19 20:55:04 +00:00
drh
1e1c4226ee
Fix a documentation typo. No changes to code.
...
FossilOrigin-Name: cfa4aa203646f44b303138c25672293bb87d97126fe2030d4709e8ad7814a807
2017-05-18 18:17:55 +00:00
drh
31976dacf1
Merge changes from trunk.
...
FossilOrigin-Name: 6e0f64ab5eafda5d9e61e00c89af3c1ea2c5aa29821da1bdbcab040957b12403
2017-05-15 17:56:48 +00:00
drh
dd1bb43ab5
Fix the build so that it works again with SQLITE_OMIT_SUBQUERY.
...
FossilOrigin-Name: bb0d9281588b8cc24bf2f1f10d0c56277004226adaa2ce5037782503b283b45d
2017-05-15 15:12:24 +00:00
drh
f7fa4e71f4
Negative N values in sqlite3_get_auxdata() and sqlite3_set_auxdata() can be
...
used to access an auxiliary data cache over all functions in a single prepared
statement.
FossilOrigin-Name: ff5306752e83e760255a10f20168c0f090929a4fee2a5f720dfab36f0ee72fae
2017-05-11 15:20:18 +00:00
drh
9418921c59
New requirements marks and documentation for the authorizer.
...
FossilOrigin-Name: 3980ea0911b3ad3f86d7a7bdc6503f233315c274f473e18831e13eda2c238eeb
2017-05-11 13:43:57 +00:00
drh
ee92eb80db
Improvements to the sqlite3_set_authorizer() documentation.
...
FossilOrigin-Name: 47629b1911e52445aad8ea969137bddf0019c55b4a4f0de8e77decb6a434c8a2
2017-05-11 12:27:21 +00:00
drh
2336c935af
Change the SQLITE_READ authorization call for unreferenced tables to use
...
an empty string for the column name, as this is less likely to impact legacy
authorization callbacks that assume column names are always non-NULL.
FossilOrigin-Name: 4139953ab528f20fa346409810edcb22adb6c1edc9d22f40b1b077ef842a2441
2017-05-11 12:05:23 +00:00
drh
e694139788
Rename fields of the internal AuxData object to make them unique and easier
...
to search for.
FossilOrigin-Name: 2be9850cef6492e168243807c34af72119ffbe414027a12c4eda6c421b5b950d
2017-05-10 19:42:52 +00:00
drh
0d236a8bb0
Improved documentation for the SQLITE_READ authorizer callback. No code changes.
...
FossilOrigin-Name: 92c5ea7047323d10f762877c5f56d20a3e609e8b55efcfe4880ef3048821ac1f
2017-05-10 16:33:48 +00:00
drh
701caf1eb1
Invoke the SQLITE_READ authorizer callback with a NULL column name for any
...
table referenced by a query but from when no columns are extracted.
FossilOrigin-Name: 92ab1f7257d2866c69eaaf4cf85990677b911ef425e9c5a36a96978cccfb551c
2017-05-10 16:12:00 +00:00
drh
614c6a09f7
Do not invoke codec macros for in-memory subjournals.
...
FossilOrigin-Name: d2bb0066f7c8413ef9992e6b07641cdf40ad260778074bd83cc22dcaba87860b
2017-05-10 12:49:50 +00:00
dan
2617c9bdd8
Do not invoke codec macros when reading or writing an in-memory sub-journal.
...
FossilOrigin-Name: 2c145ee6c9e7916f022331453384cbe61ee3654c08a1b88467f85235b5bc18c4
2017-05-08 18:29:36 +00:00
drh
ffe280596e
Fix an obscure assertion fault that can follow an OOM. The problem
...
was introduced by check-in [a1cf44763277b6c7].
FossilOrigin-Name: 04e7e5650efffdce759b46999beb67c250af6cf394a7779ab861f210a84c134d
2017-05-06 18:09:36 +00:00
drh
f8a2e8c2d2
Fix requirements marks and harmless compiler warnings.
...
FossilOrigin-Name: 198ff4c01d86d193a54745764d69376cab8e94747a4daa444690f7e1ec87800b
2017-05-06 17:12:52 +00:00
drh
050b124ce2
Fix a collision of the "B0" identifier name between the termios.h header
...
file and the SHA3 implementation in the shell.
FossilOrigin-Name: b9a58daca80a815e87e541cb5fff9bc8b93f131d223f322c5b83dd5a5f0c0312
2017-05-04 11:13:50 +00:00
drh
30f01249a3
Remove the unused "sqlite3_stack_used" TCL command from the test harness.
...
FossilOrigin-Name: e24b73820cdca07eee87853fe6dd9f60d76e039eeb4aebef03654db3c7c94f14
2017-05-03 19:36:50 +00:00
drh
313e6fd222
Fix the sqlite3GetInt32() function so that it correctly returns 0 on a
...
zero-length input string.
FossilOrigin-Name: 05eba9e3a5f9bb2a40af1dacd885e1915fbcd20b9af4cf0eed79ac16dbeba31b
2017-05-03 17:44:28 +00:00
drh
ad012d09dc
Always enable URI filenames when compiling with SQLITE_HAS_CODEC. Also allow
...
plaintext keys using the key= query parameter.
FossilOrigin-Name: 31a51b4d168065fa59cc0e52ba798bd87ac82160c675bd531442b65133edb401
2017-05-03 15:54:53 +00:00
drh
bd72749f7d
Fix a harmless compiler warning on Windows.
...
FossilOrigin-Name: 593e5dd00cdf8fbc680951d68b53b38262c61c467703f6a8eb477226cf6beedd
2017-05-03 13:05:08 +00:00
drh
5034dc673d
Merge the latest enhancements from trunk.
...
FossilOrigin-Name: a7dcf6a79f7e1c5884baee2909a4bf3174ae06d561dae87b390856e573f81b49
2017-05-02 19:45:14 +00:00