]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
3 years agoSync with trunk
larrybr [Tue, 15 Feb 2022 17:04:37 +0000 (17:04 +0000)] 
Sync with trunk

FossilOrigin-Name: 2b4a295c58a908288840157c3e08289af8c1d287f72e5f14b7adfd98065bf241

3 years agoImproved rendering of floating point numbers without a fractional part in
drh [Tue, 15 Feb 2022 13:23:09 +0000 (13:23 +0000)] 
Improved rendering of floating point numbers without a fractional part in
".dump" output from the CLI.
[forum:/forumpost/550d877659f37cb2|Forum post 550d877659f37cb2].

FossilOrigin-Name: 9edaeed56f2282fd4da935454178c38ab49d259aed96d4e720aae09050a53006

3 years agoNew assert() statements to help prove correctness of memjournal.c.
drh [Tue, 15 Feb 2022 11:46:31 +0000 (11:46 +0000)] 
New assert() statements to help prove correctness of memjournal.c.

FossilOrigin-Name: d74ec88c2f9b9e056988add8322186750229e14a609d1a6969ba393a5b8c5174

3 years agoGeneralize the in-memory journal so that it is able to accept writes that
drh [Mon, 14 Feb 2022 21:11:17 +0000 (21:11 +0000)] 
Generalize the in-memory journal so that it is able to accept writes that
begin at any offset less than or equal to the current file size.

FossilOrigin-Name: c039d5476e0836c16d8c1ad99a2620f7fd04eb4b0e5dcb2246b42dde2ae1f95a

3 years agoCLI .import can auto-rename non-unique column names when it creates a new table
larrybr [Mon, 14 Feb 2022 18:55:19 +0000 (18:55 +0000)] 
CLI .import can auto-rename non-unique column names when it creates a new table

FossilOrigin-Name: 4b5d07ea7e6f5d6f1279c88bc474ee4bc8bd2cebe38a268f211f47e44569e4b1

3 years agoMinor correction to the early corruption detection added by
drh [Mon, 14 Feb 2022 18:18:56 +0000 (18:18 +0000)] 
Minor correction to the early corruption detection added by
[a6fda39e81d0da98|check-in a6fda39e81d0da98] so that it works even if
the page being cleared in page 1 of the database.

FossilOrigin-Name: a5ec16907ef6ab50e041101d87c5756c71469923872a86c3ab383f188673d7a5

3 years agoFix a bad assert() (it needs an "||CORRUPT_DB" term) in b-tree, discovered
drh [Mon, 14 Feb 2022 13:53:49 +0000 (13:53 +0000)] 
Fix a bad assert() (it needs an "||CORRUPT_DB" term) in b-tree, discovered
by dbsqlfuzz.

FossilOrigin-Name: f5f263cc626d6a8bea3e85e28bb716e3eac0d9cd199cc060c0c8b0c77b280a45

3 years agoCLI's .import column rename made more minimal, and reports renames. auto-column
larrybr [Mon, 14 Feb 2022 01:12:46 +0000 (01:12 +0000)] 
CLI's .import column rename made more minimal, and reports renames.

FossilOrigin-Name: c626cff7f99ec502ebd46f9cdafc3d088697544ef5d6559b6b3ae85679b4f9fa

3 years agoSync w/trunk, fix zAutoColumns placement blunder, all to pass all TCL tests
larrybr [Sun, 13 Feb 2022 22:18:22 +0000 (22:18 +0000)] 
Sync w/trunk, fix zAutoColumns placement blunder, all to pass all TCL tests

FossilOrigin-Name: 67dc59f46d742ad69742fb34540a3074af163a3f1a0f9093f83db2276bf944ca

3 years agoDo not run merge1.test with SQLITE_OMIT_VIRTUALTABLE builds.
dan [Sat, 12 Feb 2022 18:56:24 +0000 (18:56 +0000)] 
Do not run merge1.test with SQLITE_OMIT_VIRTUALTABLE builds.

FossilOrigin-Name: bf8dbfd499e732f14c7a8efee527e8ce155937dbb2a3e85213f8aa64ac497189

3 years agoFix a possible user-after-free in ALTER TABLE found by asan.
dan [Sat, 12 Feb 2022 16:02:37 +0000 (16:02 +0000)] 
Fix a possible user-after-free in ALTER TABLE found by asan.

FossilOrigin-Name: 9252619d410293ddefd108f5cf81b6fb4932bd3f2ceaaa92abb7542e34f66111

3 years agoUpdate fuzz.test to account for a change in error message made in the core.
dan [Sat, 12 Feb 2022 13:45:02 +0000 (13:45 +0000)] 
Update fuzz.test to account for a change in error message made in the core.

FossilOrigin-Name: c57601b51f9b59e9d8f0eb06580fa14f49525e56bd0190c02865e478bd1f48e7

3 years agoAvoid dropping SQLITE_TOOBIG errors in the quote() function.
dan [Sat, 12 Feb 2022 13:37:27 +0000 (13:37 +0000)] 
Avoid dropping SQLITE_TOOBIG errors in the quote() function.

