Commit Graph

16094 Commits

Author SHA1 Message Date
drh 15707ac992 Update shell1.test tests to deal with backslash escaping in TCL on Windows-style
pathnames.

FossilOrigin-Name: 219a251e182bf43376fbc8ae1ce6f77f18a1b092
2016-03-26 13:26:35 +00:00
drh 4f69540b71 Do not run the shell3.test module under mingw because of mingw's dodgy
command-line parsing.

FossilOrigin-Name: a7c080a90a236fbc18b9a42b78dbed4dd8a25160
2016-03-25 20:10:20 +00:00
mistachkin 82452480ea In the Win32 VFS, avoid trying to use rand_s() on Windows CE.
FossilOrigin-Name: 183350fa7cc6a5ab8bd0a86cab231a6e4c915890
2016-03-25 17:19:57 +00:00
drh 5729c31daf Add the catchcmd_collapse_space command and use it to help make shell testing
more robust against TCL space escapes.

FossilOrigin-Name: 93caabb66082f76ef161a51ac822b919517a7171
2016-03-25 17:09:16 +00:00
drh ddb2b4a310 Fix two instances of undefined behavior in the C code - both harmless for
all current compilers.

FossilOrigin-Name: 99fd194c83dbcfcdcc582983b86678b85b1b9570
2016-03-25 12:10:32 +00:00
drh cb620b4797 Make test cases in shell1.test robust against TCL deciding to quote strings
using lots of backslashes.

FossilOrigin-Name: 817e93f42c09eb876421e27eb8eceb7b077cb45d
2016-03-24 20:55:03 +00:00
mistachkin eb2329bed3 Prevent negative values of SQLITE_DEFAULT_CACHE_SIZE from making SQLITE_WIN32_HEAP_INIT_SIZE negative.
FossilOrigin-Name: e0737f5236ed3e85bd03203c880ee41b34619137
2016-03-24 20:36:47 +00:00
drh d38a2e2511 Larger margins for one memsubsys1 range check when running with a
non-zero reserved-bytes value.

FossilOrigin-Name: 6db1d1fbc6c1acc896fa635dfdc5564800502c40
2016-03-24 15:32:19 +00:00
dan cc47eac005 Fix some test scripts so that they work with various permutations.
FossilOrigin-Name: f4d234b5013bf93b6eac7f8be6d4c074cf9f5293
2016-03-24 15:09:14 +00:00
drh 565d64014b Merge the beta changes into sessions.
FossilOrigin-Name: beb5ea1439995fb8ab112451a8ffcc08fe42d0c4
2016-03-24 14:34:26 +00:00
drh c5412d533c Avoid calling realloc() with a zero size in fuzzcheck.c.
FossilOrigin-Name: a1fd14694c1adc54e5c443ebfdef38e38637f5c5
2016-03-23 17:54:19 +00:00
dan 231ee68808 Fix "ifcapable" tests in capi3.test and capi3c.test so that the tests work with more build configurations.
FossilOrigin-Name: 3fa88f68c3e1bbb3421cb0d2b82b9bb3fe7b9b14
2016-03-23 16:32:29 +00:00
drh 997de998a8 Remove an unused local variable from FTS5.
FossilOrigin-Name: 0ed693c29f184223cde3b3d51f0e06273e586803
2016-03-23 15:53:45 +00:00
dan 848b190e40 Explicitly limit the size of fts5 tokens to 32768 bytes.
FossilOrigin-Name: 70fc69eed9b09159899d7cbd1416a59d04210a63
2016-03-23 15:04:00 +00:00
drh 3767026113 Update a requirement mark. No changes to code.
FossilOrigin-Name: 412984642af40578ec611d8c0b7c0508cb5cf9c9
2016-03-23 13:46:05 +00:00
drh d7564865ad The sqlite3_column_decltype() routine should return NULL, not an empty string,
if the column has no declared type.

FossilOrigin-Name: 605eba4a756e7185119088e2242f82691d078b01
2016-03-22 20:05:09 +00:00
mistachkin 527b0435fa Fix harmless compiler warning for MSVC.
FossilOrigin-Name: 142cd359d37f1d8d53de32e329523d9a93c7d6e5
2016-03-22 15:26:03 +00:00
drh c5e7f94494 Fix a harmless compiler warning.
FossilOrigin-Name: 5ace870d3ac3e9eb29cb4602c9036873adbcb99d
2016-03-22 15:25:16 +00:00
dan 0a2f2b546a Fix some errors in fts5 test scripts.
FossilOrigin-Name: e1ab2d376a72786098125a41c1ea8140fcbd15c6
2016-03-22 15:01:54 +00:00
drh 3bfa7e82b6 Create the "uptr" typedef (the same as uintptr_t when available) and use it
to cast pointers before comparison.

