]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
8 years agoEnhance the sqlite3_analyzer.exe utility so that it computes and shows the
drh [Thu, 15 Jun 2017 00:52:03 +0000 (00:52 +0000)] 
Enhance the sqlite3_analyzer.exe utility so that it computes and shows the
number of bytes of metadata on btree pages and per table and index entry.

FossilOrigin-Name: 43ad41efa9e1fdd79a9804197a227491236495f14ed56c656224d6ce181703c1

8 years agoFix sqlite3rbu_close() so that the pzErrmsg parameter may be passed NULL.
dan [Tue, 13 Jun 2017 16:52:34 +0000 (16:52 +0000)] 
Fix sqlite3rbu_close() so that the pzErrmsg parameter may be passed NULL.

FossilOrigin-Name: c433672dd8ab625628bde2f4f40a2dc000ed915dbe91833d3f753d8ab51baf25

8 years agoFix the processing of double-negatives in WHERE clause constraints with
drh [Tue, 13 Jun 2017 04:31:54 +0000 (04:31 +0000)] 
Fix the processing of double-negatives in WHERE clause constraints with
STAT4.  Ticket [cfa2c908f2182]

FossilOrigin-Name: 35b34bdf0843b49be39e13ed212e918c2d45afdb8374b5cd02ba6d2d5b16b3b9

8 years agoFix an off-by-one error that messes up the display of loop codes in the
drh [Sun, 11 Jun 2017 20:17:02 +0000 (20:17 +0000)] 
Fix an off-by-one error that messes up the display of loop codes in the
".wheretrace" debugging output for queries with more than 62 candidate
loops when SQLITE_ENABLE_WHERETRACE is on.

FossilOrigin-Name: 0bbdaf2801e4102d952db65e53962e534b67b8b72e76fadb4ce404a6249129d9

8 years agoWhen reusing a materialized view, make sure the estimated number of
drh [Sun, 11 Jun 2017 19:51:36 +0000 (19:51 +0000)] 
When reusing a materialized view, make sure the estimated number of
output rows is correctly initialized to avoid confusing the query planner.

FossilOrigin-Name: 87aceb417a813a2925b636cffa660fe25f3b7e3b3c84bb2108951bf0af644376

8 years agoFix the sessiondiff test module so that it does not run if the session
drh [Sun, 11 Jun 2017 19:40:34 +0000 (19:40 +0000)] 
Fix the sessiondiff test module so that it does not run if the session
extension is not enabled.

FossilOrigin-Name: 8f92b7a6223a69304dc8a6ab3b43a49cbb87f572a1e65d8a0c6dc09fca38e1a8

8 years agoFix a potential null-pointer deference following OOM introduced by
drh [Sun, 11 Jun 2017 18:26:15 +0000 (18:26 +0000)] 
Fix a potential null-pointer deference following OOM introduced by
check-in [e39795d7] (unreleased).

FossilOrigin-Name: a2f77285fa44df86863eed576271f1030ec60f15480daf175908c5082c27774b

8 years agoUpdate the documentation to make it clear that the table name parameter
drh [Fri, 9 Jun 2017 11:43:53 +0000 (11:43 +0000)] 
Update the documentation to make it clear that the table name parameter
to sqlite3_table_column_metadata() may not be NULL.

FossilOrigin-Name: 2881ab1ed24ed72760086785bdf224c4e687cf39a02fd349ae13c6e1235e24da

8 years agoAdjust the implementation of the ".selftest" feature of the shell to avoid
drh [Fri, 9 Jun 2017 02:27:49 +0000 (02:27 +0000)] 
Adjust the implementation of the ".selftest" feature of the shell to avoid
using the deprecated sqlite3_get_table() interface.

FossilOrigin-Name: 3168e2c92ad0a0dafc78a27ee1d87ac89f426585f506f418a0182141335dc68b

8 years agoAdd a testcase() to confirm that an OOM on sqlite3DbStrNDup() is handled
drh [Thu, 8 Jun 2017 14:35:21 +0000 (14:35 +0000)] 
Add a testcase() to confirm that an OOM on sqlite3DbStrNDup() is handled
correctly in trigger.c.

FossilOrigin-Name: 343e55992f503efa662e49bb0f3c0d798defd0a11f2ee1c36968902fa7e06823

8 years agoEnsure pointer map entries are always added when a row that does use overflow
dan [Thu, 8 Jun 2017 11:14:08 +0000 (11:14 +0000)] 
Ensure pointer map entries are always added when a row that does use overflow
pages replaces one that does not in an auto-vacuum database. Fix for
[fda22108].

FossilOrigin-Name: b30dfba811cb531b09ff2e71a1a18ed53c816cb39155dd52ca3e2701425fe17b

8 years agoIn SQLITE_DEBUG mode, attempt to log the page number of the database that
drh [Wed, 7 Jun 2017 22:32:59 +0000 (22:32 +0000)] 
In SQLITE_DEBUG mode, attempt to log the page number of the database that
contained the problem when SQLITE_CORRUPT errors are seen.

FossilOrigin-Name: e39795d7d798d5249c7bd2a0f6ff891b455f4300a3d638c39a4668323b367666

