dan
e6912fd819
Include WHERE terms in the cursor-hint passed to a cursor opened for the rhs of a LEFT JOIN iff we can be sure that those terms will not evaluate to true if the LEFT JOIN generates a row of NULLs.
...
FossilOrigin-Name: 998095aba01b75f685ed981b377e1dfe650d9bbf
2016-06-17 19:27:13 +00:00
dan
c497441406
Fix a duplicate test name in cursorhint2.test.
...
FossilOrigin-Name: fcd12b69cee1335224a65aa6d22c4e302b889398
2016-06-17 14:59:40 +00:00
dan
419b03c1bb
Fix a typo in the cursorhint2.test script.
...
FossilOrigin-Name: c1a5a57cf10dca91082963dcbd3e3ffebc3707ef
2016-06-17 14:47:37 +00:00
dan
b324cf756e
If a table is on the rhs of a LEFT JOIN, include only terms from the joins ON(...) clause in the cursor-hint passed via OP_CursorHint.
...
FossilOrigin-Name: 2a2346b04235c6d0b7a8e64c92ee31018285c29f
2016-06-17 14:33:32 +00:00
drh
2ad96f5880
Add the json_quote() function to the JSON1 extension.
...
FossilOrigin-Name: 2c3714aebf5e40e3728877a235b3c1f93defa33e
2016-06-17 13:01:51 +00:00
dan
3480bfdae9
Add a missing OP_ColumnsUsed opcode to code for expressions like "? IN (SELECT ...)" in cases where expression can use an index that may contain NULL values.
...
FossilOrigin-Name: 0b1579caf06a2c42433b8bc9dc28c9ad381aa07c
2016-06-16 17:14:02 +00:00
drh
6b92288119
Fix a typo in a comment on the SrcList object.
...
FossilOrigin-Name: 48b555c42de1cbc031fb6c2c93ef170e491c7d76
2016-06-16 11:16:53 +00:00
drh
c14566aff3
Fix RBU so that it builds with -DSQLITE_ENABLE_8_3_NAMES.
...
Fix "PRAGMA compile_options" for SQLITE_ENABLE_8_3_NAMES such that it reports
the numeric setting: "1" or "2".
FossilOrigin-Name: 0230ca17ba20ecd3d213788ad6891973d52a7b72
2016-06-13 19:58:46 +00:00
drh
6c0e41b951
Fix the declaration of the table implemented by DBSTAT so that it uses
...
correct datatypes.
FossilOrigin-Name: a1e1cdc51d1c68502f43ac72c28ba87cb1916a0d
2016-06-13 15:59:37 +00:00
drh
debaa86c1c
Fix an incorrect assert() in the btree logic.
...
FossilOrigin-Name: fcf6114be94b260641e7c78a58db16a31ac5ab35
2016-06-13 12:51:20 +00:00
drh
edc4024b9d
Fix the "onecolumn" and "exists" methods of the TCL interface so that they
...
work in combination with the "profile" callback.
FossilOrigin-Name: d362ba157f993fc74a590cf15a9a2fa589278dd7
2016-06-13 12:34:38 +00:00
drh
4d249e6128
Enhance "PRAGMA table_info" to that it provides information about eponymous
...
virtual tables.
FossilOrigin-Name: 53a1e5d51304cb3de700c1807a2c945a40240576
2016-06-10 22:49:01 +00:00
drh
8dc570b6af
Prefer to use partial indexes for full table scans when that is possible.
...
FossilOrigin-Name: fe1874321ba31cec9ae65387920c33d8d0178ed8
2016-06-08 18:07:21 +00:00
drh
b9f3f6b672
Add the "dbhash.exe" utility program that computes a SHA1 hash over the
...
invariant content of an SQLite database file. Free space in the file, the
page size, auto_vacuum status, text encoding, and so forth do not change the
hash. Only the content matters.
FossilOrigin-Name: f48a4ad33ecd4a86f5529596ff11829ba38b0875
2016-06-08 14:04:50 +00:00
drh
1d5721a777
Fix an undersized buffer in the SHA1 implementation.
...
FossilOrigin-Name: fb2768154c513881886e89801e906bea959197b3
2016-06-08 13:59:35 +00:00
drh
7c4942cb1a
Fix the dbhash utility so that it ignores the root page number when hashing
...
the sqlite_master table. Add new command-line options. Add the ability to
hash multiple databases with a single command.
FossilOrigin-Name: 44f157e0f0d5a76ef9002b2592164c4fdae89e34
2016-06-08 13:49:28 +00:00
drh
290fcaa2d1
An initial attempt at a "dbhash" command-line utility.
...
FossilOrigin-Name: 2247649ca215c06205b33b2250eb809baf39263a
2016-06-08 01:03:05 +00:00
drh
a83a5c3fbc
Fix the walcrash4.test test module so that it works on windows.
...
FossilOrigin-Name: 2091a4c9231c7871f27661adc27dd7df26500f6c
2016-06-07 20:25:19 +00:00
mistachkin
4a58d5fdf5
In winFullPathname, translate '/X:' to 'X:' before doing anything else.
...
FossilOrigin-Name: e404ad705d0e2d96025d05cc88348ffcd0703533
2016-06-06 20:36:26 +00:00
drh
8a5fd26116
Translate filenames of the form "/c:/*" into just "c:/*" on WinRT and Cygwin.
...
(SQLite has long done this for Win32/WinNT.)
FossilOrigin-Name: f8470ffc49918099820cc0008b9089e5fe8a7dff
2016-06-06 20:27:15 +00:00
drh
0efd37f28b
Fix lempar.c so that the shift-reduce optimization works for error processing.
...
This is a Lemon issue only and has no impact on SQLite.
FossilOrigin-Name: 3665a2f554e5b8d2717d952dbaf325a39c637c31
2016-06-06 18:17:36 +00:00
drh
4335ad05b8
Initialize the yyerrcnt variable in the lemon parser template. This has no
...
effect on SQLite itself.
FossilOrigin-Name: 45531654f7f5be3a08e9ee8598f14efe028245d8
2016-06-06 13:24:57 +00:00
drh
05a360913d
Small performance boost and size decrease in sqlite3BtreeMovetoUnpacked().
...
FossilOrigin-Name: e106a77d85c20ae23ebe49a5acceeaffecb40fc2
2016-06-06 01:54:20 +00:00
drh
c80937a5f5
Small performance improvement in the LIKE function.
...
FossilOrigin-Name: 5fb0c35459cf7a8662bf8cd84ac345f6fafda6cc
2016-06-06 01:48:14 +00:00
drh
5cd22006ef
Btree interface refactoring:
...
(1) The sqlite3BtreeKeySize() interface is renamed to sqlite3BtreeIntegerKey()
and modified to work only for table btrees with a rowid.
(2) The sqlite3BtreeDataSize() interface is renamed to sqlite3BtreePayloadSize()
and modified to work with any btree.
(3) The sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() routines are
combined into a single sqlite3BtreePayloadFetch() routine.
The result of these changes is a smaller binary and fewer CPU cycles needed
to run queries.
FossilOrigin-Name: 2d831074cf730dce47de5880d7b4570d04d15fee
2016-06-06 01:14:08 +00:00
drh
5e08d0fcb6
Improved comment on cursorOwnsBtShared(). No changes to code.
...
FossilOrigin-Name: 5e269c2d2667df65592a32d6bc2fa388fd7eb181
2016-06-04 21:05:54 +00:00
drh
d66c4f809d
Fix a C99-ism and a compiler warning for MSVC.
...
FossilOrigin-Name: aa53a36ea2eb90cc4939e37e6ad320b4211692fd
2016-06-04 20:58:35 +00:00
drh
a7c90c42ea
Change the sqlite3BtreeKeySize() interface into sqlite3BtreeIntegerKey() and
...
make it only work for table btrees. Change sqlite3BtreeDataSize() into
sqlite3BtreePayloadSize() and make it work for all btrees. Combine
sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() into a single
sqlite3BtreePayloadFetch() routine. These changes seem to make the
b-tree interface more rational and they reduce both binary size and
CPU usage.
FossilOrigin-Name: bef35e18dd19732f7859287b097feeb593e5900f
2016-06-04 20:37:10 +00:00
drh
f94fdd832c
Allocate KeyInfo objects from lookaside if possible.
...
FossilOrigin-Name: b411107a3609d53af4e147f01e311b858b78420b
2016-06-04 17:12:26 +00:00
drh
30e3fdf0ee
Fix up speedtest1.c so that it will compile and run on SQLite versions prior
...
to 3.6.18 (circa 2009-09-11).
FossilOrigin-Name: 9583c0fb39f357a76e0c99ea03b034aea3e03c75
2016-06-04 16:33:48 +00:00
drh
cc97173810
Remove an unreachable branch in the UNIQUE constraint parsing.
...
FossilOrigin-Name: 313e990c741d7db082f1d9b9f3f4c65fdd91b812
2016-06-04 13:57:41 +00:00
drh
f0755fc85e
The OR optimization is usable on virtual tables with LIKE, REGEXP and/or GLOB
...
terms in the WHERE clause.
FossilOrigin-Name: fa3a89fc0b88d5ad7f5c232198847b3483eef611
2016-06-03 18:59:37 +00:00
drh
a4680a8b19
Add support for virtual tables using a WITHOUT ROWID schema. This merge also
...
includes enhancements to the CSV extension, which is used for testing of
the new WITHOUT ROWID virtual table mechanism.
FossilOrigin-Name: aa7e9d0cc15c050205b09d5a50f985e4ade571d0
2016-06-03 18:44:43 +00:00
drh
0b2c140a4d
Fix a memory leak when a WITHOUT ROWID eponymous virtual table is used.
...
FossilOrigin-Name: 31b83a7d7e553163eb186fc966a885f237554ec2
2016-06-03 18:21:04 +00:00
drh
7edcf627af
Disallow access to the rowid column on WITHOUT ROWID virtual tables.
...
FossilOrigin-Name: d31c25972bfb6d04caad05534505698776e7e6d5
2016-06-03 17:27:14 +00:00
drh
c576b27580
Enhance the sqlite3_load_extension() interface to permit extensions to
...
return SQLITE_OK_LOAD_PERMANENTLY which will prevents unloading when
the database connection closes.
FossilOrigin-Name: 5908aa4dc59925c414b236b6fd3d3ecd7f3da435
2016-06-03 13:35:55 +00:00
drh
ac9c3d2c18
Performance optimizations on the CSV virtual table. Disallow WITHOUT ROWID
...
virtual tables that have an xUpdate method, for now.
FossilOrigin-Name: 3134b3266c36c9d018e8d365ef46ef638c0792f4
2016-06-03 01:01:57 +00:00
drh
35db31b24b
Add the CSV extension to the test fixture. Fix a memory leak in the CSV
...
extension. Add test cases for the CSV extension, including one that uses
a WITHOUT ROWID virtual table participating in the OR optimization.
FossilOrigin-Name: 95f483e86e30ae68108904400e18ed41d389446b
2016-06-02 23:13:21 +00:00
drh
adcba64df4
Add the data= parameter to the CSV virtual table extension.
...
FossilOrigin-Name: 769191042aa14e6eccdfe2391fc1011171d5c9ad
2016-06-02 17:44:24 +00:00
drh
273bfe9f20
Fix corner cases in the WITHOUT ROWID virtual table logic.
...
FossilOrigin-Name: a393bbb972660c1ffcdda923d0f3564ecfcd2f0a
2016-06-02 16:22:53 +00:00
dan
82a1c0e5bb
Fix an issue preventing RBU vacuum from working with virtual tables.
...
FossilOrigin-Name: 3bd85fa5a9a489fd505c973e37c33a76c1b0e957
2016-06-01 10:37:50 +00:00
mistachkin
9f6e686f59
Fix compilation issues with the VFS stat extension.
...
FossilOrigin-Name: f6e956525b03fa07190e5521edac4758c386cc80
2016-06-01 05:02:05 +00:00
drh
62340f8498
An experimental branch with code that allows virtual tables to be declared
...
as WITHOUT ROWID tables. This might be useful for virtual tables that model
external data sources that do not have a convenient way of computing a unique
rowid. The current check-in almost works, but there are still serious issues.
FossilOrigin-Name: 49638f180e26477974cacc69b79e0be0a5e18b29
2016-05-31 21:18:15 +00:00
drh
1fc1a0f280
Add the columns=N parameter to the CSV extension.
...
FossilOrigin-Name: 28ebeadd6a4c9ff2ce9fc86a0f0fe2f6cf94d3ac
2016-05-31 18:44:33 +00:00
drh
abfd272b59
Add the testflags parameter to the csv extension.
...
FossilOrigin-Name: b93fb2fe0df1b3bea2bc2a4e1528da74ab290593
2016-05-31 18:08:35 +00:00
drh
724b18966d
Add the "csv" virtual table for reading CSV files, as an extension in
...
the ext/misc/ subfolder.
FossilOrigin-Name: 00d3570c8bb96469c984903e20de589e998d4636
2016-05-31 16:22:48 +00:00
dan
0df5024e83
Fix an FTS5 problem (segfault or incorrect query results) with "... MATCH 'x OR y' ORDER BY rank" queries when either token 'x' or 'y' is completely absent from the dataset.
...
FossilOrigin-Name: 64ca1a835a89fd211078d2cd8f9b649e89be528d
2016-05-30 08:28:21 +00:00
dan
dbd2dcbd5e
Experimental change to allow virtual tables to take advantage of LIKE, REGEXP and GLOB terms that are part of OR expressions within WHERE clauses.
...
FossilOrigin-Name: 242507b4ff96bc4c7c7844dbe1c2b8508dbf1d01
2016-05-28 18:53:55 +00:00
drh
66bf810467
Remove an unnecessary malloc from the vfsstat extension.
...
FossilOrigin-Name: 24f258c2392290168cf34622b89a4a406a3dd853
2016-05-28 17:45:15 +00:00
drh
c1502e2f4f
Enhance the sqlite3_load_extension() interface to permit extensions to
...
return SQLITE_OK_LOAD_PERMANENTLY which will prevent the extensions from
unloading when the database connection closes.
FossilOrigin-Name: d3f99a5e8d0486d0917dfe96987c179a6f63b850
2016-05-28 17:23:08 +00:00
drh
444c445ff8
Enhance "PRAGMA compile_options" so that it shows the version of the compiler
...
used to generate the executable, for common compilers.
FossilOrigin-Name: 6a0f200957ea294a2ae06c0b039a10ac838925f2
2016-05-28 15:22:33 +00:00
dan
00dae0a3ca
Update the amalgamation-tarball configure script so that it can use header file "readline/readline.h" with library file "libedit".
...
FossilOrigin-Name: cbf72b04bb0650b62336d86b22ef59315ccdc183
2016-05-28 15:09:35 +00:00
drh
3c40ae7d3a
Add the vfsstat.c loadable extension - a VFS shim that measures the amount
...
of I/O, and an eponymous virtual table that is used to extract and view
the measurements.
FossilOrigin-Name: 0987487dd4ebfcf66ddeec8ceca47775216a0887
2016-05-28 14:53:48 +00:00
mistachkin
f35b8f8369
Clang can define _MSC_VER in some circumstances; therefore, check for Clang first.
...
FossilOrigin-Name: 3f710bc3617691fa7432a24f1410d4651ca181b6
2016-05-28 00:13:21 +00:00
mistachkin
7ce6cdd515
Check for Clang before GCC.
...
FossilOrigin-Name: 7c2cd4b05f88a759bdf72d3a249db5984fd7105d
2016-05-27 21:13:43 +00:00
mistachkin
756e09c338
Remove surplus quotation marks from the COMPILER= compile_options setting for Clang.
...
FossilOrigin-Name: 5c966f200018043f5258eb03e043bb25c7766131
2016-05-27 20:30:02 +00:00
drh
2b9672e998
Remove surplus quotation marks from the COMPILER= compile_options setting
...
for GCC.
FossilOrigin-Name: 664c132dabe4a871d5c39c11b339f871ca3a5d31
2016-05-27 19:34:29 +00:00
mistachkin
15e2ddeab3
Add basic compiler information to the results of 'PRAGMA compile_options'.
...
FossilOrigin-Name: d734e2df40d95da74ce0c8dd2da1c14033cad8bb
2016-05-27 18:09:45 +00:00
drh
c84a4020ef
Improvements to WHERE-clause debug tracing. Show TK_MATCH expressions and
...
show more details on WhereTerm traces.
FossilOrigin-Name: 71087c12bc75a82f5d1051600a442ef6efc5e899
2016-05-27 12:30:20 +00:00
drh
8dc8247eab
Fix Lemon so that it actually works with -DYYSTACKDEPTH=0.
...
FossilOrigin-Name: a9be4c2d56d08fea2cd1aab20b19092a45ef7620
2016-05-27 04:10:47 +00:00
drh
baf254aef9
Fix the Lemon-generated parser so that it compiles with -DYYSTACKDEPTH=0.
...
It does compile now, but there are subtle issues still.
FossilOrigin-Name: 28d439f816d2fa5263e1c4ddecf3bf1ac2dd6549
2016-05-27 01:07:18 +00:00
drh
eeb9565a3e
Add a new OP_SeekRowid opcode, that combines the functions of OP_MustBeInt
...
and OP_NotExists. This makes the code slightly smaller and faster.
FossilOrigin-Name: ffe80a1bfa014943a614fc6993c1749b9bfec4c1
2016-05-26 20:56:38 +00:00
drh
ce3c5011d9
Add the libvers.c tool in the tool/ subdirectory.
...
FossilOrigin-Name: 2a41f098b2f0523b3d7e6eba6ae91cc0d30752df
2016-05-25 18:53:39 +00:00
drh
756b41ebd4
Enhance Lemon and the parser template so that it can once again build parsers
...
that have no unreachable branches.
FossilOrigin-Name: 41fd46e2962ba9a1e1f6867567499d1f6f5b8372
2016-05-24 18:55:08 +00:00
drh
f34a25a23b
Minor change to the walcrash4.test module so that it works when
...
SQLITE_DEFAULT_WAL_SYNCHRONOUS is set to something other than 2.
FossilOrigin-Name: 61e239bc4310eff172e1e50d51522ecc75dd997e
2016-05-24 18:50:41 +00:00
dan
fe912510ea
Fix an obscure problem with transactions written in "PRAGMA synchronous=full" mode on systems that do not support POWERSAFE_OVERWRITE causing an xSync() call to be omitted if the last frame written by a transaction is aligned to a sector boundary. This means that if a power failure or OS crash occurs very soon after such a transaction is committed, it may be lost following system recovery.
...
FossilOrigin-Name: 37de3eab67f12ae1ce5bc8d5e541c64fc6b1fd80
2016-05-24 16:20:51 +00:00
drh
abecc0b883
Improvements to the initialization of the push-down automoton for the
...
Lemon-generated parser. Smaller and faster.
FossilOrigin-Name: 3b28b68e232060f8b2fe2fe6fa478280da2006ff
2016-05-24 00:40:54 +00:00
drh
118ab65859
Use a pointer to the top of the stack rather than an index into the stack
...
in the Lemon-generated parser template, for about 6.6% parser performance gain.
FossilOrigin-Name: 3c2a770549d5bb65fcd6cc684e0a0ae6d641ac68
2016-05-23 21:56:24 +00:00
drh
605123a277
Avoid a minor error message when running RTREE without an sqlite_stat1 table.
...
FossilOrigin-Name: 276e92f5b4c1ee49eabb738b24d73d7af90fb13c
2016-05-23 19:02:58 +00:00
drh
f1e2c8e1ff
Fix the rtreeG.test test case.
...
FossilOrigin-Name: 9589e9377118efc356c73ea1aab2d7e6c2f7fc36
2016-05-23 18:27:07 +00:00
drh
e62c2fe179
Fix RTREE so that it does not run queries against the sqlite_stat1 if that
...
table does not exist.
FossilOrigin-Name: 48526a2fe5373e3d19e8b813cc8a342d6b7c9c3d
2016-05-23 18:12:04 +00:00
drh
daa14559d2
Remove an extra "finish_test" from the end of rtreeC.test.
...
FossilOrigin-Name: bfbb6dd84b5e1335e1eae857a03fa33a71fd67a5
2016-05-23 18:06:51 +00:00
dan
5782bc27fa
Improve the error messages generated by the rtree module when a constraint fails.
...
FossilOrigin-Name: 3ad2531efb64b7c53b777ddf3681203217052b32
2016-05-23 16:16:13 +00:00
drh
c173ad8011
Lemon enhancement: avoid unnecessary reduce actions that convert one
...
non-terminal into another but have no side effects.
FossilOrigin-Name: a86e782ad1aa6f5a8b2c54f9dcf0fa61960843f3
2016-05-23 16:15:02 +00:00
drh
711c9810dc
Fix comment typos and improve clarity of presention in Lemon. The output
...
should be identical.
FossilOrigin-Name: b91a5b8297756289d45c8fce0d3399c253517eb0
2016-05-23 14:24:31 +00:00
drh
6831474341
Update the configure script with additional hints on the location of
...
tclConfig.sh, hints needed by the latest versions of Xcode.
FossilOrigin-Name: 90411a28168f6dacf08242a25bed7d6269041417
2016-05-23 00:10:58 +00:00
drh
dfc2daa7c3
More tweaks to improve the performance of the insert logic, slightly.
...
FossilOrigin-Name: dec1307581216e01ad508ffe4455b957e3356654
2016-05-21 23:25:29 +00:00
drh
8eeb4463d9
Simplify the sqlite3BtreeInsert() interface by gathering the five arguments
...
describing the content to be inserted into the new BtreePayload structure, and
thus reducing the number of parameters from eight to four.
FossilOrigin-Name: 55f348cdd24c7812ea4b63345514764b69f64dc8
2016-05-21 20:03:42 +00:00
drh
16e2b9694a
Remove some unused legacy code from the btree insert logic.
...
FossilOrigin-Name: 2ce1166717ac3c0cec37b2f6d70d8359fbaefc71
2016-05-21 19:10:21 +00:00
drh
09a4e92c6d
Yet another minor size reduction and performance increase in the b-tree
...
insert logic.
FossilOrigin-Name: 1dbaf7a119edc5150a5d4be1b72f652a574e5bc5
2016-05-21 12:29:04 +00:00
drh
cb89f4aba8
Small size reduction and performance increase in the sqlite3BtreeInsert()
...
logic.
FossilOrigin-Name: 656aa1ecf5129ae43c56a990e95038b5d8cbdcee
2016-05-21 11:23:26 +00:00
drh
ed90a4676e
Add the shell-script used for routine performance testing.
...
FossilOrigin-Name: 8e366f18f5bbd594390e7b091083e99639de324e
2016-05-21 00:45:54 +00:00
drh
860a95fd01
Add a simple TCL script for summing cachegrind information for each VDBE
...
opcdoe.
FossilOrigin-Name: 96cf821b6a69e2e8df33271b7bb674bd12a1ef7b
2016-05-20 23:51:14 +00:00
drh
170c276623
Another optimization on the OP_Column opcode.
...
FossilOrigin-Name: 1765672c2599eb03d39c52cd2dc32ea1e5ee069e
2016-05-20 21:40:11 +00:00
mistachkin
2380f3f1d0
Fix typo in comment.
...
FossilOrigin-Name: 9db8f2147339ba519c4ec32e34068e9f4a25e099
2016-05-20 20:58:30 +00:00
drh
a1851efc5d
Slight performance improvement in the OP_Column opcode.
...
FossilOrigin-Name: 5c157474391f90f24e8867c77fbc6564c7955ecc
2016-05-20 19:51:28 +00:00
drh
d20b2a4109
Remove the sqlite3PagerClearCache() routine, which does not accomplish anything
...
useful.
FossilOrigin-Name: f250166bb3c1b0c58e703b334825cf6210758fda
2016-05-20 18:09:01 +00:00
drh
f431a87c7c
Performance optimization and size reduction on the freeP4() routine.
...
FossilOrigin-Name: 4dc56e8684e0c74fb311c7f0ef1c367da8c7bf70
2016-05-20 15:53:47 +00:00
drh
c0a195b885
Increase the version number to 3.14.0 since we are already making significant
...
code changes.
FossilOrigin-Name: 1a0d05765fa2e69ccd4c98782cf9f5c5b2897719
2016-05-20 15:24:14 +00:00
drh
01c736db40
Use sqlite3VdbeAddOp0() to code OP_Expire, to save a few bytes.
...
FossilOrigin-Name: 3d55d24dcb27f07d1e645738ee4707e4df923036
2016-05-20 15:15:07 +00:00
drh
b982bfea37
Optimizations to link list merge sort code in vdbesort.c, pcache.c, and
...
rowset.c. Resulting binaries are 10 bytes smaller and use 0.03% fewer CPU
cycles.
FossilOrigin-Name: 9033afbb31b28a8ad6856ac1f773d8e83bc9ec1c
2016-05-20 14:54:54 +00:00
drh
1524c672e9
For queries with both ORDER BY and LIMIT, if the rows of the inner loop are
...
emitted in ORDER BY order and the LIMIT has been reached, then optimize by
exiting the inner loop and continuing with the next cycle of the first outer
loop.
FossilOrigin-Name: 559733b09e9630fac9d9318a7ecbaba9134e9160
2016-05-20 14:11:37 +00:00
drh
6326d9f6f1
Set the NULLEQ flag on the sequence counter comparison in the ORDER BY LIMIT
...
optimization, to avoid coverage complaints about not testing the NULL case.
FossilOrigin-Name: ed1b30dc932a7c03e173b130c5f55f9989c7e0b4
2016-05-20 13:44:58 +00:00
drh
17e0c47368
Autoconf configure.ac adjustment to try to get it to look for both editline
...
and readline automatically.
FossilOrigin-Name: 645bd696dfd86d8c93080f6ebfddbc9639ec088b
2016-05-20 12:22:16 +00:00
drh
73fa4737ce
A few simple test cases for the ORDER BY LIMIT optimization.
...
FossilOrigin-Name: 08849eab0f6ef29eaf6d2ce9c692de9b953dbd27
2016-05-20 00:21:42 +00:00
drh
d711e52229
Appears to work now. Needs test cases, more comments, and code optimization.
...
FossilOrigin-Name: 990fe50c9182f74c9b54a12602c4c30d891273e6
2016-05-19 22:40:04 +00:00
drh
a536df4e7f
In a query with both ORDER BY and LIMIT, if the inner loop satisfies the
...
ORDER BY then try to cut short each invocation of the inner loop once the
LIMIT has been satisfied. This check-in is a partial implementation only.
FossilOrigin-Name: 852d1eda6ecca1171f6ed800b06f5b4854672002
2016-05-19 22:13:37 +00:00
drh
bc5eac00c2
Fixup comments on wctrlFlags value definitions.
...
FossilOrigin-Name: 58b516e8c0b00a41bc0364eab267bc2ecb9efeff
2016-05-19 19:31:30 +00:00
drh
ce943bc834
Clean up the WHERE_* macros used for the wctrlFlags parameter on the
...
sqlite3WhereBegin() interface, freeing up some bits to be used for other things.
FossilOrigin-Name: d01305841da94b2d47e32744802f69525bf590df
2016-05-19 18:56:33 +00:00
drh
a43a02e42e
Optimization marks in vdbe.c. No logic changes.
...
FossilOrigin-Name: cf2737415aff7de7e133da174b645324c99d5758
2016-05-19 17:51:19 +00:00
drh
0eda6cd80d
Performance improvement in the OP_Column opcode.
...
FossilOrigin-Name: 4737cadc414c5f6d256fcceacb19d80d66a8c8e7
2016-05-19 16:58:42 +00:00
dan
21690ff7fc
Add test cases to test some fts3/4 edge case behaviour surrounding the '*' character.
...
FossilOrigin-Name: 1f577e1f08159aeaaf19a7020d9004dd6103d57b
2016-05-19 16:21:30 +00:00
drh
4ca239fd55
Small size reduction and performance improvement in the OP_Column opcode.
...
FossilOrigin-Name: 0d7730611be974162d9a064a041957d04d55b6d3
2016-05-19 11:12:43 +00:00
drh
3847636701
Add the "scrub" utility program that simultaneously backs-up a live database
...
and erases all deleted content.
FossilOrigin-Name: c981ab2a4771f8c5e95e2e85e37a02a4bd0e36ee
2016-05-18 21:03:27 +00:00
drh
15efecef6c
Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface.
...
FossilOrigin-Name: 915416d15f43c4e1d3afa8121bb6fa09f9f67e30
2016-05-18 21:01:27 +00:00
drh
55bcaf6829
Version 3.13.0
...
FossilOrigin-Name: fc49f556e48970561d7ab6a2f24fdd7d9eb81ff2
2016-05-18 10:57:30 +00:00
drh
0d2c3a0e11
Enhance the scrub utility program so that it does a FULL checkpoint prior to
...
starting the backup, to ensure that the database file content matches what needs
to be backed up without having to look at the WAL file.
FossilOrigin-Name: ab1c5ce50f139070d7a322f43132a93c8af2ed68
2016-05-17 21:17:51 +00:00
drh
8884d99926
Merge the latest changes from trunk.
...
FossilOrigin-Name: 5021dfe1f3f723a5938d547a0308f1d63103702d
2016-05-17 17:11:21 +00:00
dan
ee7de914d4
Do not run snapshot_fault.test as part of the inmemory_journal permutation.
...
FossilOrigin-Name: 995c084bde44e678facc5f5d95a2335ce61e57b0
2016-05-16 14:35:15 +00:00
drh
697c9eaa90
Disable shell.exe test cases for UTF8 filenames as they do not work on MinGW.
...
FossilOrigin-Name: 386bcbba8ed733ee84958e6bd6e9d33c150e6c18
2016-05-16 11:55:09 +00:00
drh
3b02a07e7d
Improvements to a comment in the pcache.c file. No changes to code.
...
FossilOrigin-Name: b369980f0c4550a9034833caa2c7c85d6030f5ff
2016-05-13 17:22:33 +00:00
drh
a0f6b124ad
Remove the unused PGHDR_NEED_READ flag. Add invariant checking (during
...
SQLITE_DEBUG builds only) for the PgHdr object.
FossilOrigin-Name: 771c5411e9ebcad00fb4b97556b519488284b87b
2016-05-13 15:22:06 +00:00
drh
4bf7d21f56
Clarification of the pagerFlushOnCommit() logic.
...
FossilOrigin-Name: 3401d9dcdbec390564574e8d2972c944c204e025
2016-05-13 12:12:38 +00:00
drh
935c4d8484
Fix pager_end_transaction() to ensure that a ROLLBACK does not clobber
...
unwritten pages in a TEMP file pcache.
FossilOrigin-Name: 9495d33879221c1821331dc72c61a6a3d182f526
2016-05-13 11:50:00 +00:00
drh
7aeb216a19
Additional debugging and tracing logic for pcache.c, turned off by default
...
using an "#if 0".
FossilOrigin-Name: 32a62e3bd46cf58586617d3f8b1a971c91df205e
2016-05-13 04:24:25 +00:00
drh
5f65ff277d
Disable ALWAYS and NEVER when compiled with SQLITE_MUTATION_TEST.
...
FossilOrigin-Name: 24d9fbc1d0f99b90577ecd6edcd3bc1abc76633f
2016-05-12 19:17:09 +00:00
drh
a7a45973e9
Simplification of the sqlite3FaultSim() call inside of
...
sqlite3PagerCommitPhaseOne().
FossilOrigin-Name: 1b0f4cc362cda1dc175aa363ae4e612b7d1164c3
2016-05-12 19:05:35 +00:00
drh
d22f5099b5
Add an assert in pager.c to confirm that pPager->tempFile is always true
...
for in-memory databases.
FossilOrigin-Name: 3fd71092063bf1d30e03cf2497ea9c57b3ec82eb
2016-05-12 18:38:45 +00:00
dan
82c0447701
Add extra OPTIMIZATION-IF-FALSE comments where required to pcache.c.
...
FossilOrigin-Name: 9d55b8f541de43deb82d460d32005fd62f5430b2
2016-05-12 17:06:04 +00:00
drh
91ef8ad42c
For in-memory databases, it does not matter if pcache entries are marked
...
"clean" or "writable".
FossilOrigin-Name: 06c1e27ca868f247f8c27b03eb19aac004f28650
2016-05-12 12:08:48 +00:00
drh
42bee5f4d6
Remove an unnecessary call to sqlite3PcacheMakeClean() inside of the ROLLBACK
...
logic.
FossilOrigin-Name: 0dc50d9915cd88916229ca5c3834de82fa16f017
2016-05-12 12:01:20 +00:00
dan
613723d9fd
Add a missing OPTIMIZATION-IF-FALSE comment to pcache.c.
...
FossilOrigin-Name: bc202e5b418d5a57bfc766883c4417c94829d96e
2016-05-12 09:48:23 +00:00
drh
72e6a39907
For in-memory databases, it does not matter if pcache entries are marked
...
"clean" or "writable".
FossilOrigin-Name: ad601c7962a60a11699cf31f1faee09b95d5c710
2016-05-11 23:54:14 +00:00
dan
401907e3ff
Remove a redundant condition from pcache.c. Add an OPTIMIZATION-IF-TRUE comment to another condition that requires it.
...
FossilOrigin-Name: 3bfd2621d13b4f842f3af6d35519653f4eb8cad7
2016-05-11 20:03:23 +00:00
dan
b2ef900ade
Remove some a small amount of redundant code related to PCache.pSynced from pcache.c.
...
FossilOrigin-Name: 9cc8cad78fdfe044ad6726ebfe6909c1e242fa55
2016-05-11 15:41:15 +00:00
drh
a37e0cfb22
Do not reset the page cache when a rollback journal truncate fails, as doing
...
so can cause loss of information for an in-memory TEMP file.
FossilOrigin-Name: 345ce1c9f64f2a424663b4dfcbe4586d9df7bff6
2016-05-11 12:47:46 +00:00
drh
65c6420335
Always truncate, rather than persist, the rollback journal of a TEMP database.
...
FossilOrigin-Name: 42fb6f1e99a6c31889819a0302679d598dc0ab1b
2016-05-11 11:04:17 +00:00
drh
5c8e092804
Add pcache tracing macros. Off by default. Requires changing an "#if 0"
...
and recompiling to enable.
FossilOrigin-Name: d9313d19c75a62f558b3df6b15595b15bbfa0b62
2016-05-11 10:57:04 +00:00
dan
78d1c90567
Add another test case to temptable3.test.
...
FossilOrigin-Name: 223640243efc52c14bb2bb540833a2a624eaa41a
2016-05-10 20:16:43 +00:00
drh
d12bc6022b
Fix a problem in sqlite3PagerMovepage() when working on a temp table for which
...
pages have been spilled.
FossilOrigin-Name: 20cf8811caf705b482be100baecb3ef72aee2d5a
2016-05-10 20:03:08 +00:00
drh
3791c9c288
Fixes to requirements marks. No changes to code.
...
FossilOrigin-Name: 79ecd0ef20c12198e950a730871444a980a0f1b2
2016-05-09 23:11:47 +00:00
drh
83561932a5
Enhancements to test/sort5.test so that it works with SEE.
...
FossilOrigin-Name: 8a39c8ee49e6e80c83613546cf328801c80b7c4d
2016-05-09 22:35:06 +00:00
drh
f52a697e04
Remove some forgotten debugging lines from test/sort5.test.
...
FossilOrigin-Name: f5875489810101c13a7917bde86e6a23b088e386
2016-05-09 22:32:18 +00:00
drh
a72a15e45a
Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface.
...
FossilOrigin-Name: da94a6e0ebacad8f235dcd653a25474327f26137
2016-05-09 19:58:56 +00:00
dan
ba1079ba2a
Update a comment in fts5.h. No changes to code.
...
FossilOrigin-Name: 14e53d0e2f62d82ae1d64a72fd9711548e3bf5ea
2016-05-09 19:03:42 +00:00
dan
170b66493d
Fix the FTS5 xQueryPhrase() API function so that it recognizes column filters.
...
FossilOrigin-Name: 48505cde05d74748454dc135d4ec25954ecf020e
2016-05-09 18:05:44 +00:00
drh
e8da01c189
Make the sqlite3DeleteTable() routine smaller and faster.
...
FossilOrigin-Name: d75140b851a34a5eb66041e294e421628efbc5ba
2016-05-07 12:15:34 +00:00
drh
3eead27022
Fix typo in the intpkey-17.2 test.
...
FossilOrigin-Name: a45fda657d987f5c923d141584841a6c62dfb504
2016-05-07 12:15:15 +00:00
drh
f09c48233a
Simplification to the logic used to decide between OP_Seek and OP_NotExists.
...
Use OP_NotExists for both DELETE and UPDATE.
FossilOrigin-Name: 3a695263183303e3f64eb2320752d0fdef53eaf2
2016-05-06 20:23:12 +00:00
drh
a3fd75d426
Corrections to comments on the whereScanInit() interface.
...
FossilOrigin-Name: ab7ab415d19524f6c3901e474d3a154f55d28530
2016-05-06 18:47:23 +00:00
drh
87f8f1ac69
For DELETE operations, make sure that seeks on the main table are not
...
deferred, since if they are and none of the indexes reference columns of
the table, the seek might never occur until the OP_Delete opcode, which is
too late. Fix for ticket [16c9801ceba49].
FossilOrigin-Name: 93a2bace5704f7ecad56541a6b3e06a88f7f393f
2016-05-06 16:49:54 +00:00
dan
39332fb0f7
Fix an error in main.mk causing testfixture to use individual fts5 source code files instead of fts5.c.
...
FossilOrigin-Name: 933a1c818c1d1ccec8680e1ba87f2cbe37cc9f7d
2016-05-06 16:30:34 +00:00
drh
bcf6884afd
In the WHERE generator, when building code for a DELETE operation, make sure
...
that seeks to the main table are not deferred.
This is a better fix for the [16c9801ceba49] bug than the previous.
FossilOrigin-Name: 150dd09ebd7b17234a79e1811a0fae8b0a7a40d5
2016-05-06 16:06:59 +00:00
dan
d49c6930b1
Fix a bug in sqlite_analyzer causing it report (slightly) incorrect values for the number of entries in indexes or WITHOUT ROWID tables.
...
FossilOrigin-Name: dc37750d4e87d0c529785adceeebd838b8f8591d
2016-05-06 15:16:02 +00:00
drh
70077d1733
Do not scan indexes that have the integer primary key as their left-most
...
column. This fixes the crash of ticket [16c9801ceba] but it seems like
the wrong fix. More investigation needed.
FossilOrigin-Name: 50312273ffaf1bd4bfdc73865fa0b19166968429
2016-05-06 11:31:10 +00:00
drh
8271630e81
Additional error reporting. Open the source database read/write so that
...
it can delete the WAL file when done.
FossilOrigin-Name: d2efd3c176f0eba2d78105f0bb3161db38bd4bab
2016-05-05 23:59:22 +00:00
drh
e04369e29e
Working when run against sqlite.fossil.
...
FossilOrigin-Name: b0bd9dd6255be161ea289ba6caa3fbd568128f62
2016-05-05 23:39:30 +00:00
drh
2a9bd02645
Finished implementation compiles, but untested.
...
FossilOrigin-Name: aeb88bdf6fe9e5839b1503ab5740b27bc09d4842
2016-05-05 23:09:57 +00:00
drh
da110bfece
Initial check-in of the "scrub.exe" utility program prototype. Not yet
...
fully functional. In particular, no scrubbing is done.
FossilOrigin-Name: bdf2ec77d1542d4e9b68218f558710a3efc15823
2016-05-05 17:15:23 +00:00
drh
ad5a9d715f
Renumber internal constants in the printf() implemention for a small
...
performance improvement.
FossilOrigin-Name: 69d11447f4b1a8c536c3b6573d2a3419da870412
2016-05-05 11:53:12 +00:00
drh
4e80d5fcf1
Disable the session extension API if SQLITE_ENABLE_SESSION is not defined.
...
FossilOrigin-Name: 71af9ac165ac02272f4886f69bd9ab4770fd7bb6
2016-05-04 21:06:21 +00:00
mistachkin
9fe3fbbc35
Fix typo in comment. No changes to code.
...
FossilOrigin-Name: 6c43ba1c8753a4029e127078652f265c408a01c0
2016-05-04 19:04:20 +00:00
drh
91da707280
Only disable the one-pass DELETE optimization if the WHERE clause contains
...
a correlated subquery. Uncorrelated subqueries are allowed. This is a
refinement of check-in [3f221f592a9a1] that is the fix for
ticket [dc6ebeda9396087].
FossilOrigin-Name: aae389692a2ed2cc92151d51fb2cd5a16921c469
2016-05-04 14:45:30 +00:00
drh
582c080289
Portability enhancements to the configure script on the amalgamation tarball.
...
FossilOrigin-Name: 7184c4b8869ffc00944abdd8d2c521cb11ea5824
2016-05-04 14:20:15 +00:00
dan
c88ae52d86
Disable the PagerDontWrite() optimization for temp tables. It can cause database corruption if a page passed to PagerDontWrite() is dirty at the start of a transaction that is subsequently rolled back.
...
FossilOrigin-Name: 6341ab2ffef298ca16b323358afbea4a4c1fb0e1
2016-05-04 11:28:03 +00:00
mistachkin
12b35ea980
Minor style tweaks in the MSVC makefile.
...
FossilOrigin-Name: 1b43358f8979c4f18519e824e0d5f6ef2250107c
2016-05-03 19:40:54 +00:00
drh
799730bf81
The session extension is disabled by default. To enable it using
...
--enable-session on ./configure on unix and add SESSION=1 to the nmake
on Windows. Or add -DSQLITE_ENABLE_SESSION and
-DSQLITE_ENABLE_PREUPDATE_HOOK to build manually.
FossilOrigin-Name: bcaa650e8796984b275eceba0ed477f360295d01
2016-05-03 14:57:07 +00:00
drh
5e18d40200
Turn the session extension off by default. Enable using --enable-session on
...
configure scripts, or using the SESSION=1 argument to nmake on Windows.
FossilOrigin-Name: e462cde2a50c39cc2f8d8624aada19280b8226eb
2016-05-03 13:14:18 +00:00
drh
48cd59a57d
Avoid left-shifts of signed integers.
...
FossilOrigin-Name: 0715ce164333e27671efbec8796f238df98cc287
2016-05-03 00:04:55 +00:00
dan
39f98c52d0
Remove some randomness from test script temptable2.test.
...
FossilOrigin-Name: 5830cf72e9e870830d088399f1ccb03ed6522582
2016-05-02 19:05:05 +00:00
drh
b1c6995c58
Fix a test case in temptable2.test so that it works on systems that
...
lack a coherient cache (ex: OpenBSD) and thus do not support the
"PRAGMA mmap_size" command.
FossilOrigin-Name: 088cf83872f6477c3b297c58d6f8a5def7025daf
2016-05-02 16:59:49 +00:00
drh
cf7e7557b5
Fix harmless LLVM compiler warnings in the srcck1.c utility program used
...
during the build process.
FossilOrigin-Name: e4af967533f290862dfba1d9ef44d4c9ddd8a01b
2016-05-02 13:57:19 +00:00
drh
57a07ba9a9
Disable the multi-row one-pass DELETE optimization when the WHERE clause
...
contains a subquery. Fix for ticket [dc6ebeda9396087].
FossilOrigin-Name: 3f221f592a9a19009076e568566c59801cd3fc32
2016-05-02 12:18:56 +00:00
drh
44aebff246
Improvements to the way the LIKE optimization is implemented, resulting in
...
slightly smaller and faster code that is easier to test.
FossilOrigin-Name: 54c63b329288729031f45b7778752552cd90e226
2016-05-02 10:25:42 +00:00
dan
40cf36ff17
Change the way tester.tcl handes $argv so that in "permutations.test <permutation> <filename>" <filename> may be the name of any file in the test/ directory.
...
FossilOrigin-Name: 820c57bb24ad3d8663ca512e4022268b940bb2ee
2016-04-30 19:23:10 +00:00
drh
2f55511dfa
Remove an unnecessary branch from the OP_String8 opcode.
...
FossilOrigin-Name: 459a0b456da69112605b37adc9af27d79e35a4d7
2016-04-30 18:10:34 +00:00
drh
2e55b04da4
More bug fixes to Lemon identified by Kelvin Sherlock. None of these
...
have any impact on SQLite.
FossilOrigin-Name: 762bdc55f8878ee2ef65af2165a8e7fdbddf0160
2016-04-30 17:19:30 +00:00
drh
99f5de771f
Simplifications to the OP_Halt opcode implementation.
...
FossilOrigin-Name: daf4630f96f13133664908045e279da9d5a40bb5
2016-04-30 02:59:15 +00:00
drh
2aab11fa5a
Fix the temporary directory search algorithm for unix so that it fails
...
gracefully even if all candidate directories are inaccessible. This fixes
a bug that was introduced by check-in [9b8fec60d8e].
FossilOrigin-Name: 614bb709d34e11488da88861243023cc5de4b409
2016-04-29 20:30:56 +00:00
drh
54606bbc14
Postpone I/O associated with TEMP files for as long as possible, with the
...
hope that the I/O can ultimately be avoided completely.
FossilOrigin-Name: 9d0a5ae00273686ea35b43bc2ffaa8775c176363
2016-04-29 15:39:48 +00:00
dan
4a030c6430
Fix test script temptable2.test so that it works with the "inmemory_journal" and "journaltest" permutations.
...
FossilOrigin-Name: b7bec7f2d3d08d0c14f77654be2c5cedf1619e58
2016-04-29 14:12:48 +00:00
dan
20ae3264b8
Merge latest trunk changes, including test case fixes, with this branch.
...
FossilOrigin-Name: 99794aca7b6cb40f08ce4db9889a989fc597eac9
2016-04-29 11:35:28 +00:00
dan
288327ed81
Modify the permutations.test script so as to set any permutation specific configuration values before running each individual test script. Fix a mostly harmless buffer overread in the sessions module.
...
FossilOrigin-Name: 4cbd50245440e714935399a5c285cf32d8bfc424
2016-04-29 11:33:58 +00:00
drh
afb8cd977d
Lemon bug fix: Do not merge action routines unless their destructors are
...
also identical. Problem and suggested fix reported on the mailing list
by Kelvin Sherlock.
FossilOrigin-Name: 4792d6dbba6857f74d27332dcc1468e39c767c71
2016-04-29 11:28:35 +00:00
dan
14faa061fd
Fix an almost entirely harmless buffer overread in the sessions module.
...
FossilOrigin-Name: 89b0ee3351381f7bc666cb206f77a56f2e0d4a0e
2016-04-29 10:13:22 +00:00
drh
a3fa140fb4
Some optimization comments added to vdbe.c. No functional changes to code.
...
FossilOrigin-Name: e7c22e3bffce63f3b47fa3683be8c00c42b2a7d3
2016-04-29 02:55:05 +00:00
drh
aa50271a24
Further simplifications and improved commentting on the rowset.c module,
...
including several optimization comments.
FossilOrigin-Name: 9f15a520deb9f1d4ecaa3bfff82bd57ef122aadb
2016-04-28 22:29:31 +00:00
drh
396794f0ee
Comment changes only: Add several optimization marks in rowset.c. Add
...
a header comment that explains what the various special comments mean.
FossilOrigin-Name: 8cdbe89ac6c22d632f677eb293111b3dbae7d6c1
2016-04-28 20:11:12 +00:00
mistachkin
2075fb08e6
Fix typo in comment. No changes to code.
...
FossilOrigin-Name: 9f6f17b5c97c9576c340173d068485fdbfd53253
2016-04-28 19:23:10 +00:00
drh
cb6d66becc
Rearrange some code in the RowSet logic for clarity of presentation, while
...
adding an /*OPTIMIZATION-IF-TRUE*/ comment. It should operate identically.
FossilOrigin-Name: 5748e64376c1c2be5154a632d1527cfebbb9ec74
2016-04-28 18:53:08 +00:00
dan
8443533178
Merge latest changes from trunk with this branch.
...
FossilOrigin-Name: 45467ee49872f495d5276cf830f10c3cf4ac8e3c
2016-04-28 14:59:05 +00:00
dan
14cee38be8
Avoid running sessionfault.test and sessionfault2.test as part of the "inmemory_journal" permutation.
...
FossilOrigin-Name: 5973d3bf2e5aa979ccc9a4a3a0eb08b67098b499
2016-04-28 14:54:54 +00:00
drh
75ab50ce8f
Use comments to mark several branches as optimizations. No changes to code.
...
FossilOrigin-Name: 33e627472780b872716c504f2d585cc057c390a5
2016-04-28 14:15:12 +00:00
dan
3104c4d6f4
Ensure that quota.test deletes the directory named "test.db" that it creates.
...
FossilOrigin-Name: 045edd4b17c6b76079ac90773c035d8c1f8d525d
2016-04-28 09:53:14 +00:00
drh
10c0a2a7c9
Remove an unnecessary conditional from the sqlite3DecOrHexToI64() routine.
...
FossilOrigin-Name: fcf85bfe50b254e825ee63a4cd0aa0b333b06eed
2016-04-28 03:52:18 +00:00
drh
609d5846ba
Change the sqlite3Atoi64() routine so that it returns failure if not all of
...
the input characters are consumed, even if it consumed all characters up to
the first 0x00. This has no impact on external APIs as far as I can tell.
FossilOrigin-Name: 46d4ffff3bd33d7e901e76cfac1cbde38d4f61d0
2016-04-28 00:32:16 +00:00
dan
05accd2216
Modify the permutations.test script so as to set any permutation specific configuration values before running each individual test script.
...
FossilOrigin-Name: 2662d8fef791f7b8b3b14f9c27dfedec84620dee
2016-04-27 18:54:49 +00:00
drh
ad975d539e
More simplification of the sqlite3AtoF() routine. Add special comments
...
to indicate branches that are for optimization purposes only and that give
the correct answer even if always or never taken.
FossilOrigin-Name: 0065fe97cb8e5076acae1bf1560fd2f69dab9014
2016-04-27 15:24:13 +00:00
dan
9bf0136384
Fix a couple of test script problems on this branch. Both related to the fact that temp database page sizes can no longer be changed by VACUUM or the backup API after the temp db is populated.
...
FossilOrigin-Name: 6bb5aa2be2a6c5ca66a98a9387b2845507a6bdd2
2016-04-27 11:24:42 +00:00
drh
c6daa01c05
Remove still more unnecessary branches from sqlite3AtoF().
...
FossilOrigin-Name: 3adfe9f3e6ce7cc09fcb570d9b65e830a96cac15
2016-04-27 02:35:03 +00:00
drh
15af62acff
Further simplifications to sqlite3AtoF() to remove unneeded branches.
...
FossilOrigin-Name: dd69e53cb077873171af5312c633ca185595bf31
2016-04-26 23:14:45 +00:00
drh
e5f06fdc87
Remove an unnecessary line from the sqlite3AtoF() routine.
...
FossilOrigin-Name: a9d007494cfe30a26dca5352655dc7702351476e
2016-04-26 21:02:53 +00:00
drh
97a7e5e68c
The pcache and the built-in VFSes should not use mutexes when
...
SQLITE_CONFIG_SINGLETHREAD is set.
FossilOrigin-Name: 12418b100196abbfbfb85e0ab4bb6b1cbf335df7
2016-04-26 18:58:54 +00:00
dan
45164826b7
Fix an issue in temptable2.test preventing it from working with SQLITE_DEFAULT_AUTOVACUUM=1 builds.
...
FossilOrigin-Name: e790aac02e4b427b4891b514a050699d159b03b1
2016-04-26 17:10:03 +00:00
dan
0a5ced4c1e
Merge the checksymbols fix from trunk into this branch.
...
FossilOrigin-Name: 04911cee0cd5467ee99744b774d692219e5e1425
2016-04-26 16:03:58 +00:00
drh
b283a0cde9
Fix the "checksymbols" target in Makefile.in to be able to deal with the
...
sqlite3changegroup family of interfaces.
FossilOrigin-Name: d819bfbd46dc7f065d2a3ab0ef9f8322d8394e11
2016-04-26 13:13:53 +00:00
drh
ead01fd272
Add an sqlite3FaultSim() all to make it easier to simulate IO errors in
...
a VACUUM commit.
FossilOrigin-Name: 8bfde416c51f4e087275aebf652a73985515e810
2016-04-25 22:39:42 +00:00
drh
6c96358601
Remove an obsolete comment from the pager. No code changes.
...
FossilOrigin-Name: 36f97ca8874a03ac8699f44fe0da95b0be507cc7
2016-04-25 19:28:34 +00:00
dan
ae20690e2c
Update the RBU vacuum code so that databases that use custom collation sequences can be vacuumed.
...
FossilOrigin-Name: 7dd48c10790a7b9c4165214399c261a0aa701297
2016-04-25 19:25:12 +00:00
drh
835f22deda
Fix some unreachable branches in the pager.
...
FossilOrigin-Name: 3ae44770fdecc40c8097f1de0b504f36585a2232
2016-04-25 19:20:56 +00:00
drh
dc7adf20bb
Merge bug fix from trunk.
...
FossilOrigin-Name: a905d5e08de3f3c60b667d840b5995911372647d
2016-04-25 15:03:49 +00:00
drh
b1ec87afdb
When checking for the WHERE-clause push-down optimization, verify that
...
all terms of the compound inner SELECT are non-aggregate, not just the
last term. Fix for ticket [f7f8c97e97597].
FossilOrigin-Name: ec215f94ac9748c0acd82af0cc9e7a92249462f9
2016-04-25 02:20:10 +00:00
mistachkin
1de86ca17f
Fix a typo in the Makefile.
...
FossilOrigin-Name: d0a579b35105810821bbfec6b50ecfebac7a17ee
2016-04-25 01:43:24 +00:00
drh
d456e92ce0
Merge the temporary directory search algorithm fix from trunk.
...
FossilOrigin-Name: 9b8fec60d8e576cd09e1d075a59bfad1c6169d7a
2016-04-23 21:16:55 +00:00
drh
23ee893752
Fix the fix to the temporary directory search algorithm so that it continues
...
to return "." as a fallback if that directory has the correct permissions.
FossilOrigin-Name: b38fe522cfc971b37ca04e7b63a92bbb6e0b01e1
2016-04-23 20:59:23 +00:00
drh
7ff5d522bf
Merge the latest trunk changes.
...
FossilOrigin-Name: 84da122dd6e70ed603fea781dca204ae2f668c53
2016-04-23 19:55:59 +00:00
dan
2d36f065e2
Fix a problem with mixing temp-files and mmap-mode.
...
FossilOrigin-Name: c80c5c62b2e2c5e47e0839f8e2d5b6341ca4a249
2016-04-23 17:24:16 +00:00
dan
6572c16ae1
Fix some problems to do with temp-file databases and recovering from IO and SQLITE_FULL errors.
...
FossilOrigin-Name: 3d61da4a76af8c9c2a293df085f3ed5a7bb447df
2016-04-23 14:55:28 +00:00
drh
7694e06461
Change the temporary directory search algorithm on unix so that directories
...
with only -wx permission are allowed. And do not allow "." to be returned if
it lacks -wx permission.
FossilOrigin-Name: 67985761aa93fb613b87d340e75371fa55b0f778
2016-04-21 23:37:24 +00:00
dan
83b74f29c5
Add the sqlite3rbu_vacuum() API, to create an RBU handle that can be used to rebuild a database in the same way as the VACUUM command.
...
FossilOrigin-Name: bd4a6f8313eb71399a7141ebf7f2617d7b1464c3
2016-04-21 18:13:37 +00:00
dan
b7a208686a
If a call to sqlite3rbu_close() on an rbu handle opened by sqlite3rbu_vacuum() returns other than SQLITE_OK, delete the contents of the rbu_state table. This ensures that if an RBU vacuum operation either completes successfully or encounters an error, the next call to sqlite3rbu_vacuum() with the same parameters starts a new RBU vacuum operation.
...
FossilOrigin-Name: 6e4ac704f51bdd1e0b16814f6a45ab29f26400ee
2016-04-21 16:44:38 +00:00
dan
2e8bfb67d4
Fix a problem in rbu vacuum on tables with a large sqlite_master table.
...
FossilOrigin-Name: 23eac52e987996afe8db847921aef434cebd25b5
2016-04-21 15:26:26 +00:00
drh
6bcfe8b61f
Add a function prototype in order to fix a compiler warning.
...
FossilOrigin-Name: 49aec9718d61c9f12aed96f530128666c3b01c81
2016-04-21 15:24:46 +00:00
drh
518aca114f
Merge updates from trunk.
...
FossilOrigin-Name: cc28106e5c196c0a9678fbbd06f6afd49271a8e8
2016-04-21 15:03:37 +00:00
drh
26f7977c53
Add the SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION method for enabling
...
sqlite3_load_extension() while leaving the load_extension() SQL function
disabled.
FossilOrigin-Name: c4f165c460c4244ed434107feac005efa3c386cf
2016-04-21 02:27:56 +00:00
drh
f602a16123
Test cases for SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION.
...
FossilOrigin-Name: debafa5efd37ac60e030d0963ce8e7c4f51a0f10
2016-04-21 01:58:21 +00:00
drh
191dd06195
Revert sqlite3_enable_load_extension() to its original long-standing behavior.
...
Add SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION which will enable only the C-API and
leave the SQL function disabled.
FossilOrigin-Name: b2ae5bfa32e608625bd177907596df3dbc2212e1
2016-04-21 01:30:09 +00:00
dan
94d49697b5
Add a documentation comment for sqlite3rbu_vacuum() to sqlite3rbu.h.
...
FossilOrigin-Name: da5c753ddac3cbfdf03710a82f5fd9fa2e29e819
2016-04-20 20:08:58 +00:00
drh
cdce61e133
When an error occurs while transitioning out of WAL mode, make sure the
...
locking state is not left at EXCLUSIVE.
FossilOrigin-Name: 3340f086510b08ce5b42a8781f1df51bf7c27701
2016-04-20 19:30:47 +00:00
drh
333f80562b
Fix a locking race condition in Windows 10 that can occur when two or more
...
processes attempt to recover the same hot journal at the same time.
FossilOrigin-Name: 38a4e9d92887898b779493c71e4500f777a4e2e7
2016-04-20 18:31:27 +00:00
dan
132dde5cdf
Add fault injection tests for rbu vacuum. Fix some problems revealed by the same.
...
FossilOrigin-Name: f042fdd1ea7febec7228e51efc2b0281805e196a
2016-04-20 17:47:52 +00:00
drh
1a55dedf7b
<b>API Change:</b> Modify sqlite3_enable_load_extension() so that it only
...
enables/disables the load_extension() SQL function, and leaves the C-APIs
enabled at all times. In this way, applications can enable extension loading
for the C interface without having to expose that capability to the SQL.
FossilOrigin-Name: edb454e45ae008e051e2f48d704a855b0c3e4be9
2016-04-20 00:30:05 +00:00
dan
1aea63032a
Updates to ensure the values of PRAGMA settings like "page_size", "auto_vacuum", "user_version" and "application_id" are not lost when a database is RBU vacuumed.
...
FossilOrigin-Name: 74ffea76b8c9ddd7699ce6ca77dce005bd7922ac
2016-04-19 19:27:09 +00:00
dan
46f0035b48
When an RBU vacuum is started on a db identified using a URI filename, pass the same URI parameters when creating the new version of the db. This ensures that RBU vacuum works with password protected databases.
...
FossilOrigin-Name: ca021ba88106500f347ed65199a4832bc9eb5ef8
2016-04-19 17:11:05 +00:00
dan
bff4b6367c
Detect attempts to use rbu vacuum on a wal mode database (not allowed). And attempts to write to a database in the middle of an rbu vacuum (which prevents the vacuum from resuming).
...
FossilOrigin-Name: 00b2f4b09ffca5156e43c4db2bfe0b2c979c49b0
2016-04-19 16:20:24 +00:00
dan
58e3812988
Another fix to rbu vacuum for a zipvfs case.
...
FossilOrigin-Name: 29407d70e44ad9ea5ddaf1011d0e212b602a3ddf
2016-04-18 21:00:01 +00:00
dan
beccf1d16f
Fix some zipvfs related problems in RBU vacuum.
...
FossilOrigin-Name: d76f4aaa4caab713460421bd27365a82ac986c20
2016-04-18 18:18:18 +00:00
drh
a6dddd9bde
Remove quotes from identifiers used as datatype names in a CREATE TABLE
...
statement. Fix for ticket [7d7525cb01b68]
FossilOrigin-Name: eba27d4d17a76884292667d570d542e580ee3e77
2016-04-18 15:46:14 +00:00
drh
2c03652b45
Merge recent trunk changes.
...
FossilOrigin-Name: d9768de502e34da42f3ad955947c23da50f57bce
2016-04-18 13:36:17 +00:00
drh
b5895e50f9
sqlite3PCachePerecentDirty() should return 0 if the pcache is empty.
...
FossilOrigin-Name: 85f3d80eb7319754792eef76996b2c740a2b0073
2016-04-18 13:30:50 +00:00
drh
f9986d90d1
The last parameter to pread64() and pwrite64() should be off64_t, not off_t.
...
FossilOrigin-Name: 3a7d72986fabe9434ff5bd02c93169314f072b23
2016-04-18 13:09:55 +00:00
dan
303a094466
Add the -vacuum switch to the "rbu" demonstration program.
...
FossilOrigin-Name: 9a0078a538c7e73a009960347b8953c5af99fefd
2016-04-18 09:17:05 +00:00
dan
2bb5f4478e
Changes so that rbu vacuum works with zipvfs databases.
...
FossilOrigin-Name: bae7f875f476f6e01112751cb404fef42ba0a01c
2016-04-16 19:02:53 +00:00
dan
977cbe78b3
Avoid creating any extra files ("<target>-vacuum") when running an RBU vacuum. Ensure that the OAL file created is "<target>-oal", not "<target>-vacuum-oal".
...
FossilOrigin-Name: dc19aacc7e99213edca9bb57b5c11a8a1ac99113
2016-04-16 17:53:14 +00:00
dan
ee65eea4af
Fix a couple of assert() statements that were failing with OOM error tests.
...
FossilOrigin-Name: 8eb3d7d8360530f364bbbebac53e1f0e6753d924
2016-04-16 15:03:20 +00:00
dan
f89157653a
Add the experimental sqlite3rbu_vacuum() API function. For opening an RBU handle that rebuilds a database from scratch.
...
FossilOrigin-Name: 0216b48f28042ad86711e00802c2da8ce9be3044
2016-04-15 20:46:41 +00:00
drh
eacd29d484
CLI enhancement: Add the ".eqp full" option, that shows both the EXPLAIN
...
QUERY PLAN and the EXPLAIN output for each command run. Also disable
any ".wheretrace" and ".selecttrace" when showing EQP output.
FossilOrigin-Name: 3e217d6265ecd16db783bed7ce1d9d0f9c4828bb
2016-04-15 15:03:27 +00:00
dan
5313f2e12e
In the ICU extension toupper() and tolower() SQL functions, avoid calling u_strToUpper() or u_strToLower() a second time if the buffer passed to the first invocation turns out to be large enough.
...
FossilOrigin-Name: d23e581351fb8eea28e7b13b3dcadfc817c3a05f
2016-04-14 17:29:13 +00:00
drh
497116007e
Add the SF_HasAgg constant (currently unused). Also enhance the comments on
...
many other constant definitions to detail constraints on their values.
FossilOrigin-Name: 7b7a69d098f7581a43b818c251717c2450b797de
2016-04-14 16:40:13 +00:00
dan
fc26f7cfed
Correctly interpret negative "PRAGMA cache_size" values when determining the cache-size used for sorting large amounts of data (i.e. the functionality in vdbesort.c).
...
FossilOrigin-Name: 79147dca87cfd7eb62d57baa3b70fa2a8542232a
2016-04-14 15:44:37 +00:00
drh
7111c93c40
Add some missing testcase() macros to the pushDownWhereTerms() routine.
...
FossilOrigin-Name: 67d7f79c5e5be41a18817c802b5c4d349e3a83a4
2016-04-14 15:38:33 +00:00
drh
f1b5ff73cb
Rename WhereInfo.pResultSet to pDistinctSet to more accurately reflect what
...
it represents.
FossilOrigin-Name: 5317961411695e107e8cefdeaba62280429979ca
2016-04-14 13:35:26 +00:00
drh
8f2ce91462
Since the return value of sqlite3OsClose() is always ignored, we might as
...
well make it "void" instead of "int", and thereby save 50 bytes in the
compiled binary.
FossilOrigin-Name: 7ee570e7a9a2159a8c0d41805c00f91ca0de00e3
2016-04-14 13:16:58 +00:00
drh
7512cb47e8
Additional ".selecttrace" debugging output when the query is transformed from a
...
DISTINCT into a GROUP BY.
FossilOrigin-Name: 5a46914510af4d5557b299db65c68d5df1070766
2016-04-14 13:06:49 +00:00
drh
07d683fdbc
Fix compiler warnings by removing surplus local variables in the schema
...
pretty-printer logic of the command-line shell.
FossilOrigin-Name: 55a62483b9121a8b373d038a26fdebc4308661f6
2016-04-13 21:00:36 +00:00
drh
1454b26c17
Merge enhancements from trunk via tempfiles-lazy-open.
...
FossilOrigin-Name: ae16310c4e9a9b7e94874bd912fc6a4324cfaa2b
2016-04-13 19:20:23 +00:00
dan
0f52455a35
On commit, flush dirty temp-file pages only if the file is already open and 25% or more of the cache is dirty.
...
FossilOrigin-Name: f6babf2920340f25815c0a3c58de1e902c2f5542
2016-04-13 16:52:11 +00:00
drh
8ca7b177bb
Merge enhancements from trunk.
...
FossilOrigin-Name: e2edd34e79af906e7069e3e837730b12de0b73fe
2016-04-13 16:02:28 +00:00
drh
0cb64edc95
Fixes for harmless compiler warnings.
...
FossilOrigin-Name: 68142dc541b7a0a36fcb075a26f10f03c1e7c422
2016-04-13 15:52:16 +00:00
drh
4926fec967
Add the --indent option to the .schema and .fullschema commands in the shell,
...
to enable simple but effective pretty-printing.
FossilOrigin-Name: 83cfe82cd6d31ec0a6193525fd92e63a2a43b142
2016-04-13 15:33:42 +00:00