]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
7 years agoClean up comments and variable names prior to merge. is-true-operator
drh [Tue, 27 Feb 2018 14:49:25 +0000 (14:49 +0000)] 
Clean up comments and variable names prior to merge.

FossilOrigin-Name: 6445519e91c4f98b4a9a45d5091d733c31497ebf0eb23a76edce3091f626035d

7 years agoRemove an unnecessary decision.
drh [Tue, 27 Feb 2018 00:58:13 +0000 (00:58 +0000)] 
Remove an unnecessary decision.

FossilOrigin-Name: adcb4665490404e8da2de128dd5df9aeed8e08893649dedb6788ebb5d957b400

7 years agoCode simplifications. New test cases.
drh [Mon, 26 Feb 2018 21:26:27 +0000 (21:26 +0000)] 
Code simplifications.  New test cases.

FossilOrigin-Name: 57508518ef9d003d259ba98dcc32e5104aca26731a7161808741fe10bc0830d0

7 years agoGet the "DEFAULT true" and "DEFAULT false" phrases working correctly in
drh [Mon, 26 Feb 2018 20:15:54 +0000 (20:15 +0000)] 
Get the "DEFAULT true" and "DEFAULT false" phrases working correctly in
CREATE TABLE.

FossilOrigin-Name: 8002f87d96b3f885cd208e7d204907a33ba60c4057ce2338b71e2de41215b0e5

7 years agoEnhance TreeView so that it can display the new IS TRUE expression trees.
drh [Mon, 26 Feb 2018 19:03:25 +0000 (19:03 +0000)] 
Enhance TreeView so that it can display the new IS TRUE expression trees.

FossilOrigin-Name: 7e38305e6f71c3353df3d11d099e255eefbacceafd7ed2ccaba257fe2e7b8c38

7 years agoRefactor for correct NULL handling in the IS TRUE, IS FALSE, IS NOT TRUE,
drh [Mon, 26 Feb 2018 18:49:05 +0000 (18:49 +0000)] 
Refactor for correct NULL handling in the IS TRUE, IS FALSE, IS NOT TRUE,
and IS NOT FALSE operators.

FossilOrigin-Name: cf2abd59be9971a55bd3d6c5df374c6aaa23bf81819482b42f01ee2484dcd739

7 years agoMerge the fix for determining truth of floating point values from trunk.
drh [Mon, 26 Feb 2018 15:31:39 +0000 (15:31 +0000)] 
Merge the fix for determining truth of floating point values from trunk.

FossilOrigin-Name: 003dc140536d0dd4384252ae1b82827b5d8b2b399520f99549b9266a482009fb

7 years agoAlways interpret non-zero floating-point values as true even if their
drh [Mon, 26 Feb 2018 15:27:31 +0000 (15:27 +0000)] 
Always interpret non-zero floating-point values as true even if their
integer part is zero.  Fix for ticket [36fae083b450e3af857a459e20].

FossilOrigin-Name: a983fa857048c748112c2f805f13aadeae43b43b3d27fa55433a3699b51c9a0e

7 years agoExperimental implementation of IS TRUE and IS FALSE operators. All TRUE and
drh [Mon, 26 Feb 2018 03:20:18 +0000 (03:20 +0000)] 
Experimental implementation of IS TRUE and IS FALSE operators.  All TRUE and
FALSE to act like constants if the names do not resolve to a column name.

FossilOrigin-Name: 40314bc999af08ab10e654241208842b4bb95b19858d11249444372250ea4160

7 years agoFix harmless compiler warnings in the zipfile extension seen with MSVC.
mistachkin [Fri, 23 Feb 2018 13:38:54 +0000 (13:38 +0000)] 
Fix harmless compiler warnings in the zipfile extension seen with MSVC.

FossilOrigin-Name: 15c587cf6ffc920dc37f67cacb4f0db6a603fb998a22a639f755387910516414

7 years agoEnable the JSON1 extension when compiling the test fixture with MSVC.
mistachkin [Fri, 23 Feb 2018 13:38:20 +0000 (13:38 +0000)] 
Enable the JSON1 extension when compiling the test fixture with MSVC.

FossilOrigin-Name: e9e9f27b3d496531905ad7459cf60366ad3798f507266134dd6388cdec50fdc4

7 years agoFor the "SQLite archive" link in the README.md file, point to the
drh [Thu, 22 Feb 2018 18:30:53 +0000 (18:30 +0000)] 
For the "SQLite archive" link in the README.md file, point to the
CLI .archive command documentation, not the original "sqlar" website.

FossilOrigin-Name: 4290faf5f7223ebe35b8ed5c4f0ba2444c1764501cabc09a79000f9c1d0890c7

7 years agoUpdates to the README.md file. Mention the ability to use SQLite-archives for
drh [Thu, 22 Feb 2018 18:28:19 +0000 (18:28 +0000)] 
Updates to the README.md file.  Mention the ability to use SQLite-archives for
download.

FossilOrigin-Name: ab9a7ae4eec0aaa5e0b472998f6de7212055d93c163f0b66da60b956bcc45add