8 years agoAdd the SQLITE_DEFAULT_ROWEST compile-time option for changing the estimated
drh [Tue, 6 Jun 2017 18:20:43 +0000 (18:20 +0000)] 
Add the SQLITE_DEFAULT_ROWEST compile-time option for changing the estimated
number of rows in tables that lack sqlite_stat1 entries.

FossilOrigin-Name: 234ede26e30f20e6c33002739ed8be35dbfb5c77700bd857ff31072b9b7df347

8 years agoFix a subtle bug in the remember UDF of the kvtest.exe utility program.
drh [Mon, 5 Jun 2017 19:20:35 +0000 (19:20 +0000)] 
Fix a subtle bug in the remember UDF of the kvtest.exe utility program.

FossilOrigin-Name: 9eea3670e77e2f831b7c00ae2d65a5583f9cad626d9ab286f92582ef29ecd4e3

8 years agoFix a bug in test_fs.c that occurs when the first component of a path contains
dan [Mon, 5 Jun 2017 16:33:53 +0000 (16:33 +0000)] 
Fix a bug in test_fs.c that occurs when the first component of a path contains
a GLOB or LIKE escape character.

FossilOrigin-Name: 73c70590d7689806901378cd2a7e167ec4339f886031369266e07868acd23b93

8 years agoFor the kvtest utility, add the --vacuum option to "kvtest stat" and also
drh [Mon, 5 Jun 2017 13:28:17 +0000 (13:28 +0000)] 
For the kvtest utility, add the --vacuum option to "kvtest stat" and also
run PRAGMA integrity_check with "kvtest stat".

FossilOrigin-Name: f3c25df4562efda2adeb211a4cc893246354917849a0fa4d95da3d7970e9588e

8 years agoFix the column width deduction logic in the command-line shell to account
drh [Mon, 5 Jun 2017 12:29:26 +0000 (12:29 +0000)] 
Fix the column width deduction logic in the command-line shell to account
for multi-byte utf8 characters.

FossilOrigin-Name: ed0842c156ab1a78d5d00d3a55dab5e3f08cd349328d606724688f1528df3f6b

8 years agoOmit some of the fstree tests in vtabH if the PWD contains LIKE wildcards.
drh [Mon, 5 Jun 2017 10:31:03 +0000 (10:31 +0000)] 
Omit some of the fstree tests in vtabH if the PWD contains LIKE wildcards.

FossilOrigin-Name: ead29f9cb757a5f9921086e3bb4998f60e0d6cfcf41ef0f9a230b365b6226947

8 years agoInitialize a variable to zero to prevent an (incorrect) compiler warning of
drh [Sat, 3 Jun 2017 20:09:37 +0000 (20:09 +0000)] 
Initialize a variable to zero to prevent an (incorrect) compiler warning of
it potentially being uninitialized.

FossilOrigin-Name: 65182ce041b30cd0193b958eca975b720fe5200a868baba1e633e49433d86813

8 years agoFix the SQLITE_PTR_TO_INT macro so that works on recent versions of LLVM on
drh [Sat, 3 Jun 2017 19:16:29 +0000 (19:16 +0000)] 
Fix the SQLITE_PTR_TO_INT macro so that works on recent versions of LLVM on
Macs.

FossilOrigin-Name: c4089ffbdb4b3467648c97044b0d3085da7128103079b686f608efde83c7df30

8 years agoRemove unused header file from kvtest.
drh [Sat, 3 Jun 2017 18:27:49 +0000 (18:27 +0000)] 
Remove unused header file from kvtest.

FossilOrigin-Name: dd7e043f7c9e16cd98a273b7105fa74bdd14a93db8cd5bde064cc1c40591155c

8 years agoIn kvtest, add the ability to work with a hierarchy of files on disk,
drh [Sat, 3 Jun 2017 17:24:04 +0000 (17:24 +0000)] 
In kvtest, add the ability to work with a hierarchy of files on disk,
in addition to having all files in the same directory.

FossilOrigin-Name: f568f666c85ab9b80592927dc033cfd65bd4415576cf5b3beaf300d68a8e074e

8 years agoAdd the --nocheckpoint and --multitrans options to kvtest.
drh [Sat, 3 Jun 2017 15:17:21 +0000 (15:17 +0000)] 
Add the --nocheckpoint and --multitrans options to kvtest.

FossilOrigin-Name: 5828633c2392274b6863b50eaffbb2a176a4d892e83542824a9a3f0d1b62c967

8 years agoAdd the --fsync flag to kvtest, and document the --nosync flag.
drh [Fri, 2 Jun 2017 23:32:17 +0000 (23:32 +0000)] 
Add the --fsync flag to kvtest, and document the --nosync flag.

FossilOrigin-Name: 7fdc78a672b2ea6187dcb5fdf32f809bb8e4d501e2434f2233edc3bc2e3acc7c

8 years agoWork toward enhancing kvtest to measure write performance.
drh [Fri, 2 Jun 2017 19:31:46 +0000 (19:31 +0000)] 
Work toward enhancing kvtest to measure write performance.