FossilOrigin-Name: 2484cc0c3ffc8834a155f89af1581bd07d453a90
2016-03-22 14:37:59 +00:00
drh 0b98207c5b Avoid the possibility of integer overflow on a pointer comparison test for
corruption in the database file.

FossilOrigin-Name: ff1b1ac3313ba9d70414e928ef3dd82913298a1a
2016-03-22 14:10:45 +00:00
drh 13969f5af0 Fix harmless compiler warnings.
FossilOrigin-Name: 25d776e4523aefeec007943fe29aa17c23ccb301
2016-03-21 22:28:51 +00:00
dan 6737aab5cf Add tests to ensure that fts5 is now deterministic.
FossilOrigin-Name: 3d076094ce411bffcfeb76c0284d15d0f83bd459
2016-03-21 16:25:34 +00:00
drh 4567beefac Skip recently added test cases in nolock.test when running in
the inmemory_journal permutation.

FossilOrigin-Name: a1dcf7af42bb7394d46138318f9367fe9e8be560
2016-03-21 16:19:29 +00:00
drh 6369bc3fbb Remove an unreachable branch from the unlink verification logic in the UNIX
VFS.

FossilOrigin-Name: 4dc30cce7fdb7dba9a9aad96bb8b499b965610b2
2016-03-21 16:06:42 +00:00
drh dbf8a16cb3 Merge 3.12.0 beta changes from trunk.
FossilOrigin-Name: 3296a0ceedef43c2790f0b36471f91138a575243
2016-03-21 15:32:19 +00:00
dan f5268268b7 Have fts5 cache the structure of its index in main memory. Use "PRAGMA data_version" to figure out when this cache should be invalidated.
FossilOrigin-Name: 902f221754f3cc6fb4ae049c135f85efce604ed3
2016-03-21 15:30:50 +00:00
dan 3c6707f72b Rearrange code so that tests pass whether SQLITE_DEBUG is defined or not.
FossilOrigin-Name: 89296a46c3b891ee0b637ff6f89d828d6e46e7b5
2016-03-21 15:18:13 +00:00
drh d260dd3534 Add the sqlite3_system_errno() interface.
FossilOrigin-Name: 4bd12b57ea177cfb1f44d54bfa7aedfb8a8c0c64
2016-03-21 14:46:37 +00:00
drh f68521c4e6 Make sure system errors that occur durign sqlite3_step() are captured for
use by sqlite3_system_errno().

FossilOrigin-Name: b4a1114f730c62e93623f889bc0e4fd8d0b31efa
2016-03-21 12:28:02 +00:00
drh 80fbee092e Improved comments. No logical changes to code.
FossilOrigin-Name: a6b6c6c466f3feb257b4fc08ef6b9a27a68ca073
2016-03-21 11:57:13 +00:00
drh 8d2f41ccd2 Do a better job of capturing all system errno values regardless of when
they occur.

FossilOrigin-Name: 7d49998d571d841a6d1b55f5f9889e613daaab2a
2016-03-21 11:38:01 +00:00
drh b7c9659db3 Merge updates from trunk.
FossilOrigin-Name: 86ab8643969bd2e51a257d80da9316c668437f7b
2016-03-21 10:49:49 +00:00
dan ef480d37dc Change the way fts5 internally allocates segment ids in order to eliminated non-determinism from the module.
FossilOrigin-Name: d6e2637df16764aa9723a30ea2eb8a631d28cb2b
2016-03-21 09:56:19 +00:00
drh 544c6b8e1b Change the Vdbe.aMem array so that it is zero-based instead of one-based.
FossilOrigin-Name: c39081e878faccc8552141afa5732a2bf2f77570
2016-03-21 00:38:59 +00:00
drh 3cdce92c38 Remove an unreachable branch. Improvements to comments.
FossilOrigin-Name: c5677ecd5cd2637d92a831ec6bd5b002f8d75626
2016-03-21 00:30:40 +00:00
drh 9f6168b6a3 Change the Vdbe.aMem array so that it is zero-based instead of one-based.
FossilOrigin-Name: e07b0c47eb5a39623f5fe0e66b939bba0906691c
2016-03-19 23:32:58 +00:00
dan b6eb666264 Fix exclusive.test so that it works with -DSQLITE_TEMP_STORE=3.
FossilOrigin-Name: d7852c639683a1d305a1e731df3cccafa64b594b
2016-03-19 18:11:59 +00:00
drh 9bccde3d03 Updates to the Lemon documentation.
FossilOrigin-Name: f095341471aa822e6d556cb65512ec081c3918da
2016-03-19 18:00:44 +00:00
dan f27d737b88 Add the sqlite3rbu_bp_progress() API to the RBU extension. Used to obtain the percentage progress of an RBU update.
FossilOrigin-Name: 209e31c729b9c8a09a80e43e3e4a2f3cd9384b3a
2016-03-19 17:48:12 +00:00
dan fce07fb944 Fix a problem detecting invalid values in the rbu_control column of an rbu database table.
FossilOrigin-Name: a1132dd9027d1c6dd845be307eeb38e535393f2c
2016-03-19 17:09:30 +00:00
dan febfe02300 Update the sqldiff tool so that it generates an rbu_count table.
FossilOrigin-Name: 1f7afb6e9be9f549a91bf2ab492df15698df89fd
2016-03-19 16:21:26 +00:00
dan f11737fcc8 Merge latest trunk changes, including fixes to test script rbudiff.test, into this branch.
FossilOrigin-Name: 734fc68fb12f06e97026d4637138b82b37809f5b
2016-03-19 15:34:42 +00:00
dan 49aed58b7f Fix another problem in test script rbudiff.test.
FossilOrigin-Name: 41c29c123ff347db720ed1a541c0b2ffc04670aa
2016-03-19 15:13:59 +00:00
dan 1e8dae0e43 Fix test scripts sqldiff.test and rbudiff.test so that they work with the --testdir option.
FossilOrigin-Name: 1ffe3cde03f924bb8405a8729c8e1bc01f5b6d3b
2016-03-19 14:53:36 +00:00
dan cf9bce34ab Add test file fts5multiclient.test.
FossilOrigin-Name: 7832466f9177cca59455ba272802145297fcd53d
2016-03-19 14:47:28 +00:00
drh bb9b5f2608 Fix a register allocation bug in the VDBE code generator for
PRAGMA integrity_check;

