Commit Graph

13246 Commits

Author SHA1 Message Date
mistachkin
a0efb1ae11 For the shell '.import' command, make sure the last column value present is considered before NULL filling any missing ones.
FossilOrigin-Name: 9c5bcad1f7d04c16f3ec7fc483280059ae93961b
2015-02-12 22:45:25 +00:00
drh
6728cd9180 Propagate COLLATE operators upward through function calls and CASE operations.
And do not flatten an aggregate subquery into a query that uses other
subqueries.  Fixes for tickets [ca0d20b6cdddec5] and
[2f7170d73bf9], respectively.

FossilOrigin-Name: 24e78b8d65734a6a8ae21a20542cd1839e756fb1
2015-02-09 18:28:03 +00:00
dan
9fab5ed01f Fix WITHOUT ROWID table handing in sqlite3_analyzer.
FossilOrigin-Name: 937e0fe7008c0f76b6a584180df9a9457166a0b1
2015-02-09 17:46:11 +00:00
drh
2c5e9b5672 Add test cases for the query flattener fix for
ticket [2f7170d73bf9abf8].

FossilOrigin-Name: dd8f7f7511639a1baa41a6ff2e359dc6f1e66943
2015-02-09 16:34:33 +00:00
drh
2308ed3854 Propagate the COLLATE operator upward through function calls.
Initial fix for ticket [ca0d20b6cdddec5e8].

FossilOrigin-Name: c053448a55f9d030e8ffe88cf4fc14ada7f6ec19
2015-02-09 16:09:34 +00:00
drh
885a5b030e Disable the query flattener for aggregate subqueries if the parent query
uses other subqueries in its result set or WHERE clause or ORDER BY clause.
Preliminary fix for ticket [2f7170d73bf9abf8].  However it still contains
a defect similar to the COLLATE problem of [ca0d20b6cddd].

FossilOrigin-Name: 0b7d65e3fda676d193347cb782854c28a48252af
2015-02-09 15:21:36 +00:00
drh
63f845734e Rename the internal "EP_Constant" bitmask to a less misleading "EP_ConstFunc".
FossilOrigin-Name: 4ef7ceced2b0000d21f7f8014384c04a0e4661d3
2015-02-09 14:07:07 +00:00
drh
17645f5eec In selecttrace 0x100 mode, show the parse tree after name resolution instead
of before flattening, so that it is always seen even if flattening does not
occur.  Also: add the hex pointer value to the top of each SELECT tree.

FossilOrigin-Name: aa093fef2d2a7e26d987b46654963e4d7e66d444
2015-02-09 13:42:59 +00:00
drh
0e86a1ac08 In selecttrace mode 0x100, show a complete parse-tree both before and after
query flattening.  This is a change to debugging code only.

FossilOrigin-Name: b3c6b8a3c1075d2a87cef68f061d6a0098e6d8d0
2015-02-09 11:54:41 +00:00
drh
31e7147dfa Fix over-length source code lines in resolver.c. No logic changes.
FossilOrigin-Name: c12edb85076d0832e3a0abbbba4d07f3cb5d7f0e
2015-02-09 10:20:19 +00:00
drh
d10d18da5f Fix potential 32-bit integer overflow problems on the offset and length
parameters to sqlite3_blob_read() and sqlite3_blob_write().  For
sqlite3_blob_open(), make sure the *ppBlob return parameter is zeroed if
the interface fails with SQLITE_MISUSE.

FossilOrigin-Name: 5df02f50f8348dfde4fc15126abc7b7ef7803e69
2015-02-07 15:16:35 +00:00
drh
0e55db1cd8 Change the name of ".info" to ".dbinfo" and add an optional second argument
which is the ATTACH-ed DB about which information is provided.  Provide
".indexes" as an alternative name to the legacy ".indices" command.

FossilOrigin-Name: 0f65a7e2e09f801b66897479d501607caeae4abf
2015-02-06 14:51:13 +00:00
drh
f7502f005e Add the ".info" command to the shell.
FossilOrigin-Name: 0a3100a7f264ffce6078c35e341f2f0af6c09fbb
2015-02-06 14:19:44 +00:00
drh
fe0e84c948 Add the index_xinfo pragma which gives information about the fields that
reference the table PRIMARY KEY in addition to the index key fields.
Add extra columns "desc", "coll", and "key" to the index_info and index_xinfo
pragmas.  Add the "origin" and "partial" columns to the index_list pragma.

FossilOrigin-Name: 2743846cdba572f616f56d310633703b8b50959e
2015-02-06 01:07:15 +00:00
drh
4bb8cb0927 Merge all recent trunk changes, including the movement of the pragma
table into the separate pragma.h header file.

FossilOrigin-Name: 3af19f84446ba5fc1ed754d0d73f6a6d7fb2f365
2015-02-04 23:13:48 +00:00
drh
8fb15e3b20 Fix a missing mutex in SQLITE_TESTCTRL_IMPOSTER.
FossilOrigin-Name: 71691c4be54b9ac6a35e35013f939b7d6fd4e6b8
2015-02-04 20:56:49 +00:00
drh
1dae26bdab Fix a typo in the --help output for speedtest1. Fix a dependency error
in the Makefile.in for speedtest1.

