Commit Graph

13521 Commits

Author SHA1 Message Date
dan
49e24da9e7 Merge latest trunk changes with this branch.
FossilOrigin-Name: 4621b2eef8be6d944f87de097bd11c649fe43333
2015-04-01 18:22:26 +00:00
dan
e34162b14f When vacuuming an index that uses no collations other than BINARY, assume that the order of index entries will not be changed by the VACUUM.
FossilOrigin-Name: e403460b96814ac8cb976d58b27939b3bd3c61f9
2015-04-01 18:20:25 +00:00
dan
b18e60b3e4 Reduce the CPU used by CREATE INDEX statements by taking better advantage of the fact that keys are inserted in sorted order.
FossilOrigin-Name: 592cdc5d7254be7032aa9c0b03405a74ca060b51
2015-04-01 16:18:00 +00:00
drh
ccf46d0b90 Improved detection and suppression of endless loops in clearDatabasePage().
FossilOrigin-Name: 30011ad2f55cfcacaf23a58ebcc17b17a7b9355e
2015-04-01 13:21:33 +00:00
drh
f50e8aec77 Improved tracing and debugging support on windows.
FossilOrigin-Name: 5c965a71b957fdb0310ac1af9bf2fc3b418af668
2015-04-01 01:26:12 +00:00
drh
f9d02f3663 On windows, flush the mapping view when syncing content to disk.
FossilOrigin-Name: a828e73dc1ae50189bdf73f60caeb7308738ad7a
2015-03-31 19:40:05 +00:00
mistachkin
98f1c4086d Set the winShm.id member when it is going to be traced.
FossilOrigin-Name: fa7916b67efbc44e6f115bb0d32d8b92fd0acf3c
2015-03-31 19:17:44 +00:00
mistachkin
d25675f897 Build fixes for OSTRACE enhancements.
FossilOrigin-Name: f79c236fc537ecee1ea7448a3e3216a2415561a1
2015-03-31 19:06:46 +00:00
drh
2c32ed7a58 Path portability enhancements for mptester.exe.
FossilOrigin-Name: c8694657bdc5d0917d8fe78fd3937d8e9cd9d04b
2015-03-31 18:18:53 +00:00
drh
4c45196a76 Add the "mptest" target to main.mk. Change TRUNCATE and PERSIST to DELETE
for mptest.c on Windows because of problems trying to delete the journal.

FossilOrigin-Name: ea697e6d9ff1f4d77774589a02ba4a18feafbf03
2015-03-31 18:05:49 +00:00
mistachkin
25a72de917 Path handling portability enhancements for mptester.
FossilOrigin-Name: da49634b331812fa4d6e33d72c9661aeab203ae8
2015-03-31 17:58:13 +00:00
mistachkin
eb48b062a1 Testing enhancements on Windows.
FossilOrigin-Name: 9cc70eee2e365dd390210f436b893b9d80a19b04
2015-03-31 17:45:44 +00:00
drh
8237f6d180 Change the sqlite3_log() message generated on a retry after delay in os_win
to be an SQLITE_NOTICE instead of SQLITE_IOERR.

FossilOrigin-Name: 5d533eee049e63b3700f5ef7c28c588afccde57a
2015-03-31 17:32:06 +00:00
drh
d881ce8fa7 Fix configure.ac and Makefile.in so that they generate pkgIndex.tcl correctly.
FossilOrigin-Name: 3deff25249c59b7fc1b6eb65dda39736955679c6
2015-03-31 17:01:52 +00:00
mistachkin
4d2daba467 Minor tweaks to the MSVC Makefile.
FossilOrigin-Name: 7244ea59ede8aa2c7d1dc2c85268e12ddd452e27
2015-03-31 16:42:16 +00:00
drh
6b5f0ebe97 Handle very large URI pathnames for in-memory shared-cache databases.
FossilOrigin-Name: 586a94e85bc13700a2093734711c1367fa814b8c
2015-03-31 16:33:08 +00:00
drh
1cc0d11a16 Fix harmless compiler warnings in lemon.c
FossilOrigin-Name: bbe7dcda689a25860f2104804f00ba0a720c1372
2015-03-31 15:15:48 +00:00
drh
96e285692a Fix the corruptJ.test case so that it works with and without
SQLITE_SECURE_DELETE.

FossilOrigin-Name: 0c0ecfd68573957553b966229a67bfcd10ce4b99
2015-03-31 14:31:41 +00:00
drh
8773b858e1 Additional logging information output by mptester.
FossilOrigin-Name: 0cbbf6e4571ffef102c0e515f29166f2f2022126
2015-03-31 14:18:29 +00:00
drh
fe0ba71112 Add the "mptest" target to Makefile.msc
FossilOrigin-Name: 1e814e0bd116ad5a05ab9f0ebed7e21b23ed0681
2015-03-31 13:46:13 +00:00
drh
bc8a6b31b6 Ensure that comparison operators do not mess up the MEM_Dyn flag on registers
when reverting affinity changes.