FossilOrigin-Name: 88439a866b3b16ad7c308ebe59198662a05e7eeb
2016-03-19 00:35:02 +00:00
dan eea627da9e Add further tests for sqlite3rbu_bp_progress(). Fix a problem in handling WITHOUT ROWID tables in the same.
FossilOrigin-Name: 65e02368e2b6cec349ea71af5a456d6783b0d15e
2016-03-18 20:12:28 +00:00
dan 789780d8f6 Change the name of the new API on this branch to "sqlite3_bp_progress". Add tests and documentation for the same.
FossilOrigin-Name: 1a1b69e87eb7d18f76f5b733e44da75136a686b6
2016-03-18 18:56:45 +00:00
dan fe485c0e56 Add tests for the changes on this branch. Fix a problem with calls to the new progress indicator API made after an rbu update has been resumed.
FossilOrigin-Name: bf82321724d3b0feb51e26d9b76090e03cc3964a
2016-03-18 10:29:47 +00:00
drh 860443da10 Fix FTS5 so that it works with SQLITE_OMIT_AUTORESET.
FossilOrigin-Name: b199637d81d7e2a767131ac03c7679b101fd459c
2016-03-18 00:39:40 +00:00
drh b99185f278 Fix more test-case errors in the Apple configuration.
FossilOrigin-Name: 6631e1e655604a7d1fb45b4d151938d4a13b47f3
2016-03-18 00:19:48 +00:00
drh 108e5a9a6c Fix some test cases so that they work under the Apple configuration.
FossilOrigin-Name: 399c60764d3fdec49dab1745c30930ca1dbafe70
2016-03-17 23:56:23 +00:00
drh 9493cafe6f Fix harmless compiler warnings that arise with -DSQLITE_OMIT_LOAD_EXTENSION
FossilOrigin-Name: 65ba2f0b465a1493de6e467f55e0300ac3fb08e1
2016-03-17 23:16:37 +00:00
drh 790b151e19 Changes to releasetest.tcl: Rename the "OS-X" configuration to "Apple".
Bring the "Apple" configuration up to date.  Allow the use of "if:os=..."
arguments in a configuration.  Run the Apple configuration on Linux in addition
to on Macs, but without -DSQLITE_ENABLE_LOCKING_STYLE.

FossilOrigin-Name: beb2a80b430e0ad561a58d8f00b80cbdc74b5e03
2016-03-17 23:00:42 +00:00
dan e42195b044 Add an API to indicate the percentage progress of an rbu update.
FossilOrigin-Name: ffc58d2c2576a5b6e1c2c7112612c5760e711afd
2016-03-17 21:06:42 +00:00
drh 762e32bcfa Change the xGetLastError() method on the windows VFS so that it continues to
format an error message (if requested) but returns the system error code,
rather than an SQLite status code.

FossilOrigin-Name: 1602f6b53698bd3a1a4be218c2e3145dd895f1f1
2016-03-17 19:28:19 +00:00
drh de845c2f5a A more compact implementation of the code generator for the
IS and IS NOT operators.