FossilOrigin-Name: fc73e7d2f16386f96c55c42f9830193f7c178521a7ad90c3117b85ef629b5ce4

8 years agoChange the name of the OP_Seek opcode into OP_DeferredSeek for better
drh [Fri, 2 Jun 2017 15:44:22 +0000 (15:44 +0000)] 
Change the name of the OP_Seek opcode into OP_DeferredSeek for better
clarity of function.  No functional code changes.

FossilOrigin-Name: ab33d299c7dab52703d06f3441c8a98c6c809b2612ec65d71aab2919bd2b1540

8 years agoFix a typo in the header comment of the "series.c" virtual table extension.
drh [Fri, 2 Jun 2017 13:16:54 +0000 (13:16 +0000)] 
Fix a typo in the header comment of the "series.c" virtual table extension.

FossilOrigin-Name: d637feb4e3032ee0067c204b56d2af5f7eab228e645f2e77b0b043c2b299724d

8 years agoAdd a comment to the Lemon documentation regarding the security of the
drh [Thu, 1 Jun 2017 01:53:19 +0000 (01:53 +0000)] 
Add a comment to the Lemon documentation regarding the security of the
lemon.exe command-line tool.

FossilOrigin-Name: 4c2458c1908181dc2f6bc594395c06d015fcbd78f5d3472f07a6a3909be9673c

8 years agoAdd the SQLITE_STMTSTATUS_MEMUSED opcode to sqlite3_stmt_status()
drh [Wed, 31 May 2017 17:30:08 +0000 (17:30 +0000)] 
Add the SQLITE_STMTSTATUS_MEMUSED opcode to sqlite3_stmt_status()
for finding the heap memory usage by a single prepared statement.

FossilOrigin-Name: c26cf978eead1c9d265eddabaa421e7735b472fcf2792cd2bdeb0901bcf3fb44

8 years agoAdd the SQLITE_STMTSTATUS_MEMUSED option for sqlite3_stmt_status() that reports stmtstatus-memused
drh [Wed, 31 May 2017 16:21:54 +0000 (16:21 +0000)] 
Add the SQLITE_STMTSTATUS_MEMUSED option for sqlite3_stmt_status() that reports
the amount of heap memory used for a single prepared statement.

FossilOrigin-Name: b57d510465458dec5b5fc778fd6e8833392964201f9febebf526e60a543da0c2

8 years agoAdd the experimental "stmts" virtual table for introspection of prepared
drh [Wed, 31 May 2017 16:09:04 +0000 (16:09 +0000)] 
Add the experimental "stmts" virtual table for introspection of prepared
statements.

FossilOrigin-Name: cb4c5c66aba757356da3b8ec3c66a5c8c40e180b3360638ac634f7787404a5b1

8 years agoAvoid allocating excess memory to the KeyInfo objects.
drh [Wed, 31 May 2017 13:45:59 +0000 (13:45 +0000)] 
Avoid allocating excess memory to the KeyInfo objects.

FossilOrigin-Name: df7859435161f3ecf36635ce574bf73573516a1f2c6e75be320619364e7067d1

8 years agoRemove a completely unnecessary memset() from the INSERT code generator.
drh [Wed, 31 May 2017 13:27:15 +0000 (13:27 +0000)] 
Remove a completely unnecessary memset() from the INSERT code generator.

FossilOrigin-Name: 7d58836b9db1293a3a6581af4358b7c91a588efd5c9b2df384803f3855ff87a8

8 years agoVery small performance increase in sqlite3VdbeSetNumCols().
drh [Wed, 31 May 2017 11:24:13 +0000 (11:24 +0000)] 
Very small performance increase in sqlite3VdbeSetNumCols().

FossilOrigin-Name: 8885b4461044ae8ecdfe1b9aa47f4aad65efabc98e3fcd9e307a06504fab34c6

8 years agoReorder fields in the PgHdr object for a performance increase.
drh [Wed, 31 May 2017 03:20:39 +0000 (03:20 +0000)] 
Reorder fields in the PgHdr object for a performance increase.

FossilOrigin-Name: 326e63d71e0e164c5bcd1f74772cb4071b82daf6f04a5d440b985bace5a4c941

8 years agoAvoid unnecessary memory zeroing during expression list allocation.
drh [Wed, 31 May 2017 02:58:30 +0000 (02:58 +0000)] 
Avoid unnecessary memory zeroing during expression list allocation.

FossilOrigin-Name: de28e6514a42438411e2c9d833ba660108128ca86d0b90f32925fb73195f4862

8 years agoSize and performance optimizations to sqlite3ResolveExprNames().
drh [Wed, 31 May 2017 00:49:40 +0000 (00:49 +0000)] 
Size and performance optimizations to sqlite3ResolveExprNames().

FossilOrigin-Name: af8c0fed93c830c50641d95691bb507c31947a15529aba2a88bfaa66b3a3287a

8 years agoChange sqlite3BtreeNext() and sqlite3BtreePrevious() so that they return
drh [Tue, 30 May 2017 18:34:07 +0000 (18:34 +0000)] 
Change sqlite3BtreeNext() and sqlite3BtreePrevious() so that they return
SQLITE_DONE if they have already reached the end (or beginning) of the table.
This gives a performance increase and size reduction.