FossilOrigin-Name: 02e3c88fbf6abdcf3975fb0fb71972b0ab30da30
2015-03-31 11:42:23 +00:00
drh
116f0be024 Prevent a possible infinite loop when trying to DROP a table from
a corrupt database.

FossilOrigin-Name: 395bb3e677a6551b06ba96fc58c393132b93d1e8
2015-03-30 23:43:56 +00:00
dan
7004f3f6a3 Improve performance of multi-field sorts where the first field has a low cardinality.
FossilOrigin-Name: 601e7b6b8e6bfabda03b70f75094c9014e3a3c49
2015-03-30 12:06:26 +00:00
dan
d2e1191929 Remove some unnecessary code from vdbesort.c.
FossilOrigin-Name: b58191e91736b1d978db4127f22867dfe2302f7c
2015-03-30 09:58:38 +00:00
dan
a9d9111c4a Further optimizations for sorting records that begin with integer or text values.
FossilOrigin-Name: 24fe9f25d64ee516633fed1ae7ebc21554aa69ca
2015-03-28 19:56:41 +00:00
mistachkin
30d1dcabf5 Merge updates from trunk.
FossilOrigin-Name: 45acf6a85150839d591316418dad59ae20ce3aa4
2015-03-27 18:22:01 +00:00
mistachkin
ad1e55e55a Enhancements to OSTRACE usage in the Win32 VFS.
FossilOrigin-Name: ab5800291e1908b5b51d912feeacf748dc9be14b
2015-03-27 18:20:25 +00:00
drh
6f5a37a464 Fix the ".testctrl imposter" command in the command-line shell to be
consistent in error reporting and results with the other .testctrl
commands.

FossilOrigin-Name: 0ec08ba8a0fa188146b071a489908332693ba59a
2015-03-27 02:27:20 +00:00
mistachkin
9871a933c1 Using MSVC, get the sqlite3IoTrace variable working with the USE_STDCALL and/or DYNAMIC_SHELL options.
FossilOrigin-Name: fe976c9130f6eecfa0a10347ee3f800f32051b89
2015-03-27 00:21:52 +00:00
mistachkin
34a8065f49 In the MSVC Makefile, make the DYNAMIC_SHELL option work without USE_STDCALL.
FossilOrigin-Name: 25b46a9c7e03a84bee2ffddc6d7fd6ae280e9d7b
2015-03-27 00:19:31 +00:00
mistachkin
ccb43714da When syncing a memory mapped file on Windows, flush the mapped view as well.
FossilOrigin-Name: df204049b9ec8dd3e43ed7dc251eaecedc05af4b
2015-03-26 23:36:35 +00:00
mistachkin
56d89cbee3 Revise Win32 locking test to account for recent log message changes.
FossilOrigin-Name: 1bc76339e8542770bff7829a3dd346680950c0a5
2015-03-26 18:24:26 +00:00
drh
592f0cb15e Avoid leaving the malloc subsystem in a partially initialized state if
the low-level initialization callback fails.

FossilOrigin-Name: 3e872011ff5e27738c282f46d2b5803d94fe4b76
2015-03-26 17:04:23 +00:00
drh
21aa6a1acb Provide source code line numbers for errors in the Windows VFS generated
by the winLogIoerr() routine.

FossilOrigin-Name: b5da0d93cd1a3c0917399af3775a32327b883c8e
2015-03-26 15:27:32 +00:00
drh
f3e8748683 Fix a harmless compiler warning in FTS3.
FossilOrigin-Name: 1688f60c08cc9270948402d98a2333382aa32681
2015-03-26 14:29:51 +00:00
dan
57a140946f Optimize cases where all the sorter is sorting a set of records that all begin with integer values, or that all begin with text values to be compared using BINARY.
FossilOrigin-Name: ce5ad17c25cf2f8274ce304c51e4421faae0b32b
2015-03-26 11:55:03 +00:00
drh
606a357288 Change an unreachable branch into an assert().
FossilOrigin-Name: fb076b28c36975ff2e41440f22fe5de115c195da
2015-03-25 18:29:10 +00:00
drh
d2f83139f3 Fix the saveCursorPosition() routine in btree.c so that it works
correctly for a eState=CURSOR_SKIPNEXT cursor.

FossilOrigin-Name: 37866b4d483296ab9b7fcb9f5486695d4c2b8ddd
2015-03-25 17:35:01 +00:00
drh
cbd3349ab9 Reactivate an older assert() (adding an "|| CORRUPT_DB" term) and add a
new assert() in btree.c.