FossilOrigin-Name: 8607e3ac7a9d44372a4a66da21bbb3d28ae2528a
2016-03-17 19:07:52 +00:00
drh 0e80e50984 Simple test cases for sqlite3_system_errno()
FossilOrigin-Name: 185bc8644c806597194dc532a4d547a03a2dedaa
2016-03-17 17:23:11 +00:00
drh 1b9f2141a7 Experimental implementation of the sqlite3_system_errno() interface.
FossilOrigin-Name: 6782c87b3722fbd09684a5b1e5df05247956f1c6
2016-03-17 16:01:23 +00:00
dan c9460ab989 Fix some OOM-handling issues in the fts5 changes on this branch.
FossilOrigin-Name: 020a0bda59fe93b9361ceeed0d5a8ba4177380c8
2016-03-17 12:39:56 +00:00
drh 4b058dd4d1 The prepared statements for some pragmas can now be reused without invoking
an automatic reprepare.

FossilOrigin-Name: 97b0e88cc7c3d677217d0bfab4cb4a34a4abb238
2016-03-16 21:29:54 +00:00
dan db8d320d63 Merge the changes on the reusable-pragma branch into this one.
FossilOrigin-Name: 6c4a17b963916d19c9433d7a251338042f32e9fa
2016-03-16 20:53:33 +00:00
drh f71a366407 Some pragmas can be reused without an automatic reprepare.
FossilOrigin-Name: db1ce7e13e656fcd2766f1b1f225cbfefe8f73ad
2016-03-16 20:44:45 +00:00
drh e459bd4986 Fix a comment on the freelist_count and data_version pragmas.
FossilOrigin-Name: 10a3e2a01db9f80452a2a3369fd25b6fd9798274
2016-03-16 20:05:57 +00:00
dan 377ba38429 Add a cast to an implict (size_t -> int) conversion in fts5_expr.c.
FossilOrigin-Name: d9b5ff7aba3a8f6ca4505eac308fa9d510254c3e
2016-03-16 19:53:58 +00:00
dan f55fb6615b Have fts5 cache the decoded structure of fts5 indexes in memory. Use "PRAGMA data_version" to detect stale caches.
FossilOrigin-Name: 33ef2210ef19e55c8d460bfe9d3dc146034c8acc
2016-03-16 19:48:10 +00:00
drh 4ef07708df Enhance Lemon so that it reorders the reduce rules such that rules without
actions occur at the end and so that the first rule is number 0.  This
reduces the size of the jump table on the reduce switch, and helps the parser
to run faster.

FossilOrigin-Name: d5712f21ec758ff096a7b1bb8ed4fc5ec400ca5d
2016-03-16 19:45:54 +00:00
drh 3f77389bb4 Avoid a few unnecessary fstat()s on journal files.
FossilOrigin-Name: dbf84705913c0845ca4e75eb30c91536c754efeb
2016-03-16 19:10:46 +00:00
drh 892ffcc7fc Fix the query planner so that it is able to use the integer primary key
from an index as part of a multi-column constraint.

FossilOrigin-Name: 96ea9909429f0b3b4a67002e8340ae3f7dc0b73f
2016-03-16 18:26:54 +00:00
drh 47e1842e5b Merge all recent enhancements from trunk.
FossilOrigin-Name: 6a7ee04b0ddac36a87d5ed2ac89a53e537f4d5a3
2016-03-16 01:16:30 +00:00
drh 32f57d4c37 Add the SQLITE_OMIT_CODEC_FROM_TCL compile-time option.
FossilOrigin-Name: 45f7f0c80bd91a0c7ff859c27fd9e82e551bd83e
2016-03-16 01:03:10 +00:00
drh c5db1d4b4c Rearrange some internal fields in the sqlite3_stmt object to avoid a harmless
TSAN warning.

FossilOrigin-Name: e0b116edd64a55c971c368685aa343cb6beed0f1
2016-03-16 00:36:19 +00:00
drh 98968b22c5 Change the OP_IntegrityCk opcode to accept the list of root pages as an
intarray argument in P4.  Slightly smaller and faster.

FossilOrigin-Name: 15e4a272df46cbad8e71b21551dc06a126d64d46
2016-03-15 22:00:39 +00:00
mistachkin b7b91068ee In the Win32 VFS, use SQLITE_FCNTL_LAST_ERRNO instead of (the older) SQLITE_LAST_ERRNO.
FossilOrigin-Name: 9463762c437488970a87093ef13131c39b2adadc
2016-03-15 19:10:39 +00:00
drh 0ff47e9e1b Implement FROM-clause subqueries as co-routines whenever they are guaranteed
to be the outer-most loop of the join.