FossilOrigin-Name: 115c3051a1ff7567e84f14fc4c49efe61bc2850248533449b0195c305ab6516e

3 years agoFor .import auto-column, aid build-time override of rename decoration.
larrybr [Sat, 12 Feb 2022 13:12:03 +0000 (13:12 +0000)] 
For .import auto-column, aid build-time override of rename decoration.

FossilOrigin-Name: 433e5ead2b711d1e3b0b62cf8cb5a8a65e2474c68ef2173317ed4323fc8bdc58

3 years agoFix auto-column bug noted by post https://sqlite.org/forum/forumpost/d102c15d63
larrybr [Sat, 12 Feb 2022 10:48:42 +0000 (10:48 +0000)] 
Fix auto-column bug noted by post https://sqlite.org/forum/forumpost/d102c15d63

FossilOrigin-Name: 689137e1b5bc78b0f16e5db86d16415b9fa77d22ded59e93d75e7033b465e673

3 years agoSync w/trunk, allow build-time override of auto-column decorating character
larrybr [Sat, 12 Feb 2022 02:15:37 +0000 (02:15 +0000)] 
Sync w/trunk, allow build-time override of auto-column decorating character

FossilOrigin-Name: caaef4c592c980889efb349fa73b61303ec493172d90cd67d54ffde0855e4138

3 years agoFix a test in without_rowid1.test so that it is disabled without
drh [Fri, 11 Feb 2022 21:20:46 +0000 (21:20 +0000)] 
Fix a test in without_rowid1.test so that it is disabled without
ALTER TABLE support, as it uses ALTER TABLE.

FossilOrigin-Name: ca22a64e6f05a6688974f4cff1a0ff2c873aad1947f3cf6ffaeee8bb074b2627

3 years agoUpdate some OOM tests of the ALTER TABLE command to account for an error message...
dan [Fri, 11 Feb 2022 19:41:03 +0000 (19:41 +0000)] 
Update some OOM tests of the ALTER TABLE command to account for an error message which may be returned if opening the temp db fails.

FossilOrigin-Name: 3409fd4150df059d7308f79fa3672a330af9cefe2ad9120c3da5ef1413921e96

3 years agoLoad recent dbsqlfuzz finds into test/fuzzdata8.db.
drh [Fri, 11 Feb 2022 17:47:58 +0000 (17:47 +0000)] 
Load recent dbsqlfuzz finds into test/fuzzdata8.db.

FossilOrigin-Name: b275ad250d8aa286829647967ab7e75fcd2b5674caab1a34eab59d8486a34cd5

3 years agoReference the wayback machine for the dead hyperlink to the MS support
drh [Fri, 11 Feb 2022 17:47:25 +0000 (17:47 +0000)] 
Reference the wayback machine for the dead hyperlink to the MS support
page in the comments about why the extra typedef for va_arg().  No code
changes.

FossilOrigin-Name: ab1a9b5b78de7c00b38357b1df08e82ce5608a14f8c675ac20c5f2dad5212f50

3 years agoFix an assert() in the pager by adding "|| CORRUPT_DB", in as much as the
drh [Fri, 11 Feb 2022 17:33:02 +0000 (17:33 +0000)] 
Fix an assert() in the pager by adding "|| CORRUPT_DB", in as much as the
assert() is not necessarily true if the database size in the header is
wrong.  dbsqlfuzz f2f996065b90988aa9b0ae425b66dbb296546a08.

FossilOrigin-Name: a51402e8c29fad2b24e32de55b10691fb0ebd6c2cebac941e43e54be211d5d39

3 years agoFix a problem in [c006515ae6faff65] causing an assert() to fail with some build confi...
dan [Fri, 11 Feb 2022 16:10:18 +0000 (16:10 +0000)] 
Fix a problem in [c006515ae6faff65] causing an assert() to fail with some build configurations.

FossilOrigin-Name: d7ff262d6d1fd8b855bcb8f6f54ab1833663a4d8187701ddf045f6b5a62a5d1d

3 years agoUse the enhanced SQLITE_TESTCTRL_LOCALTIME_FAULT (2) capability to do better
drh [Fri, 11 Feb 2022 14:08:05 +0000 (14:08 +0000)] 
Use the enhanced SQLITE_TESTCTRL_LOCALTIME_FAULT (2) capability to do better
testing of the 'localtime' and 'utc' modifiers to date/time functions.

FossilOrigin-Name: f38071946ac2e5bb61e6c0620507e4c94464999ac700d86c1a704b94eb1c009a

3 years agoUpon .import column renaming, issue message saying so. Test this.
larrybr [Fri, 11 Feb 2022 13:40:25 +0000 (13:40 +0000)] 
Upon .import column renaming, issue message saying so. Test this.

FossilOrigin-Name: 8b6ca9304bff9a5b2897a6517ce77e4cd32f337b6c849b73ead5f757228d8ac8

