Commit Graph

16267 Commits

Author SHA1 Message Date
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