FossilOrigin-Name: e972a3860892022d57b26ec44ce0fbadc61c1ff54b7a10b7e82390db88d323a7

8 years agoOmit a test of codepoint 0x202F (non-break narrow space) from the fts3 ICU
dan [Tue, 30 May 2017 18:14:47 +0000 (18:14 +0000)] 
Omit a test of codepoint 0x202F (non-break narrow space) from the fts3 ICU
tests. Different versions of ICU apparently handle this obscure codepoint
slightly differently.

FossilOrigin-Name: 69ae688982d6cb9f859f5643c315a1dc5ba76ad35553ecea8329a75ee70a87b1

8 years agoMore efficient error handling and reset in the binding mechanism.
drh [Mon, 29 May 2017 22:44:18 +0000 (22:44 +0000)] 
More efficient error handling and reset in the binding mechanism.

FossilOrigin-Name: 9a3e3b34ba6eafce2f560c13225a3673e18d696b29295b59d958e938fa593baf

8 years agoOmit unnecessary fstat() calls for determining the database file size,
drh [Mon, 29 May 2017 17:59:29 +0000 (17:59 +0000)] 
Omit unnecessary fstat() calls for determining the database file size,
resulting in smaller and faster code.

FossilOrigin-Name: dd61c736775c53450821327495276485dced7935d0b4b5ebd17662731afc8adb

8 years agoFix an issue with OPT_FEATURE_FLAGS in configure.ac.
drh [Mon, 29 May 2017 17:43:06 +0000 (17:43 +0000)] 
Fix an issue with OPT_FEATURE_FLAGS in configure.ac.

FossilOrigin-Name: 43ce3bd3a4b41ea757e308e563d6c1bf7f9c09f10e4766c536d0bf1042c45613

8 years agoAvoid unnecessary fstat() calls to determine the database size when io-opt
drh [Mon, 29 May 2017 16:45:45 +0000 (16:45 +0000)] 
Avoid unnecessary fstat() calls to determine the database size when
transitioning into a read transaction on a rollback-mode database.

FossilOrigin-Name: 6c3476b513965df22d648f9a1b99733af753b44d51163cc7d42a69bf562300e1

8 years agoAvoid unnecessary calls to fstat() to determine the database file size.
drh [Mon, 29 May 2017 14:57:23 +0000 (14:57 +0000)] 
Avoid unnecessary calls to fstat() to determine the database file size.

FossilOrigin-Name: c733a1dea37e4678e7bd0d3d0ca9b8eae1fbdc28615f75d8f1e5141aa53567d9

8 years agoFix a typo in a comment. No code changes.
drh [Mon, 29 May 2017 14:30:46 +0000 (14:30 +0000)] 
Fix a typo in a comment.  No code changes.

FossilOrigin-Name: cb29b838886769afe866b1172e3d5d7e36387149b79c51f91cf59da3f4a5f25b

8 years agoOptimizations to the Walker object and its methods to make the code a little
drh [Mon, 29 May 2017 14:26:07 +0000 (14:26 +0000)] 
Optimizations to the Walker object and its methods to make the code a little
smaller and to help it run a little faster.

FossilOrigin-Name: 6854a34ed708259f2280f7ee56cec09f7fc99810dc739dc2814ddeae286aa2c4

8 years agoCorrectly initialize the iSelectId of FROM clause terms that are a self
drh [Mon, 29 May 2017 13:09:24 +0000 (13:09 +0000)] 
Correctly initialize the iSelectId of FROM clause terms that are a self
join of a reused materialized subquery.  Without this, the EXPLAIN QUERY PLAN
output for the query will identify the subquery using the uninitialized
(and arbitrary) iSelectId.

FossilOrigin-Name: 43c9ae371f6250fee98a7c4011726eff8ad37f5a97add4f490ac3a2dd501a0d2

8 years agoImprove shell help text for the '.open' command.
mistachkin [Mon, 29 May 2017 03:48:13 +0000 (03:48 +0000)] 
Improve shell help text for the '.open' command.

FossilOrigin-Name: 7cc940a97efc096ff3725710f526c06f52453bd923fb9e825ce6990275df747a

8 years agoSmaller and faster vdbeSorterCompareText().
drh [Sat, 27 May 2017 22:42:36 +0000 (22:42 +0000)] 
Smaller and faster vdbeSorterCompareText().

FossilOrigin-Name: 542dc4c5eb87017fe03b6c181e779993aa84564785e1177ccf937d52f985593b

8 years agoSmall performance increase and size decrease in the btreeInitPage() routine.
drh [Thu, 25 May 2017 21:35:56 +0000 (21:35 +0000)] 
Small performance increase and size decrease in the btreeInitPage() routine.

FossilOrigin-Name: 6f415833e0554706dcf04f68ecba4ca2e54c08f3bbf6a1dba182bb132c912a2e

8 years agoMerge the LEFT JOIN query flattener fixes from 3.19.2.
drh [Thu, 25 May 2017 17:27:52 +0000 (17:27 +0000)] 
Merge the LEFT JOIN query flattener fixes from 3.19.2.

