drh
9042ff214b
Fix issues with the new normalizer.
...
FossilOrigin-Name: 057d7d40c56b7416a59a79cb627b2b3e5837eca2d6dbcb50127baaadf1941f51
2018-12-10 16:49:33 +00:00
drh
643d855da9
Refactor the sqlite3_normalized_sql() implementation. This is a
...
work-in-progress. There are still issues.
FossilOrigin-Name: a4c890b0af9786295e6df05022009d8946550adb873535c610be805c2b7a4083
2018-12-10 16:00:57 +00:00
drh
2134eb5721
Merge fixes from trunk.
...
FossilOrigin-Name: ab1e58fac9e3f9d7d90cefb39f8f145d211d38ec0cb393208c4531cc646056c1
2018-12-10 00:40:43 +00:00
drh
d4a4a36171
Do not use a partial index as a table scan in an IN operator.
...
Fix for ticket [1d958d90596593a77420e59].
FossilOrigin-Name: 15bc915dd7ae25bfdfbe357c3792db3639799e4d121c6b5b24297af2d6d7129e
2018-12-08 20:30:31 +00:00
drh
a50bffb85e
Add the --async option to the ".backup" command in the CLI.
...
FossilOrigin-Name: 7b6a605b1883dfcbe237b0a58f6f0c233a109e88b521c3b3d97198526c8a0317
2018-12-08 01:09:14 +00:00
drh
2f6239ed4e
Allow the INTO clause of VACUUM to be a text-valued expression.
...
FossilOrigin-Name: af172b53b46759f491f522356e14c5e2374d3f25ec70fbc1e100cadded8f9b22
2018-12-08 00:43:08 +00:00
drh
7464f578ed
Do not allow VACUUM INTO into a file that already exists.
...
FossilOrigin-Name: 92f70e0fa3c9de7fde046f11cc0a7c2800511bb5ace8e68c845133931607616e
2018-12-07 23:48:41 +00:00
drh
52993b31e1
Merge the VACUUM simplification from trunk.
...
FossilOrigin-Name: 93d92a0a5d21a1856316c0205ecaa253691b6e5349b552d43027005676d14820
2018-12-07 20:40:12 +00:00
drh
83da91b7bd
Remove a line of code from VACUUM that is no longer needed, due to the
...
change that allows ATTACH to run within a transaction.
FossilOrigin-Name: a92c398fc5df142ff1459c1be4a6832f2219bc7fabe5789535be3bbd41a4269b
2018-12-07 20:26:29 +00:00
drh
b0b7db91b8
Prototype implementation for the VACUUM INTO command.
...
FossilOrigin-Name: 036e3320a4af36c1311b25b2e504b0079c8b33df8ad7b7e5fddad07150e6f87d
2018-12-07 17:28:28 +00:00
drh
893bd3751b
Fix the sqlite3_normalized_sql() interface so that it renders
...
double-quoted string literals as "?".
FossilOrigin-Name: 0d8e150434bbd179696f1ffe71d1e06cb3d43e6468496c7e481fca8486387bad
2018-12-07 16:32:11 +00:00
drh
a37b6a5e31
Performance improvement: Avoid using sqlite3WalkerSelectExpr()
...
and sqlite3WalkerSelectFrom() twice, so that the compiler will in-line their
implementation.
FossilOrigin-Name: 2b9258b8b0342330ebe8c22b59ec276fd042a05547d15b24fdf29e16280868de
2018-12-06 22:12:18 +00:00
drh
a838997544
Fix the sqlite3ExprDup() routine so that it makes complete duplications of
...
subqueries containing window functions.
FossilOrigin-Name: 940174543e87184a0278fcd02e8a096a11510174d9c1d65d21878819790ddaff
2018-12-06 22:04:19 +00:00
drh
11df7d2839
Simplify the query flattener so that it does not duplicate the WHERE clause
...
of subquery that is being incorporated into the outer query - copies it
directly. This is more efficient. And it also fixes the specific test case
show for ticket [f09fcd17810f65f71789525] but it does not resolve the more
general problem that sqlite3ExprDup() does not correctly duplicate expressions
that contain subqueries with window functions.
FossilOrigin-Name: f1b18d44ff855573542c1947a42d4025dff54cacc13dac14d044521762ea9736
2018-12-06 19:15:36 +00:00
drh
d5b44d60c7
When masking bits off of sqlite3.flags, make sure the mask is 64 bits
...
in size so as not to accidentally mask of high-order bits.
FossilOrigin-Name: 53d3b169d8e1892163526caff2c843302c92e280fdeff6831e23a9bb15b82be3
2018-12-06 17:06:02 +00:00
drh
70d5dfba68
When saving off the value of sqlite3.flags, take care to preserve all 64
...
bits.
FossilOrigin-Name: 9c6dbcfab5952cf4e54de30cf9cee48f988b91a35dc3f04d64d6d994dd84a076
2018-12-06 16:50:55 +00:00
drh
ec8fc62c42
Issue a warning whenever a double-quoted string literal is used.
...
FossilOrigin-Name: ac9ad5043026b30394812457e1535df2759aea0d4510029561e92e386672796f
2018-12-06 16:11:14 +00:00
drh
3e2d47d49f
Invoking the sqlite3_trace() or sqlite3_trace_v2() interfaces cancels
...
any sqlite3_profile() that is running.
FossilOrigin-Name: ec63d3506bd429560077f82a4c5ed9d189780789fe1c134fff4f3b8733be1a3f
2018-12-06 03:59:25 +00:00
drh
fc08a1aef8
Remove the unused pColHash field from the Table object.
...
FossilOrigin-Name: 3a2c047989facc3461c63a2f9eed412014c951035a80da47c52a70139fb552de
2018-12-06 02:01:17 +00:00
drh
974b24896a
Fix a potential NULL pointer dereference that can occur in ALTER TABLE
...
following an OOM. Test case in TH3.
FossilOrigin-Name: ea50815bf80ab0d36891518f209acbcd3d6d8d84529741bffd4e841874c78aff
2018-12-06 01:53:12 +00:00
drh
1f169fefca
Fix a missing mutex in the sqlite3_normalized_sql() interface when it is
...
called on a prepared statement that did not previously have a computed
normalization of the input SQL.
FossilOrigin-Name: 1a1a59c6c570879c8f318bbc132103c0285088ba233dd8c32e049b86419347b0
2018-12-06 01:08:58 +00:00
drh
7b278f0c3d
Get rid of the hash table used to track IN operators in the
...
sqlite3_normalized_sql() implementation. Use simple integer variables
instead.
FossilOrigin-Name: 272dc74fd0304d6a28aaa8798d13e2f950c1a24d92d17519e3c32aef86714586
2018-12-05 23:56:02 +00:00
drh
253a6af532
The sqlite3_normalized_sql() interface should not be transforming quoted
...
identifier names into wildcards. Fix this, and at the same time simplify
the code substantially.
FossilOrigin-Name: e8540377ec66fa5f9ae3c93bedb5c094057698199c37fc211f7ea95429e815e4
2018-12-05 23:45:46 +00:00
drh
d4a4dd6ebc
Fix an imbalanced lock problem in sqlite3Normalize() introduced by the
...
simplification in [94ea6379178e3ff6a].
FossilOrigin-Name: f69624373e33c4d370a9264a317ffdb0adbce967a950f243de2b41161a8c7ded
2018-12-05 21:55:39 +00:00
drh
19efd0db41
Simplifications to the sqlite3_normalized_sql() implementation.
...
FossilOrigin-Name: 94ea6379178e3ff6a0d1d5819ca4ac558bdadb1ca8a3637c797079db7dc0cd61
2018-12-05 17:48:57 +00:00
dan
ea41251eb0
Ensure that ALTER TABLE modifies table and column names embedded in WITH
...
clauses that are part of views and triggers.
FossilOrigin-Name: f44bc7a8b3fac82aa5598e9bdaf65ea4dd3c331cf90c1d5ba26ff1698e92c230
2018-12-05 13:49:04 +00:00
drh
707821ff72
Enhance the sqlite3_normalize_sql() interface so that it works even if the
...
prepared statement was not initially compiled using
SQLITE_PREPARE_NORMALIZED. Enhance the ".trace" command in the CLI so that
it is able to access the full scope of functionality provided by
sqlite3_trace_v2() and in particular so that it is able to show normalized
SQL output using the newly enhanced sqlite3_normalize_sql() interface.
FossilOrigin-Name: 7da617e97eb905cb009c47403786682b911e32a630f266e1c53ea72836fc88b5
2018-12-05 13:39:06 +00:00
drh
04c6747a80
Performance improvement in sqlite3_step() by creating a new mTrace flag
...
for the legacy xProfile pointer that is set by sqlite3_profile().
FossilOrigin-Name: e28584e8bc7b7405380064b60523fa6191f827f74075f6d117eb7732d752ba5e
2018-12-04 14:33:02 +00:00
drh
b7de827137
Small performance increase in sqlite3_step() for the common case where
...
it returns SQLITE_ROW.
FossilOrigin-Name: 893448265299f4c70c32c8e92ea66f8d33c1c213b21701f73fa3815514cd5ef6
2018-12-04 13:51:26 +00:00
drh
de72d2a81a
Remove two lines of unnecessary code, for a very small performance increase
...
and size decrease.
FossilOrigin-Name: 15824ccda0f110794a479b58fbf36082d8c383f34bae9dc0921d96547fb37869
2018-12-03 01:58:02 +00:00
drh
4a5cff73a7
Fix a parser bug in the use of parentheses around table-valued functions.
...
FossilOrigin-Name: 58a51123d1a6381cc67d3c64ba3468ec5a92c299ad6fd86de0b843d0ffafb846
2018-12-03 01:47:41 +00:00
drh
fdc75c9f53
Omit a line of code that has no affect on the outcome.
...
FossilOrigin-Name: 5d933aa659eb7a13f9ab44fe7762be292a1c3c75b957a3b7e0bc6188257b62f4
2018-12-02 01:15:16 +00:00
drh
04ab586bf3
Very slightly smaller and faster.
...
FossilOrigin-Name: 27798f17f567ad065f8a99effcb287bc241df7b450330ef890d192c70528e62b
2018-12-01 21:13:41 +00:00
drh
4d2f81eb73
Fix a typo in a comment used to generate documentation. No changes to code.
...
FossilOrigin-Name: 62360ceae9d2321003c49cfac3e9f915969a0da12d02c3e633cfa898c0a68566
2018-11-28 19:23:28 +00:00
drh
26505e5f51
Follow-up to [0bf0fd242b93c3bd30]: only reset the pager when adding a
...
new codec, not when overwriting an existing codec. Also, improve a
comment in the pcache1 subsystem.
FossilOrigin-Name: 5c040fdb013d178e5dffa300621eab91b92beb085ffb9ef2ba08f6bf1dd4013e
2018-11-28 11:09:09 +00:00
dan
f6e015fab9
Fixes for SQLITE_OMIT_VIRTUAL_TABLE builds.
...
FossilOrigin-Name: 9bcdec85e21a5228c700f7373b92ae7ea14b585bcda34235b605be4f7ec15a15
2018-11-28 08:02:28 +00:00
dan
63e50b9ed6
Fix a failing assert() in sqlite3ResetAllSchemasOfConnection().
...
FossilOrigin-Name: 0ea049f342d11c676e148239e45d252164081362e921a4beb735d6899eb77344
2018-11-27 19:47:55 +00:00
drh
746a1515b2
Remove the sqlite3PagerUseWal() routine which was made obsolete by
...
the [81629ba91475938b6ad] change.
FossilOrigin-Name: 4331b4990cbc1221d94fadd376dfc6efe83f67836aef00912126da4c924bf659
2018-11-27 14:41:07 +00:00
drh
eea8eb6d04
Do not allow direct access to internal-use SQL functions such as
...
sqlite_rename_column() and sqlite3_rename_table() except when the
new SQLITE_TESTCTRL_INTERNAL_FUNCTIONS flag is set.
FossilOrigin-Name: 6e1330545e7b74fe5f1f20751a3425e2788441485fc07fcb7626e448c72027ce
2018-11-26 18:09:15 +00:00
drh
49b269e095
Minor comment enhancement in alter.c. No changes to code.
...
FossilOrigin-Name: 12920bcb99b25e147e1877ee001bc551a743e3530c954fe2b45a18a4eef9eeff
2018-11-26 15:00:25 +00:00
drh
eafb9a0ae5
Make the winTruncate() method of the windows VFS be a no-op if there are
...
outstanding references to the memory-mapped pages. Otherwise, memory might
be deleted out from under those references when the file is remapped during
the truncate operation.
FossilOrigin-Name: ffce4aac18dacbf2a3112ae2ab56c7db20cb164f179683d90a66ef38f4a98f2b
2018-11-24 17:46:07 +00:00
drh
48ea97e5dd
Remove the unused mmapSizeActual field from the Windows sqlite3_file
...
implementation.
FossilOrigin-Name: 0e7aa62227d1d9c3540b54d7caf44a1ce7ccfa706672fc41dbb2be477ab3a667
2018-11-24 16:07:21 +00:00
dan
09236755ee
Fix a problem reading from temp databases in SQLITE_DIRECT_OVERFLOW_READ
...
builds.
FossilOrigin-Name: 81629ba91475938b6ad528e7b1dbef4ad22239782bb2e9c1bb59413aba11da87
2018-11-22 19:10:14 +00:00
dan
3c425484a7
Fix problems in pragma.c causing some PRAGMA statements to test the wrong
...
schema-cookie before proceeding, or to try to open cursors on the wrong
database ("PRAGMA foreign_key_check" only).
FossilOrigin-Name: 6982f52f579d20b8a2965373731d41622bda7f09fbf82cc005bb378321829f4c
2018-11-20 18:09:59 +00:00
drh
92cd307c1c
Fix harmless compiler warnings that appear with SQLITE_OMIT_EXPLAIN.
...
FossilOrigin-Name: 5fff00b0d5eb634d40e767671d5a0e8bd263d15d88abe531f6072f01bc789568
2018-11-17 14:26:45 +00:00
drh
0c5a95e43a
Remove a C++-style comment.
...
FossilOrigin-Name: 645232f2b9ce3ee345b1d22c0db1265e39bb674bef9ab6fb10d5bee8ab696787
2018-11-17 14:19:34 +00:00
drh
20b3fc4db1
Add SQLITE_CONSTRAINT support to the xBestIndex methods on dbstat,
...
sqlite_dbpage, and zipfile.
FossilOrigin-Name: 5cd24e552b4fed71cfb2e37929371175682f23f1430df2900a87e6a5823d138e
2018-11-16 20:18:07 +00:00
drh
e4f90b7075
Update the generate_series() table-valued function to make use of the new
...
SQLITE_CONSTRAINT return from xBestIndex.
FossilOrigin-Name: 4372ad644dda5a1fa46b6b6070092320c835439b41f598cbc041e9deef786988
2018-11-16 15:08:31 +00:00
dan
c86b23bfbc
In order to avoid exporting a symbol, use a macro instead of a function to
...
replace sqlite3_complete() in the shell code when SQLITE_OMIT_COMPLETE is
defined.
FossilOrigin-Name: d584a0cb512815945ef06ee3b5ebadbf2a543b008487f6d098e1e8ab79f61d2d
2018-11-16 14:36:42 +00:00
drh
32dcc847b5
Enhance the xBestIndex interface of virtual table so that if the xBestIndex
...
method returns SQLITE_CONSTRAINT then that particular combination of
constraints is considered unusable and does not participate further in
query planning.
FossilOrigin-Name: 684013cef6bfcfd920a4aec645df9f5d41ace8b34e75fca61759c1b4f82cc89e
2018-11-16 13:56:15 +00:00