3 years agoFix the bind2.test test script so that it works even if
drh [Fri, 11 Feb 2022 12:06:37 +0000 (12:06 +0000)] 
Fix the bind2.test test script so that it works even if
SQLITE_ENABLE_PREUPDATE_HOOK is not defined.
Fix for test-case breakage from check-in [c006515ae6faff65].

FossilOrigin-Name: 937d3a45b3fef354dbdea2085fbb7d9c752a96e8ebb62f61931deb5a64132946

3 years agoWork around the MSVC bug that prevents the use of function pointer types in
drh [Fri, 11 Feb 2022 11:37:12 +0000 (11:37 +0000)] 
Work around the MSVC bug that prevents the use of function pointer types in
the second argument of va_arg() by adding a typedef.

FossilOrigin-Name: eae3ab0a050079d050f339b2510eebd55afe4464e9b410ddacb7523f89981144

3 years agoCLI auto-column rename revamped after forum discussion.
larrybr [Fri, 11 Feb 2022 01:21:09 +0000 (01:21 +0000)] 
CLI auto-column rename revamped after forum discussion.

FossilOrigin-Name: 2da1f8e45eb0cb1ead6049df6a31a903bfad5a7abd27e92cd3dac25fe355aec3

3 years agoFix SQLITE_TESTCTRL_LOCALTIME_FAULT so that it works even if mutexes are
drh [Thu, 10 Feb 2022 23:12:58 +0000 (23:12 +0000)] 
Fix SQLITE_TESTCTRL_LOCALTIME_FAULT so that it works even if mutexes are
enabled.

FossilOrigin-Name: 64537a0669553e8a6b610b9e9703ec084472516c86cfc22a7a6c73b6c66131ee

3 years agoEnhance SQLITE_TESTCTRL_LOCALTIME_FAULT so that is able to install an
drh [Thu, 10 Feb 2022 21:26:53 +0000 (21:26 +0000)] 
Enhance SQLITE_TESTCTRL_LOCALTIME_FAULT so that is able to install an
alternative localtime() interface so that the localtime logic an be better
tested.

FossilOrigin-Name: 6e25cb0890e8cdc63c9a21e841844d066267fc32ad143527843f7c8d05612b53

3 years agoPerformance improve to the 'localtime' and 'utc' modifiers for date/time
drh [Thu, 10 Feb 2022 15:40:40 +0000 (15:40 +0000)] 
Performance improve to the 'localtime' and 'utc' modifiers for date/time
functions.

FossilOrigin-Name: 85cb6014751a0572d28ebd839331d5d7a78de45c9e522adcd834a8a85746f32e

3 years agoFaster implementation of the date(), time(), and datetime() functions.
drh [Thu, 10 Feb 2022 12:57:53 +0000 (12:57 +0000)] 
Faster implementation of the date(), time(), and datetime() functions.

FossilOrigin-Name: fa1b393bdb66b985f6552190a8242ed878f91d653a03352f65aa8d750de3cec4

3 years agoFix the test harness so that it builds without SQLITE_ENABLE_PREUPDATE_HOOK.
drh [Thu, 10 Feb 2022 12:31:37 +0000 (12:31 +0000)] 
Fix the test harness so that it builds without SQLITE_ENABLE_PREUPDATE_HOOK.
Has been broken since [c006515ae6faff65].

FossilOrigin-Name: 4565f711291bae5daaff6dd2b7b2991b17e139a576b1b73bb1f81f08a4c1a13f

3 years agoA CLI feature. auto .import (new table) columns. WIP
larrybr [Thu, 10 Feb 2022 03:21:48 +0000 (03:21 +0000)] 
A CLI feature. auto .import (new table) columns. WIP

FossilOrigin-Name: 7e3be36dfcb65c87a87344cf91c0c8f8d1aff0f2e4bcc23444a8f6b8ddcdae69

3 years agoCreate new branch named "auto-column"
larrybr [Thu, 10 Feb 2022 02:09:43 +0000 (02:09 +0000)] 
Create new branch named "auto-column"

FossilOrigin-Name: 066febe8931c5d90c009f05fe9ad0924ad35ec25a61ab42db63a9b9dbb1cecce

3 years agoFix a typo in documentation. No code changes.
drh [Thu, 10 Feb 2022 01:01:31 +0000 (01:01 +0000)] 
Fix a typo in documentation.  No code changes.

FossilOrigin-Name: e97c6ad4c915c82c2f0b347a0cdc8f80942c345194675a88174047ce0d0a43ad

3 years agoWhen process first moves a database into WAL mode and then tries to run
drh [Wed, 9 Feb 2022 18:47:09 +0000 (18:47 +0000)] 
When process first moves a database into WAL mode and then tries to run
sqlite3_wal_checkpoint() without first performing a transaction, first
try to run a synthesized transaction to get the Pager caught up before
attemptingn the checkpoint.
[forum:/forumpost/fd0f19d229156939|forum post fd0f19d229156939].

FossilOrigin-Name: eee6de1967609f0b590ee4dbec088c3e7b03b08753267ed2909c5b03d60a0e18