FossilOrigin-Name: 1e96520ac1d12ca83f019a60482efa0a074f2f94
2015-03-25 13:06:54 +00:00
drh
f94c9485ef Add two new assert()s to the sqlite3BtreeDataSize() method.
FossilOrigin-Name: 42d1793d6516e285a8925bbfd96b3d3375603d15
2015-03-25 12:05:49 +00:00
mistachkin
d69e557940 Add SQLITE_STDCALL and SQLITE_CDECL macros on public function definitions.
FossilOrigin-Name: cae3239aa58b4f7016fc9dcac3966fe6ef833879
2015-03-24 22:00:26 +00:00
drh
790fa6ec30 Further simplifications to the amalgamation builder.
FossilOrigin-Name: e826cd7db6b3ab010533d81a759794c2470343d2
2015-03-24 21:54:42 +00:00
mistachkin
8de1250638 Update the 'mksqlite3c-noext' tool as well.
FossilOrigin-Name: a532256688c3a7a6385e041ec73913842e2c3ab3
2015-03-24 21:52:12 +00:00
mistachkin
26bbfaa59d Fix a couple comment typos in a tool script. No changes to code.
FossilOrigin-Name: 83421af67063825981f6051eb415944d90e9b2f6
2015-03-24 21:34:53 +00:00
mistachkin
59b9b02c1f Add SQLITE_STDCALL and SQLITE_CDECL macros on public function definitions.
FossilOrigin-Name: 242f09d4d1c92ee9058857a5e780442f4b7bad55
2015-03-24 21:27:27 +00:00
drh
4756404847 Suppress a compiler warning that was appearing with SQLITE_THREADSAFE=0.
FossilOrigin-Name: 436314b5728c9413f9ac2d837e1c19364f31be72
2015-03-24 18:19:39 +00:00
drh
126e9e6347 Prevent a virtual table from being destroyed while it is in use.
Also: replace Vdbe.inVtabMethod with sqlite3.nVDestroy.  Simplify the
EXPLAIN output for P4.pVtab to only show the sqlite3_vtab pointer.

FossilOrigin-Name: cbeb9a1aed8ce3fb569a7717ad03c7c058b68de6
2015-03-24 16:43:34 +00:00
dan
428630cfcf Add tests to check that attempting to DROP a virtual table while it is use does not cause problems.
FossilOrigin-Name: 5ee625b1980f9fab6294d308349dfd9ba960b60b
2015-03-24 14:57:21 +00:00
drh
466fd815fb Simplify the EXPLAIN output of virtual table P4 parameters to only show the
pointer to the sqlite3_vtab object and omit the sqlite3_module object.

FossilOrigin-Name: 85610bbbc60cb4a6ec856123447fdb2ba948e52f
2015-03-24 14:57:02 +00:00
drh
f496a7dc81 More defenses against virtual table being deleted out from under a running
statement.

FossilOrigin-Name: 116c99823022c017946b6088878a2d46759deb6e
2015-03-24 14:05:50 +00:00
drh
a68d628291 Prevent a virtual table from being destroyed while it is in use.
FossilOrigin-Name: fba674c083286dabb37fed9357b67593b56ed3a5
2015-03-24 13:32:53 +00:00
drh
086723a4a8 Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter.
FossilOrigin-Name: 9faefb96272967e731e83ef516a8c1e1b876391b
2015-03-24 12:51:52 +00:00
drh
ada3f2b14f Disable loadable extensions in the command-line shell on VxWorks user-space.
FossilOrigin-Name: 0ee2d38deb35aefc55395e86984a9a773caf6218
2015-03-23 21:32:50 +00:00
drh
d741129e2b Track total memory usage using a 64-bit integer on 64-bit systems. Add
the sqlite3_status64() interface.  Make the sqlite3_status() and
sqlite3_status64() interfaces atomic using mutexes and verify correct
mutex operation using assert() statements.

FossilOrigin-Name: 6fc4e79a2350295a15ac464593ad39d904953041
2015-03-23 19:55:21 +00:00
drh
2493870d9c Fix a non-C89 variable declaration that causes problems for MSVC.
FossilOrigin-Name: 3de085eab2fbe491f2242b340851e8af8f61ad13
2015-03-23 19:16:30 +00:00
drh
062cf27d00 Fix datetype size asserts in btree.c.
FossilOrigin-Name: ff4812d0e8e6322ca8b6992925fd4ef4aee463e6
2015-03-23 19:03:51 +00:00
drh
2b4905c81f Add the SQLITE_PTRSIZE macro. Use it to help sqlite3_status() run faster
on 32-bit systems.

FossilOrigin-Name: c742bd6047bc6d0319a5a8c31d97f6b9229507f6
2015-03-23 18:52:56 +00:00
drh
af89fe66ea Add the sqlite3_status64() interface. Make the new interface and the legacy
sqlite3_status() both atomic and threadsafe.  Check threadsafety using
assert()s.