FossilOrigin-Name: c7bae50bdccb5bcf3bc22e8ac5bb6725ef13db39
2016-03-15 17:52:12 +00:00
drh 82f525406a More test-case changes so that everything works when the reserved_bytes
value in the header is non-zero.

FossilOrigin-Name: 2fd095b14b03a508169bba710d2e8e2addf4b8f5
2016-03-15 12:37:08 +00:00
dan 089555c8e9 Fix the shellN.test test scripts so that they work with the --testdir option.
FossilOrigin-Name: 051c61ebae921b70f843c55aacf046a9922cc187
2016-03-15 09:55:44 +00:00
drh a580936383 Fix the permutations.test script so that it works again.
FossilOrigin-Name: 9f194f90c07d5415b1d6bb10ec049f74999d6885
2016-03-14 21:26:25 +00:00
drh 10ac13ae3b Update test scripts so that they work with SEE.
FossilOrigin-Name: f4693ba4bbd9738b45012cf507fc0d7b6d04b7ee
2016-03-14 21:12:26 +00:00
drh 4a8a646723 Changing page size using VACUUM or backup is not allowed with a codec attached.
FossilOrigin-Name: 92be06c1a828d56652fa5269a3029f8cb029b2cd
2016-03-14 20:49:24 +00:00
drh 05586c3284 Merge test script fixes from trunk.
FossilOrigin-Name: ea1d2cddd59192251ee5fd912b190cded4959879
2016-03-14 18:42:04 +00:00
drh 7da56b4f65 Many more test cases fixed. Only a few remain.
FossilOrigin-Name: 99b9d7eef68fd6d5c9eecb5fbe3dfe002c1ca4a8
2016-03-14 18:34:42 +00:00
drh af3906a798 Many test cases fixed to work with encryption.
FossilOrigin-Name: d866fffb8b1af5003a8730ce7029d1edddb24d46
2016-03-14 17:05:04 +00:00
drh 7bd6b49a3e Test script changes to support testing the SQLite Encryption Extension.
FossilOrigin-Name: 1c70aa5c014fc48ab06215992a61c6f92490abe4
2016-03-14 16:16:43 +00:00
dan de503eb166 Fix the backcompat.test script so that it works with the --testdir test option.
FossilOrigin-Name: f7480e33eb82f2eae219d17ce46cd2d4edac07d2
2016-03-14 15:43:03 +00:00
drh 0d71eaa368 Run TCL tests in the "testdir" subdirectory.
FossilOrigin-Name: 90e0cc7b0be31ee2f155c2c053b0cbac584f6154
2016-03-14 15:03:54 +00:00
drh e500f65a2c More file pathname normalization.
FossilOrigin-Name: fa8c12921f8361f1889724bb7c5f7eca9c48b075
2016-03-14 14:59:35 +00:00
drh bea14132cf Normalize the $testdir and $argv0 paths so that they continue to work
in the testing subdirectory.

FossilOrigin-Name: 19225b8130f1640772fc54250583b571a89063b6
2016-03-14 14:28:43 +00:00
drh d5704a8961 Run TCL tests in a subdirectory "testdir".
FossilOrigin-Name: f632bba0d6ad3edc60f4127380ce8320378dac42
2016-03-14 13:42:29 +00:00
dan 7d85774da8 Fix a memory leak in fts5 that could occur following a syntax error in a query expression.
FossilOrigin-Name: 54b8968e335760105206b894672213c1d56771a4
2016-03-14 12:16:23 +00:00
dan 5cf98f101e Fix a problem handling 'NEAR("" token)' in fts5 found by fuzzing.
FossilOrigin-Name: 10a827ae5f3f322af836c15e581fdc958a433a5a
2016-03-12 19:33:47 +00:00
dan e8c20120ce Fix handling of strings that contain zero tokens in fts5. And other problems found by fuzzing.
FossilOrigin-Name: 72b3ff0f0df83e62adda6584b4281cf086d45e45
2016-03-12 16:32:16 +00:00
drh ffbb02a361 Do not allow the use of WAL mode with nolock=1 because it does not work.
FossilOrigin-Name: 74f5d3b07f6e5e977858c73957c6f9337ae3ca3e
2016-03-11 23:07:30 +00:00
dan e1f1ffa55a Tweak the amalgamation autoconf files so that the --disable-static-shell option works again.
FossilOrigin-Name: 83efcdebfa255cd0663ecc6b74eb99183e2f3a10
2016-03-11 15:25:13 +00:00
drh 811f17bac0 Update spellfix1_scriptcode() to output 215 (latin) for pure numeric text.
FossilOrigin-Name: df44308b862e932ff0ad25b6328d13be22047b96
2016-03-11 14:30:18 +00:00
mistachkin a0ca3bc854 Check for PDB files prior to attempting to copy them in the MSVC batch build tool.
FossilOrigin-Name: d7c20f04e69fb1848b2e2f3b04fbd56e06c7c854
2016-03-10 19:08:44 +00:00
dan 1bb85f3ed3 Add tests to cover untested branches in recent fts5 changes.
FossilOrigin-Name: fa0033edf6ddf3c6631fa95b343225dbc8ac9429
2016-03-10 15:12:47 +00:00
drh ecdf20d3a4 Use #ifdefs to remove code that is unreachable in some configurations, replacing
it with an assert().