3 years agoFix a problem with using sqlite3_bind_value() with sqlite3_value objects obtained...
dan [Wed, 9 Feb 2022 18:42:15 +0000 (18:42 +0000)] 
Fix a problem with using sqlite3_bind_value() with sqlite3_value objects obtained from sqlite3_preupdate_new() when an integer value is written to a column with real affinity.

FossilOrigin-Name: c006515ae6faff6525d589827d99092b06004472e32b7f586845c00c4732d695

3 years agoWrites to the subjournal should be all-or-nothing. Fix for
drh [Tue, 8 Feb 2022 15:14:18 +0000 (15:14 +0000)] 
Writes to the subjournal should be all-or-nothing.  Fix for
dbsqlfuzz fe3c397fb90029313446c4e0f4a6cd0c81dd9621.

FossilOrigin-Name: 22cc55e84f67f6f39b7dba07a4ef7ae958b2d926633faec91a278922053e50c6

3 years agoProvide sqlite3_error_offset() data for some new errors.
drh [Tue, 8 Feb 2022 13:41:23 +0000 (13:41 +0000)] 
Provide sqlite3_error_offset() data for some new errors.

FossilOrigin-Name: 1269206db810460e55a52e178ba3332add42a11f66c5f292f8f0d29ccd61a4b8

3 years agocomment-only change to sqlite3.h
larrybr [Tue, 8 Feb 2022 12:24:43 +0000 (12:24 +0000)] 
comment-only change to sqlite3.h

FossilOrigin-Name: f815cf4a5f97778f177d373814700e8f2f6429dc467b68b799b5b349cc00b7a2

3 years agoDo not show the error code number of CLI error messages unless the error
drh [Tue, 8 Feb 2022 12:13:16 +0000 (12:13 +0000)] 
Do not show the error code number of CLI error messages unless the error
is something other than 1 (SQLITE_ERROR).

FossilOrigin-Name: b471601892df98c5103bb55132bbdecf3e4dfc428aaecc47bfec1e1d51e583c7

3 years agoImproved error message formatting in the shell. Distinguish between
drh [Tue, 8 Feb 2022 11:52:45 +0000 (11:52 +0000)] 
Improved error message formatting in the shell.  Distinguish between
"Parse errors" and "Runtime errors".

FossilOrigin-Name: ae3e322a029952f575e49c73fb50b46bbea55be6792cc225cb94f5e0cbd046d9

3 years agoDisable the sqlite3_error_offset() when the error occurs in a trigger or
drh [Mon, 7 Feb 2022 18:52:56 +0000 (18:52 +0000)] 
Disable the sqlite3_error_offset() when the error occurs in a trigger or
view or some other bit of text that is not part of the original statement.

FossilOrigin-Name: 0e909e34fa74e7b9b7954e4ed4c39dd293c1d413b58fda03607faab74aa382ad

3 years agoWhen create table/view fails due to name taken, say which took it.
larrybr [Mon, 7 Feb 2022 01:09:49 +0000 (01:09 +0000)] 
When create table/view fails due to name taken, say which took it.

FossilOrigin-Name: 9a206e37fb49a203a7b5fdc93c41acc39e9ceb37144c78432a235e2f0d54a210

3 years agoFix unreachable branches in the sqlite3_error_offset() logic.
drh [Sun, 6 Feb 2022 23:54:41 +0000 (23:54 +0000)] 
Fix unreachable branches in the sqlite3_error_offset() logic.

FossilOrigin-Name: 031381aea371892a35737e550121846af41241711a36c1a2086af3b0c11bf7b6

3 years agoThe sqlite3_vtab_in() interface should return false for a vector IN constraint.
drh [Sun, 6 Feb 2022 22:13:35 +0000 (22:13 +0000)] 
The sqlite3_vtab_in() interface should return false for a vector IN constraint.

FossilOrigin-Name: 245d0241c78870c6a41af3e02b82b13151472e2102fbd62989672f8122feca73

3 years agoWith the new ALTER TABLE under PRAGMA writable_schema=ON processing, do not
drh [Sun, 6 Feb 2022 21:13:59 +0000 (21:13 +0000)] 
With the new ALTER TABLE under PRAGMA writable_schema=ON processing, do not
ignore non-parser errors such as OOMs.

FossilOrigin-Name: 36653ccef68cf61b6001000a713b06e951cb6fddced6b6a906c3b17d70a8af87

3 years agoCLI extended parsing and .x features mostly tested
larrybr [Sun, 6 Feb 2022 14:30:16 +0000 (14:30 +0000)] 
CLI extended parsing and .x features mostly tested

FossilOrigin-Name: 9c664984fd61d5858b436952d876bf3560333ee0edd8e1956cfe74cf9649511d

3 years agoFaster computation of Expr.nHeight.
drh [Sun, 6 Feb 2022 11:51:23 +0000 (11:51 +0000)] 
Faster computation of Expr.nHeight.

FossilOrigin-Name: a7a5af327ba8bafcd58b828e3e7a10d0008bb780d55a6c573aa15896dcc8ab89

3 years agoRecord the error offset on INTEGER tokens.
drh [Sun, 6 Feb 2022 11:26:51 +0000 (11:26 +0000)] 
Record the error offset on INTEGER tokens.