FossilOrigin-Name: f30a057aeeac2b863493b6325325b075a76b9d21
2015-02-03 19:20:03 +00:00
drh
67e65e55ab Break out the (script-generated) pragma parsing tables into a separate file,
pragma.h, to make editing easier.

FossilOrigin-Name: 32c0325bcb083fe3f0f0cfe999d00f754e15299e
2015-02-02 21:34:54 +00:00
drh
c228be5b1f Add the "index_xinfo" pragma. Add new columns to the "index_info" and
"index_list" pragmas.

FossilOrigin-Name: 30f51d7b3b292191e8351223242e708bb7f3dfa6
2015-01-31 02:00:01 +00:00
drh
1ffede8c86 Change SQLITE_TESTCTRL_INITMODE to SQLITE_TESTCTRL_IMPOSTER. Revise the order
of parameters.  Give it the ability to reset the schema parse table so that
imposter tables can be erased.

FossilOrigin-Name: 42d5601739c90434e5adfda8fa99ef7b903877db
2015-01-30 20:59:27 +00:00
drh
0699f29a14 Added SQLITE_TESTCTRL_INITMODE for improved testability.
FossilOrigin-Name: 98e029134dc1300d3ecb48b41b5107ec69ba85db
2015-01-30 15:52:26 +00:00
drh
917682a4f4 Add a few simple test cases for SQLITE_TESTCTRL_INITMODE - cases which
also test PRAGMA integrity_check.

FossilOrigin-Name: 3a6e2afe408d2b0c8166d00def2048568169d87a
2015-01-30 15:40:15 +00:00
mistachkin
fdc2e6d344 Fix some duplicated test names.
FossilOrigin-Name: 1797158db2a818134c5cba1578f69ed85948b980
2015-01-29 19:27:31 +00:00
dan
976b003344 Ensure that "PRAGMA wal_checkpoint = TRUNCATE|FULL|RESTART" block on other connections and truncate the database file as required even if the entire wal file has already been checkpointed.
FossilOrigin-Name: 53429689d4fcf472edbc89cc50b5e69ba3270634
2015-01-29 19:12:12 +00:00
drh
6267920b09 Split up the SRC variable in Makefile.msc to avoid over-long cmd.exe commands when TOP is set to a long pathname.
FossilOrigin-Name: 7d70ac65c16f08832a1f0fc4dec0f62a17cbcc85
2015-01-29 18:38:05 +00:00
drh
8964b34551 Add the INITMODE test-control.
FossilOrigin-Name: 5940af8e7872209ce41feb958643b23f7e55d258
2015-01-29 17:54:52 +00:00
dan
88392bf3ce Optimize range constraints on the rowid column of fts3/4 tables even if there is no MATCH clause in the query.
FossilOrigin-Name: 85dc12625d300fe48f3c096f54ebcb8b6ef4e30a
2015-01-29 11:52:22 +00:00
mistachkin
e4a0d79b8a Fix harmless compiler warnings.
FossilOrigin-Name: e7d2ec048c88237c124fbe598f8f7e950d43d90f
2015-01-27 21:24:33 +00:00
dan
6f0138e89e Fix a bug in the fts3 snippet() function causing it to omit leading separator characters from snippets that begin with the first token in a column.
FossilOrigin-Name: adc9283dd9bc3a6463f8c4fe23dd58a3712c349d
2015-01-27 19:01:26 +00:00
dan
18f6ff9eb7 Improve the performance of fts3/4 queries that use the OR operator and at least one auxiliary fts function.
FossilOrigin-Name: 245e8730451fbdc1c729beff7295c452df604009
2015-01-27 18:43:02 +00:00
drh
a58d4a9612 Fix a (almost always harmless) read past the end of a memory allocation
that comes about because the Expr.pTab field is checked on an
EXPR_REDUCEDSIZE Expr object before checking the Expr.op field to
know that the Expr.pTab field is meaningless.

FossilOrigin-Name: e098de691002a78270540430b0df1e120582b53f
2015-01-27 13:17:05 +00:00
drh
1466e84187 The va_list argument cannot take on a NULL value and cannot be compared with
NULL on some platforms (ex: ARM).  So do not attempt to do so.

FossilOrigin-Name: 1964e656b4b420e8d6a4ba12d270ed02db292b88
2015-01-25 20:19:53 +00:00
drh
81cda6460c In the command-line shell, make sure stderr is unbuffered so that it
automatically flushes.  This has always been the case already for unix and
on Windows when the output is a console, but apparently was not the case
on Windows when the output was a pipe.

FossilOrigin-Name: 2a9ea9b4a7d6904efb2112e32efe84123dfa75d7
2015-01-24 12:12:57 +00:00
drh
2b8c5a0039 Make sure errors in the FROM clause of a SELECT cause analysis to abort
and unwind the stack before those errors have a chance to mischief
in the "*" column-name wildcard expander. Fix for ticket [32b63d542433ca67].

