]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
8 years agoExperimental "PRAGMA secure_delete=FAST" pragma. The intent is to overwrite fast-secure-delete
drh [Mon, 19 Jun 2017 11:44:22 +0000 (11:44 +0000)] 
Experimental "PRAGMA secure_delete=FAST" pragma.  The intent is to overwrite
deleted content with zeros without increasing the amount of disk I/O.

FossilOrigin-Name: f1682f0faf1a93ded066464b1ddd5f987e21ee0f6bb5e828ed31c3ad903cf2c3

8 years agoFix a missing comma in the previous check-in.
drh [Sat, 17 Jun 2017 18:49:50 +0000 (18:49 +0000)] 
Fix a missing comma in the previous check-in.

FossilOrigin-Name: f3db02f49073c3f08c3fd7816d85e5472d5e22df20d862fe4886eb2a97efb15f

8 years agoRework the code in ctime.c a bit to report on more compile time options. And
dan [Sat, 17 Jun 2017 17:55:33 +0000 (17:55 +0000)] 
Rework the code in ctime.c a bit to report on more compile time options. And
to only output configuration options passed in to SQLite, not the default
values of #define symbols set automatically. Also generate the large array in
ctime.c using new script tool/mkctime.tcl, instead of entering it manually.

FossilOrigin-Name: 9a443397a6b110f60cae32e1f758914d72931e16ddb423e4d4a119df526bf340

8 years agoEnsure that the value of the THREADSAFE symbol is always included when ctime-refactor
dan [Sat, 17 Jun 2017 17:29:24 +0000 (17:29 +0000)] 
Ensure that the value of the THREADSAFE symbol is always included when
reporting compile time options, even if it was not explicitly configured.

FossilOrigin-Name: 95141c642697dc037e57f9e4992ff3460155995d3caef6259235601ee722cb93

8 years agoAdd extra test cases for sqlite3changeset_apply() and ALTER TABLE ADD COLUMN.
dan [Sat, 17 Jun 2017 16:39:10 +0000 (16:39 +0000)] 
Add extra test cases for sqlite3changeset_apply() and ALTER TABLE ADD COLUMN.

FossilOrigin-Name: 603838fc9a65adda831a6a17b31b2e80f5b56e5946a9f0c1fa2c83d2f2a67f6a

8 years agoRework the code in ctime.c a bit to report on more compile time options. And
dan [Fri, 16 Jun 2017 19:51:47 +0000 (19:51 +0000)] 
Rework the code in ctime.c a bit to report on more compile time options. And
to only output configuration options passed in to SQLite, not the default
values of #define symbols set automatically. Also generate the large array in
ctime.c using new script tool/mkctime.tcl, instead of entering it manually.

FossilOrigin-Name: bc1951d699e6eeacbe15776a37cd0f5cf3f09eb85d3ae01cff43293cb286fcd7

8 years agoMinor refactoring change to clarify how ATTACH works. No functional changes.
drh [Fri, 16 Jun 2017 18:31:30 +0000 (18:31 +0000)] 
Minor refactoring change to clarify how ATTACH works.  No functional changes.

FossilOrigin-Name: 3944a32e1dd90ff903bcbaaa7cb497cebcfcb2ba2a326726ec2268505e524ae3

8 years agoPrevent pagesize changes on VACUUM in encrypted databases even when running
drh [Fri, 16 Jun 2017 13:43:37 +0000 (13:43 +0000)] 
Prevent pagesize changes on VACUUM in encrypted databases even when running
the VACUUM on an attached database.

FossilOrigin-Name: 11693849342a308ad929e2d9ead67faabacb523af76128c6973ed6cc8b62c11e

8 years agoMove the "shell_add_schema()" SQL function used by the ".schema" command
drh [Thu, 15 Jun 2017 16:56:05 +0000 (16:56 +0000)] 
Move the "shell_add_schema()" SQL function used by the ".schema" command
of the command-line shell to a different spot in the shell.c source file
so that it is not in the middle of an unrelated module.

FossilOrigin-Name: 254617a1ccfa1736d4e53d670d80319c79c4d93ebf1de69d89ebdba3949bc270

8 years agoFix typo and improve the wording of the description of "Metadata" in the
drh [Thu, 15 Jun 2017 16:45:23 +0000 (16:45 +0000)] 
Fix typo and improve the wording of the description of "Metadata" in the
output of the sqlite3_analyzer tool.

FossilOrigin-Name: ca1ff70780e07e5ee930fe7972db02e887d9b085d8ab78e878d7f966b6d684d4

8 years agoFix harmless compiler warnings in the shell.c file
drh [Thu, 15 Jun 2017 13:07:56 +0000 (13:07 +0000)] 
Fix harmless compiler warnings in the shell.c file

FossilOrigin-Name: 9afd7a2ffd3a39456190ad05e85ff6485298aae262d9e0698a58c1d73507a36f

8 years agoImprovements to the ".tables" command in the command-line shell so that
drh [Thu, 15 Jun 2017 12:50:47 +0000 (12:50 +0000)] 
Improvements to the ".tables" command in the command-line shell so that
it shows the name of all schemas if the name is anything other than "main".

FossilOrigin-Name: c7f778b7cee16a1dcebccd256408ee1d08ef2b62e388a9ebba5738a0a89bf3a0

8 years agoIn the command-line shell, enhance the ".schema" command show that it
drh [Thu, 15 Jun 2017 12:21:09 +0000 (12:21 +0000)] 
In the command-line shell, enhance the ".schema" command show that it
shows the schema for ATTACH-ed databases in addition to "main".

FossilOrigin-Name: 48e086284a76da10a85315bc992e2294bd4711e35ec5a5abaa16e39a6a69d206

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