FossilOrigin-Name: 38e057a580613be176552e230e40b4434a9ed57a82d407e92a23c7b8e62c0b0e

3 years agoFurther improvements to localization of errors in input SQL.
drh [Sun, 6 Feb 2022 00:30:04 +0000 (00:30 +0000)] 
Further improvements to localization of errors in input SQL.

FossilOrigin-Name: fa34676042720161ca03f3926814152eb1d144ec12fd2b44e5429408ea4ad5b0

3 years agoSync with trunk. More shell9.test tests to come.
larrybr [Sun, 6 Feb 2022 00:07:18 +0000 (00:07 +0000)] 
Sync with trunk. More shell9.test tests to come.

FossilOrigin-Name: 2e72dc4621bcccd6ef4f01d059ff052bc39b8ea122b006d842be6102736460f4

3 years agoCLI cleanup, mode push/pop, parameter list beautification
larrybr [Sat, 5 Feb 2022 23:45:07 +0000 (23:45 +0000)] 
CLI cleanup, mode push/pop, parameter list beautification

FossilOrigin-Name: 53d4582a0e9dab594264a5125324e1fab476e5fd806ebc61bd5fc6ffff10e34b

3 years agoEnhance sqlite3_error_offset() to report the position of unresolved
drh [Sat, 5 Feb 2022 23:11:19 +0000 (23:11 +0000)] 
Enhance sqlite3_error_offset() to report the position of unresolved
identifiers.

FossilOrigin-Name: 5b8d2577907abda10de29884716bacc10bff0df1451228a0ac40342dbea6d589

3 years agoRecord the position of many identifiers in the parse using the new
drh [Sat, 5 Feb 2022 21:49:47 +0000 (21:49 +0000)] 
Record the position of many identifiers in the parse using the new
Expr.w.iOfst field.  This is done with the idea of providing offset
results for sqlite3_error_offset() for a more kinds of errors, though that
part is not yet implemented.

FossilOrigin-Name: 32a3a53b62ab09ac2212905e7f42fe6f1b09d891e015203e5caf4cb16262f18e

3 years agoFix CLI Windows build, refine its help, re-org ShellState
larrybr [Sat, 5 Feb 2022 15:26:39 +0000 (15:26 +0000)] 
Fix CLI Windows build, refine its help, re-org ShellState

FossilOrigin-Name: 991a06a4801270fddea7375d141863dc29fa87b737c728af60c81eea8445a0ea

3 years agoUpdate stale evidence marks on sqlite3_vtab_rhs_value() test cases.
drh [Sat, 5 Feb 2022 13:27:52 +0000 (13:27 +0000)] 
Update stale evidence marks on sqlite3_vtab_rhs_value() test cases.

FossilOrigin-Name: 46744b83d5e1335bcbc59f9625e8ade3f360469d17f34e8d996f077ba9afa89e

3 years agoWhen PRAGMA writable_schema=ON, allow ALTER TABLE to proceed even if there
drh [Sat, 5 Feb 2022 12:39:17 +0000 (12:39 +0000)] 
When PRAGMA writable_schema=ON, allow ALTER TABLE to proceed even if there
are entries in the sqlite_schema table that do not parse.

FossilOrigin-Name: fc4c82e5694cbdae13f2cb90e5368ba9f6b826a220a81de32ead2ffe1bc5f31f

3 years agoFix a NULL pointer dereference that can occur after OOM. Problem relaxed-alter-table
drh [Sat, 5 Feb 2022 12:05:43 +0000 (12:05 +0000)] 
Fix a NULL pointer dereference that can occur after OOM.  Problem
introduced by check-in [197cbabf1767d060].

FossilOrigin-Name: d4e6b9f0f7567b76760a667a701bca4d6158ade39f9a69d205b583c5a1c0c7f4

3 years agoFix documentation typo.
drh [Sat, 5 Feb 2022 11:13:26 +0000 (11:13 +0000)] 
Fix documentation typo.

FossilOrigin-Name: 1a7d8bb5ea0d0e0c250312f89a701c0274cfbcaef9cd71995fb83bf939668504

3 years agoTypo fixes in documentation.
drh [Sat, 5 Feb 2022 01:01:07 +0000 (01:01 +0000)] 
Typo fixes in documentation.

FossilOrigin-Name: 1ec747d1c34ced9877709dd306e674376e79145de08b9c316d12bc5e06efc03e

3 years agoCLI .param save/load done; many other small refinements
larrybr [Fri, 4 Feb 2022 21:49:47 +0000 (21:49 +0000)] 
CLI .param save/load done; many other small refinements

FossilOrigin-Name: 6d415ac2c10da26e97164cb0846683a57e6a7f3717519c5fe889e077321a2cbd

3 years agoTest case for permissive ALTER TABLE RENAME when writable_schema=ON.
drh [Fri, 4 Feb 2022 20:16:00 +0000 (20:16 +0000)] 
Test case for permissive ALTER TABLE RENAME when writable_schema=ON.

