drh
fc4111f7d6
Convert sqlite3PagerGet() into a pointer-dispatched virtual method. This
...
makes it about 25% faster.
FossilOrigin-Name: 7f88bb44129a0cd36e27e00dc7c37e87cf3c90f7
2016-12-13 18:47:54 +00:00
drh
cbed604f52
In the pager, avoid checking for the illegal page number 0 except when creating
...
a new page.
FossilOrigin-Name: dee20ba982125ea98c280ad1571789af0f393903
2016-12-13 18:34:01 +00:00
dan
68a494c06f
Fix a problem causing SQLite to return false "foreign key violation" errors
...
when there is a partial (i.e. WHERE constrained) UNIQUE index on the parent
key columns. This bug did not cause SQLite to allow illegal data to be
inserted into the database, only to reject legal operations.
FossilOrigin-Name: 850877d1ea43104cc215353414b870c340acced2
2016-12-13 16:57:49 +00:00
drh
d5df3ff2cc
Further refinements to the virtual method implementation of
...
sqlite3PagerGet().
FossilOrigin-Name: 67df44464847b43f8c0b186157e31cc66c1e5796
2016-12-13 15:53:22 +00:00
drh
12e6f68279
Make the sqlite3PagerGet() interface into a virtual method, with different
...
implementations based on the current state of the pager. This gives a small
performance increase by avoiding unnecessary branches inside the various
methods.
FossilOrigin-Name: df5bb90d208e0633056389e97696d260e3830e8d
2016-12-13 14:32:47 +00:00
drh
26f419800a
Add the --mmap option to the speedtest1 program and to the speed-check.sh
...
script that is frequently used to run speedtest1.
FossilOrigin-Name: 1a636d5e0eec0a4d968519d1dfd35a983e512c78
2016-12-12 23:24:08 +00:00
drh
2a70254f74
Remove unnecessary MemPage initialization resets in the autovacuum ptrmap
...
processing.
FossilOrigin-Name: 1b36fbb9f05f3a5844e198b489bff36ef6cd908c
2016-12-12 18:12:03 +00:00
drh
5fa3d6ec3b
Faster operation for large in-memory databases.
...
FossilOrigin-Name: 9675518b33e8d40769daefb860dc748113f750b6
2016-12-12 16:08:44 +00:00
drh
6606586d81
Performance optimization in sqlite3PagerWrite().
...
FossilOrigin-Name: d4dff10a3d4edf8e1cc77c0a4f185d33f2c2e953
2016-12-12 11:05:15 +00:00
drh
585a59795c
Updates to the tokenizer for EBCDIC. No changes for standard builds.
...
FossilOrigin-Name: 4fc6580ffa7232aaf751f38f90c45edc8863abe5
2016-12-12 01:53:36 +00:00
drh
77dc0ed621
Size and performance optimization in btreeInitPage() in the freeblock
...
validation step.
FossilOrigin-Name: 57deb1b412e0c328528f2b4d697e326bfd028dca
2016-12-12 01:30:01 +00:00
drh
f0bc50aa3a
Change the order of comparison for divider cell overflow in balance non-root
...
to avoid a (harmless) reference to an uninitialized variable.
FossilOrigin-Name: f9f2e23bbd68a8994621623446868d666df52eff
2016-12-12 00:58:40 +00:00
drh
8c730bc5c5
Avoid an unnecessary memset() in the sqlite3BtreeInsert() routine.
...
FossilOrigin-Name: 35ecd4ebc55579175f7c934e4eb1edb969008428
2016-12-10 13:12:55 +00:00
drh
fbd8cbdcf5
Reorder the fields in the VdbeCursor object so that those that need to be
...
bulk zeroed on allocation are grouped at the beginning, and the memset()
only runs over those fields that really need it.
FossilOrigin-Name: 8165f88bb1d40693d67005a8d5dc499085f64b91
2016-12-10 12:58:15 +00:00
drh
719da30d53
Avoid signed integer overflow when dealing with a LIMIT and OFFSET whose
...
sum exceeds the maximum integer value.
FossilOrigin-Name: c9bdf7adb4745cfaf23d9afd496e71fa37793108
2016-12-10 04:06:49 +00:00
drh
2d08343a91
When doing the sqlite3BtreeInsert() overwrite optimization, make sure the
...
memcpy() does not extend off the end of the page.
FossilOrigin-Name: 684ef4582ed19b2af22dda6fc085c70464f92f1b
2016-12-09 19:42:18 +00:00
drh
f923825424
Additional comments and an assert on the sqlite3BtreeInsert() overwrite
...
optimization.
FossilOrigin-Name: c1f0ae9d2981a19875103750379ad26f2575f878
2016-12-09 18:09:42 +00:00
drh
80159da6c6
In sqlite3BtreeInsert() when replacing a re-existing row, try to overwrite
...
the cell directly rather than deallocate and reallocate the cell.
FossilOrigin-Name: 0b86fbca6615ccf1f3a62614db577a8acbec6d9e
2016-12-09 17:32:51 +00:00
dan
55092c1504
Fix an fts5 bug that could cause a crash following an OOM error or
...
sqlite3_interrupt() interrupt.
FossilOrigin-Name: 0ea3ece988883874bb88e3daaa220d7fc0cf36ef
2016-12-09 16:12:04 +00:00
drh
a2ee589c46
Avoid unnecessary zeroing of fields in the MemPage object that are going
...
to be reinitialized before use anyhow. A smaller and faster binary results.
FossilOrigin-Name: 01ada3d1068476f90dcae02cb089001ea4bcc23d
2016-12-09 16:02:00 +00:00
drh
e0568d6fb8
Fix an obscure problem in range estimation with STAT4.
...
FossilOrigin-Name: 1f16c9a76bc48331799f33b30d143c632fe0e7db
2016-12-09 00:15:17 +00:00
drh
4c177424a2
Fix the showstat4 utility program so that is displays strings using
...
standard SQL notation (single quotes) rather than C-style notation.
FossilOrigin-Name: 92998e4afbe4da1723e7e5155071a0e7242bd6ff
2016-12-08 23:52:38 +00:00
drh
5f00b9bea7
Fix a minor error in the cg_anno.tcl script causing the cycles-per-file counts
...
to be miscomputed.
FossilOrigin-Name: b26df26e184ec6da4b5537526c10f42a293d09b5
2016-12-08 19:04:36 +00:00
drh
23ee9dc369
Update the tool/cg_anno.tcl script to give a summary of cycle counts by
...
canonical source file name.
FossilOrigin-Name: 254a83bf30c15d6a355db309ccb97a8744675cc3
2016-12-08 18:36:19 +00:00
drh
2700acaacd
More changes to take advantage of the sqlite3VdbeAppendP4() method.
...
FossilOrigin-Name: 83bc5e40af9b20afeed008bf3e2669b7ac9e2dc8
2016-12-08 01:38:24 +00:00
drh
f14b7fb73b
Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently
...
coded instruction.
FossilOrigin-Name: 28883e8f3e92a8015fb5f6c8ae8580833931543d
2016-12-07 21:35:55 +00:00
drh
861b1307cb
The use P4_DYNAMIC in place of the P4_MPRINTF operand type.
...
FossilOrigin-Name: 3954f83798ed78527280c9db6360c62a5134b9ec
2016-12-07 20:22:31 +00:00
drh
bdaa1ee2ee
Performance optimization for sqlite3VdbeAddOp4().
...
FossilOrigin-Name: 04716c907bf9fc9b827e18fdc7b4e1069e201536
2016-12-07 20:09:51 +00:00
drh
4ed8c83cfd
Put the SQLITE_UNTESTABLE compile-time option in the correct order for
...
PRAGMA compile_options.
FossilOrigin-Name: 24574a15a336ffcb961334f84b56e9ab98490a79
2016-12-07 17:06:12 +00:00
drh
d12602a9c5
Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE.
...
FossilOrigin-Name: f360818737e73ee4f944685a547abc8f14f47819
2016-12-07 15:49:02 +00:00
dan
44c5604ced
Prevent the flattening or where-term push-down optimizations from obscuring
...
misuses of SQL row values that can lead to crashes or assert() failures.
FossilOrigin-Name: 433d16ff3adfede3be53d5b0e0512f37e225591b
2016-12-07 15:38:37 +00:00
drh
9314bd5fe2
Always honor the sqlite3.dbOptFlags bitmask, regardless of compile-time
...
options. Continuing fix for ticket [da78413751863].
FossilOrigin-Name: afab166313e0b8ad530df99887437a362398ed02
2016-12-07 13:49:11 +00:00
drh
abfd35ea03
Performance improvement and size reduction in the Expr node allocator
...
function sqlite3PExpr().
FossilOrigin-Name: 2a81763e68cdf9b8c46389b1e1a87bc2084b53e7
2016-12-06 22:47:23 +00:00
dan
2b519ab015
Add missing nul-terminator to a Tcl_AppendResult() call in tclsqlite.c.
...
FossilOrigin-Name: 0820f8b3dedfc846d187844847dfa8617539fc9a
2016-12-06 19:33:42 +00:00
drh
634133183c
In the LEMON parser-generator, fix the stack overflow processing so that it
...
correct invokes the destructor on the top-level of the parse stack.
FossilOrigin-Name: e8247065cf1d929f42d13864f8a1886ed4d329cd
2016-12-06 17:59:05 +00:00
drh
e6ad1717da
Fix a harmless redundant local variable declaration in the date/time function
...
logic.
FossilOrigin-Name: b4bc40d1836d8ed0803b81a734ce48be8e9d434a
2016-12-05 20:16:04 +00:00
drh
25ef7f55d7
Work around a bug in the definition of "ino_t" on some versions of Android.
...
FossilOrigin-Name: 8df492c1711bfea250264fdaa4892e0842705f83
2016-12-05 20:06:45 +00:00
drh
6d4e9c3d92
Simplify the date/time function logic for improved rebustness and also to
...
decrease the size of the binary.
FossilOrigin-Name: 6e144735ed0cd3d4461ae6a4d8034264563e3165
2016-12-02 19:07:03 +00:00
drh
861a56821b
Extend the valid range of 'unixepoch' dates from JulianDay 0 through 9999-12-31.
...
FossilOrigin-Name: 768c9859b21a3c88be084d6dd87acab4211b3a87
2016-12-02 17:08:27 +00:00
drh
7a40707b1f
Test cases for the improved LIKE/GLOB matcher.
...
FossilOrigin-Name: 0bdb7ae126d3909344640813489ee68ecad041c4
2016-12-02 02:19:24 +00:00
dan
edaeba5e64
Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening
...
sub-selects. Possible fix for [2df0107b].
FossilOrigin-Name: a427c4052820d90c3c8c23abf9097f973e564010
2016-12-01 19:58:01 +00:00
dan
92ddb3bd02
Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening
...
sub-selects. Possible fix for [2df0107b].
FossilOrigin-Name: 8bed4cd549759a93c4a087d8d8c08c0068ba8d59
2016-12-01 19:38:05 +00:00
drh
807b90f679
Performance improvement for GLOB and LIKE matching for patterns with two
...
or more multi-character wildcards ("*" or "%").
FossilOrigin-Name: 2df0ebf95f6a25c77777c33685303e81550fd739
2016-12-01 18:57:58 +00:00
drh
698a01ca2f
Faster version of patternCompare() that uses new return values rather than
...
an extra parameter to communicate wildcard information back up to parent
searches.
FossilOrigin-Name: a1e2b6ce3af690ae91bda3d056357205c4018da7
2016-12-01 18:49:40 +00:00
dan
1a4a73764c
Modify the patternCompare() function (used for GLOB, LIKE) to better handle
...
patterns containing multiple wildcard characters ("*", "%").
FossilOrigin-Name: c5e5614d98a752738c081fecdd1e349a1a92b0e5
2016-12-01 17:34:59 +00:00
drh
c9c81dc6d7
Add the remember(V,PTR) extension function which copies an SQL value into
...
an application variable.
FossilOrigin-Name: d2d30914d81022d7d4e1670caf9326524520deaf
2016-11-30 16:54:52 +00:00
drh
77320ea48d
Fix then handling of the (oversized) integer literal -0x8000000000000000.
...
FossilOrigin-Name: 3816bb415ecfd4f36430d0fcbc878e382975de60
2016-11-30 14:47:37 +00:00
drh
ab5be2e651
Change the OP_DecrJumpZero opcode back to its old behavior of always
...
decrementing, except top the decrementing when it reaches the largest negative
number.
FossilOrigin-Name: 9d0d8c2e7c529562889de02346733dcb532e9388
2016-11-30 05:08:59 +00:00
drh
b5489b88b0
More improvements to boundary cases in the date/time functions, flowing out
...
of branch coverage testing.
FossilOrigin-Name: 1218005ab7b52ef45db1354d17fdd8a1a1af9854
2016-11-30 04:07:57 +00:00
drh
64777ba834
Prevent a warning about integer overflow when using a very large negative
...
LIMIT.
FossilOrigin-Name: 96106d5620eae51474234f4eec1d2c5bd570d486
2016-11-30 01:05:41 +00:00