7 years agoRemove an unreachable branch in the walIndexPage() logic.
drh [Wed, 21 Feb 2018 01:48:22 +0000 (01:48 +0000)] 
Remove an unreachable branch in the walIndexPage() logic.

FossilOrigin-Name: 4e61a9731f5949dcf05c541106b56be16add04a7730613481fc8519d3e4f493b

7 years agoSmall performance improvement in sqltie3WalFindFrame().
drh [Wed, 21 Feb 2018 01:05:37 +0000 (01:05 +0000)] 
Small performance improvement in sqltie3WalFindFrame().

FossilOrigin-Name: 52013cad0e6ce2d694f25e2984a76d438cef724f0e07c8bb9d3dce8a3caf4350

7 years agoRemove an unnecessary memset().
drh [Wed, 21 Feb 2018 00:48:02 +0000 (00:48 +0000)] 
Remove an unnecessary memset().

FossilOrigin-Name: e7b7f5884a78630c6ba6a217c36247397e62f1928d4b480df929efcfc4a01893

7 years agoMake the walIndexPage() routine about 3x faster by factoring out the seldom
drh [Tue, 20 Feb 2018 22:20:57 +0000 (22:20 +0000)] 
Make the walIndexPage() routine about 3x faster by factoring out the seldom
used reallocation logic into a separate subroutine.

FossilOrigin-Name: e2b107141cd97bd4ab240748a9ce43fc2ec950ea74610697a4a7a3d7a6441e6b

7 years agoIn the speed-check.sh script, make WAL mode the default. Add the --legacy
drh [Tue, 20 Feb 2018 17:02:31 +0000 (17:02 +0000)] 
In the speed-check.sh script, make WAL mode the default.  Add the --legacy
option to do DELETE mode.  Continue to use DELETE mode for long-term performance
graphs since WAL mode was not always available, but use WAL mode for
day-to-day performance measurements.

FossilOrigin-Name: cd81613850c0458b4b5b2460b9b38ce7ff6e557f7add9615058bb96f5a344ccd

7 years agoRemove a superfluous "#if 1". No logic changes.
drh [Tue, 20 Feb 2018 16:39:11 +0000 (16:39 +0000)] 
Remove a superfluous "#if 1".  No logic changes.

FossilOrigin-Name: caaffd32001ff44c31f2d6dbe921f9d294f869c2c4a81e943fdf3f43f8d9313c

7 years agoOptimize calls to sqlite3_mprintf("%z...") so that they attempt to append
drh [Tue, 20 Feb 2018 15:23:37 +0000 (15:23 +0000)] 
Optimize calls to sqlite3_mprintf("%z...") so that they attempt to append
text onto the end of the existing memory allocation rather than reallocating
and copying.

FossilOrigin-Name: 4bc8a48e644562f6e6192f4c6fc4a70f6bb59f8126ed6c6dc876bedf65d74cda

7 years agoRemove a lot of the text describing extended format options from the
drh [Tue, 20 Feb 2018 13:46:20 +0000 (13:46 +0000)] 
Remove a lot of the text describing extended format options from the
documentation on sqlite3_mprintf() and friends, since that information is
now covered by the separate printf.html document.  Provide links to that
other document.  No changes to code.

FossilOrigin-Name: 99eec556f065ad19548e48d1f4ae0a3767b4e82e1c83fa2365062e3c5e0071fb

7 years agoEnhance the string formatter (used by printf()) so that the width and
drh [Mon, 19 Feb 2018 22:46:19 +0000 (22:46 +0000)] 
Enhance the string formatter (used by printf()) so that the width and
precision of string substitution operators refer to characters instead of
bytes when the alternate-form-2 flag ("!") is used.  Also fix the %c
substition to always work within unicode, regardless of the
alternate-form-2 flag.

FossilOrigin-Name: c883c4d33f4cd722982aca17eeb355d19eeed793991d923b5494d173b1d0c73a

7 years agoPrinting a value of 0 using %c terminates the string. printf-enhancement
drh [Mon, 19 Feb 2018 21:58:16 +0000 (21:58 +0000)] 
Printing a value of 0 using %c terminates the string.

FossilOrigin-Name: 255612f0a131f2f522cbca3cc5a1edcf7e38938abca25ba421e7e38a422db9c9

7 years agoMore test cases for unicode handling in printf.
drh [Mon, 19 Feb 2018 20:41:01 +0000 (20:41 +0000)] 
More test cases for unicode handling in printf.

FossilOrigin-Name: ac188211119bfd77f43e4aba8acab733a56aac90b4c8a11f7ef8e6388582438f

7 years agoTest cases and a bug fix on the new unicode handling in %c.
drh [Mon, 19 Feb 2018 20:23:20 +0000 (20:23 +0000)] 
Test cases and a bug fix on the new unicode handling in %c.

FossilOrigin-Name: e41d64e95b9b6fec5dc329553822925e7d648a41912b420cfa1ba198736e6bab

7 years agoFix the %c substitution in printf() so that it works with unicode characters.
drh [Mon, 19 Feb 2018 18:56:52 +0000 (18:56 +0000)] 
Fix the %c substitution in printf() so that it works with unicode characters.

FossilOrigin-Name: c35be1d9e9132fbadc74d207c1088e5a710a151c0835c38a63bf3c8e6fd711a0