FossilOrigin-Name: 7ee44f66c896cdc7b6980811e8e4537dbd63b23060ead0104f25132d955890af

3 years agoOne more case of disabling errors for ALTER TABLE RENAME when
drh [Fri, 4 Feb 2022 20:07:24 +0000 (20:07 +0000)] 
One more case of disabling errors for ALTER TABLE RENAME when
writable_schema=ON.

FossilOrigin-Name: c52d0dd8f4f8fab4c3f33cbd26b4012569e76562282e85654018c836dca7b564

3 years agoAdd a compile-time option to include vt02.c in fuzzcheck.
drh [Fri, 4 Feb 2022 19:13:18 +0000 (19:13 +0000)] 
Add a compile-time option to include vt02.c in fuzzcheck.

FossilOrigin-Name: c404c8c72600c11b181519d269bf949aff304eaafb90a50d1415c6fe84d2b092

3 years agoAllow ALTER TABLE RENAME COLUMN to proceed even if there are errors in
drh [Fri, 4 Feb 2022 16:43:30 +0000 (16:43 +0000)] 
Allow ALTER TABLE RENAME COLUMN to proceed even if there are errors in
the schema, as long as PRAGMA writable_schema=ON is active.

FossilOrigin-Name: 197cbabf1767d0603928462fb75cf8100f6999f725e0db60d096c7ca20e3da28

3 years agoFix various harmless compiler warnings.
drh [Fri, 4 Feb 2022 13:15:01 +0000 (13:15 +0000)] 
Fix various harmless compiler warnings.

FossilOrigin-Name: 70049342d5ad57ea3e863bba19253934b868bacdd1c26c9371bac024a829badf

3 years agoFor the MULTI-INDEX-OR optimization, when pushing down WHERE clause terms from
drh [Fri, 4 Feb 2022 13:05:29 +0000 (13:05 +0000)] 
For the MULTI-INDEX-OR optimization, when pushing down WHERE clause terms from
the main query into the various OR-term subqueries, do not push down slices
of a vector comparison, since the right-hand operand of the comparison might
have only been initialized in a different OR branch that was not taken.
dbsqlfuzz 80a9fade844b4fb43564efc972bcb2c68270f5d1.

FossilOrigin-Name: 9f67ad00cd38b7c5ec6d14b379e1a611777bbdf6901d843a80712ba7d94d6d33

3 years agoFix .param edit unable to edit script vars (bad assert)
larrybr [Fri, 4 Feb 2022 09:39:30 +0000 (09:39 +0000)] 
Fix .param edit unable to edit script vars (bad assert)

FossilOrigin-Name: 62d212d0da93102dd3b7dc4368a0c8acf2469a7f8ef8fcf60e57e69fe028600e

3 years agoSync to trunk. Shell tests pass.
larrybr [Thu, 3 Feb 2022 21:07:01 +0000 (21:07 +0000)] 
Sync to trunk. Shell tests pass.

FossilOrigin-Name: 79275b81dcd0c7d18b83614f42a0878fb30d93408e599574b61510fc8afa8c80

3 years agoScripting and .parameter enhancements most in; all in working
larrybr [Thu, 3 Feb 2022 20:57:47 +0000 (20:57 +0000)] 
Scripting and .parameter enhancements most in; all in working

FossilOrigin-Name: a1581118b07b111edbad8dc930a959ec0b98461b2737619d9976ef4a498b6571

3 years agoMinor typo fix in comment. No code changes.
drh [Thu, 3 Feb 2022 18:14:22 +0000 (18:14 +0000)] 
Minor typo fix in comment. No code changes.

FossilOrigin-Name: f9b763042c5c4446115c5375a8e4731e522e36ad9fc53e9ef775de9bc297ea19

3 years agoDo not allow the vdbe-compress.tcl script to generate structures named
drh [Thu, 3 Feb 2022 14:37:06 +0000 (14:37 +0000)] 
Do not allow the vdbe-compress.tcl script to generate structures named
"do" or "if".

FossilOrigin-Name: e35ab16dd0fd40b07a71d26e1cdb19ef664a2a628a4abcb2e130f5e555de8ca9

3 years agoProhibit schema changes within xBestIndex callbacks.
drh [Thu, 3 Feb 2022 14:19:26 +0000 (14:19 +0000)] 
Prohibit schema changes within xBestIndex callbacks.

FossilOrigin-Name: bb0f056b3f2ecc3893e5e48e99c060788550ea6a8ed02b715953af051bafbad0

3 years agoImprovement to the sqlite3_vtab_in_first() documentation.
drh [Wed, 2 Feb 2022 21:06:40 +0000 (21:06 +0000)] 
Improvement to the sqlite3_vtab_in_first() documentation.

FossilOrigin-Name: 403e7ac900e53407282393747b784dc0cd4303958394534e3936fce138bc1bc5

3 years agoAdd the sqlite3_vtab_in() interface that allows virtual tables to process
drh [Wed, 2 Feb 2022 19:51:44 +0000 (19:51 +0000)] 
Add the sqlite3_vtab_in() interface that allows virtual tables to process
IN constraints all at once, rather than one value at a time.