FossilOrigin-Name: f96ec84d605fd73c323344a753acf35b76307af9
2016-03-10 14:28:24 +00:00
drh 6459ca0b8c Remove an unused local variable.
FossilOrigin-Name: 3c343c3d012367942037e64a9855b825cb459844
2016-03-10 14:22:42 +00:00
dan 4dbc65b29a Add an incremental optimize capability to fts5. Make the 'merge' command independent of the 'automerge' settings.
FossilOrigin-Name: 556671444c03e3afca072d0f5e9bea2657de6fd3
2016-03-09 20:54:14 +00:00
dan 57ebc84a6e Fix a problem in fts3/4 that was causing it to discard data cached in-memory if an 'optimize' command is run when there is no data on disk. The usual way this would happen is if the very first transaction that writes to the fts3/4 table also includes an 'optimize' command.
FossilOrigin-Name: 79338b991bf01e81d336790ca87a0fa747da4ff3
2016-03-09 18:17:42 +00:00
drh 69c355bd9a Slight simplification to the query optimizer logic associated with IN (SELECT).
FossilOrigin-Name: 2c55c3c2950cafdc256ab540f60dc4609b9c354b
2016-03-09 15:34:51 +00:00
dan ab8aa11b96 Add another test case for bug [5e3c8867].
FossilOrigin-Name: d91e57e49f23414ec9211b775eb11cd6230a4f96
2016-03-09 15:14:54 +00:00
drh 90730c9e68 When optimizing expressions of the form "x IN (SELECT ...)" make sure that
the subquery is not correlated.  Fix for ticket [5e3c886796e5512].

FossilOrigin-Name: 1ed6b06ea3c432f920fb2b66b6042be906c5d21c
2016-03-09 15:09:22 +00:00
drh 7c621fb967 Automatically disable SQLITE_ENABLE_EXPLAIN_COMMENTS if SQLITE_OMIT_EXPLAIN
is defined.

FossilOrigin-Name: 8d4b6b2b519a80f831d64345ac26db825b0e2ebe
2016-03-09 13:39:43 +00:00
drh bacbbccd16 In the query planner, make sure OOM errors are reported up into
whereLoopAddVirtual() so that it shuts down appropriately.

FossilOrigin-Name: a13c59d08bcbc6f26ce6ac761a892eff8f035201
2016-03-09 12:35:18 +00:00
drh c5644346b6 Disable the bestindex*.test modules when building without virtual table support.
FossilOrigin-Name: e0bac2f3eed900d3a26de339fb7d5963f9b47724
2016-03-09 11:59:16 +00:00
drh d93b2b840d Simplifications to the memjournal.c logic to facilitate testing.
FossilOrigin-Name: 8baa2c2c7698e03418531482a8314a5d7ae2c7d3
2016-03-09 04:17:17 +00:00
drh 769b4c95ca Move the write failure test in memjrnlCreateFile() to just after the
actual write, thus reducing the number of instances of the test by one.

FossilOrigin-Name: 7f00d80c63b15376391f661d872f2b29a970702d
2016-03-09 03:44:32 +00:00
drh c1fb2b87bd Update a comment in btree.c to account for WITHOUT ROWID tables. No code
changes.

FossilOrigin-Name: fa20dcb03b92be3bb32f8e3d6f88681ace3f6c84
2016-03-09 03:29:27 +00:00
drh 2f1e02e8a7 Change a branch made obsolete by recent parser enhancements into an assert().
FossilOrigin-Name: ee486ef742557244f532e8d3b3604ff04e024b8a
2016-03-09 02:12:44 +00:00
drh 273021d71a Add an #ifdef and an ALWAYS() for coverage.
FossilOrigin-Name: 069337a922867ad0d023f5bf36e13ea46e047000
2016-03-09 02:03:03 +00:00
drh d1cca3b721 Change an unreachable branch in the virtual table query planner into
an assert().

FossilOrigin-Name: 73b97b9ec3c39ab2828ae6353b5d7e04a27996c9
2016-03-08 23:44:48 +00:00
drh 3349d9bea9 Improved comments on virtual table query planning. Added many new
WHERETRACE() macros.

FossilOrigin-Name: 4c89c2534abcf67bc486d5a900a84a6c4f59537e
2016-03-08 23:18:51 +00:00
drh c629e63a55 In memjournal.c, reuse the same sqlite3_file object for both the in-memory
phase and the on-disk phase.

