]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Wed, 10 May 2017 12:49:50 +0000 (12:49 +0000)]
Do not invoke codec macros for in-memory subjournals.
FossilOrigin-Name:
d2bb0066f7c8413ef9992e6b07641cdf40ad260778074bd83cc22dcaba87860b
dan [Mon, 8 May 2017 18:29:36 +0000 (18:29 +0000)]
Do not invoke codec macros when reading or writing an in-memory sub-journal.
FossilOrigin-Name:
2c145ee6c9e7916f022331453384cbe61ee3654c08a1b88467f85235b5bc18c4
drh [Sat, 6 May 2017 18:09:36 +0000 (18:09 +0000)]
Fix an obscure assertion fault that can follow an OOM. The problem
was introduced by check-in [
a1cf44763277b6c7 ].
FossilOrigin-Name:
04e7e5650efffdce759b46999beb67c250af6cf394a7779ab861f210a84c134d
drh [Sat, 6 May 2017 17:12:52 +0000 (17:12 +0000)]
Fix requirements marks and harmless compiler warnings.
FossilOrigin-Name:
198ff4c01d86d193a54745764d69376cab8e94747a4daa444690f7e1ec87800b
drh [Thu, 4 May 2017 11:13:50 +0000 (11:13 +0000)]
Fix a collision of the "B0" identifier name between the termios.h header
file and the SHA3 implementation in the shell.
FossilOrigin-Name:
b9a58daca80a815e87e541cb5fff9bc8b93f131d223f322c5b83dd5a5f0c0312
drh [Wed, 3 May 2017 19:36:50 +0000 (19:36 +0000)]
Remove the unused "sqlite3_stack_used" TCL command from the test harness.
FossilOrigin-Name:
e24b73820cdca07eee87853fe6dd9f60d76e039eeb4aebef03654db3c7c94f14
drh [Wed, 3 May 2017 17:44:28 +0000 (17:44 +0000)]
Fix the sqlite3GetInt32() function so that it correctly returns 0 on a
zero-length input string.
FossilOrigin-Name:
05eba9e3a5f9bb2a40af1dacd885e1915fbcd20b9af4cf0eed79ac16dbeba31b
drh [Wed, 3 May 2017 15:54:53 +0000 (15:54 +0000)]
Always enable URI filenames when compiling with SQLITE_HAS_CODEC. Also allow
plaintext keys using the key= query parameter.
FossilOrigin-Name:
31a51b4d168065fa59cc0e52ba798bd87ac82160c675bd531442b65133edb401
drh [Tue, 2 May 2017 18:00:31 +0000 (18:00 +0000)]
Fix the fts3EvalAverageDocsize() routine so that it returns errors from
sqlite3_reset() rather than always returning SQLITE_OK.
FossilOrigin-Name:
430f539cbb3f806fb89191e0b759a5f8b49d9e5b6c95fe9a4b55a1aa0875762a
drh [Tue, 2 May 2017 17:54:19 +0000 (17:54 +0000)]
Reuse the same materialization of a view when that view appears in a query
more than once, such as in a self-join.
FossilOrigin-Name:
9e35c89dbe744312f612e507b51ff9a5bb656def75392d25bc19fc638548cd1e
drh [Tue, 2 May 2017 16:55:07 +0000 (16:55 +0000)]
Move terms of the HAVING clause that reference only columns in the GROUP BY
clause over to the WHERE clause, resulting in a faster query plan.
FossilOrigin-Name:
47cbb471d056c8e1834a5ca72491404a3bfb273b5ff7bdd84b98d263938ea874
drh [Tue, 2 May 2017 16:46:41 +0000 (16:46 +0000)]
Additional comments on the sqlite3ExprIsConstantOrGroupBy() routine. No
code changes.
FossilOrigin-Name:
8424492eac506866d2918e5fe03c8f65fef960215d56012a3b52ed42789ed35a
mistachkin [Tue, 2 May 2017 01:30:44 +0000 (01:30 +0000)]
drh [Mon, 1 May 2017 19:53:12 +0000 (19:53 +0000)]
dan [Mon, 1 May 2017 18:24:01 +0000 (18:24 +0000)]
Enhance "PRAGMA integrity_check" to detect duplicate rowids within a leaf
page.
FossilOrigin-Name:
adcad37b001d255299be716b16003b56ec1fba349ef73261ee0e543186c4f311
dan [Mon, 1 May 2017 18:12:56 +0000 (18:12 +0000)]
Clear the BTCF_ValidNKey flag set if a cursor is moved by
sqlite3BtreeInsert(). Fix for [
f68dc596c4 ].
FossilOrigin-Name:
a6727eef6d757a39ad23e5c8cbe960f5d909e5d37cb4e90bc3bdbb8bf58cd6f8
drh [Mon, 1 May 2017 17:04:35 +0000 (17:04 +0000)]
Futher bug fixes to the function that determines when a materialized view
can be reused.
FossilOrigin-Name:
c64fe3a1695925693385d313e9ad2a1d8cb37ddaa8cc19920ae0978c91bc4c2c
drh [Mon, 1 May 2017 16:37:20 +0000 (16:37 +0000)]
Minor bug fixes and performance enhancement.
FossilOrigin-Name:
b2aae559581d05e4e8caaddfbd137cb275d582e82d58872c6f42e462dc859b1c
drh [Mon, 1 May 2017 15:15:41 +0000 (15:15 +0000)]
Initial implementation of an optimization that attempts to reuse the same
materialization of a view on a self-join of the view.
FossilOrigin-Name:
478c34b9a8b5127d13024e10307aa832f160b89720c46424dd17555bd36f590d
dan [Mon, 1 May 2017 14:09:32 +0000 (14:09 +0000)]
Add extra tests for the optimization on this branch.
FossilOrigin-Name:
4921cd9520080f9baff70e548f64a56e2204b398b8397a2d318a98c32ec4b00c
dan [Sat, 29 Apr 2017 20:53:09 +0000 (20:53 +0000)]
Automatically transfer terms from the HAVING clause to the WHERE clause of an
aggregate query in cases where the result of evaluating the term depends only
one one or more of the GROUP BY expressions (and on no other inputs).
FossilOrigin-Name:
5375a3ce56f1d993b13b469fe33ec7679948f53940f62a15ddbaeb8aaa26a22c
drh [Sat, 29 Apr 2017 19:29:49 +0000 (19:29 +0000)]
Add a single testcase() macro to the subquery processing logic.
FossilOrigin-Name:
4e1df76e3d85922648e0e1cce73a266c3b1ed4511ace259ec0a01d7693af9e6f
drh [Sat, 29 Apr 2017 18:02:49 +0000 (18:02 +0000)]
Improvements to opcode documentation in the bytecode engine.
No changes to code.
FossilOrigin-Name:
e54c9f8db5b2fa8ea82c6eab7482255431af16901f7992c9667b56a0e50a9f4f
drh [Sat, 29 Apr 2017 15:27:04 +0000 (15:27 +0000)]
Evaluate WHERE clause terms that reference only the index before evaluating
terms that require the table, and thereby avoid seeking the table row if
index terms are false.
This is called the "push-down" optimization in the MySQL world, we are told.
FossilOrigin-Name:
d7bb79ed3a40419d143fbe35c310e51fe7b384a22f082a61ad788671d2d33ee0
drh [Sat, 29 Apr 2017 14:56:55 +0000 (14:56 +0000)]
Minor size and performance improvements to the push-down optimization.
FossilOrigin-Name:
91dfb61a1a25763bb0b5c1e353a9d584bc6de3f6eb445f54202ffe7f6fee6e8d
dan [Fri, 28 Apr 2017 19:59:55 +0000 (19:59 +0000)]
Within a loop that uses a non-covering index test, test non-indexed terms that
can be tested without seeking the main table cursor before those that cannot.
FossilOrigin-Name:
afe68f0a8060dc5c92cb1fb32a9f22bd36140cd2c0bb5b6cea853e169c5ed444
dan [Wed, 26 Apr 2017 17:21:33 +0000 (17:21 +0000)]
dan [Wed, 26 Apr 2017 14:34:04 +0000 (14:34 +0000)]
Replace <fts5.h> with "fts5.h" in test file fts5_test_tok.c.
FossilOrigin-Name:
63d9ca5c7392e1efe3330689fe750310a952287e843b3242178724e8561fae0e
drh [Wed, 26 Apr 2017 04:32:17 +0000 (04:32 +0000)]
Fix a subtle bug in Lemon discovered and reported on the mailing list
by Kelvin Sherlock, who also suggested the correct fix.
FossilOrigin-Name:
304689f8acb53d68e1afed6e6c4332e78132e3d57071b8f94df0d13515b3b3d8
dan [Mon, 24 Apr 2017 14:16:55 +0000 (14:16 +0000)]
When building an ephemeral table of integers, do not assume that the table
does not already contain N if the insert cursor points to N-1. Fix for ticket
[
61fe9745 ].
FossilOrigin-Name:
1c1b0862236f564283be08338790d6494e705f1198547a59499e3f8c07f2cd99
drh [Sat, 22 Apr 2017 00:20:49 +0000 (00:20 +0000)]
dan [Fri, 21 Apr 2017 17:03:32 +0000 (17:03 +0000)]
Remove a NEVER macro for a condition that may be true as of [
a47efb7c ].
Problem reported by OSSFuzz.
FossilOrigin-Name:
bdc50d8d127266d02b291f6bfcd4e35eb07994ce23987d6e3921124cd881929a
dan [Fri, 21 Apr 2017 16:04:18 +0000 (16:04 +0000)]
Fix an FTS5 bug that could cause a prefix-query without a prefix-index on a
database that contains delete-markers to return extra, non-matching, rows.
FossilOrigin-Name:
840042cb2bed2924e2263f21887317f661e5a585c4466c3af25b91ed57a6b49b
dan [Wed, 19 Apr 2017 13:25:45 +0000 (13:25 +0000)]
Further improvements to coverage of fts3 module.
FossilOrigin-Name:
6b21d0fdebdccfaf63590d9ca9a279c22b8baec07c1a669b9f617f25bd857384
dan [Wed, 19 Apr 2017 07:33:52 +0000 (07:33 +0000)]
Further modifications and test cases to improve test coverage of fts3.
FossilOrigin-Name:
ea8a0d2ce0cb1ca3f4f18c72fb780d1c26792799acc87e6726f9eaccf2f178bf
dan [Tue, 18 Apr 2017 13:50:00 +0000 (13:50 +0000)]
Use sqlite3_table_column_metadata() instead of a SELECT statement to check for
the existence of a %_stat table in fts3. This leads to smaller and easier to
test code.
FossilOrigin-Name:
dc2a48020a3c856a8b4cfa2309c290f0508b991e92cc0e4de680d19aae7872fc
drh [Tue, 18 Apr 2017 11:20:19 +0000 (11:20 +0000)]
Improved optimizations of views as the right operand of a LEFT JOIN.
FossilOrigin-Name:
41c27bc0ff1d3135cdb6273ede4595f5bb0c0e1e1d470ea1633cb525674cf431
dan [Tue, 18 Apr 2017 05:49:23 +0000 (05:49 +0000)]
Refactor the fts3ColumnMethod() function so that all branches can be covered.
FossilOrigin-Name:
e47fdb493bd76d85f6f05771ee7a0b3ee31b1eb05839a60d2bdb47149ac692d8
drh [Mon, 17 Apr 2017 23:23:17 +0000 (23:23 +0000)]
Defer checking for null in the comparison operators, since that is an
uncommon case.
FossilOrigin-Name:
5684525613961fed9db6a4d10dbe25521201b24f08e011df3a20ac895316957d
drh [Mon, 17 Apr 2017 20:50:34 +0000 (20:50 +0000)]
Do not allow a Mem object to be both NULL and some other type at the same time.
FossilOrigin-Name:
e698db1956bb3aba32cd3ec633ec20f5d19b1a10bc68d3772903bca3c87ee158
dan [Mon, 17 Apr 2017 18:42:33 +0000 (18:42 +0000)]
Consolidate two branches of code in the "PRAGMA foreign_key_check"
implementation.
FossilOrigin-Name:
69f51f838abcf57b35e41f7a10fbb45f56536f93825aac865debc3c8315930be
dan [Mon, 17 Apr 2017 18:02:41 +0000 (18:02 +0000)]
Fix a problem in "PRAGMA foreign_key_check" in handling a WITHOUT ROWID child
table with an INTEGER PRIMARY KEY parent key. Also, if an FK violation is
detected in a WITHOUT ROWID child table, do not try to read and return the
rowid. The third column returned by "PRAGMA foreign_key_check" in this case
(WITHOUT ROWID child table) is now always set to NULL.
FossilOrigin-Name:
690870bd7b2e607b7992c4496c9f08c29eb72a36af002c606fd7aa3dcf94a2a4
dan [Mon, 17 Apr 2017 16:07:25 +0000 (16:07 +0000)]
Further improvements to test coverage in fts3.
FossilOrigin-Name:
352413eed469802665e7d2c17b7fe6e3a0b0b2209ce45bdc85fd4243cec50ea6
dan [Mon, 17 Apr 2017 13:38:09 +0000 (13:38 +0000)]
drh [Mon, 17 Apr 2017 13:18:42 +0000 (13:18 +0000)]
Fix the ".column" output mode in the command-line shell so that it correctly
counts and formats multi-byte UTF characters.
FossilOrigin-Name:
f508aff8d1782abdff4d03726ae098607a0ee6cfd2e35b130097ee5043e98960
drh [Sun, 16 Apr 2017 22:41:49 +0000 (22:41 +0000)]
In the showwal command-line tool, for unix builds, if the
auxiliary argument is of
the form "Ntruncate" where "N" is a frame number, then truncate the WAL
file after the N-th frame.
FossilOrigin-Name:
90015df30655d884ecf7ae61e588824696954252dc6b1a5f78cf2de8cb236104
drh [Sun, 16 Apr 2017 22:08:31 +0000 (22:08 +0000)]
Add the anycollseq.c loadable extension in etc/misc
FossilOrigin-Name:
d7b9813cb17615c3d00afd6994a4309d6d48c8e924b6cd813c543e1fa65c7719
drh [Sat, 15 Apr 2017 11:53:47 +0000 (11:53 +0000)]
In the skip-ahead-distinct optimization, fix a bug in the logic that determines
when to invoke the optimization based on sqlite_stat1 statistics.
FossilOrigin-Name:
89f9e4363aa19f306e55f749c442eae2f8994f6a47c65e645a79b308b450d5e5
drh [Fri, 14 Apr 2017 22:41:27 +0000 (22:41 +0000)]
Fix to the decision logic for when to use the skip-ahead-distinct optimization.
FossilOrigin-Name:
e50fd48969f99bc988389c53ff46714603b1d11de12c71b55c00cbee037f073c
drh [Fri, 14 Apr 2017 19:46:12 +0000 (19:46 +0000)]
drh [Fri, 14 Apr 2017 19:44:15 +0000 (19:44 +0000)]
Fix some left-over K&R-C constructs in lemon.c. No changes to the core.
FossilOrigin-Name:
a53799059d4ece246610b6c877ab7088ded3548cbca7149a03deea8ac0e27e68
drh [Fri, 14 Apr 2017 19:03:10 +0000 (19:03 +0000)]
Add the TK_IF_NULL_ROW opcode to deal with non-NULL result columns in the
result set of a view or subquery on the RHS of a LEFT JOIN that gets flattened.
FossilOrigin-Name:
3a5860d86fadcf924316707918bf283d26c53b1473e5e67f5cff59d18c2a7742
drh [Fri, 14 Apr 2017 17:30:43 +0000 (17:30 +0000)]
When doing a DISTINCT query using an index, try to use the index to skip ahead
to the next distinct element, rather than doing a full scan of the index.
(This is the "skip-ahead-distinct" optimization.)
FossilOrigin-Name:
f489b5bb6b35665befdd411c2c55df5258e83cba265d8c4427ba22529cf882a4
drh [Fri, 14 Apr 2017 17:18:45 +0000 (17:18 +0000)]
An initial attempt to optimize VIEWs that occur as the right operand of a
LEFT JOIN. This particular check-in does not work correctly because it does
not deal with the case of columns in the VIEW that return non-NULL even when
all columns in the table of the VIEW are NULL because of the LEFT JOIN.
FossilOrigin-Name:
1838a59c8a1c151bd6fc822b0ffef661803cf0e4704c917e74a04567b81740b9
mistachkin [Fri, 14 Apr 2017 14:50:34 +0000 (14:50 +0000)]
Make USE_FULLWARN=1 the default for MSVC and fix harmless compiler warnings.
FossilOrigin-Name:
6bf673767b8e5cedef1acff795cbe524fab8db2525c06424db4e038934a33936
drh [Fri, 14 Apr 2017 14:02:14 +0000 (14:02 +0000)]
Enhance the sqlite3TreeView() display for Expr objects so that it shows
the iRightJoinTable value for Expr nodes that have the EP_FromJoin property.
FossilOrigin-Name:
5159cb8f2bcfb1f7114786ba23082d2b91a26e3a7ddfae75f8bd362792949d5e
drh [Fri, 14 Apr 2017 12:39:37 +0000 (12:39 +0000)]
Simplify the interface to the subst() routines that are part of the
query flattener by collecting common parameters into the SubstContext object
and passing around a pointer to that object.
FossilOrigin-Name:
e651074be28b2077b8a298f513e2e699ceca99164ace9869ea50873c0637fd2e
drh [Fri, 14 Apr 2017 12:27:45 +0000 (12:27 +0000)]
drh [Fri, 14 Apr 2017 00:45:51 +0000 (00:45 +0000)]
drh [Thu, 13 Apr 2017 21:29:02 +0000 (21:29 +0000)]
Fix the skip-ahead-distinct optimization so that it works with indexes that
have repeated columns with different collating sequences.
FossilOrigin-Name:
ce1e2b88777e00a82c04abe5ba35eec81b5f324e462f099cd00b21054f369688
drh [Thu, 13 Apr 2017 19:48:29 +0000 (19:48 +0000)]
Simplification of the skip-ahead-distinct logic. There is still an issue
with handling COLLATE.
FossilOrigin-Name:
57c5173b6376a76013b0611ce9770100bd8c04e80402e35d821d8614709f4795
dan [Thu, 13 Apr 2017 18:33:33 +0000 (18:33 +0000)]
New test cases and minor fixes for the optimization on this branch.
FossilOrigin-Name:
70ac9ea1a6cb2f4906f00f1a04f668e5ba5eeed8d4d0fa4be57a9c9eb0683697
dan [Thu, 13 Apr 2017 15:51:27 +0000 (15:51 +0000)]
Reinstate the SQLITE_API qualifier on the sqlite3_delete_database() method in
test_delete.c. Accidentally removed by the previous commit.
FossilOrigin-Name:
59c70108fd179932ccdd860f93e1cd68b77476d3b1af1af00cf6e378c9984862
dan [Thu, 13 Apr 2017 15:36:47 +0000 (15:36 +0000)]
Update the code in test_delete.c to use the "win32" VFS if SQLITE_OS_WIN is
defined.
FossilOrigin-Name:
fa9bb7b768027677f7e7d5a196ba5b245dfc8d8986ccd101c8dab671bd15719d
drh [Thu, 13 Apr 2017 13:01:59 +0000 (13:01 +0000)]
Only use the skip-ahead-distinct optimization if the index has been analyzed
and we know that a skip-head is likely to skip over at least 11 rows. The
magic number 11 was determined by experimentation.
FossilOrigin-Name:
0cf16decd534bf2d66620c293f8c8987f356305f2d97f8fd12d260bda1571385
dan [Thu, 13 Apr 2017 09:45:21 +0000 (09:45 +0000)]
Allow a user column name to be used on the LHS of a MATCH operator in FTS5.
FossilOrigin-Name:
6f54ffd151b0eca6f9ef57ac54802584a839cfc7373f10c100fc18c855edcc0a
drh [Thu, 13 Apr 2017 01:19:30 +0000 (01:19 +0000)]
Forward port the skip-ahead-distinct branch which was abandoned for some reason
that I do not recall. This port should have been achived by a merge of trunk
into the previous head of skip-ahead-distinct, but that did not work. So I had
to manually "rebase" the changes.
FossilOrigin-Name:
132339a1fb0b9664df4d3eefbed6e77ef100ba95a91dcc622da7bd3fcdfcd6af
drh [Thu, 13 Apr 2017 00:12:32 +0000 (00:12 +0000)]
Fix a regression caused by the fix for ticket [
6c9b5514077fed34551f98e64c09a1 ] -
control characters allowed in JSON.
FossilOrigin-Name:
8e7b611863247a3bf46a96ec4b47d24c0ae0d60c9cee968a1cfd1da157e7c9bb
dan [Wed, 12 Apr 2017 17:50:12 +0000 (17:50 +0000)]
Update fts5 to support "<colset> : ( <expr> )" for column filtering, as well
as "<colset> : NEAR(...)" and "<colset> : <phrase>".
FossilOrigin-Name:
c847543f8bb1376fef52bca72b4191162a32eb7e6c5f0cd1aa0ab116b3183396
drh [Wed, 12 Apr 2017 17:38:24 +0000 (17:38 +0000)]
Improved \n and \r escapes in the ext/misc/dbdump.c utility function. The
implementation of dbdump.c now matches the implementation in the CLI.
FossilOrigin-Name:
f2643315bb41a71eebd79f5d671f9163187e299a52ff8a481186f1e8fa7e5262
dan [Tue, 11 Apr 2017 20:48:30 +0000 (20:48 +0000)]
Avoid updating unaffected indexes on a table as part of an UPDATE that
requires foreign key processing in some cases.
FossilOrigin-Name:
7aae5c0f99aa2fda85654242cfc9e23a0f981d9ce4ab17610d619cd208540b3d
dan [Tue, 11 Apr 2017 19:58:55 +0000 (19:58 +0000)]
Avoid updating unaffected indexes on a table as part of an UPDATE that requires
foreign key processing in some cases.
FossilOrigin-Name:
477bea9ed0dd0fa69896bfd16d9b1d22170cbab784e3279ce65c29c47e032f34
drh [Tue, 11 Apr 2017 18:55:05 +0000 (18:55 +0000)]
Limit the depth of recursion for valid JSON in the JSON1 extension in order
to avoid using excess stack space in the recursive descent parser.
Fix for ticket [
981329adeef51011052667a9 ].
FossilOrigin-Name:
1f68c184596912d742b50b1ca38252a9e783aacf121619a27b17a7ae9f6df041
drh [Tue, 11 Apr 2017 18:06:48 +0000 (18:06 +0000)]
Smaller and faster implementation of exprMightBeIndexed().
FossilOrigin-Name:
76cd611d41465fcec61c21520d55172cb236530f38386b7d4a5544ba87de2353
drh [Tue, 11 Apr 2017 16:44:39 +0000 (16:44 +0000)]
Very slight smaller and faster sqlite3SelectNew()
FossilOrigin-Name:
4143650c4ce32289d2301cdfc69bb10877246420f656bed122886f6803fc956a
drh [Tue, 11 Apr 2017 12:20:54 +0000 (12:20 +0000)]
Add an ALWAYS() around an unreachable condition in sqlite3VdbeMemGrow().
FossilOrigin-Name:
0f3eb61f44c94234ffc14c3a493a27ec62c0d1e2bb62798f36eafa98ddcdc58e
dan [Tue, 11 Apr 2017 11:52:25 +0000 (11:52 +0000)]
Fix a segfault that could occur if an indexed expression was used in a
comparison operation within the result-set of a SELECT statement.
FossilOrigin-Name:
d6bb7c42ff6309ce168ccdcf03b4cdabfccfc9e2a911d254ac7dc4fea4aa2bc1
drh [Tue, 11 Apr 2017 01:30:42 +0000 (01:30 +0000)]
When using an index on an expression, try to use the columns of the index
rather than pulling columns from the table and reevaluating the expression.
FossilOrigin-Name:
a47efb7c8520a01110ce3b3531ebe1bab6720780d67fba001992c44c5807d332
drh [Tue, 11 Apr 2017 01:01:27 +0000 (01:01 +0000)]
Improved comments. Fix a problem when an indexed expression is used in an
ORDER BY clause.
FossilOrigin-Name:
c59eaf2b7cd2596733f349fc0fe979f71fd29bd73152a0c57066e0b69d5b7a4a
drh [Mon, 10 Apr 2017 23:42:04 +0000 (23:42 +0000)]
drh [Mon, 10 Apr 2017 20:51:21 +0000 (20:51 +0000)]
drh [Mon, 10 Apr 2017 20:27:54 +0000 (20:27 +0000)]
Slightly smaller and faster sqlite3VdbeMemGrow().
FossilOrigin-Name:
efd1702ae8da8e0dd3d2ee7bd5a1bd8aeff2b370498e404041fcb406fdaf72e4
drh [Mon, 10 Apr 2017 12:31:15 +0000 (12:31 +0000)]
Add a new JSON test case to verify that all control characters are escaped
in the json_quote() function.
FossilOrigin-Name:
6ee12221fa252784c897a24ae8cff64dfe6149cbc9020abe14539df33202d892
drh [Mon, 10 Apr 2017 12:25:05 +0000 (12:25 +0000)]
Change the JSON extension so that it disallows control characters inside of
strings. Fix for ticket [
6c9b5514077fed34551f98e64c09a10dc2fc8e16 ].
FossilOrigin-Name:
475d8f82ec61a4ff3e6a7650731230ccecb6cc580d1397d189d0ba479d9bad4d
drh [Sun, 9 Apr 2017 19:23:55 +0000 (19:23 +0000)]
Do not expose the name of the internal Mem object in the public interface
defined by sqlite3.h.
FossilOrigin-Name:
19dd753f9e50fee247b1ab141669817c7e88bc3f6d6065dba6c731db9f7a2409
drh [Sat, 8 Apr 2017 18:18:22 +0000 (18:18 +0000)]
Disallow leading zeros on numeric constants in JSON.
Fix for ticket [
b93be8729a895a528e2 ]
FossilOrigin-Name:
204e72f0080e8f08f99978870bd3cb9d59b068ecffee82192d707c650548b43b
dan [Sat, 8 Apr 2017 14:11:47 +0000 (14:11 +0000)]
Expand on the comment above OP_Destroy to explain why it throws an error if
there are any active reader VMs.
FossilOrigin-Name:
b9a8c2b9bec9f537b2d5aff6659a5748b1f70b53519a1f9dfceb5209154eca8e
dan [Sat, 8 Apr 2017 13:52:41 +0000 (13:52 +0000)]
Have the rtree module close any open blob-handle within the xSavepoint method.
This prevents such an open blob handle from interfering with DROP TABLE
operations.
FossilOrigin-Name:
fa4416adc2a9a3a80db1d5befc0b95c3d0fc41affe38f7f2f45cdfae3f1b49eb
drh [Sat, 8 Apr 2017 13:42:55 +0000 (13:42 +0000)]
Fix the quoting mechanism for ".dump" so that it is not applied for the
".mode quote" output.
FossilOrigin-Name:
78c1e90305d48917d9423d8e50a7dfd15ec27aa93cb421610062229c7ede13a6
dan [Sat, 8 Apr 2017 09:12:20 +0000 (09:12 +0000)]
Have fts5 close any open blob-handle when a new savepoint is opened. This
ensures that fts5 does not prevent DROP TABLE statements (which always open a
savepoint) from succeeding.
FossilOrigin-Name:
a921ada89050ce1d162fd1b0056939573635e2cec7ac0c2a99ae924b3ae593f7
drh [Sat, 8 Apr 2017 01:09:14 +0000 (01:09 +0000)]
Make sure the RTree sqlite3_blob handle is reset prior to renaming the table.
FossilOrigin-Name:
1cdae2db3c54970a1811e597065724578408c84d49d75b8fe25d56281ddc2e94
drh [Sat, 8 Apr 2017 00:55:13 +0000 (00:55 +0000)]
Fix the ".dump" command so that it works with ".headers on". Also fix the
display of ".mode insert" with ".headers on".
FossilOrigin-Name:
a6ce57ee3c7f3527554a75cc1dd5ebcd33c944d4dca07b134d103596a2ae5b32
drh [Fri, 7 Apr 2017 20:20:08 +0000 (20:20 +0000)]
Use replace() instead of char() to quote newline and return characters in
strings in the output of .dump, to avoid excess expression complexity.
FossilOrigin-Name:
7307352988174a6c2756dbbe200bf62a45fb4cc1da7faa2c6b0f75e229eab703
drh [Fri, 7 Apr 2017 19:52:13 +0000 (19:52 +0000)]
drh [Fri, 7 Apr 2017 19:41:31 +0000 (19:41 +0000)]
Proof of concept for the ability to use the expression columns in an index
on expressions in place of equivalent expressions in the result set or in
the WHERE clause. This check-in compiles but is mostly untested.
FossilOrigin-Name:
a52ef2ad7c0e14b78b801f16a1f6ea8d8fa9ae5d7d810e18dd24c600b662a312
drh [Fri, 7 Apr 2017 11:45:58 +0000 (11:45 +0000)]
Use replace() instead of char() to quote newline and return characters in
strings in the output of .dump, to avoid excess expression complexity.
FossilOrigin-Name:
4c2b572969ea2ed2a925444ecfa356aa877018cbb9c4f57d081ab4b535cd1dd0
dan [Thu, 6 Apr 2017 14:56:26 +0000 (14:56 +0000)]
Fix the ".lint fkey" shell command for cases where the child key is also an
INTEGER PRIMARY KEY.
FossilOrigin-Name:
48826b222c110a90996a84605318ea6b1e502b8c5129f4d561f8350dbdbcd264
dan [Thu, 6 Apr 2017 12:06:56 +0000 (12:06 +0000)]
Fix the ".lint fkey" shell tool command so that it works for foreign keys that
refer implicitly to primary key columns with non-BINARY default collation
sequences.
FossilOrigin-Name:
327eff25ba2420267cc8dc49dd3c3aab45f4bf9e060d1ad480e25d016d21f3ba
drh [Wed, 5 Apr 2017 13:44:40 +0000 (13:44 +0000)]
Remove a confusing and pointless sentence from the documentation for the
sqlite3_interrupt() interface.
FossilOrigin-Name:
c5f1a2b6eb3df879d247a22b3f92f4f74fcf4f0d219450abc420ae6d02481324
drh [Wed, 5 Apr 2017 12:39:49 +0000 (12:39 +0000)]
Split off sqlite3DbFreeNN() from sqlite3DbFree() and use it in cases where
we know that the argument to be freed is never NULL.
FossilOrigin-Name:
ad90e8bb5e47945607c8fb47b6ade8cfc52a9b684805cc40132629be0ecc14cc