7 years agoMake the alternate-form-2 flag ("!") change the meaning of width and precision
drh [Mon, 19 Feb 2018 18:03:10 +0000 (18:03 +0000)] 
Make the alternate-form-2 flag ("!") change the meaning of width and precision
from bytes to characters for the %q, %Q, and %w extensions of printf().

FossilOrigin-Name: 391540acbea34eb88c75b1152b458d8936b3fdfff47633b9ec897775b015ba4c

7 years agoIn the printf() library, measure width and precision in characters rather
drh [Mon, 19 Feb 2018 17:03:23 +0000 (17:03 +0000)] 
In the printf() library, measure width and precision in characters rather
than bytes if the "!" (alternate-form-2) flag is present on a %s or %z
substitution.

FossilOrigin-Name: ca31c6630422fca70e626dd38aae96296bd8535d491ca52391624a5e7e663636

7 years agoOnly try to use the geteuid() interface on unix if HAVE_FCHOWN is defined.
drh [Mon, 19 Feb 2018 16:34:31 +0000 (16:34 +0000)] 
Only try to use the geteuid() interface on unix if HAVE_FCHOWN is defined.
This fixes the build for vxWorks, we are told.

FossilOrigin-Name: 38f654dc117bb11d61407327884b5c913cfaf920547bebc4ce5a4cf983e5c20e

7 years agoFix an assert so that it compares two CellInfo objects field by field
drh [Mon, 19 Feb 2018 13:53:56 +0000 (13:53 +0000)] 
Fix an assert so that it compares two CellInfo objects field by field
instead of using memcmp().  Memcmp() does not work on x86
because of uninitialized padding bytes.

FossilOrigin-Name: 88258770adead70fa101c74e266a37bb9aaffac0ba738a4b345617feb8c46477

7 years agoFix a memory leak in the processing of nested row values. This problem has
drh [Sun, 18 Feb 2018 17:50:03 +0000 (17:50 +0000)] 
Fix a memory leak in the processing of nested row values.  This problem has
existed every since row values support was added (version 3.15.0, 2016-10-14)
but was only just now detected by OSSFuzz.

FossilOrigin-Name: 2df6bbf1b8ca881c8a465d6624de66fde4c5975ccae6b2f2dda392b137f577de

7 years agoPort mutex enhancments from check-in [f53b8a573b] to the Win32 implementation.
mistachkin [Sun, 18 Feb 2018 00:54:06 +0000 (00:54 +0000)] 
Port mutex enhancments from check-in [f53b8a573b] to the Win32 implementation.

FossilOrigin-Name: 74bb7225d132c80fd5758bb8c120448e3b3e951d0ca2fa0c57cac0a9c6c27045

7 years agoFix a data race causing a tsan complaint with SQLITE_ENABLE_API_ARMOR builds
dan [Sat, 17 Feb 2018 07:38:50 +0000 (07:38 +0000)] 
Fix a data race causing a tsan complaint with SQLITE_ENABLE_API_ARMOR builds
on unix. The race condition is not dangerous in practice, it just upsets tsan.

FossilOrigin-Name: f53b8a573bfbb48780243d56ca8372165adb1b979731c43d46cd1f8eb7e593f3

7 years agoDo not allow parameters or schema references inside of WITH clause of
drh [Thu, 15 Feb 2018 21:00:37 +0000 (21:00 +0000)] 
Do not allow parameters or schema references inside of WITH clause of
triggers and views.  This fixes a bug discovered by OSSFuzz and present
since common-table-expressions were first added in 2014-02-03.

FossilOrigin-Name: b918d4b4e546d3903ff20efc3c8ca26dd9761cc8ed9ef7d2799b66ff9ae1ae51

7 years agoImprove performance of editdist3() by keeping the costs in sorted order.
drh [Thu, 15 Feb 2018 03:56:33 +0000 (03:56 +0000)] 
Improve performance of editdist3() by keeping the costs in sorted order.
Also add a new regression test to editdist3().

FossilOrigin-Name: dc734c5b61464dfd6bfa7963f2ecce32e405a0c2ba1ef6f453ec9389da080256

7 years agoReduce the number of calls to strncmp() required to run editDist3Core().
drh [Thu, 15 Feb 2018 03:05:56 +0000 (03:05 +0000)] 
Reduce the number of calls to strncmp() required to run editDist3Core().

FossilOrigin-Name: afd6fbc01052ccfc9bd29fb8f934b291b8f56af44fcae870da7e1355fe95c29a

7 years agoFix the --heap, --pagecache, --lookaside and other options to the command-line
drh [Thu, 15 Feb 2018 01:03:37 +0000 (01:03 +0000)] 
Fix the --heap, --pagecache, --lookaside and other options to the command-line
shell that invoke sqlite3_config() so that they work again.

FossilOrigin-Name: 00707f2f2f746a6421f3e2de995e68cc8adba7225a04db6b28db52944e7e988e

7 years agoAdd the --readonly option to the ".open" command in the CLI.
drh [Wed, 14 Feb 2018 23:27:43 +0000 (23:27 +0000)] 
Add the --readonly option to the ".open" command in the CLI.