FossilOrigin-Name: 1ce8e8fa4b866aafa12b1da0eb4d02321af9293e
2015-03-23 17:25:18 +00:00
drh
74893a4cdb Fix a potential NULL pointer dereference following a syntax error.
FossilOrigin-Name: 8d27e3e16a9be79fe227e833f4770ebe09a9d90b
2015-03-22 10:23:17 +00:00
mistachkin
d425864d33 Fix harmless compiler warnings with MSVC when assert() and SQLITE_MEMDEBUG are both enabled.
FossilOrigin-Name: 9513dbd4860c8dd391f831982d09aff227d16f5c
2015-03-21 23:38:59 +00:00
mistachkin
774f42b6c6 Add more comments to the MSVC batch build tool.
FossilOrigin-Name: 03522da37821958c647d49bf8189a5affa3f6720
2015-03-21 22:23:46 +00:00
mistachkin
082be63b17 Increase the debugging level for the debug configuration in the MSVC batch build tool.
FossilOrigin-Name: 041484ff91fd4615368ccb2257ab50acc2cd4fea
2015-03-21 22:13:47 +00:00
drh
5ac936529c Do not invoke a C preprocessor macro with an empty argument, as (reportedly)
some versions of GCC are unable to deal with that.

FossilOrigin-Name: de9da317d4df3efefe9a1a48f954af8a19e7d098
2015-03-21 20:59:43 +00:00
drh
3858cb44b6 Add a missing "int" on a constant declaration.
FossilOrigin-Name: 235157de5113ac4c750e36a498e2a1f1cf461751
2015-03-21 20:50:58 +00:00
dan
e10d87f65a Avoid a segfault if NULL is passed as the first argument to SQL scalar function fts3_tokenizer().
FossilOrigin-Name: 6d0989695b486275824c14d5f88357267c1e8104
2015-03-21 19:35:09 +00:00
dan
d2f99333cf Change walblock.test to block an external process for 10 seconds, not 5. 5 seconds is not long enough to tell the difference between a blocking lock and a series of retries.
FossilOrigin-Name: 717335fcdb15430ed977cbc98d30345b71728b66
2015-03-21 16:40:24 +00:00
drh
c435cf75a5 Fix the blocking WAL lock so that it works and so that it compiles on a Mac.
FossilOrigin-Name: 67d69d21de32816894be53e4b446656d4174eb0d
2015-03-21 16:36:03 +00:00
dan
b4e0fd26e3 Remove an unreachable branch from the OP_VCreate opcode (merge accidental fork in trunk).
FossilOrigin-Name: 2fbfec62fc03d42ee240dfefaa0aeb59a3f04d88
2015-03-21 12:25:23 +00:00
dan
998aaa03ea Avoid an integer overflow in fts3 causing gcc 4.7.1 with -O2 to behave counter-intuitively (perhaps because the behaviour is undefined). Add an "ifcapable trace" to a test in shell4.test.
FossilOrigin-Name: e3e234649616f20610abce9ae9da1c572d3a4377
2015-03-21 12:22:51 +00:00
drh
474640638d Remove an unreachable branch from the OP_VCreate opcode.
FossilOrigin-Name: 5fca41a3811766b48f5f23d5d49cc4e6e79fa867
2015-03-21 12:22:16 +00:00
dan
e56f53ef7c Add a missing "ifcapable fts3" to a test case in vtab2.test.
FossilOrigin-Name: d845b0f69093178517d66e1fc5060e8f62c681c7
2015-03-21 10:53:01 +00:00
drh
8f9d0b2b25 Correctly detect the error of having a "*" wildcard on a SELECT without
a FROM clause on the left-hand side of a recursive CTE.

FossilOrigin-Name: b11d1793a06a44931edcbf12a615b49794d53a62
2015-03-21 03:18:22 +00:00
drh
f063685079 If a column is both UNIQUE and a PRIMARY KEY, make sure the PRIMARY KEY
designation takes precedence.

FossilOrigin-Name: d871a7921722bb0fef6d51e1110a9703ddff78c8
2015-03-21 02:58:20 +00:00
mistachkin
299903c6a6 Remove superfluous define from the MSVC makefile.
FossilOrigin-Name: 880d2513a0fb084fae82080401b108fb13e61478
2015-03-21 02:25:29 +00:00
mistachkin
44723ce096 Improvements to the MSVC build. Fix harmless compiler warnings. Enable use of 'stdcall'.
FossilOrigin-Name: 737630b87314283b2c38790ace9d25ec05f81f4a
2015-03-21 02:22:37 +00:00
drh
e441efb688 Provide the BTREE_SEEK_EQ hint to the b-tree layer.
FossilOrigin-Name: 3c367004dab0a1a24d955482c97b0f2d84129ab6
2015-03-20 16:54:29 +00:00
drh
1fa509afa1 Fix to get SQLITE_SMALL_STACK working correctly again after the previous change.
FossilOrigin-Name: 78df0ce13d4f35226f2571bd7de78484ccbee4bb
2015-03-20 16:34:49 +00:00
drh
e0997b341b Provide the BTREE_SEEK_EQ hint to the b-tree layer.
FossilOrigin-Name: e750830f1e61160c0c67e35b13e50b35a95b50e1
2015-03-20 14:57:50 +00:00
dan
80103fc614 Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances.
FossilOrigin-Name: eddc05e7bb31fae74daa86e0504a3478b99fa0f2
2015-03-20 08:43:59 +00:00
drh
17ba562025 If a virtual table is created with a malformed UTF8 name in a UTF16 database,
make sure that does not cause problems.