FossilOrigin-Name: 6513e4a121e32df7e5cd95f47cdf8049b85bdbcb378cf23db29838fb1143d3ce

8 years agoVersion 3.19.2 version-3.19.2
drh [Thu, 25 May 2017 16:50:27 +0000 (16:50 +0000)] 
Version 3.19.2

FossilOrigin-Name: edb4e819b0c058c7d74d27ebd14cc5ceb2bad6a6144a486a970182b7afe3f8b9

8 years agoThe SQLITE_EXTRA_IFNULLROW compile-time option causes OP_IfNullRow opcodes
drh [Thu, 25 May 2017 11:39:50 +0000 (11:39 +0000)] 
The SQLITE_EXTRA_IFNULLROW compile-time option causes OP_IfNullRow opcodes
to be issued for references to the right-hand side table of *any* flattened
join, not just LEFT JOINs.  This puts extra stress on the OP_IfNUllRow opcodes
for testing purposes.

FossilOrigin-Name: 1a074c8a2bc0b28918ef905339d11a21d30101b4ea8c06c8b3faca7d17237538

8 years agoThe TK_IF_NULL_ROW expression node must be treated as a variable that
drh [Thu, 25 May 2017 00:28:36 +0000 (00:28 +0000)] 
The TK_IF_NULL_ROW expression node must be treated as a variable that
references the table Expr.iTable.
Proposed fix for ticket [7fde638e94287d2c].

FossilOrigin-Name: b30a364a12d9865242b1444984cd25ee126dc69108d5c6a2d4b35df184437fe9

8 years agoIncrease the version number to 3.19.2 since ticket [7fde638e94287d2] is
drh [Thu, 25 May 2017 00:12:04 +0000 (00:12 +0000)] 
Increase the version number to 3.19.2 since ticket [7fde638e94287d2] is
going to necessitate another patch release.

FossilOrigin-Name: c315727acd5fffe6e83ad9a5e84360d5cfa9aa8faa10d4970ea9823c7e8126ee

8 years agoThe TK_IF_NULL_ROW expression node must be treated as a variable that
drh [Thu, 25 May 2017 00:08:48 +0000 (00:08 +0000)] 
The TK_IF_NULL_ROW expression node must be treated as a variable that
references the table Expr.iTable.
Proposed fix for ticket [7fde638e94287d2c].

FossilOrigin-Name: 77fc23013cebc7797985864b91d78db5d0e2469511732044ebfaf02b891c979a

8 years agoFix harmless compiler warnings in FTS5.
mistachkin [Wed, 24 May 2017 15:32:44 +0000 (15:32 +0000)] 
Fix harmless compiler warnings in FTS5.

FossilOrigin-Name: 57a60e959c198b87ed29fab14356f89e0ea7cdb1dd99adbea45b40e8d0cb310a

8 years agoVersion 3.19.1 version-3.19.1
drh [Wed, 24 May 2017 13:08:33 +0000 (13:08 +0000)] 
Version 3.19.1

FossilOrigin-Name: f6d7b988f40217821a382bc298180e9e6794f3ed79a83c6ef5cae048989b3f86

8 years agoFix a problem in STAT4 equality estimation for multi-column indexes
drh [Wed, 24 May 2017 04:18:00 +0000 (04:18 +0000)] 
Fix a problem in STAT4 equality estimation for multi-column indexes
introduced by check-in [3e0590dee0e68cc1599].

FossilOrigin-Name: cfb0d9e0207128b1c2b48689288a849b19dbc00a22cfaca26eec4bfc773629f8

8 years agoRemove the msvc.h header file from the autoconf tarball.
drh [Tue, 23 May 2017 20:00:00 +0000 (20:00 +0000)] 
Remove the msvc.h header file from the autoconf tarball.

FossilOrigin-Name: 84996aef68adeabc8bd97cad269188c67de628f776337a25ec2d63bc956cee78

8 years agoDo not use strcpy() in the (obsolete) amatch extension.
drh [Tue, 23 May 2017 19:35:20 +0000 (19:35 +0000)] 
Do not use strcpy() in the (obsolete) amatch extension.
In releasetest.tcl, run Apple tests using -Os instead of -O1

FossilOrigin-Name: 4440e42031b9cb0edf9a8621cd4f46f209392940ec5b9eefcf8c1e3fef5f7b76

8 years agoDisable the LEFT JOIN flattening optimization for aggregate queries, as it
drh [Tue, 23 May 2017 15:33:41 +0000 (15:33 +0000)] 
Disable the LEFT JOIN flattening optimization for aggregate queries, as it
does not currently work.  Further fix for ticket [cad1ab4cb7b0fc344].

FossilOrigin-Name: 05ada741554b9fd00befcf7b4083637f53de68699ae5210ac18e0773ad1a9910

8 years agoDisable the LEFT JOIN flattening optimization for aggregate queries, as it
drh [Tue, 23 May 2017 15:21:37 +0000 (15:21 +0000)] 
Disable the LEFT JOIN flattening optimization for aggregate queries, as it
does not currently work.  Further fix for ticket [cad1ab4cb7b0fc344].