FossilOrigin-Name: e7fbbdc25c0991d4e58d78a5fcb7386e1aa7f3af
2016-03-08 17:59:19 +00:00
dan 7ed4020890 Modify the memjournal.c code to make it a bit smaller.
FossilOrigin-Name: d99ac4154812065eef26c298de52954d7ee0bd75
2016-03-08 17:44:08 +00:00
drh 33b104af08 Drop support for SQLITE_EXTRA_DURABLE. The new SQLITE_DEFAULT_SYNCHRONOUS
compile-time option is a more general replacement.

FossilOrigin-Name: f6d3156ba9af1da517dd77c1df03fa7869888463
2016-03-08 16:07:59 +00:00
drh 15d36c603d Remove an unused goto label in the RBU extension.
FossilOrigin-Name: 2179a106e8dd7943d4f37093e65ce7826720904e
2016-03-08 16:02:37 +00:00
dan d0b8b664bd Add a new row type to RBU (a peer of insert, update and delete) - "delete then insert".
FossilOrigin-Name: 1d9468d2427d2c9b7240b364554ac85a0b62fa44
2016-03-08 15:52:43 +00:00
drh 9219bf9839 Add the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS
compile-time options.  Automatically switch to the WAL_SYNCHRONOUS setting
when first opening a WAL-mode database if the synchronous setting has not
been previously set by the application.

FossilOrigin-Name: 5a847a676e756bbe33436596d4279f339bfb247c
2016-03-08 15:47:47 +00:00
dan c7dbce0f2a Update fts3/4 so that the 'merge=X,Y' command merges at least, instead of exactly, Y segments from a single level. This matches the documentation. 'merge=X,0' is, as it was in 3.11, an error.
FossilOrigin-Name: 64b3cb29159491cbfab7e01844b54408541ece5e
2016-03-08 15:37:48 +00:00
drh c2ae2073d9 Make the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS
values zero-based to agree with PRAGMA synchronous.

FossilOrigin-Name: 592d2104361500e5002783ba329a2609389c57b9
2016-03-08 15:30:01 +00:00
drh e243de5cf5 If SQLITE_DEFAULT_WAL_SYNCHRONOUS is not the same value as
SQLITE_DEFAULT_SYNCHRONOUS and the application has not run
"PRAGMA synchronous", then set synchronous to the 
SQLITE_DEFAULT_WAL_SYNCHRONOUS setting when entering WAL mode for
the first time.

FossilOrigin-Name: 5791407b523abd24e832fc2361b3e9f01ee2f36a
2016-03-08 15:14:26 +00:00
drh 50a1a5aaca Add compile-time options SQLITE_DEFAULT_SYNCHRONOUS and
SQLITE_DEFAULT_WAL_SYNCHRONOUS used to specify the default synchronous
settings for all database connections.

FossilOrigin-Name: 1fefa967aa93372d232b96b1e0232b7b855d6d00
2016-03-08 14:40:11 +00:00
drh 6702f761ea Fix ATTACH to use the symbolic name PAGER_SYNCHRONOUS_FULL rather than
an integer literal.

FossilOrigin-Name: c4e192a0e5a408e198dbacb2752859a00d2b572f
2016-03-08 14:16:23 +00:00
drh 0dba3304f6 Fix comments on pager flag settings to include synchronous=EXTRA.
FossilOrigin-Name: 3a65a1fc0fd2408c6984153801ec5dcd5211c897
2016-03-08 13:56:02 +00:00
drh 6de32e7cdb Simplified error detection in the xBestIndex processing.
FossilOrigin-Name: 82ca2131b670505578628687746135ac413d156b
2016-03-08 02:59:33 +00:00
drh 8426e36c8f Add the ALLBITS macro as a shorthand for "(Bitmask)(-1)".
FossilOrigin-Name: 91bd619d27e4d91510a187bbb88de961a31c8a2e
2016-03-08 01:32:30 +00:00
drh 599d576456 Add a NEVER() to the code generator. Change the parameter name "mExtra"
to "mPrereq" in the query planner, to more closely reflect its meaning.

FossilOrigin-Name: 721ae51e443647291f3a8f7f2128aa410fee2682
2016-03-08 01:11:51 +00:00
drh fb826b8c13 Changes so that some assert()s in the virtual table query planner are
correct even following an OOM error.

FossilOrigin-Name: 9805f6f85211dcb5a0ab3ceca204e6f2e48530ea
2016-03-08 00:39:58 +00:00
dan 108b7953ed Update fts3/4 so that the 'merge=X,0' command merges X pages from all segments of the first level in the fts index that contains 2 or more segments.
FossilOrigin-Name: cddf69dbc46f10ee7e87538dd850e086386b544c
2016-03-07 20:14:27 +00:00
drh 237b2b7111 Avoid a NULL pointer dereference following an OOM while generating code
for IN operators on virtual tables.