FossilOrigin-Name: 9e6eae660a02303fd140dac5fbff82364f4120cd
2015-01-22 12:00:17 +00:00
drh
1d9be4f7d3 Change the undocumented ".selecttrace" command in the shell to accept
an integer bitmask rather than a boolean.

FossilOrigin-Name: bd63bf882c5a925f921adc9cf7425d2e7950f0b2
2015-01-22 11:29:25 +00:00
dan
ce8f53d447 Fix an assert() that may fail following an OOM error.
FossilOrigin-Name: 5f592359d6d41708da3b3ac9d987a1631bfa3d88
2015-01-21 17:00:57 +00:00
mistachkin
1b3ee49225 Fix harmless compiler warning seen with MSVC.
FossilOrigin-Name: 78c2e62bb4c529595aaaf2e1f5f26387ad977b1b
2015-01-21 00:51:08 +00:00
mistachkin
e45e0fb21c Enhancements to entropy generation for the Win32 VFS.
FossilOrigin-Name: 26190b3c63e18f3116deeb59a58d9b5de48e8eea
2015-01-21 00:48:46 +00:00
drh
fe201effbe Fix another instance of an incorrect value for KeyInfo.nXField on a
sorting index.  Ticket [f97c4637102a3ae72b79].

FossilOrigin-Name: 0077f64510f9b9ce90032df2696cb242d097ab84
2015-01-20 03:04:29 +00:00
drh
1cc70e2358 Ensure that the KeyInfo.nXField value for ephemeral tables used to implement
ORDER BY or GROUP BY clauses is set correctly, so that the
sqlite3VdbeFindCompare() routine can choose the correct comparison function.
Add assert() statements to the high-speed comparison functions to detect
cases where they are inappropriately chosen.
Fix for ticket [f97c4637102a3ae72b7911].

FossilOrigin-Name: f7201bb0cdc9e1425c68599b32434de2231dca36
2015-01-19 21:36:05 +00:00
drh
59b1b58b66 There are asserts in place now that will prevent a recurrence of
ticket [f97c4637102a3ae7].  Nevertheless, it is good to add some
test cases as well.

FossilOrigin-Name: e02959b9a0e1bacdd3939548d4434c042aacc2e6
2015-01-19 21:10:53 +00:00
drh
3f39bcf5bc Make sure that the KeyInfo.nXField value of ephermeral tables used for
ORDER BY and GROUP BY is set correctly, so that the correct comparison
function can be choosen by sqlite3VdbeFindCompare().

FossilOrigin-Name: c16bae5e699b851f4ca8414c5dfa5370b18f69f0
2015-01-19 20:59:34 +00:00
drh
1af3c64d03 Fix the assert() of the previous check-in so that it works even when
compiled without SQLITE_DEBUG.

FossilOrigin-Name: 38868f845e1ad4d61354ab1ad39dd19e3e07c7fd
2015-01-19 20:57:19 +00:00
mistachkin
89ea0d379a Fix compilation on Cygwin when SQLITE_MAX_WORKER_THREADS is greater than zero.
FossilOrigin-Name: 2037442c582e51d85967bc911ea4a412eb4da573
2015-01-19 20:05:53 +00:00
drh
e1bb802c54 An alternative way of implementing the assert() that verifies the relative
values of KeyInfo.nField+KeyInfo.nXField and the number of columns in a record.
This version of the assert() only fires when the high-speed comparison
routines are used - which is to say it only fires when the constraint
actually matters.

FossilOrigin-Name: bf744b4908b096f301565f6a4ea8d56667c1d76a
2015-01-19 19:48:52 +00:00
drh
e4bb23a1a7 Enhance the command-line shell with the ability to set the
SQLITE_TESTCTRL_NEVER_CORRUPT flag using: ".testctrl never_corrupt 1".

FossilOrigin-Name: 824328f9833d01fc155a9d0265ef41d338cf1ffb
2015-01-19 15:05:54 +00:00
drh
65545b5993 Eliminate all use of sprintf(), strcpy() and strcat() from test logic because
OpenBSD hates those functions.

FossilOrigin-Name: 10321910990195878c0af1e94b34ae0cdc0cb31b
2015-01-19 00:35:53 +00:00
drh
047d4538e3 Set binary mode for output on Windows when writing a quoted string that
might contain newline characters.

FossilOrigin-Name: 7096e6c06d9a3e48d3f0d134f5f3275dde796be2
2015-01-18 20:30:23 +00:00
drh
5d907be5c9 Set the command-line shell stdin to binary mode on windows.
FossilOrigin-Name: 80541e8b94b713e8f9e588ae047ffc5ae804ef1c
2015-01-18 01:50:54 +00:00
drh
acbb2e72f9 Fix a harmless compiler warning the VFS for Windows.
FossilOrigin-Name: ceac571f53bdbc02616b21a4404cb1250030dea8
2015-01-17 15:26:28 +00:00