FossilOrigin-Name: 52559af093809b572082b5ebaacf97b727ee1860ae118530761b62e937545163

3 years agoAdditional test cases. batch-in-operator
drh [Wed, 2 Feb 2022 19:30:24 +0000 (19:30 +0000)] 
Additional test cases.

FossilOrigin-Name: 733d81c3a6a513b0b893a7d14894f36aebbbca9da375c326db8a72df4f0c6238

3 years agoTest cases for sqlite3_vtab_in() and sqlite3_vtab_distinct().
drh [Wed, 2 Feb 2022 19:15:53 +0000 (19:15 +0000)] 
Test cases for sqlite3_vtab_in() and sqlite3_vtab_distinct().

FossilOrigin-Name: 21afb81d0a73af39aacd9329b1441faa2b535a52a52036daec89fd303a8b344f

3 years agoImproved documentation for sqlite3_vtab_in(). No code changes.
drh [Wed, 2 Feb 2022 18:47:56 +0000 (18:47 +0000)] 
Improved documentation for sqlite3_vtab_in().  No code changes.

FossilOrigin-Name: c99df4ab5db2c32b044366c5b0ac70fd8887d1456d53323e75fede23cc61c236

3 years agoRelax the restriction that the RHS of the IN operator must be a list in order
drh [Wed, 2 Feb 2022 16:24:01 +0000 (16:24 +0000)] 
Relax the restriction that the RHS of the IN operator must be a list in order
for sqlite3_vtab_in() to work.  Change an unreachable branch into an assert().

FossilOrigin-Name: 3bf2153440dce0e8c0572c4fd39e6b9f34ead75ccab2cea80a646d4ff9d19146

3 years agoBe sure that sqlite3_vtab_in_first() and _next() set the correct encoding.
drh [Wed, 2 Feb 2022 15:10:45 +0000 (15:10 +0000)] 
Be sure that sqlite3_vtab_in_first() and _next() set the correct encoding.

FossilOrigin-Name: 04edf36ee8e043c83235a5169a7ced23f211edd2f7ef3290d96413d5fd229ad7

3 years agoRefactor sqlite3_vtab_in() to make use of the existing
drh [Wed, 2 Feb 2022 14:36:58 +0000 (14:36 +0000)] 
Refactor sqlite3_vtab_in() to make use of the existing
sqlite3_value_pointer() mechanism for passing the list of IN operator
RHS values into xFilter, for improved memory safety.

FossilOrigin-Name: 8965929be236fe1a6994f31b94c1b7590c7c1e809470c542a76f3e0e275d032f

3 years agoFix a harmless code indentation issue.
drh [Wed, 2 Feb 2022 11:37:49 +0000 (11:37 +0000)] 
Fix a harmless code indentation issue.

FossilOrigin-Name: 41d8d26e48a440da44582763f6b0c097febe3b8ac16adb662f688c3662c301bf

3 years agoTweaks to the sqlite3_vtab_in() interface.
drh [Tue, 1 Feb 2022 21:59:43 +0000 (21:59 +0000)] 
Tweaks to the sqlite3_vtab_in() interface.

FossilOrigin-Name: 75040183b8e14f20bfedfdcc1a9fb968f2f0193bc698605d1b4791a3699b93d9

3 years agoIndex in 2nd argument to sqlite3_vtab_in() should be on the aConstraint[]
drh [Tue, 1 Feb 2022 16:30:57 +0000 (16:30 +0000)] 
Index in 2nd argument to sqlite3_vtab_in() should be on the aConstraint[]
array, not the internal array of all constraints.

FossilOrigin-Name: 5acf90a931b27b7d627c0a8fee68170430e09b028d6643b959b0ec14fd59f7ac

3 years agoTake CLI's wordwrap from trunk
larrybr [Tue, 1 Feb 2022 15:08:10 +0000 (15:08 +0000)] 
Take CLI's wordwrap from trunk

FossilOrigin-Name: 768c70a926bd3d5338c4d7c07689e61f03973b4bc7d9d2c62c6f83a6c2b85829

3 years agoAdd new interfaces to enable virtual table to process IN operator constraints
drh [Tue, 1 Feb 2022 14:58:29 +0000 (14:58 +0000)] 
Add new interfaces to enable virtual table to process IN operator constraints
all at once, rather than one element at a time.

FossilOrigin-Name: eb84b80e1f6d8c32bf0c9e1731f0233de0160a13f714f766779ae01fdf504e7b

3 years agoCLI: Take extra care to not split a multi-byte unicode character when doing
drh [Tue, 1 Feb 2022 13:17:11 +0000 (13:17 +0000)] 
CLI: Take extra care to not split a multi-byte unicode character when doing
wordwrap.

FossilOrigin-Name: 00b1b7020a564976da3237532434e47ccf17eb5d620e6ac45f3e70b5d5739200

