drh
5f40cebf43
Fix problems in trigger and foreign key handling when doing REPLACE on a
...
WITHOUT ROWID table that has no secondary indexes.
FossilOrigin-Name: 571f166ea8721e2322965b6f23e758b78d13baca
2017-01-05 13:50:12 +00:00
drh
34d04d64f0
Ensure that the sqlite3_value_text() interface returns a buffer that is long
...
enough to hold the complete string plus the zero terminator even when the
input is a zeroblob. Fix for a problem detected by OSS-Fuzz.
FossilOrigin-Name: 2dc7eeb5b4d2eaf1d843eda56f339fd4cc80d78e
2017-01-05 07:58:29 +00:00
dan
f9a12a106b
Fix some problems with foreign key processing within REPLACE ops on WITHOUT
...
ROWID tables with no triggers or auxiliary indexes.
FossilOrigin-Name: c1220b1af62629d7fc2178512786d613cd7ea711
2017-01-05 06:57:42 +00:00
drh
801f55d837
Improved the comment on the block of code the provides the performance
...
optimization originally added by check-in [925840cfdb]. The original
check-in omitted condition 4, which was the cause of bug [30027b613b].
FossilOrigin-Name: c6506b82aa6583ccde5f673c79526d5f3920b67a
2017-01-04 22:02:56 +00:00
dan
4e1f0efb4d
Possible fix for 30027b61. There may still be problems surrounding foreign key
...
processing.
FossilOrigin-Name: 71ccb1f4c490fdebc7008e884384e7809b849742
2017-01-04 20:13:51 +00:00
drh
87e1e56b5b
Adjust filename creation in test_sqllog.c so that it uses leading zeros on
...
counters, so that files appear in order when sorted lexicographically.
FossilOrigin-Name: 8d670973595bd01ffc9b2ab53b965e6d6d22c573
2017-01-04 14:53:53 +00:00
drh
b005f9e620
Performance enhancements in the printf implementation.
...
FossilOrigin-Name: 82e4001b8caef7b31967f3edcbc1a545c081bdbc
2017-01-04 13:09:05 +00:00
drh
49c5ab243b
Factor constant functions out of the inner loop since they are more expensive
...
than the extra OP_Copy needed to move the result into place.
FossilOrigin-Name: 80ad317f89c46db0d0d252aefdc036a34a61183d
2017-01-04 04:18:00 +00:00
drh
ad879ffdb5
Clean up the implementation of constant function factorization.
...
FossilOrigin-Name: 2ab997e47998d261bd6190bbce5c09f3fbd4cfd3
2017-01-04 04:10:02 +00:00
drh
1e9b53f9bc
Attempt to factor out constant functions from the interior of table scans,
...
since functions can often be expensive to compute.
FossilOrigin-Name: 62e9270a8057d758621da33adb27fad14225f95d
2017-01-04 01:07:24 +00:00
drh
8236f688e8
Changes to the printf implementation for better performance.
...
FossilOrigin-Name: acdb8f6f10953ed4290aadc9e026edd57d1dd21a
2017-01-04 00:26:28 +00:00
drh
7433ae5df6
Back out the use of __sync_fetch_and_sub() as it does not appear to work.
...
FossilOrigin-Name: 4c2efd4239bf07eb4b92d4af54edd68ee6312670
2017-01-03 21:50:49 +00:00
drh
5c6b944d16
Fix a typo in a comment.
...
FossilOrigin-Name: ae087123db8e7d47b25a8d0a98cfd62e85e42fc6
2017-01-03 21:03:37 +00:00
drh
b94f2eccc1
Use the CLANG_VERSION macro to control clang-specific features.
...
FossilOrigin-Name: f8ebeec211483503e135104ef977b3c384a1d789
2017-01-03 20:01:24 +00:00
drh
eea46aeafc
Use the GCC built-in __sync_fetch_and_sub() to make the sqlite3StatusDown()
...
routine atomic, and thereby avoid some mutexing.
FossilOrigin-Name: f69ce75b3d94331fdbfa2f3a27d61db24c285d2b
2017-01-03 18:05:04 +00:00
drh
4a47761e0d
Make use of the __buildin_OP_overflow() functions from GCC when doing
...
64-bit signed integer arithmetic.
FossilOrigin-Name: 82cbebb8ee4484f13e5f48d305e20e73063f273e
2017-01-03 17:33:43 +00:00
drh
5424075137
Put the affinity() function implementation inside of #ifdef SQLITE_DEBUG.
...
FossilOrigin-Name: f778f58ae4ea3e16f51b94591a2c1e563dcb0cde
2017-01-03 14:39:30 +00:00
drh
01e64a1704
Merge all the latest changes from trunk.
...
FossilOrigin-Name: c27cd8a8127b81d3176f6a5b9915c9b3c69574fb
2017-01-03 14:30:28 +00:00
drh
2710b14c45
Defer size checking on row-value assignments for when the RHS is a SELECT
...
until after the "*" wildcards have been expanded.
FossilOrigin-Name: 36944be6be5c42096f5da84187ff203af26b08ae
2017-01-03 13:45:22 +00:00
drh
b67343d075
Fix a typo on a comment. No code changes.
...
FossilOrigin-Name: abc27b6023e28a717bfa15648ddc152bda9c7b96
2017-01-03 11:59:54 +00:00
drh
966e291160
Improvements to the way vector assignment size checking is done. Size checks
...
when the RHS is a SELECT are deferred until after "*" wildcards are expanded.
FossilOrigin-Name: 696219b11049930cdbc38f574820f4bbaf8621bb
2017-01-03 02:58:01 +00:00
drh
b163748e88
Improved assert()s on the sqlite3ExprListDup() logic for TK_SELECT_COLUMN.
...
FossilOrigin-Name: 14da99d41f7968bf816203b4ae11c1f0d1ee0b5d
2017-01-03 00:27:16 +00:00
drh
3f50bb84f5
Put an ALWAYS() on an unreachable branch in the sqlite3ExprListDup() routine.
...
FossilOrigin-Name: 2caaaab5e07f6b76d66fbe4e93a4b956937427d8
2017-01-02 23:18:35 +00:00
drh
47073f62bf
Proposed fix for the row-value TRIGGER UPDATE problem described in
...
ticket [8c9458e7].
FossilOrigin-Name: 61a442ea2ceec2cbd327dae0ff5214e1f3c69ec0
2017-01-02 22:36:32 +00:00
drh
56d65cd7b9
Provide the SQLITE_DEFAULT_LOOKASIDE compile-time option and make it's default
...
value be 1200,100 (raised from 512,125 in the latest release).
FossilOrigin-Name: 584da48f9e818f25134e0a62fb7e84f07019511f
2017-01-02 19:02:20 +00:00
drh
83a4f47d57
Change SQLITE_DEFAULT_PCACHE_INITSZ from 100 to 20, which is experimentally
...
determined to be slightly faster.
FossilOrigin-Name: 12d9493cb29307aec65ceccc68e802e4d0f18112
2017-01-02 18:40:03 +00:00
drh
38eef32172
Avoid unnecessary calls to sqlite3BtreeEnterAll() and sqlite3BtreeLeaveAll()
...
when no btree is using shared-cache.
FossilOrigin-Name: cfb3158204628eb2fd170090a7f212df0e4ce6c9
2017-01-02 18:19:29 +00:00
drh
245ce62ea2
Detect row-value comparison size mismatches even when the size of one
...
operand is obscured by an unexpanded subquery.
FossilOrigin-Name: 2c4d167ccd4be591487f404de9ee629fd484c8bf
2017-01-01 12:44:07 +00:00
dan
3043b53222
Fix a crash that could occur following an OOM in the group_concat() function
...
if the second argument is an SQLITE_BLOB value.
FossilOrigin-Name: 14d855d2b2b5b3485e0673d11405db7266b34c6d
2016-12-30 17:40:14 +00:00
drh
1d081ab39e
Strengthen the defense against OOM in the instr() SQL function.
...
FossilOrigin-Name: a0971e713682a73d8c7c20511db256c20d2f6388
2016-12-30 15:16:20 +00:00
drh
5f4ade0473
Add a test to ensure that the app-defined pcache xFetch() method is never
...
passed a key of zero.
FossilOrigin-Name: 0bdbe49c6d392c4c86a6c01219c9d91d150dea7d
2016-12-30 14:25:42 +00:00
dan
895decf6b5
Avoid passing NULL pointers to memcmp() or memcpy(), even when the
...
"number-of-bytes" argument is passed 0.
FossilOrigin-Name: 56ff72ab44288296efc99a608f7edc4346366a50
2016-12-30 14:15:56 +00:00
drh
9c4dc22926
Disable the pagerAcquireMapPage() routine if memory-mapped I/O is disabled.
...
This fixes a harmless compiler warning on OpenBSD.
FossilOrigin-Name: 3e25ba6e42fba239795a465b8510386a361ee5be
2016-12-30 12:06:22 +00:00
drh
fb4e3a3bbb
Encode a 64-bit integer literal in date.c as a constant expression so that
...
it works on older compilers. Also fix a harmless compiler warning in vdbe.c.
FossilOrigin-Name: f57952bac652901e1bd48b68301941efbcf29dc4
2016-12-30 00:09:14 +00:00
drh
96ada59cbb
Fix harmless compiler warnings in the command-line shell and in Lemon.
...
FossilOrigin-Name: afcdc4a60e357d171156e0de705bf7ad1b37daab
2016-12-29 19:48:46 +00:00
drh
575242f66f
Allow sqlite3_interrupt() to be invoked on a database connection that is in
...
the process of being closed even if SQLITE_ENABLE_API_ARMOR is defined.
FossilOrigin-Name: 7854bee260996087bdb7f8729ba8cfb4f467f93f
2016-12-27 13:33:52 +00:00
drh
218c66e0e3
Disable new test modules nockpt.test and interrupt2.test for incompatible
...
permutations. Add a CORRUPT_DB term to an assert() in vdbe.c.
FossilOrigin-Name: a54e619e6f0266932c8873f9ac826fd042a0602f
2016-12-27 12:35:36 +00:00
drh
1aa346950e
Avoid a potential (harmless) signed integer overflow in memory usage
...
accounting when calling sqlite3_realloc() to reduce the size of an
allocation.
FossilOrigin-Name: 2d71cbdf6bc24f0269027c70b39ea7f342436bdb
2016-12-27 12:08:36 +00:00
drh
9cc5b4eeb5
Remove an incorrect ALWAYS() macro from balance_nonroot(), which could result
...
in corrupt databases if it were optimized out. This ALWAYS was added
only two weeks ago (check-in [f9f2e23bbd68a]) and has never appeared in an
official release.
FossilOrigin-Name: e447b23cfd7bb31817e42adb3a98868d351c6b8a
2016-12-26 01:41:33 +00:00
drh
a1a523a5bb
Add the built-in affinity() SQL function.
...
FossilOrigin-Name: 57e40e1cb1bcd3dd8473d2fdeecc9c7ff3d6192b
2016-12-26 00:18:36 +00:00
drh
6a5a4208fc
Combine the implementations of the ".tables" and ".indexes" commands in the
...
command-line shell. The ".indexes" command now puts the indexes in multiple
columns, just like ".tables" and shows all indexes in all attached databases.
FossilOrigin-Name: def29333655691c7d54451193be13445a2857d29
2016-12-24 21:32:40 +00:00
drh
2951809ed4
The schema name "main" is always an acceptable alias for the primary database
...
even if the primary database is renamed using SQLITE_DBCONFIG_MAINDBNAME.
FossilOrigin-Name: 2f481b854f04bec546eb172d1b6dbc88067d3fda
2016-12-24 19:37:16 +00:00
drh
b20a61b704
Change the output format of the ".databases" command in the command-line shell
...
so that it shows the schema name, a colon, and the corresponding filename.
FossilOrigin-Name: 8558512e9ca343300a767ef23810f2d7b50fd925
2016-12-24 18:18:58 +00:00
drh
a4b81d2a44
In the command-line shell, improve the formatting to the ".databases"
...
command and on the ".tables" command, only show the schema prefix for
databases past the first ("main") database.
FossilOrigin-Name: c0d5626e274cbf8c2d2167183c4d6835d72dae57
2016-12-24 18:04:28 +00:00
drh
6bd4dc6dc4
Fill in missing opcode documentation entries for OP_SorterNext and
...
OP_SorterSort.
FossilOrigin-Name: 2940661b8c014b94973e05c44f1b1f4f443dbdd3
2016-12-23 16:05:22 +00:00
drh
ce1bbe51b5
Add check to prevent a VList from growing after pointers to labels have been
...
taken.
FossilOrigin-Name: aa23d7eaf69f5ecbf9500b2353846094cae41e6c
2016-12-23 13:52:45 +00:00
drh
f326d66d61
Fix the VList object so that it actually works.
...
FossilOrigin-Name: 9dcd85698af46fd5ba34004ca690d368c4ae3078
2016-12-23 13:30:53 +00:00
drh
9bf755cc44
Use the VList object to replace Parse.azVar for tracking the mapping between
...
SQL parameter names and parameter numbers. There is a performance
improvement, though there are still a few hiccups in the current code.
FossilOrigin-Name: 68ecafa1425a41358c88f41efea3262f1b4490f2
2016-12-23 03:59:31 +00:00
drh
344a1bf133
Fix harmless compiler warnings.
...
FossilOrigin-Name: fa86db2f915c0a189c3be02b1aaa7f24d339d7d6
2016-12-22 14:53:25 +00:00
drh
cdfffed790
Change the default lookaside configuration from 500 slots of 128 bytes each to 125 slots of 512 bytes each. This uses the same amount of memory (64,000 bytes) but seems to perform much better in test applications.
...
FossilOrigin-Name: 52a12e47de88744187bd1c71f2820885cde414a8
2016-12-21 21:26:58 +00:00