FossilOrigin-Name: c924008692e35f1f5144830af08d6de051dd21dd
2016-03-07 19:08:27 +00:00
drh c5c67abb9a Merge the virtual table query planner enhancement, the RTREE cost estimate
fix, and the statement journal spill delay enhancement from trunk.

FossilOrigin-Name: 17fd8f3cf0ec565e08403dc8e10a1cffc2bbe165
2016-03-07 17:49:17 +00:00
dan e45216fd9d Add a new row type to RBU (a peer of insert, update and delete) - "delete then insert".
FossilOrigin-Name: 169311c85b30f625bdb6986c9cd11db70942d73b
2016-03-07 17:39:30 +00:00
drh 8c71a98ce1 Add the SQLITE_CONFIG_STMTJRNL_SPILL option for sqlite3_config().
FossilOrigin-Name: b6c4202432dc96f8f1740f52d0bf872116357fcc
2016-03-07 17:37:37 +00:00
dan 104ead923e Fix a problem in the previous commit affecting queries with three or more tables joined together to the right of a LEFT or CROSS JOIN operator.
FossilOrigin-Name: d8d89d69a490a708b83147945f74134ae0e4b387
2016-03-05 21:32:14 +00:00
dan 6a1e076939 Change the way SQLite invokes the xBestIndex method of virtual tables so that N-way joins involving virtual tables work as expected.
FossilOrigin-Name: 195444380bafd3d95d37ad83047c75ca20978de4
2016-03-05 21:07:49 +00:00
drh 2ea74dc805 Adjust the cost estimates for RTREE such that the expected number of rows and
expected cost is halved for each additional constraint.

FossilOrigin-Name: fd7cd0609381a85673d1f737ebeb19dde3de180f
2016-03-05 20:28:24 +00:00
dan 115305ff00 Change the way SQLite invokes the xBestIndex method of virtual tables so that N-way joins involving virtual tables work as expected.
FossilOrigin-Name: ffc65968ede2c402e616147e6e3d737e6f9de21d
2016-03-05 17:29:08 +00:00
drh c2f18adde5 Remove the unused journal.c source file (its function have been subsumed into
memjournal.c).  Refactor some of the names in memjournal.c.  No functional
changes.

FossilOrigin-Name: 5f2a262d3f6b1531001326faf1d3b3d92c20a30a
2016-03-05 15:35:09 +00:00
drh 65a7e769e7 Work around (incorrect) ASAN warnings in memjournal.c.
FossilOrigin-Name: 4de09777dad6188b7e897473700af3c9655e8547
2016-03-05 15:03:31 +00:00
drh 07eab3b87f Fix an integer size mismatch problem in test_bestindex.c
FossilOrigin-Name: 2e35eb6b7464455467c868adfbcaad4da16d3207
2016-03-05 14:19:32 +00:00
drh 14bfd99143 Fix an incorrect #ifdef on sqlite3LogEstToInt().
FossilOrigin-Name: dca7b23354a6b08c926b6ed3f7345d942a409862
2016-03-05 14:00:09 +00:00
drh 6f17c09fcf Fix an assert() in sqlite3VarintLen(), even though it is impossible to hit
in SQLite due to the way sqlite3VarintLen() is used.

FossilOrigin-Name: 251424c5869f43012fc1e1a545de362036b883db
2016-03-04 21:18:09 +00:00
drh 2606aca80f Merge recent enhancements from trunk. Default page size is 4096. Writes
to statement journals are avoided.

FossilOrigin-Name: 456df3365e2df60e34762f2024bb551538b3f72b
2016-03-04 16:42:43 +00:00
drh 3298a641a2 Defer opening and writing statement journals until the size reaches a
threshold (currently 64KiB).

FossilOrigin-Name: cb9302cca423de41305719a49208daa392ec09da
2016-03-04 14:43:44 +00:00
drh 3ac9a86415 Update test cases to taken deferred statement-journal opening into account.
FossilOrigin-Name: 5b2fe5219ab9ad15969e3374894a75979b65cb3c
2016-03-04 14:23:10 +00:00
drh 14520bfd23 Merge changes from trunk.
FossilOrigin-Name: a87305dfd49ee17632d0bce66ce7c2e9407b7b3e
2016-03-04 13:08:35 +00:00
drh 94580868f5 Change the default cache_size to -2000 (which means 2000*1024 bytes
independent of page_size).

FossilOrigin-Name: 2682e8e413fadbca0673f242769af17bfd291559
2016-03-04 04:01:43 +00:00