FossilOrigin-Name: b74cb0a92bba69f8ea705adf4695d03ea4470984
2015-03-19 20:09:16 +00:00
dan
8b3c0ae47c Fix a crash that can occur following an OOM condition within a CREATE VIRTUAL TABLE statement on a utf-16 database.
FossilOrigin-Name: 9453e7da046c55715631f10f018e97a336197969
2015-03-19 19:59:30 +00:00
dan
7377945a7b Fix a problem with creating virtual table with names specified using malformed utf-8 within utf-16 databases.
FossilOrigin-Name: 9969cff2d0553c9bfa88a437e1bb0cc4200d49d7
2015-03-19 18:56:17 +00:00
dan
b7134d0863 Fix an FTS3/4 problem with handling empty tokenizer declarations (e.g. "CREATE VIRTUAL TABLE t(tokenize=);").
FossilOrigin-Name: 26d2def8a53094356008861636d66f9ae8f2448a
2015-03-19 16:25:42 +00:00
dan
e0417626ea Silently ignore any attempt to add a prefix index for prefixes zero bytes in size to an fts3/4 table. Or any prefix index size so large that it overflows a 32-bit signed integer.
FossilOrigin-Name: ad4b19d2ac0889a23fe3b0fd844286efc10cdd82
2015-03-19 15:52:07 +00:00
dan
b77009fdd9 Add an assert() to check that the database mutex is held in sqlite3BtreeLeave().
FossilOrigin-Name: 31f54d7b0798e70da6a60b8ea3c5d9e35dce164c
2015-03-19 15:04:23 +00:00
mistachkin
ba132c7728 Fix typo in shell error message.
FossilOrigin-Name: 775a02d597549567a0634483525664643064b3fd
2015-03-19 14:48:38 +00:00
drh
657b4a87e5 Fix a bug in error handling in the ".trace" command of the command-line shell.
FossilOrigin-Name: 6a48b5d794e891fdd167547c76835d677eb5e31d
2015-03-19 13:30:41 +00:00
drh
2b3f1409db Add another sqlite3FaultSim() to the multi-threaded sorter logic to
improve testability.

FossilOrigin-Name: 49ea2cded4a76596f85419c820cdaf4a1751d7ac
2015-03-18 16:00:44 +00:00
drh
d671e66337 Clarify the documentation on sqlite3_errcode(). No changes to code.
FossilOrigin-Name: 2c0e0d87fb418d684fba1c83d9fd8e4e96588c54
2015-03-17 20:39:11 +00:00
drh
5572f7e42e Also merge the WAL blocking lock tests that were somehow missed on the
previous check-in.

FossilOrigin-Name: 7214dab7443d35c105904dd69635c1f8b45b2fc8
2015-03-17 17:08:35 +00:00
drh
a5eaece932 Transient locks in WAL mode can now block in order to resolve priority
inversions.

FossilOrigin-Name: ec2f46de531ec8ef91981b19b48ab64db7727264
2015-03-17 16:59:57 +00:00
dan
363fc9e724 Add a test for the change on this branch.
FossilOrigin-Name: e22dde187eb0b389d6d93e2e39a26fd0f4e6196e
2015-03-17 16:01:29 +00:00
dan
f104abba84 Make SQLite slightly more likely to use an auto-index within a sub-query.
FossilOrigin-Name: ab832336f4a28193c4d2b61e833564822a7b86a8
2015-03-16 20:40:00 +00:00
mistachkin
05b6048dbd Fix typo of test prefix in the new WHERE test file.
FossilOrigin-Name: 34779c528f1817d6ec34216b58fb4277956b5167
2015-03-16 18:08:56 +00:00
drh
29894b6d2b When the WHERE clause contains two OR-connected terms with identical
operands but different operators, try to combine them into a single term.
Example:  (X=A OR X>A) becomes (X>=A).

FossilOrigin-Name: 8bdda827a3d268009297a0216e3d94bf0eceeb2e
2015-03-16 17:48:12 +00:00
drh
07b38959a4 Modify the fts3query.test script so that it works even when testfixture is
built using a version of TCL that is unable to sort the
integer -9223372036854775808