FossilOrigin-Name: 06870bb15656b50b0e14d4364bb21afac76500e313ecf67aaef3688d603fd076

7 years agoPerformance optimizations to the editdist3() function in the spellfix
drh [Wed, 14 Feb 2018 20:58:36 +0000 (20:58 +0000)] 
Performance optimizations to the editdist3() function in the spellfix
extension.

FossilOrigin-Name: 70d304dcbac4c3fd5e3b96108bffea2ce6c0db19c847397d5c5e268bb90a981d

7 years agoDisable assert() in the spellfix extension if not compiled with SQLITE_DEBUG.
drh [Wed, 14 Feb 2018 20:25:33 +0000 (20:25 +0000)] 
Disable assert() in the spellfix extension if not compiled with SQLITE_DEBUG.

FossilOrigin-Name: 3c53ee0fdea4cbf2590e2b289b021b0ef8b7ead2945db1bdfc767432d9447acb

7 years agoNew test cases for the editdist3() function in the spellfix extension.
drh [Wed, 14 Feb 2018 15:30:48 +0000 (15:30 +0000)] 
New test cases for the editdist3() function in the spellfix extension.

FossilOrigin-Name: 2d3f1f22d53034576a0ec8d9c360fb19efbb05b2e95ad1b09d120fb1b7da33fd

7 years agoTry to optimize spellfix1 by storing a NULL in the k1 column of %_vocab
drh [Wed, 14 Feb 2018 14:13:09 +0000 (14:13 +0000)] 
Try to optimize spellfix1 by storing a NULL in the k1 column of %_vocab
if it would otherwise have the same value as the word column.

FossilOrigin-Name: b76ec7cb5841f9ad02b342271e91c5f5a598006f69df7953a6213c706e01f7a2

7 years agoImproved test cases for the [f484b65f3d6230593c34f] bug.
drh [Tue, 13 Feb 2018 19:13:05 +0000 (19:13 +0000)] 
Improved test cases for the [f484b65f3d6230593c34f] bug.

FossilOrigin-Name: 1f300514e6cdd32c755dc1b05dfa125b10eda2eb55a1024b66f66dbf5cf96289

7 years agoFix an incorrect table lookup used to find the appropriate search operator
drh [Tue, 13 Feb 2018 18:48:08 +0000 (18:48 +0000)] 
Fix an incorrect table lookup used to find the appropriate search operator
for a WHERE clause on a row-value inequality.  The incorrect table lookup
was causing an incorrect answer for the less-than operator.
Fix for ticket [f484b65f3d6230593c34f11]

FossilOrigin-Name: f3112e67cdb27c1aec8d2cee3cb91ade061d093e13505894698e26336898b336

7 years agoRemove an unused variable from FTS4.
drh [Tue, 13 Feb 2018 16:30:19 +0000 (16:30 +0000)] 
Remove an unused variable from FTS4.

FossilOrigin-Name: 27ea783b281606196ad1e7e6e6dcbd80c75d4bafcf3e58756a71c213320e4db2

