drh
07f9fbd52f
When the left-hand side of a WHERE clause contraint is a UNIQUE column,
...
and that term of the WHERE clause is not used for indexing, assume that the
term reduces the number of output rows by half. This is one proposed fix
for ticket [e8b674241947eb3ba4]
FossilOrigin-Name: 5c243eec7bcccda3f97c20c2f8a44e2811807615cf0ef378bb548f0791c55964
2018-10-05 20:09:07 +00:00
drh
bebf54438e
Changes to geopoly to silience false-positive warnings coming out of clang.
...
FossilOrigin-Name: 11d9015f31d1ea2fd27174d4ceea08a145fdbb92a175bec0aae4b90f991694bc
2018-10-05 15:10:00 +00:00
drh
f470c37a2b
Add an ALWAYS on an unreachable branch in the ALTER TABLE logic.
...
FossilOrigin-Name: ebcd4523171f0988ff08e2bf36fb8a0caa40efe7ac7556b4eb206784969b03e4
2018-10-03 18:05:36 +00:00
dan
60bdcf5e56
Change a type in shell.c.in from "int" to "sqlite3_int64" in order to
...
avoid a compiler warning and possible integer overflow.
FossilOrigin-Name: bf0a6634cd8f9457992b8da522a6775a304156815bf6f4f64f96016356baa870
2018-10-03 11:13:30 +00:00
drh
9b7e8e10f2
Add an additional assert() verifying mutex invariants on the
...
unixShmSystemLock() routine in the unix VFS.
FossilOrigin-Name: cb1511065d5348c5b3015dc9d690fc5d519a14ffdfa7164bb552a4fa686ad142
2018-10-02 20:16:41 +00:00
drh
8820c8d3ee
Additional field name changes and commit fixes associated with shared-memory
...
locking in the unix VFS, to improve maintainability. No logic changes.
FossilOrigin-Name: 9280774a4bbc665d70f346d258768cbcca3e0e77791473aecfd7d0e87810ab31
2018-10-02 19:58:08 +00:00
drh
24efa5444d
Fix comments and refactor some names associated with shared-memory locking
...
in the Unix VFS. No logical changes.
FossilOrigin-Name: 3e9f1635271c92dce5324728b4ee1cc1a1856ec3c60b1b512a652c21e010e63e
2018-10-02 19:36:40 +00:00
drh
ba160891de
Add the "PRAGMA table_xinfo" command that works like table_info but also
...
shows hidden columns in virtual tables and adds the "hidden" boolean column.
FossilOrigin-Name: defa0515b8fd50ed9be699542f8c6695dd4a60c02f310665db6657ec5b6b67d0
2018-10-01 21:41:15 +00:00
drh
bfbf7d9daa
Test case for PRAGMA table_xinfo.
...
FossilOrigin-Name: 7694b9bc3003db6ba0b41c5029c8f7b84c07724e7a518e835e98b3c46e4ea227
2018-10-01 21:36:38 +00:00
drh
bdc9744f60
Change the name of the pragma to PRAGMA table_xinfo. Improve the
...
mkpragmatab.tcl script to reuse column names where appropriate.
FossilOrigin-Name: 2fdd068987e59b979045d71ae64e700600ef07e54ae340f30c2064e5dcccb8ea
2018-10-01 21:26:30 +00:00
drh
d7dc0a36cc
Add the extra "hidden" column to the end of the PRAGMA table_vinfo output.
...
FossilOrigin-Name: cf1b76135f511530dcc7b82f78c952bf97ebcddb40be06f713f9f2326915fabe
2018-10-01 18:28:42 +00:00
dan
49f84ce1cd
Speed up xAccess() calls made on an RBU VFS when there are lots of open
...
connections.
FossilOrigin-Name: 310b4b65b8c8ee080760c7efb4c7e20244c6063a5dba37a4f40490105aafd29f
2018-10-01 17:33:35 +00:00
drh
5612ef1057
Bring the PRAGMA table_vinfo statement up to date with trunk.
...
FossilOrigin-Name: 6f606f99231f88ae5ff719d0ce21afc4b844490102c27ac20aa606baaf78d8d6
2018-10-01 17:15:17 +00:00
drh
44d068532e
Fix a potential crash that can occur while reading an index from a corrupt
...
database file. The corruption is a record-header-size that is larger than
0x7fffffff. Problem detected by OSSFuzz against GDAL and reported to us
(with a suggested fix) by Even Rouault. The test case is in TH3.
FossilOrigin-Name: 8ac2cdda68f92b0352bc7f0b4be5fca4bb58565ca65055fb34153cc284ed6922
2018-10-01 13:54:30 +00:00
dan
5351e884aa
Fix a problem with ALTER TABLE commands when the schema features an INSTEAD of
...
trigger that uses NEW.* or OLD.*.
FossilOrigin-Name: c52f457e56eb9d573eb67093731eb231aaf6fd6dbdc397e6f948b82736fbe3ab
2018-10-01 07:04:12 +00:00
drh
15fc988ce0
Add the PRAGMA table_vinfo command (with an extra "v" before "info") that
...
works like PRAGMA table_info (without the "v") except that it also shows
hidden columns on virtual tables.
FossilOrigin-Name: 8bcd1a59560aa7ea73e6529e5c14ece8ac09bf7e99efdcfd388fead39846b6bf
2018-09-29 19:38:42 +00:00
drh
ca9a5faf70
Fix test cases so that they work with ICU.
...
FossilOrigin-Name: d04b2013b5436430ebbf7053d637fd89c1b15affcb42787dcf1cf5ffc3ae54e2
2018-09-28 23:53:24 +00:00
dan
f8248c42f9
Have sqlite3changegroup_output_strm() call its output function more regularly.
...
FossilOrigin-Name: 8467c31aa0bf24e597f680748460a99f425c49f5ab741c3574c339aa56857146
2018-09-28 20:46:41 +00:00
drh
09b523c99b
Fix a bug in the sqlite_memstat virtual table that was causing it to report
...
the amount of memory used as zero bytes.
FossilOrigin-Name: 8a758a872175b0c74e631c231240c5c733fbec708d0cff23eb9c4025e4a800ec
2018-09-28 18:51:18 +00:00
drh
60afcb80ee
Add the geopoly_regular(X,Y,R,N) function to the geopoly extension.
...
FossilOrigin-Name: 4505bbae58357eacab262b642b2a56d6dd380de72faceb5bbfd042eb94a12c06
2018-09-28 14:01:17 +00:00
drh
601c8f2829
Make most geopoly functions pure.
...
FossilOrigin-Name: 944e167a98e995c5750c1fcd44df857d6b10c1cbb91731fad2849415c42b2cfc
2018-09-28 13:18:24 +00:00
drh
b2d83494d3
Rig geopoly to use sqlite3AtoF() if it is available, as that routine is much
...
faster than atof().
FossilOrigin-Name: 470c6c07d0eb70806ac257c1c8ad877e041bbc14ff9a5c490edb51b2956ae726
2018-09-28 00:16:57 +00:00
drh
17e65ae4c0
Small performance optimization in the JSON parser of Geopoly.
...
FossilOrigin-Name: fb520e71035258d5490be33ee28575df2caefa5d5a301c8bbdf1471551c96282
2018-09-27 23:57:45 +00:00
drh
50db3e8d51
Enhance the GeoPOLY extension so that it always stores its polygons in the
...
binary format, which is faster and more compact.
FossilOrigin-Name: dc35f7b1754a78fa0d70c92754de07bb3c28d0d31cb929ee8a3a47ac4f3d446e
2018-09-27 20:37:52 +00:00
drh
09d00b2f4f
Ensure that the OP_VColumn opcode does set sqlite3_vtab_nochange() unless
...
the OPFLAG_NOCHNG bit is set in P5. Fix for ticket
[69d642332d25aa3b7315a6d385]
FossilOrigin-Name: 322ab1fc613f616e9f07dc94ef74a29572a21cc476d88e97b4ce865500a47b62
2018-09-27 20:20:01 +00:00
dan
0efb6f5135
Another minor tweak to memstat.c so that it may be built against older versions
...
of SQLite.
FossilOrigin-Name: 4c1fed60b9b35ac2f5d2f2533b54db429d72bdbc0aad0dd5af52ff851789d4ae
2018-09-27 17:33:06 +00:00
drh
6dd5f07d3d
Modify the memstat virtual table so that it works with SQLite version 3.9.2.
...
FossilOrigin-Name: 7171d8ae6b1e7c97b0cf06bcca2262674c9ce557c85666b4b77c16cbac508502
2018-09-27 17:15:21 +00:00
drh
982c1fac2b
Add the sqlite_memstat extension - an eponymous virtual table that shows
...
memory usages statistics for SQLite.
FossilOrigin-Name: 954ef61f6a02532e72c815208ec839310f1e00d69e0003cc6f5426f0559229d1
2018-09-27 17:03:03 +00:00
drh
d7134fe0c1
Enhancements to sqlite_memstat:
...
(1) Add an extra "schema" column to show the schema name for ZIPVFS stats.
(2) Only show ZIPVFS stats to schema that use ZIPVFS
(3) Put a NULL in unused columns of the output.
FossilOrigin-Name: 9351135b4331107be2f2bda7b6adbd5436381f4f9a68340e8a172b6517ec3f12
2018-09-27 16:57:42 +00:00
drh
7c5577acdc
Add initial ZIPVFS support for the "main" database to the sqlite_memstat
...
virtual table.
FossilOrigin-Name: 9cd27350b0f62debfe3238c57c3ab51079699142e82c05a7ec8460a8429f55f2
2018-09-27 15:45:03 +00:00
drh
d7fda6cfc5
Initial prototype of a eponymous virtual table that accesses sqlite3_status64()
...
and sqlite3_db_status().
FossilOrigin-Name: 0b44e1f68e0c8349367e3f929d4734c3df96338ec8d6fb652565bf894e8b8343
2018-09-27 15:21:13 +00:00
dan
6afa35c985
Disallow the use of window functions in the recursive part of a recursive CTE.
...
FossilOrigin-Name: 7fc2994434c7d9ed29c96a69c07e8eb4e97be776473c170c63f9a1bbaa09fa68
2018-09-27 12:14:15 +00:00
mistachkin
1c06b47864
Minor simplification: In OP_ParseSchema, read the p1 register once.
...
FossilOrigin-Name: bd250533a06e4a11c1f548c3de66b8562fc627383848570d7d030cf132fd336f
2018-09-27 00:04:31 +00:00
drh
eb7f2a0fc5
Further improvements to the ".help" command in the CLI.
...
FossilOrigin-Name: edc3d18ecbda32d6a55de76ee7335342425c57d917e9b48814a7301a012263b2
2018-09-26 18:02:32 +00:00
drh
98aa2abc45
Begin revamping the ".help" command in the command-line shell so that it
...
can accept an argument and will do a search for commands that match that
argument.
FossilOrigin-Name: 209afb8d06466536863b89a8acb9a1a18477a06331d8cce95fc6380e1666b6f5
2018-09-26 16:53:51 +00:00
dan
2e5e0e10f2
Tweak spellfix.c so that if SQLITE_SPELLFIX_5BYTE_MAPPINGS is defined at
...
compile time the Transliteration structure has space for 5 byte (instead of 4
byte) mappings.
FossilOrigin-Name: cbaf5b6c1b07b29b2c83fa01618de856d81cc1174769cb9770cb5c894cc87ace
2018-09-26 16:05:07 +00:00
drh
6b26a7b950
Fix typos in the header comment for the sha1 and sha3 hash extensions
...
in the ext/misc folder.
FossilOrigin-Name: 4ed9d83a0b14a22b3ecf25785b03b5a824d260e01a608aea85231df9b816421d
2018-09-26 03:43:42 +00:00
dan
6705584a5b
Fix a problem in releasetest.tcl causing configuration "Fast-One" to fail.
...
FossilOrigin-Name: 42e04fefbc241dd33f12abd66344a87720ae4cda6d82f2882217b3cb71be8733
2018-09-25 13:51:31 +00:00
drh
5398806889
Slightly smaller and faster alternative to [507d892c3a40a0bacbd47] that
...
fixes a problem with views that use window function as part of complex
expressions.
FossilOrigin-Name: d7c816ae15f05f21b9b213161e1044aaefc56f17e7bc4b7b551a9e04efc05855
2018-09-24 15:39:30 +00:00
dan
2fae150402
Fix a problem with views that use window functions as part of complex expressions.
...
FossilOrigin-Name: 507d892c3a40a0bacbd47ed3c4fe2d8925a82716ae08da8401750a42782ba454
2018-09-24 14:51:59 +00:00
drh
6314eeaeb3
Allow a writable virtual table to have a schema with an INTEGER PRIMARY KEY
...
and WITHOUT ROWID. This fixes ticket
[f25d5ceebe1d710ff61a571e395356869d8272ef].
FossilOrigin-Name: 5a38d9281b4ad63b853efa5cdd5ad4a64b19dfaf8250ef8e0e186684df1211ea
2018-09-24 14:10:55 +00:00
drh
6fb5d358a8
Use compile-time options SQLITE_QUERY_PLANNER_LIMIT and
...
SQLITE_QUERY_PLANNER_LIMIT_INCR to control the value for
WhereLoopBuilder.iPlanLimit, rather than embedding magic numbers in the
code.
FossilOrigin-Name: 903e501894b2a5dd7055b5154d74d4a47a619f76e66485a4d62b6259f10723d6
2018-09-24 12:37:01 +00:00
drh
7ebb605c0a
Increase the initial value of WhereLoopBuilder.iPlanLimit to 20K. Issue
...
a warning if the iPlanLimit reaches zero.
FossilOrigin-Name: 3dd35f51187574f47f860405309877cdbf9dc5710703dfd98cf98073b771140c
2018-09-24 10:47:33 +00:00
drh
f8937f9034
Fix a faulty assert() in the validation logic for the LEFT JOIN strength
...
reduction optimization. Problem found by OSSFuzz.
FossilOrigin-Name: 2fd62fccd13e326dbd7dd730112542c6faa56e466bf4f7b8e22ced543031280c
2018-09-23 02:01:42 +00:00
drh
2c3ba94969
Enhance WhereLoopBuilder.iPlanLimit to handle a case involving the OR
...
optimization discovered overnight by OSSFuzz.
FossilOrigin-Name: 7b59930a1d7b664b54d5a2bc9fa385925b5f4c8f34bf401c798307e3e2dae2c6
2018-09-22 15:05:32 +00:00
mistachkin
7cc5595a01
Fix harmless compiler warning when compiled with SQLITE_OMIT_AUTHORIZATION.
...
FossilOrigin-Name: 50f2fa19532e0f849d61d9e2a97427cfbf64cfb787ca481ef8c860d0f24f6cfe
2018-09-21 23:41:18 +00:00
drh
5eaebf3a63
Comment typo fixed. No code changes.
...
FossilOrigin-Name: 7e68cdab20f50cf776b92b2138bb4aba7cb070f2bd855dd4cbbf46d447f2dc88
2018-09-21 19:06:09 +00:00
drh
fc9098a45e
Put a limit counter on the query planner that restricts the number of
...
index+constraint options that can be considered for each table in a join.
This prevents certain pathological queries from taking up too much time
in the query planner.
FossilOrigin-Name: 8690b5a0cc08eeb175230de45d4ca9b9f7b9b22aeebea70b8b7151f10b130969
2018-09-21 18:43:51 +00:00
drh
0d7f0ccd96
Optimization to the OP_MakeRecord opcode makes speed-check.sh run about
...
1.1 million cycles faster, and results in a slightly smaller library.
FossilOrigin-Name: d10e63629183f6daf0c263cd4dae052a3786c8c1480b3b6a73124b3315e41951
2018-09-21 13:07:14 +00:00
drh
5db90714aa
Minor code simplification.
...
FossilOrigin-Name: 22ae8a52dd2fb744f467c7dccf1d7fe7c7cef0e1dcc897dd492f897e84c9facb
2018-09-20 20:43:28 +00:00