FossilOrigin-Name: f61fd24b4d3b686911ea578f77612309099f0cc6
2015-03-16 17:07:09 +00:00
drh
75a4d7c3da When deleting the master journal to commit a multi-database transaction, do
not sync the directory if PRAGMA synchronous=OFF for all participating
database files.

FossilOrigin-Name: 018d7671402a0f8103d1306641655b69f9fa235d
2015-03-16 16:44:55 +00:00
dan
5f881b8c8d When estimating the number of rows visited by a range scan for which the keys consist of more than one field, consider prefixes of stat4 samples as well as the full samples. This generates more accurate estimates.
FossilOrigin-Name: 3e0590dee0e68cc1599858757c650a7378026170
2015-03-16 16:28:43 +00:00
drh
8cdcd87c53 Use #ifdef to omit code that is only used for STAT3 and STAT4.
FossilOrigin-Name: f2c9c5b57b7739daafc44e8ec36d4a2beacd5f17
2015-03-16 13:48:23 +00:00
drh
c03acf2ea7 Improved comments. No code changes.
FossilOrigin-Name: 23f71a26386ff2aff9800fe96cec1dc9c805b5b6
2015-03-16 13:12:34 +00:00
drh
8426636cdc When a WHERE clause contains disjuncts with the same operands, try to
combine them into a single operator.  Example:  (x=A OR x>A) becomes
(x>=A).

FossilOrigin-Name: 7a3097689d17625fb0dfc4372712f375f3bdb9a1
2015-03-16 12:13:31 +00:00
dan
a0d56aef18 Another test case for the planner change on this branch.
FossilOrigin-Name: f2207a0691ed361061719f4dacf021a677a9d892
2015-03-16 09:21:30 +00:00
dan
a3d0c13654 When estimating the number of rows visited by a range scan for which the keys consist of more than one field, consider prefixes of stat4 samples as well as the full samples.
FossilOrigin-Name: e1caf93c9ad0ee15d42030af95619f212d3fcf9d
2015-03-14 18:59:58 +00:00
dan
dfac7016a7 Add tests to ensure "PRAGMA incremental_vacuum" and "PRAGMA auto_vacuum = incremental" handle corrupt databases correctly.
FossilOrigin-Name: 1c2166cb2a387a0856f41b399c3648bf8c5fce73
2015-03-13 15:44:36 +00:00
dan
3df3059252 Extra tests for commit [0f250957].
FossilOrigin-Name: 5aa522dcb9bfa18d49683f7cc889516984e2bcd2
2015-03-13 08:31:54 +00:00
drh
e9b9f7599a Remove debugging logic accidently included in the previous check-in.
FossilOrigin-Name: 2887fb38ffc28712c34028cd38db2b7993d864eb
2015-03-13 00:11:09 +00:00
drh
3df79a9a1f Fix the "now" option for date-time functions for cases when STAT4 is disabled.
FossilOrigin-Name: 3ac1f6a3cf1a8fd3ab1ca96b2564c13c4b8d2234
2015-03-12 23:48:27 +00:00
drh
3795f3cee3 When STAT4 is enabled, allow probes of the STAT4 table using the value
of constant functions computed at compile-time.

FossilOrigin-Name: 0f250957cd82be63e44eb99be6cc10760f4fdfc4
2015-03-12 21:22:08 +00:00
drh
96f4ad20fd Always disallow functions as the DEFAULT of a column. Add assert()s and
FossilOrigin-Name: a991bb1a9eb54bdbd45bd623e8b304bdfeb481a3
2015-03-12 21:02:36 +00:00
dan
63c088e783 Disable multiplexing of master-journal files in the test_multiplex.c module.
FossilOrigin-Name: b8684df395b5585a9428417c2bfd076515560f19
2015-03-12 19:12:30 +00:00
drh
81367381a9 If an error occurs in the compile-time evaluation of an application-defined
function, then propagate back out the exact error code, not just the
generic SQLITE_ERROR.

FossilOrigin-Name: 93f42586cc9db63c5a4599ce06630e60204a5bc9
2015-03-12 18:38:51 +00:00
drh
a9e03b1b82 The valueFromFunction() routine is better able to handle OOM errors.
Omit unreachable branches.