FossilOrigin-Name: 44b21e35c92137cc519d0cc87c627cc531d0bd442a7b9a7356fa2c6bc5f70fb6

8 years agoEnsure that the expression rewriter inside the query flattener decends into
drh [Tue, 23 May 2017 12:44:57 +0000 (12:44 +0000)] 
Ensure that the expression rewriter inside the query flattener decends into
the substructure of the TK_IF_NULL_ROW operator.  This is a continuation
of the fix for ticket [cad1ab4cb7b0fc344].

FossilOrigin-Name: 28d2902d8f4dfbbfc610f271e00d353b0baae386b56b482f96b88836410be129

8 years agoEnsure that the expression rewriter inside the query flattener decends into
drh [Tue, 23 May 2017 12:36:13 +0000 (12:36 +0000)] 
Ensure that the expression rewriter inside the query flattener decends into
the substructure of the TK_IF_NULL_ROW operator.  This is a continuation
of the fix for ticket [cad1ab4cb7b0fc344].

FossilOrigin-Name: 941d8142b7c9a96ff143d1add3c86cf42d61fd08e532d400dac555f23eadbcfb

8 years agoChange the version number to 3.19.1.
drh [Tue, 23 May 2017 01:35:22 +0000 (01:35 +0000)] 
Change the version number to 3.19.1.

FossilOrigin-Name: 16656b8ff5cf79565b0b30f804f5f924fabfe989fdf00a2e7c30fe4438143981

8 years agoRemove a surplus semicolon, which was harmless on gcc and clang but caused
drh [Tue, 23 May 2017 01:30:26 +0000 (01:30 +0000)] 
Remove a surplus semicolon, which was harmless on gcc and clang but caused
compile-time errors on msvc.  This only comes up using the encryption extension.

FossilOrigin-Name: 4510d55d1e2e23d4a4470dbd414161beec2ceefb7537fd66ea3c347e11624dfc

8 years agoWhen flattening a query, make sure iTable attribute of TK_IF_NULL_ROW
drh [Tue, 23 May 2017 01:29:35 +0000 (01:29 +0000)] 
When flattening a query, make sure iTable attribute of TK_IF_NULL_ROW
operators (that result from a prior flattening of a LEFT JOIN) are updated
correctly.  Fix for ticket [cad1ab4cb7b0fc344].

FossilOrigin-Name: 919d36e6ea112c8c94f01e02611c48e78c441657e6898a466cfc39f1e0001403

8 years agoWhen flattening a query, make sure iTable attribute of TK_IF_NULL_ROW
drh [Tue, 23 May 2017 01:21:07 +0000 (01:21 +0000)] 
When flattening a query, make sure iTable attribute of TK_IF_NULL_ROW
operators (that result from a prior flattening of a LEFT JOIN) are updated
correctly.  Fix for ticket [cad1ab4cb7b0fc344].

FossilOrigin-Name: 92c178507df553e4f1110342c8f9b11b3ee37989e1d634fcaccabf657befa22f

8 years agoRemove a surplus semicolon, which was harmless on gcc and clang but caused
drh [Tue, 23 May 2017 00:32:56 +0000 (00:32 +0000)] 
Remove a surplus semicolon, which was harmless on gcc and clang but caused
compile-time errors on msvc.  This only comes up using the encryption extension.

FossilOrigin-Name: 987a2b5537254b1fe843eb798d7eb7f04dbe1e32fb827cfb9e1e1ef6c2096759

8 years agoFix incompatibilities between the "sqldiff --changeset" command and the
dan [Mon, 22 May 2017 18:09:00 +0000 (18:09 +0000)] 
Fix incompatibilities between the "sqldiff --changeset" command and the
sessions module. Specifically, allow sessions to process changesets containing
tables with zero operations on them and have sqldiff output the expected
output for tables with multi-column primary keys.

FossilOrigin-Name: 0bb23c48064cc64134697469f3f4d2d3610b9e6c7a0dc54a3c47a00bd6c2a860

8 years agoAdd the ".cd" command to the command-line shell.
drh [Mon, 22 May 2017 18:00:34 +0000 (18:00 +0000)] 
Add the ".cd" command to the command-line shell.

FossilOrigin-Name: 5fe28e15b1d6d8a588fcaf93c6035c0e0ab7bcad1067c7933cd430d2e04bbbd8

8 years agoIncrease the version number to 3.20 for the next release cycle.
drh [Mon, 22 May 2017 17:39:37 +0000 (17:39 +0000)] 
Increase the version number to 3.20 for the next release cycle.

FossilOrigin-Name: ab471f61ef7d9ed1bf937d5e458f720d12209712a015786434edc818a98168c9

8 years agoMerge the last-minute 3.19.0 changes into trunk.
drh [Mon, 22 May 2017 14:04:46 +0000 (14:04 +0000)] 
Merge the last-minute 3.19.0 changes into trunk.

FossilOrigin-Name: e6ba2a93a8d28074ff134dd43c142315de291b7c0a38ecc692863c33975c71c7