7 years agoEnsure that multiple updates of the same FTS4 row (i.e. the row with the same
dan [Tue, 13 Feb 2018 16:21:32 +0000 (16:21 +0000)] 
Ensure that multiple updates of the same FTS4 row (i.e. the row with the same
rowid) within a single transaction are written to separate segments. Fix for
[d6ec09ec].

FossilOrigin-Name: d2a81a3752a8298ee65fddcf32dee2147ba6467f770315a41966b3533977aa64

7 years agoUpdates to the speed-check.sh script for improvements to the --vdbeprofile
drh [Mon, 12 Feb 2018 20:50:28 +0000 (20:50 +0000)] 
Updates to the speed-check.sh script for improvements to the --vdbeprofile
option.

FossilOrigin-Name: f89c8f8ecd67f72ee730a2a334dff69b406a3dd00f50abbb54c4dc86cfab1bd1

7 years agoWhen compiling with VDBE_PROFILE, add the sqlite3NProfileCnt global variable
drh [Mon, 12 Feb 2018 20:27:34 +0000 (20:27 +0000)] 
When compiling with VDBE_PROFILE, add the sqlite3NProfileCnt global variable
which can be used to measure per-opcode values other than elapse time, if
non-zero.

FossilOrigin-Name: d44d5936428859b6d3e089d9835acb8ca1f3c0a85b59eeaa619170623e7dcc30

7 years agoUpdate test file func6.test so that it works with SQLITE_ENABLE_NULL_TRIM
dan [Mon, 12 Feb 2018 15:27:32 +0000 (15:27 +0000)] 
Update test file func6.test so that it works with SQLITE_ENABLE_NULL_TRIM
builds.

FossilOrigin-Name: e128d72f1a565551d3b6fdb3807fcb1c2a2bf355f0c09d04562b62f49d01fdbc

7 years agoFix a possible infinite loop in VACUUM that can come up when the schema
drh [Mon, 12 Feb 2018 13:30:34 +0000 (13:30 +0000)] 
Fix a possible infinite loop in VACUUM that can come up when the schema
has been carefully corrupted.  Problem discovered by OSSFuzz. Test cases
in TH3.

FossilOrigin-Name: 27754b74ddf6463c6f9c48ea0df3637945b5ea086b92a41ddeb55b9aaefea4c2

7 years agoFix misplaced testcase() macros from the previous check-in.
drh [Sat, 10 Feb 2018 02:31:30 +0000 (02:31 +0000)] 
Fix misplaced testcase() macros from the previous check-in.

FossilOrigin-Name: 3aed949a18a251c5795f21f0385c205a127502b7e9cf06bc7f4c763951cd7984

7 years agoImprove the performance of the built-in REPLACE() function in cases where
drh [Fri, 9 Feb 2018 23:25:14 +0000 (23:25 +0000)] 
Improve the performance of the built-in REPLACE() function in cases where
it does many substitutions that make the string larger.  OSSFuzz is reporting
intermittant timeouts when running a test where it does a REPLACE() on a
930KB random blob. Perhaps this enhancement will fix that.

FossilOrigin-Name: fab2c2b07b5d3cd851db3e6f5c8a44155e32b0df22905ea33412b153b825a928

7 years agoAdd the zorder.c extension implementing zorder() and unzorder() SQL functions.
drh [Fri, 9 Feb 2018 20:49:15 +0000 (20:49 +0000)] 
Add the zorder.c extension implementing zorder() and unzorder() SQL functions.

FossilOrigin-Name: a57a77dc0cc9fbaa9d5b134422f7a8cc8d4c2851ed3c2bdd449800c6a5d2aae0

7 years agoMake the tests in func6.test more robust against implementation changes.
dan [Fri, 9 Feb 2018 15:42:40 +0000 (15:42 +0000)] 
Make the tests in func6.test more robust against implementation changes.

FossilOrigin-Name: b685d3231097fb90e7d61d9ac01cc560e8bf2671d49390ae7af5bfdbd6d04f11

7 years agoFix a harmless compiler warning.
drh [Fri, 9 Feb 2018 15:04:51 +0000 (15:04 +0000)] 
Fix a harmless compiler warning.

FossilOrigin-Name: a6c3115483d597fc77ab19fdcfd1d3437cad7e467081ad8c5315fb98c115eed9

7 years agoEnhance sqlite3ErrStr() to include several more error codes.
mistachkin [Thu, 8 Feb 2018 01:00:11 +0000 (01:00 +0000)] 
Enhance sqlite3ErrStr() to include several more error codes.

FossilOrigin-Name: ad5d3bdc739a0997786f94fb5789b726b9f53ff883226093924338fe5000922b

7 years agoFix typo in comment. Skip tests added by check-in [4761db83b6] when running on Windows.
mistachkin [Wed, 7 Feb 2018 18:45:00 +0000 (18:45 +0000)] 
Fix typo in comment.  Skip tests added by check-in [4761db83b6] when running on Windows.

FossilOrigin-Name: 468a389cdc8b6f92c77b11f682e210ad8cce7e3dbc0df308a898f4115e85fce2

7 years agoIn extensions rtree, fts3 and fts5, ensure that when dynamic buffers are bound
dan [Wed, 7 Feb 2018 18:02:50 +0000 (18:02 +0000)] 
In extensions rtree, fts3 and fts5, ensure that when dynamic buffers are bound
to persistent SQL statements using SQLITE_STATIC, the binding is replaced with
an SQL NULL before the buffer is freed. Otherwise, a user may obtain a pointer
to the persistent statement using sqlite3_next_stmt() and attempt to access
the freed buffer using sqlite3_expanded_sql() or similar.

FossilOrigin-Name: 2a5f813bc61f9e780f2ccbda425611f65ad523b6d486a1e5e2b9d5e9f1d260a2

7 years agoWhen the final connection disconnects from a wal mode database, check that the
dan [Wed, 7 Feb 2018 16:14:41 +0000 (16:14 +0000)] 
When the final connection disconnects from a wal mode database, check that the
database file has not been moved or unlinked before deleting the wal and shm
files.

FossilOrigin-Name: 4761db83b6d3d57f281370899403c102e39ad0021d315dd6a6912d250436782a

7 years agoAdjust the previous check-in, which modified the Win32 VFS, so that it works with...
mistachkin [Mon, 5 Feb 2018 21:02:47 +0000 (21:02 +0000)] 
Adjust the previous check-in, which modified the Win32 VFS, so that it works with SQLITE_OMIT_WAL.

FossilOrigin-Name: 36c2e67e82626f8d0a187c6c286c133ed659889e3b577469261b9dcd3b3ab75b

7 years agoAllocation the mutex used by the Win32 VFS only once at initialization, instead of...
mistachkin [Mon, 5 Feb 2018 20:42:50 +0000 (20:42 +0000)] 
Allocation the mutex used by the Win32 VFS only once at initialization, instead of every time it is needed.

FossilOrigin-Name: 535ed0ac5e8728ec91fc0a4cb54b820923d161cfd4e0e6aed6df6cdae365bc7d

7 years agoAllocation the mutex used by the unix VFS only once at initialization, instead
drh [Mon, 5 Feb 2018 16:39:12 +0000 (16:39 +0000)] 
Allocation the mutex used by the unix VFS only once at initialization, instead
of every time it is needed.

FossilOrigin-Name: 5764dc160783f5c4017204b3e26a89d31240c868484ced8214c9ad872bd77bd4

7 years agoFix another minor problem in walro2.test.
dan [Mon, 5 Feb 2018 13:42:45 +0000 (13:42 +0000)] 
Fix another minor problem in walro2.test.

FossilOrigin-Name: ba0631de60ca38bf7efa6dbd86ec8774bf6f438c804155968e97f17eabe3b20a

7 years agoUpdate test file walro2.test to account for systems with a page-size
dan [Mon, 5 Feb 2018 13:28:51 +0000 (13:28 +0000)] 
Update test file walro2.test to account for systems with a page-size
(getpagesize()) larger than 32KB.

FossilOrigin-Name: d9e59cfb8476e1ec1ca458b8382172526c0557ab785f41e31971d03045c9344c

7 years agoIn the CLI,
drh [Sun, 4 Feb 2018 20:33:13 +0000 (20:33 +0000)] 
In the CLI,
make sure sqlite3_initialize() is called correctly even for non-UTF8 hosts.

FossilOrigin-Name: a3591fb54178b8f124207ff16e3ef9e58a62585feb3a56ced2b862222aea19d8

7 years agoFix harmless compiler warning seen with MSVC.
mistachkin [Sun, 4 Feb 2018 01:30:54 +0000 (01:30 +0000)] 
Fix harmless compiler warning seen with MSVC.

FossilOrigin-Name: 63a914410b5750bd08836864ae456ff09549487c5ce49706fedffa3d4f973059

7 years agoMove variable declaration in zipfile extension to fix MSVC compiler error.
mistachkin [Sun, 4 Feb 2018 01:29:01 +0000 (01:29 +0000)] 
Move variable declaration in zipfile extension to fix MSVC compiler error.

FossilOrigin-Name: ac6a32482e675871c3ce5ecc727e50e4bba649e80e3c55bf99025fed5667da94

7 years agoRemove the "include <io.h>" win32 dependency from the zipfile extension.
dan [Fri, 2 Feb 2018 16:28:19 +0000 (16:28 +0000)] 
Remove the "include <io.h>" win32 dependency from the zipfile extension.

FossilOrigin-Name: cb3feb3bc33718625159eddbf8ef608cd641af84e97d433d6b11ba6da94dad2e

7 years agoRemove the time() dependency from the zipfile extension. Use SQLite VFS
dan [Fri, 2 Feb 2018 16:20:41 +0000 (16:20 +0000)] 
Remove the time() dependency from the zipfile extension. Use SQLite VFS
methods instead.

FossilOrigin-Name: 0702fb5611c7cf0154c5490eeada66afc733731dff0fe030375bae6a72123a17

7 years agoAdd a few more zipfile tests. No changes to code.
dan [Thu, 1 Feb 2018 20:42:23 +0000 (20:42 +0000)] 
Add a few more zipfile tests. No changes to code.

FossilOrigin-Name: 3f621545879ea39502cfaf2b61883f92c077070274b4fdf45524ded81cac3e63

7 years agoFix a problem triggered when a zipfile virtual table is created and written to
dan [Thu, 1 Feb 2018 19:41:23 +0000 (19:41 +0000)] 
Fix a problem triggered when a zipfile virtual table is created and written to
within the same transaction. And add other zipfile test.

FossilOrigin-Name: 48f1c556994d7f8f359c649a1da81eec02306106b68946a9a20b276742c4610d

7 years agoNew assert() statements to help ensure that no other errors similar
drh [Thu, 1 Feb 2018 15:57:00 +0000 (15:57 +0000)] 
New assert() statements to help ensure that no other errors similar
to [343634942dd54ab57b7] ever appear in the code.

FossilOrigin-Name: 5a70af1e9c567f12c997d25d0a305a8d42bf2cc92f2811e9d5fdde720665e213

7 years agoFix a memory leak that could follow an IO error in the zipfile extension. And
dan [Thu, 1 Feb 2018 15:19:54 +0000 (15:19 +0000)] 
Fix a memory leak that could follow an IO error in the zipfile extension. And
add other tests.

FossilOrigin-Name: e6bb750697c3c7ceb5ce41d216e8ef6a1d556822a3b55e0a007b4a03e194a7d9

7 years agoWhen an index is based on a text representation of a numeric column in the
drh [Thu, 1 Feb 2018 01:13:33 +0000 (01:13 +0000)] 
When an index is based on a text representation of a numeric column in the
original table, make sure the indexed value uses the canonical text
representation of the numeric value in the table.
Proposed fix for ticket [343634942dd54ab57b70].

FossilOrigin-Name: 88e2ce916791d488076584f3795a89eb4277fcb812af9e4c2f383815d55ff6f1

7 years agoWhen creating a new archive entry, have zipfile store UTC instead of local
dan [Wed, 31 Jan 2018 20:18:26 +0000 (20:18 +0000)] 
When creating a new archive entry, have zipfile store UTC instead of local
time in the legacy MS-DOS format timestamp field.

FossilOrigin-Name: b730d187f2202e5b5d31ed6c94c9bb04d7c289f7086a9b44b3d9050ea3586d3a

7 years agoFix a test case in zipfile.test. zipfile-timestamp-fix
dan [Wed, 31 Jan 2018 19:45:58 +0000 (19:45 +0000)] 
Fix a test case in zipfile.test.

FossilOrigin-Name: 4eb5b24c64ee5907c18371f563b79fa0caf58285a62b8f09e639a690e6727eaa

7 years agoWhen creating a new archive entry, have zipfile store UTC instead of local
dan [Wed, 31 Jan 2018 19:13:31 +0000 (19:13 +0000)] 
When creating a new archive entry, have zipfile store UTC instead of local
time in the legacy MS-DOS format timestamp field.

FossilOrigin-Name: e2114df18383d111dd5fbac902e08b42a7f4b2b2d6f7bf29574a3722e4a4dad5

7 years agoImprove the omit-left-join optimization so that it works in some cases
drh [Wed, 31 Jan 2018 16:50:27 +0000 (16:50 +0000)] 
Improve the omit-left-join optimization so that it works in some cases
when the RHS is subject to a UNIQUE but not NOT NULL constraint.

FossilOrigin-Name: 02ba8a7ba7ba71cd7abd5dd3093ea486f53a025f6972bb444f2da37e0e2fc3b2

7 years agoFix a failing assert() in the new code on this branch. omit-left-join-fix
dan [Wed, 31 Jan 2018 14:07:01 +0000 (14:07 +0000)] 
Fix a failing assert() in the new code on this branch.

FossilOrigin-Name: 74d857d178dfadea7e07ba47439fe11aa9d282b54caf78cd6961e593b37406d0

7 years agoChanges to the autoconf tarball so that it does not try to use system() when
drh [Wed, 31 Jan 2018 01:38:44 +0000 (01:38 +0000)] 
Changes to the autoconf tarball so that it does not try to use system() when
building on iOS.

FossilOrigin-Name: 32ed9c106710c74a12d60ec33027fd6a9335627c95642ba608593b2735714da6

7 years agoIf a virtual table xColumn method sets an error message using
dan [Tue, 30 Jan 2018 18:33:23 +0000 (18:33 +0000)] 
If a virtual table xColumn method sets an error message using
sqlite3_result_error(), use that message in preference to any error message
left in the sqlite3_vtab object.

FossilOrigin-Name: 71e3b715ad36c2132a587b84221be6359c31d7a17c3fba201b7ed3baf17922f1

7 years agoAdd tests cases for the zipfile extension.
dan [Tue, 30 Jan 2018 17:43:22 +0000 (17:43 +0000)] 
Add tests cases for the zipfile extension.

FossilOrigin-Name: 13b786dafd308b7aef42328f26fe64981c83d524e4bf82ceb7d58afc7146c7d3

7 years agoPrevent users from creating zipfile() virtual tables without an argument.
dan [Tue, 30 Jan 2018 14:07:55 +0000 (14:07 +0000)] 
Prevent users from creating zipfile() virtual tables without an argument.

FossilOrigin-Name: 81fdbe0cc5a360f818078d47a5888d0a29d555927da279a9a0213702d74ef09a

7 years agoAdd unix-only tests to check that the "unzip" program can unpack archives
dan [Mon, 29 Jan 2018 19:47:32 +0000 (19:47 +0000)] 
Add unix-only tests to check that the "unzip" program can unpack archives
generated by the zipfile extension.

FossilOrigin-Name: 438c5c5237a801ae78809bf324bb9251fb50250addfc1f8e36659442b0e26ab6

7 years agoAdd aggregate function zipfile() to the zipfile extension. For composing new
dan [Mon, 29 Jan 2018 18:41:07 +0000 (18:41 +0000)] 
Add aggregate function zipfile() to the zipfile extension. For composing new
zip archives in memory.

FossilOrigin-Name: e364eeac76a8225146b37d801bc6cabe03e9abede5a1412ebe9d94a32d8838cc

7 years agoUpdate the omit-left-join optimization so that it works in some cases when the
dan [Mon, 29 Jan 2018 17:08:52 +0000 (17:08 +0000)] 
Update the omit-left-join optimization so that it works in some cases when the
RHS is subject to a UNIQUE but not NOT NULL constraint.

FossilOrigin-Name: 88411a402b29f19d69e0d06d9099eabb98c238ddb7c07ce110236316f008753e

7 years agoEnsure the "unique-not-null" flag is set for automatic indexes on columns
dan [Mon, 29 Jan 2018 16:22:39 +0000 (16:22 +0000)] 
Ensure the "unique-not-null" flag is set for automatic indexes on columns
declared with "col UNIQUE NOT NULL" (where the NOT NULL comes after the
UNIQUE).

FossilOrigin-Name: 8767f7b880f2e4112f75f0b6ef7be3f50ab1ae20e103e7d03d8bfe77e6c79438

7 years agoFix missing header comments and other code issues in zipfile.c.
dan [Sat, 27 Jan 2018 18:55:18 +0000 (18:55 +0000)] 
Fix missing header comments and other code issues in zipfile.c.

FossilOrigin-Name: 6ea8ba312c38365d3e28cfb2a367d729dd2751d1d853843eea0e18126777a320

7 years agoIf a zipfile virtual table is created with no argument - "CREATE VIRTUAL TABLE
dan [Sat, 27 Jan 2018 16:29:59 +0000 (16:29 +0000)] 
If a zipfile virtual table is created with no argument - "CREATE VIRTUAL TABLE
zzz USING zipfile()" - accumulate data in memory. Support "SELECT
zipfile_blob(z) FROM zzz LIMIT 1" to retrieve a zip archive image.

FossilOrigin-Name: e63185edfe0c316aa60c1fa085d032425ecc7db54536dfa5a977772eaf3c240e

7 years agoChanges to avoid a harmless UB warning from clang.
drh [Sat, 27 Jan 2018 14:25:27 +0000 (14:25 +0000)] 
Changes to avoid a harmless UB warning from clang.

FossilOrigin-Name: 19f5c1400054df10688ab448e7e23afef97cab4a7c7a3e411f7527509b515dd8

7 years agoNew test case for ticket [ec32177c99ccac2b1] that works without the STAT4.
drh [Sat, 27 Jan 2018 13:55:56 +0000 (13:55 +0000)] 
New test case for ticket [ec32177c99ccac2b1] that works without the STAT4.

FossilOrigin-Name: 5259d4847f2b73f26b2385f9d8cff8fe0cabc54b4deab8477c87c8d1bb5535b1

7 years agoProposed fix for the query planner problem of ticket
drh [Sat, 27 Jan 2018 05:40:10 +0000 (05:40 +0000)] 
Proposed fix for the query planner problem of ticket
[ec32177c99ccac2b1].

FossilOrigin-Name: eef8cbef3c49e6331301a8f3f8a5fd12090b1e99e68487c2d405e53ef771f688

7 years agoFix compiler warnings in zipfile.c.
drh [Sat, 27 Jan 2018 03:26:10 +0000 (03:26 +0000)] 
Fix compiler warnings in zipfile.c.

FossilOrigin-Name: bed610d99b5322ee209b06966c0086e8c55f8a82be8d7693cfdeb4d728679721

7 years agoFix the query planner so that it takes into account dependencies in the
drh [Fri, 26 Jan 2018 22:41:59 +0000 (22:41 +0000)] 
Fix the query planner so that it takes into account dependencies in the
arguments to table-valued functions in subexpressions in the WHERE clause.
Fix for ticket [80177f0c226ff54f6dd].

FossilOrigin-Name: 7daa687340e475972d6849f84fe1419a1f5700934f53fd80656849adc73d6d04

7 years agoIf the argument to table function zipfile() is a blob (not text), assume that
dan [Fri, 26 Jan 2018 18:59:25 +0000 (18:59 +0000)] 
If the argument to table function zipfile() is a blob (not text), assume that
it contains a zip file image to interpret, not the name of a file on disk.

FossilOrigin-Name: 029ebcd30cb261d949f7587ac54c23d7479796b6716fd4ca7512361b8f32de3e

7 years agoImprove text-to-integer conversion in boundary cases. The
drh [Fri, 26 Jan 2018 18:37:34 +0000 (18:37 +0000)] 
Improve text-to-integer conversion in boundary cases.  The
sqlite3Atoi64() function always returns the minimum or maximum integer
if the magnitude of the text value is too large.  Trailing whitespace is
now ignored.

FossilOrigin-Name: ace0644a1a2a42a3ea42d44f00a31915b8a7e56c9ba90f90a6c02001f89f9c86

7 years agoReorganize zipfile.c code to make it easier to add support for in-memory zip
dan [Thu, 25 Jan 2018 20:50:46 +0000 (20:50 +0000)] 
Reorganize zipfile.c code to make it easier to add support for in-memory zip
archive processing.

FossilOrigin-Name: 30b9258294e3028ef4ea467e332e013995509544e9a23c8bbf5168772a7e895d

7 years agoSlightly smaller and faster implementation of OP_If and OP_IfNot.
drh [Thu, 25 Jan 2018 01:20:29 +0000 (01:20 +0000)] 
Slightly smaller and faster implementation of OP_If and OP_IfNot.

FossilOrigin-Name: 6ab42934e2c4957b5d8927bf4434a9db07ab6078987a6a2d25f35cc468d21203

7 years agoWhen unpacking a sorter record, do so from right to left instead of left to
drh [Wed, 24 Jan 2018 20:42:42 +0000 (20:42 +0000)] 
When unpacking a sorter record, do so from right to left instead of left to
right, since by starting with the right-most column, the work done by
OP_Column opcodes is reduced.

FossilOrigin-Name: 8055e4f42446ceb5bcf752bbf41a73289c3ca759c56c9f779edc3d7f202b7881

7 years agoReorganize spellfix.c to make it easier to edit automatically (e.g. using a
dan [Wed, 24 Jan 2018 18:28:39 +0000 (18:28 +0000)] 
Reorganize spellfix.c to make it easier to edit automatically (e.g. using a
script). No changes to functionality.

FossilOrigin-Name: 090a64faaac579c6ed1cddb02d14e7089468a4aeaeec11e78d461790bcb6eb0a