FossilOrigin-Name: 8fb6bd9be59d6b04e922d7b246aaefd4851539b6
2015-03-12 06:46:52 +00:00
drh
0a0d0560ab Improve the text on one of the opcode documentation comments in vdbe.c.
FossilOrigin-Name: 08958f57970d2346f3e98e62225e2b5d351d12d8
2015-03-12 05:08:34 +00:00
dan
cdcc11d7d4 Allow the default value for columns added using ALTER TABLE ADD COLUMN to be a function in existing schemas loaded from disk. But prevent this version of SQLite from being used to create such a column.
FossilOrigin-Name: ff868e22ca0393eaac417872a4c10738f0d7d970
2015-03-11 20:59:42 +00:00
dan
18bf807689 Allow the query planner to evaluate deterministic scalar SQL functions used in WHERE constraints if all arguments are SQL literals in order to compare the results with sqlite_stat4 sample data.
FossilOrigin-Name: b7f1fc26d24012e1e7c7f6b3cc0b84ad2b02b8ad
2015-03-11 20:06:40 +00:00
drh
cc285c5ab0 Expand the multi-process test cases to repeat each case 20 times and
to repeat tests using different journal modes.

FossilOrigin-Name: a2715b049a86555990abccc7aa363c524ddb9982
2015-03-11 14:34:38 +00:00
drh
bbf76eec34 Arrange for some of the transient locks in WAL mode to block, as a single
to the OS to fix priority inversions.

FossilOrigin-Name: c6e6d5f4e06c3ac0bfb620c0c728fbc7230c4a02
2015-03-10 20:22:35 +00:00
drh
94929646f1 Fix an incrblob2 test case so that it works on 32-bit systems.
FossilOrigin-Name: 8d0b11c96e15556dd65ced05708a832aef134e69
2015-03-10 15:34:47 +00:00
drh
9b5d76bf57 Revise test cases in malloc5.test to accommodate varying allocation
sizes returned by some system malloc() implementations.

FossilOrigin-Name: fbae6bafd74d8da9c72be5f562a62f80b01cc846
2015-03-10 13:50:18 +00:00
drh
8031462939 Fix the LIKE optimization so that it works even if there are additional
range contraints on the column that is subject to the LIKE or GLOB.

FossilOrigin-Name: 984c3fd5261619fb542a5a95dab37707b5d79dbf
2015-03-09 13:01:02 +00:00
drh
a40da62dd4 Always use LIKE optimization range constraints in pairs.
FossilOrigin-Name: 0e02dc94fd1bb891d0edd1e34b57e923b17712a7
2015-03-09 12:11:56 +00:00
drh
74f4d3e5df Increase the version number to 3.8.9
FossilOrigin-Name: e5da5e7d5dc5a3438ced23f1ee83e695abc29c45
2015-03-09 10:40:48 +00:00
drh
52fc05ba1c Fix another problem with the LIKE optimization.
FossilOrigin-Name: 465bfc72d252f94778248253142faeba78ceea02
2015-03-07 20:32:49 +00:00
drh
b0230249f5 Fix the LIKE optimization so that it finds BLOB entries in addition to text
entries.  Ticket [05f43be8fdda9f].

FossilOrigin-Name: 74cb0b032fcf598537fae04412771450124ae712
2015-03-07 13:56:48 +00:00
drh
560b7c72be New test cases for LIKE and GLOB with BLOB left-hand side values.
FossilOrigin-Name: 50fa3c5fae90bd3b2f4121e99ab52d79963a6fda
2015-03-07 12:58:52 +00:00
drh
ab87a5e5b8 Remove some code that is commented out.
FossilOrigin-Name: 55ff429177acfdab056a16a67361a5381115c6c7
2015-03-07 03:02:38 +00:00
drh
b7c60ba668 Fix problems with reverse order sorting and indexes in the LIKE optimization.
FossilOrigin-Name: 564b8fe79475d7584a21078e6098840b8ce6a6e1
2015-03-07 02:51:59 +00:00
drh
16897072b5 Refactor some jump opcodes in the VDBE. Add JumpZeroIncr and DecrJumpZero.
Fix the LIKE optimization to work with DESC sort order.

FossilOrigin-Name: 26cb5145bf52f8c3fffa8c69b6c24aee4d974883
2015-03-07 00:57:37 +00:00
drh
a9c18a9067 Test cases added. Comments fixed. Proposed solution for
ticket [05f43be8fdda9fbd9].

FossilOrigin-Name: 6b993bd54035b67f4d84941e3f444ca79b7feee1
2015-03-06 20:49:52 +00:00
drh
8f1a7ed33f Fix the LIKE optimization even when comparing mixed-case BLOBs.
FossilOrigin-Name: a58aafdb4e1422b6a8ffc07a67984928bbedf919
2015-03-06 19:47:38 +00:00
drh
f07cf6e2a5 The LIKE optimization must be applied twice, once for strings and a second
time for BLOBs.  Ticket [05f43be8fdda9f].  This check-in is a proof-of-concept
of how that might be done.