3 years agoCLI: Add the --ww option as an alias for --wordwrap. Improve the wordwrap
drh [Tue, 1 Feb 2022 12:28:17 +0000 (12:28 +0000)] 
CLI: Add the --ww option as an alias for --wordwrap.  Improve the wordwrap
algorithm so that it breaks at punctuation if it cannot find space.  Always
wordwrap with --ww even if there is a .width setting for the column.

FossilOrigin-Name: 1b528e31f8c62797e0814568b520c0680ff23a2ee877ca6aa70a167d40ebdf80

3 years agoAdd "--wordwrap on/off" option for CLI columnar modes, qwbox shortcut
larrybr [Tue, 1 Feb 2022 02:50:45 +0000 (02:50 +0000)] 
Add "--wordwrap on/off" option for CLI columnar modes, qwbox shortcut

FossilOrigin-Name: 10dbc278708cd2cce7fef90738082dbe31750d93e44b5fa5413a9a32dae7703a

3 years agoCLI: In ".mode column" output, if any row contains a newline or wraps, then
drh [Tue, 1 Feb 2022 00:00:08 +0000 (00:00 +0000)] 
CLI: In ".mode column" output, if any row contains a newline or wraps, then
put a single blank line in between each pair of rows to provide additional
visual separately.

FossilOrigin-Name: fd42f4c304079356358e606dd96d4b84cf211c4334c586118b99fe9ad20e20ea

3 years agoCLI: for columnar output modes, make sure the header is not too big.
drh [Mon, 31 Jan 2022 22:14:53 +0000 (22:14 +0000)] 
CLI: for columnar output modes, make sure the header is not too big.
Also, improve the help text.

FossilOrigin-Name: 070fae3a09cea675e722340870cb2bee9e1ac96954d3baacfdb7f5400ddb1b20

3 years agoCLI: Fix a problem with tabs in the new qbox mode.
drh [Mon, 31 Jan 2022 20:39:27 +0000 (20:39 +0000)] 
CLI: Fix a problem with tabs in the new qbox mode.

FossilOrigin-Name: ca96ab3ef78479d95e831cacdb80f23c119cbaa77b3821eac7a3f110bfe20cc9

3 years agoSync to trunk
larrybr [Mon, 31 Jan 2022 19:52:30 +0000 (19:52 +0000)] 
Sync to trunk

FossilOrigin-Name: f51a17b6271a8dd7c48725e4ec2df1fde0460866c81c7225dc27216ab389591e

3 years agoCleanup dot-command handling, make multi-line work, honor exit requests from more...
larrybr [Mon, 31 Jan 2022 19:23:32 +0000 (19:23 +0000)] 
Cleanup dot-command handling, make multi-line work, honor exit requests from more contexts

FossilOrigin-Name: 5cf66e89071b619d116a4707b6ff1cd7917edffe5ab504514f37da433a77b61d

3 years agoFix harmless compiler warnings in MSVC.
drh [Mon, 31 Jan 2022 16:29:06 +0000 (16:29 +0000)] 
Fix harmless compiler warnings in MSVC.

FossilOrigin-Name: 3ec6141c41a71eea0d96a65aa35c828e4d852d60e090513c312b925d0e257f9a

3 years agoDo not attempt to limit the number of columns used in a table to a prefix
drh [Mon, 31 Jan 2022 15:59:43 +0000 (15:59 +0000)] 
Do not attempt to limit the number of columns used in a table to a prefix
if the table will be used to construct an automatic index or bloom filter.
dbsqlfuzz 787d9bd73164c6f0c85469e2e48b2aff19af6938.

FossilOrigin-Name: f8766231d2a77bb8b95726b514736d4c2d20b056f7fe60bdbc98ebf5e5b15ae9

3 years agoCLI: Enhancements to columnar output modes. (See
drh [Mon, 31 Jan 2022 14:14:29 +0000 (14:14 +0000)] 
CLI: Enhancements to columnar output modes.  (See
[forum/forumpost/5b53cd851f66441f9|forum post 5b53cd851] for discussion.)
New output mode "qbox".  New output options "--quote" and "--wrap N".

FossilOrigin-Name: 539cef5214446a7181614793e9cf323e95ba00ba0f888585b14b598dd2ff0808

3 years agoFix an obscure problem in sqlite3_backup_init() caused by
drh [Mon, 31 Jan 2022 12:29:14 +0000 (12:29 +0000)] 
Fix an obscure problem in sqlite3_backup_init() caused by
[6a45d8fe8bfbc11a|check-in 6a45d8fe8bfbc11a].  See
[forum:/forumpost/8b39fbf3e7b5c278|forum post 8b39fbf3e7] for
the original bug report.

FossilOrigin-Name: 639fc7633bd740421d6b48617b9f68e6be525107e4049673fe720ea6158a393f

3 years agoCLI: Fix the new ".mode box" output so that it works with unicode characters.
drh [Mon, 31 Jan 2022 10:55:50 +0000 (10:55 +0000)] 
CLI: Fix the new ".mode box" output so that it works with unicode characters.

FossilOrigin-Name: 454af48724c78bf8e06379a426e01b1597f56fcc83211ee062ff0dbeb6a140b1