8 years agoVersion 3.19.0 version-3.19.0
drh [Mon, 22 May 2017 13:58:13 +0000 (13:58 +0000)] 
Version 3.19.0

FossilOrigin-Name: 28a94eb282822cad1d1420f2dad6bf65e4b8b9062eda4a0b9ee8270b2c608e40

8 years agoInclude the "msvc.h" header file in the amalgamation tarball.
drh [Mon, 22 May 2017 13:06:45 +0000 (13:06 +0000)] 
Include the "msvc.h" header file in the amalgamation tarball.

FossilOrigin-Name: 3dd6fe53c7ae6ebe2393e956d040e00b8cd0589674d20aafe1585aaa61325bbe

8 years agoFix a case where NULL was being passed to memcmp() following an OOM. This is
dan [Mon, 22 May 2017 08:04:09 +0000 (08:04 +0000)] 
Fix a case where NULL was being passed to memcmp() following an OOM. This is
probably not a real problem, as the number-of-bytes parameter was passed 0 in
this case, but it was causing a santizer complaint.

FossilOrigin-Name: 3ea2bad27e516d5dbfa4a9cb0c767d6a8387280a7e4bbf2ae80cd318da670d66

8 years agoWhen planning a query using sorting, resolve ties in the solver by selecting
drh [Mon, 22 May 2017 00:45:15 +0000 (00:45 +0000)] 
When planning a query using sorting, resolve ties in the solver by selecting
loop plans with the smaller unsorted cost.

FossilOrigin-Name: f261678c90297f9767040c577796cc1d4db598aa44b0de6906cb73eaef377dee

8 years agoPrevent a possible NULL pointer dereference in the OP_Found opcode that
drh [Fri, 19 May 2017 23:04:04 +0000 (23:04 +0000)] 
Prevent a possible NULL pointer dereference in the OP_Found opcode that
can follow an OOM error.  Problem found by OSS-Fuzz.

FossilOrigin-Name: 50ad60ded54aa22dfdf519ed5da6451de790e22a972ff299f7976fbdce7a0579

8 years agoPrevent a possible NULL pointer dereference in the OP_Found opcode that
drh [Fri, 19 May 2017 22:51:00 +0000 (22:51 +0000)] 
Prevent a possible NULL pointer dereference in the OP_Found opcode that
can follow an OOM error.  Problem found by OSS-Fuzz.

FossilOrigin-Name: c2de178fe7e2e4e0d764e7e6ac637cfc8c053580c43f7246318dafad2974de3c

8 years agoImproved comments on one routine in the query planner. Improved diagnostic
drh [Fri, 19 May 2017 20:55:04 +0000 (20:55 +0000)] 
Improved comments on one routine in the query planner.  Improved diagnostic
output for ".wheretrace".  No production code changes.

FossilOrigin-Name: 946b87a5282f00d8c532a51f4390e6de781b9a0d6626cb3c077c5622895dc540

8 years agoFix a documentation typo. No changes to code.
drh [Fri, 19 May 2017 20:47:54 +0000 (20:47 +0000)] 
Fix a documentation typo.  No changes to code.

FossilOrigin-Name: 68942a4feeb83e6e1a32d9bd724ae1d72669949adcfad07fb05b0ac48daf5151

8 years agoBranch for the 3.19 release.
drh [Fri, 19 May 2017 20:46:27 +0000 (20:46 +0000)] 
Branch for the 3.19 release.

FossilOrigin-Name: f2b829ec52c2037eba4feb9427c56d84aca736cb5fc841dfe91cfff22cf660c1

8 years agoFix some problems in fts5 code detected by -fsanitize=undefined.
dan [Fri, 19 May 2017 12:32:32 +0000 (12:32 +0000)] 
Fix some problems in fts5 code detected by -fsanitize=undefined.

FossilOrigin-Name: 35f721045dfe3f82e016938ab1a668bfc37b6b57b8813cc963ef640ec82de58d

8 years agoFix a documentation typo. No changes to code. doc-type
drh [Thu, 18 May 2017 18:17:55 +0000 (18:17 +0000)] 
Fix a documentation typo.  No changes to code.

FossilOrigin-Name: cfa4aa203646f44b303138c25672293bb87d97126fe2030d4709e8ad7814a807

8 years agoUpdate the tool/warnings.sh script to automatically use the right options on OpenBSD..
dan [Tue, 16 May 2017 09:49:42 +0000 (09:49 +0000)] 
Update the tool/warnings.sh script to automatically use the right options on OpenBSD..

FossilOrigin-Name: 7940bff32aa6ea868a53680822d148b7ec7a075c01ae9e0d5ad9859bcc339054

8 years agoFix the build so that it works again with SQLITE_OMIT_SUBQUERY.
drh [Mon, 15 May 2017 15:12:24 +0000 (15:12 +0000)] 
Fix the build so that it works again with SQLITE_OMIT_SUBQUERY.

FossilOrigin-Name: bb0d9281588b8cc24bf2f1f10d0c56277004226adaa2ce5037782503b283b45d