FossilOrigin-Name: 5757e803cb5759b476bbc6453c58340089611420
2015-03-06 16:45:16 +00:00
drh
8dd7a6a925 Clearification of some documentation text. Added requirements marks.
FossilOrigin-Name: 8c1e85aab9e0d90726057e25e2ea0663341c070f
2015-03-06 04:37:26 +00:00
drh
0266c05fcb Clarification of documentation on sqlite3_backup.
FossilOrigin-Name: 31d5e9b42e5c96207187dcde1cbbb1e79f26fca2
2015-03-06 03:31:58 +00:00
drh
7be0fd9c58 New test cases and requirements marks for PRAGMA index_info, index_xinfo,
and index_list.

FossilOrigin-Name: e5b13634d9794e4c75378cea89b64c5ecc5aa3e5
2015-03-05 15:34:15 +00:00
drh
5e7028c210 Revert "PRAGMA index_info" to output only three columns, for complete
compatibility with prior versions.  The new "PRAGMA index_xinfo" can be
used to get the extra information in 4th, 5th, and 6th columns.

FossilOrigin-Name: fc543c2c5ced30a7dc3a05b0c1ad80fdc838df8e
2015-03-05 14:29:02 +00:00
drh
2af878ec5e New requirements marks on compound SELECT statements.
FossilOrigin-Name: e7991bc510f63f3594603a91f6f3b32e94d90e72
2015-03-05 01:29:51 +00:00
drh
682a6ef6bd New requirements marks on INSERT and INDEXED BY and on some sqlite3_config()
options.

FossilOrigin-Name: c298ea0bd90d63673435bf8ceafbaeba3db6187d
2015-03-04 23:14:14 +00:00
mistachkin
0b7ff5c11b Fix harmless compiler warning.
FossilOrigin-Name: 580dae4615353d73c7d096107571bd60fec5b0f2
2015-03-04 20:18:55 +00:00
drh
33e1327a22 Refinement to the wording of the documentation on depreciated functions.
FossilOrigin-Name: 04a59d6f7ecbf769bd127a9071348b51ce8463f8
2015-03-04 15:35:07 +00:00
drh
39f2d0963e Remove a surplus </dl> mark in the documentation. No changes to code.
FossilOrigin-Name: 5450e4650b2dedf3626bbe5a64b680dbd4011173
2015-03-04 15:25:03 +00:00
drh
e89b291828 Clean up #ifdef logic dealing with VxWorks in os_unix.c. On VxWorks,
automatically use posix advisory locking if it is available or fall back
to named semaphore locking if not.

FossilOrigin-Name: ac8c7ca3db14ec19be1f19cfaf14b47fdda0c9ef
2015-03-03 20:42:01 +00:00
drh
91eb93c797 Fix compiler warnings when compiling under VxWorks 7.
FossilOrigin-Name: 55c21521a64703d7050c7f8975538f4cfae95eb7
2015-03-03 19:56:20 +00:00
drh
4a4b138965 Enhance SQLITE_ALLOW_URI_AUTHORITITY to elide //localhost/ and to deal
with dodgy URIs that contain too many "/" characters.

FossilOrigin-Name: 39b566a2d0916c57f3fac756c6d6af149b44781d
2015-03-03 16:58:56 +00:00
drh
3ba689d8ba Fix over-length source code lines in the main.c source file.
FossilOrigin-Name: debba6f161090bf9db1458fb3767d80d8362a73f
2015-03-03 14:00:11 +00:00
drh
8cd5b2546f Changes so that the amalgamation and the command-line shell build without
modifications on VxWorks 7.  Still gives a few compiler warnings, and still
mostly untested on that platform.

FossilOrigin-Name: 7d92f1f11ee69b0ba7d5a48f0611016d77d41c78
2015-03-02 22:06:43 +00:00
drh
8e8e7ef363 Ensure that automatic indexes are *not* considered when doing the the subqueries
of the OR-optimization.

FossilOrigin-Name: 17890292cf1776b3334fca7eff693cdbea458304
2015-03-02 17:25:00 +00:00
drh
534f4dfa3c In the command-line shell, the inability to read ~/.sqliterc is no longer
a fatal error.  A warning is issued, but processing continues.

FossilOrigin-Name: 6bf6246306e6fd490766c0a05932be52a0ed66f2
2015-02-28 14:03:35 +00:00
drh
51a74d4cbd More test cases and requirements marks for pragmas.
FossilOrigin-Name: fc51037cd97063069620213a62efdeff5d898706
2015-02-28 01:04:27 +00:00
drh
e0e8429543 Remove all references to SQLITE_DEFAULT_TEMP_CACHE_SIZE. Add requirements
marks related to cache_size changing.

FossilOrigin-Name: 766ad65025a9d5815300978e6e349f5af5db6012
2015-02-27 21:53:35 +00:00
drh
9d356fbe6e New requirements marks and a few new test cases to go with them. No changes
to code.

FossilOrigin-Name: 8c2b29d9acb92d47f4deec21a7c2dca52db63345
2015-02-27 20:28:08 +00:00