8 years agoImprovements to the omittest.tcl script.
drh [Mon, 15 May 2017 15:05:48 +0000 (15:05 +0000)] 
Improvements to the omittest.tcl script.

FossilOrigin-Name: 0f05d7e93a73bbeac0a09bbd614287507355a7d75fc7b98729bcf7607fc8e125

8 years agoMake sure the 'sqlite3changegroup_*' functions are included in the SQLITE_APICALL...
mistachkin [Fri, 12 May 2017 14:05:11 +0000 (14:05 +0000)] 
Make sure the 'sqlite3changegroup_*' functions are included in the SQLITE_APICALL handling.

FossilOrigin-Name: a123cb93307a6c48bd711d6af9828c87a1365e023f6fe4ca6eae264c8ec5e0c0

8 years agoAdd another test case for the new authorizer functionality.
dan [Thu, 11 May 2017 19:09:19 +0000 (19:09 +0000)] 
Add another test case for the new authorizer functionality.

FossilOrigin-Name: 339df63f4064f3b9c8d4e8b82e72d00b49d9406bc350b14809a4caf7ddc4b736

8 years agoEnhance the json_extract() function to reuse parses of the same JSON when
drh [Thu, 11 May 2017 18:42:19 +0000 (18:42 +0000)] 
Enhance the json_extract() function to reuse parses of the same JSON when
the function appears multiple times in the same query.

FossilOrigin-Name: 3ba9e7ab79e32090a71c7aa152da9bd5951940ae5e2cf433bceadeb6bfca193f

8 years agoDo not save the state of an fts5 merge operation mid-way through an input
dan [Thu, 11 May 2017 18:14:06 +0000 (18:14 +0000)] 
Do not save the state of an fts5 merge operation mid-way through an input
term, even if no previous entry for that term has caused any output. Doing so
may corrupt the FTS index.

FossilOrigin-Name: 9a2de4f05fabf7e725666fb8824ae1adad56834d7ae4f2e118375bb6f9c0ae77

8 years agoCache the JSON parse used by json_extract(). auxdata-cache
drh [Thu, 11 May 2017 16:49:59 +0000 (16:49 +0000)] 
Cache the JSON parse used by json_extract().

FossilOrigin-Name: 44ca6c2c4639f3c50ae9233ee299ff0fc4566462c31f28d8676f8de7ffdcd7f0

8 years agoNegative N values in sqlite3_get_auxdata() and sqlite3_set_auxdata() can be
drh [Thu, 11 May 2017 15:20:18 +0000 (15:20 +0000)] 
Negative N values in sqlite3_get_auxdata() and sqlite3_set_auxdata() can be
used to access an auxiliary data cache over all functions in a single prepared
statement.

FossilOrigin-Name: ff5306752e83e760255a10f20168c0f090929a4fee2a5f720dfab36f0ee72fae

8 years agoNew requirements marks and documentation for the authorizer.
drh [Thu, 11 May 2017 13:43:57 +0000 (13:43 +0000)] 
New requirements marks and documentation for the authorizer.

FossilOrigin-Name: 3980ea0911b3ad3f86d7a7bdc6503f233315c274f473e18831e13eda2c238eeb

8 years agoImprovements to the sqlite3_set_authorizer() documentation.
drh [Thu, 11 May 2017 12:27:21 +0000 (12:27 +0000)] 
Improvements to the sqlite3_set_authorizer() documentation.

FossilOrigin-Name: 47629b1911e52445aad8ea969137bddf0019c55b4a4f0de8e77decb6a434c8a2

8 years agoChange the SQLITE_READ authorization call for unreferenced tables to use
drh [Thu, 11 May 2017 12:05:23 +0000 (12:05 +0000)] 
Change the SQLITE_READ authorization call for unreferenced tables to use
an empty string for the column name, as this is less likely to impact legacy
authorization callbacks that assume column names are always non-NULL.

FossilOrigin-Name: 4139953ab528f20fa346409810edcb22adb6c1edc9d22f40b1b077ef842a2441

8 years agoRename fields of the internal AuxData object to make them unique and easier
drh [Wed, 10 May 2017 19:42:52 +0000 (19:42 +0000)] 
Rename fields of the internal AuxData object to make them unique and easier
to search for.

FossilOrigin-Name: 2be9850cef6492e168243807c34af72119ffbe414027a12c4eda6c421b5b950d

8 years agoImproved documentation for the SQLITE_READ authorizer callback. No code changes.
drh [Wed, 10 May 2017 16:33:48 +0000 (16:33 +0000)] 
Improved documentation for the SQLITE_READ authorizer callback. No code changes.

FossilOrigin-Name: 92c5ea7047323d10f762877c5f56d20a3e609e8b55efcfe4880ef3048821ac1f

8 years agoInvoke the SQLITE_READ authorizer callback with a NULL column name for any
drh [Wed, 10 May 2017 16:12:00 +0000 (16:12 +0000)] 
Invoke the SQLITE_READ authorizer callback with a NULL column name for any
table referenced by a query but from when no columns are extracted.

FossilOrigin-Name: 92ab1f7257d2866c69eaaf4cf85990677b911ef425e9c5a36a96978cccfb551c