]>
git.ipfire.org Git - thirdparty/sqlite.git/log
dan [Mon, 12 Jul 2021 15:00:17 +0000 (15:00 +0000)]
Fix a defect in the query-flattener optimization identified by
ticket [
8f157e8010b22af0 ]. This fix is associated with CVE-2020-15358.
FossilOrigin-Name:
bcd014c473794b09f61fbc0f4d9488365b023f16123b278dbbd49948c27c0fee
drh [Mon, 8 Jun 2020 12:49:53 +0000 (12:49 +0000)]
When an Expr object is changed and that Expr is referenced by an AggInfo, then
also update the AggInfo. Also, persist all AggInfo objects until the Parse
object is destroyed. This is a new fix for ticket [
c8d3b9f0a750a529 ].
FossilOrigin-Name:
44a58d6cb135a1040807093e27e3d4bdcfd5fd2c2b52e9af1e5f01c26b321d82
drh [Thu, 4 Jun 2020 12:58:43 +0000 (12:58 +0000)]
drh [Wed, 3 Jun 2020 22:57:15 +0000 (22:57 +0000)]
drh [Wed, 3 Jun 2020 22:47:05 +0000 (22:47 +0000)]
drh [Mon, 25 May 2020 16:19:56 +0000 (16:19 +0000)]
drh [Mon, 25 May 2020 15:41:03 +0000 (15:41 +0000)]
Extra assert() statements in the printf() logic.
FossilOrigin-Name:
b1b182be2ab34cec1d94c5570bc361331a34f727eb9fa4aadfabb7f1ef79f83e
drh [Mon, 25 May 2020 15:19:52 +0000 (15:19 +0000)]
Defensive code that tries to prevent a recurrence of problems like the
one described in ticket [
7a5279a25c57adf1 ]
FossilOrigin-Name:
572105de1d44bca4f18c99d373458889163611384eebbc9659474874ee1701f4
drh [Mon, 25 May 2020 12:49:58 +0000 (12:49 +0000)]
Fix minor compile issues with optional extensions.
FossilOrigin-Name:
3261ee9ec26bbeaa64190c12556a1d8146270b6660c70004830bd38c1b5b63f4
drh [Mon, 25 May 2020 12:02:12 +0000 (12:02 +0000)]
Make sure variable declarations are at start of scope even when
SQLITE_ENABLE_SNAPSHOT is used.
FossilOrigin-Name:
a77ceaf6ba934b1d73c90b8980191a65d02ad6ce1e11e6baf573b3a132685545
drh [Sun, 24 May 2020 12:36:20 +0000 (12:36 +0000)]
drh [Sun, 24 May 2020 03:38:37 +0000 (03:38 +0000)]
When rewriting a query for window functions, if the rewrite changes the
depth of TK_AGG_FUNCTION nodes, be sure to adjust the Expr.op2 field
appropriately. Fix for ticket [
7a5279a25c57adf1 ]
FossilOrigin-Name:
ad7bb70af9bb68d192137188bb2528f1e9e43ad164c925174ca1dafc9e1f5339
drh [Sun, 24 May 2020 03:01:36 +0000 (03:01 +0000)]
Move some utility Walker callbacks into the walker.c source file, as they
seem to belong there better.
FossilOrigin-Name:
dac438236f7c5419d4e7e094e8b3f19f83cd3b1a18bc8acb14aee90d4514fa3c
drh [Sun, 24 May 2020 02:05:04 +0000 (02:05 +0000)]
Improvements to parse-tree tracing logic. No changes in deliverable code.
FossilOrigin-Name:
f7e5a68a7ebbb97a5beb050a75b3b4cf2fd6adc54653da993a8950fb3a5799f7
drh [Sun, 24 May 2020 00:30:38 +0000 (00:30 +0000)]
drh [Sat, 23 May 2020 19:58:07 +0000 (19:58 +0000)]
Limit the "precision" of floating-point to text conversions in the printf()
function to 100,000,000. Fix for ticket [
23439ea582241138 ].
FossilOrigin-Name:
d08d3405878d394e08e5d3af281246edfbd81ca74cc8d16458808591512fb93d
drh [Sat, 23 May 2020 17:56:49 +0000 (17:56 +0000)]
drh [Fri, 22 May 2020 17:46:16 +0000 (17:46 +0000)]
drh [Thu, 21 May 2020 20:38:39 +0000 (20:38 +0000)]
Change a NEVER macro into a NO_TEST comment, as the conditional is reachable,
but only when compiling for Windows 32-bit.
FossilOrigin-Name:
ce36b6d1331edba5a921fef32553e2470a79bdb1f62d2cfd81190691c83d5b06
dan [Thu, 21 May 2020 19:13:46 +0000 (19:13 +0000)]
Avoid another potential OOB read in sqlite3expert.c.
FossilOrigin-Name:
0ccea80092f16e7f17f4c4de4f8be3fdef217199fcc08ace37e179c1b22c1294
drh [Wed, 20 May 2020 15:02:04 +0000 (15:02 +0000)]
Back out the change from [
7fab1393c2b22b1f ] that tries to convert invalid
surrogate characters in UTF16 into the replacement character 0xfffd, as we
find that this breaks some software.
FossilOrigin-Name:
4218c7b71fb6b227dbe4b852718584c150164af2d84e067cb810aa602554a609
drh [Tue, 19 May 2020 15:51:10 +0000 (15:51 +0000)]
Add compiler hints to disable TSAN for the routines that access the -shm
file header in WAL mode using a double-read with memory barrier.
FossilOrigin-Name:
3117c1b5a9e348fd8d16ba9d03fdafaad8514567fb3403f72b86d6162ad40bde
dan [Tue, 19 May 2020 15:40:07 +0000 (15:40 +0000)]
In os_win.c, avoid calling sqlite3_uri_boolean() on anything other than a main-db filename.
FossilOrigin-Name:
cb0a18e64f8d81c2ada9f698faaf5ca68a0666687bf6f3abc860324cb1997463
drh [Tue, 19 May 2020 12:29:56 +0000 (12:29 +0000)]
User-suggested improvement to the README.txt for the ICU extension.
FossilOrigin-Name:
1d1293c25abdd4b0fca64e5b1d0a118e2f339635dbc89422c0c2463fbf9ee27f
drh [Tue, 19 May 2020 12:27:29 +0000 (12:27 +0000)]
In wal.c, improved comments on concurrency issues. More use of
AtomicLoad() and AtomicStore().
FossilOrigin-Name:
4bf566feca3a8fbe5e386533aac30e0ac25836cfc820a3abd91e156bd6198b4a
dan [Mon, 18 May 2020 18:02:37 +0000 (18:02 +0000)]
Add vdbevtab.lo to build of libsqlite3.lib in Makefile.msc.
FossilOrigin-Name:
f64d054b799c0af8d582fd9aff9bcbfa380ef08026ba5db8c5f89f6f56dfdad9
drh [Sun, 17 May 2020 13:47:28 +0000 (13:47 +0000)]
Avoid harmless UB in memcpy() in the JSON extension.
FossilOrigin-Name:
69e149f76853d196c8855fedfc98848b60fb116ac36bc08824b1a122469f8ece
drh [Sun, 17 May 2020 00:26:44 +0000 (00:26 +0000)]
Use the sqlite3Realloc() interface internally, rather than the public
sqlite3_realloc64() equivalent, to avoid unnecessary calls to
sqlite3_initialize().
FossilOrigin-Name:
1313557b512297e7b75ed748894379b2022aecf696d5a58318e46a668321c1ff
drh [Sat, 16 May 2020 21:01:00 +0000 (21:01 +0000)]
Performance optimization for the sqlite3FindTable() subroutine.
FossilOrigin-Name:
55910b9a7287be92af9f95e0af54af822055d15b7eabbcc81d61410d0bf67726
drh [Sat, 16 May 2020 18:01:02 +0000 (18:01 +0000)]
The OP_RealAffinity opcode is not necessary after reading values from
a virtual table (such as rtree). It is harmless, but it does use CPU
cycles. Might as well leave it off.
FossilOrigin-Name:
dc18d89354cffcb726722c234a0271ab628a71277b22887eea2bf118028193a6
dan [Sat, 16 May 2020 17:26:58 +0000 (17:26 +0000)]
Fix a use-after-free bug in the fts3 snippet() function.
FossilOrigin-Name:
0d69f76f0865f9626078bee087a22fb826407279e78cf9d5382e1c985c9f64a9
drh [Sat, 16 May 2020 16:23:48 +0000 (16:23 +0000)]
dan [Sat, 16 May 2020 15:18:27 +0000 (15:18 +0000)]
Add sqlite3BeginBenignMalloc() and EndBenignMalloc() calls to debugging function sqlite3VdbePrintOp().
FossilOrigin-Name:
6f857d0e9e0893524c2f828a1a1600fefb6efeff12ecbc9bb1da106a5aff9c1c
dan [Fri, 15 May 2020 18:48:31 +0000 (18:48 +0000)]
Update code in sqlite3expert.c to account for the fact that "-- TRIGGER xyz" VM comments are now omitted for some builds.
FossilOrigin-Name:
7cf93dc55c48c68731a1fe3ae3517fcfeb5c252bfa87e715a333c6194bcc0ace
dan [Fri, 15 May 2020 16:19:35 +0000 (16:19 +0000)]
Fix another build problem for SQLITE_OMIT_VIRTUALTABLE builds.
FossilOrigin-Name:
5e1eb0fa3afd74251bc8f484e3edfa81b15610479431af205bd952c91eecd21f
drh [Fri, 15 May 2020 16:05:31 +0000 (16:05 +0000)]
Fix a documentation typo. No changes to code.
FossilOrigin-Name:
758353c72627a847ba027ca44a750bbf057827dafd05811f56e4765dfc77623b
drh [Fri, 15 May 2020 15:03:51 +0000 (15:03 +0000)]
Adjust some requirement marks. No changes to code.
FossilOrigin-Name:
7285ae2ce8fb1439e1acea2ec321abbc76aab0a2e84b58683fddb0a7bf74fb1b
dan [Fri, 15 May 2020 13:52:33 +0000 (13:52 +0000)]
Update test file e_fkey.test to account for the fact that new columns with REFERENCE clauses and non-NULL default values may now be added using ALTER TABLE if the table is empty.
FossilOrigin-Name:
4087fce97252beda2456164afe9508f952fc9fe4be68ad0e9b330569a78e42f2
dan [Fri, 15 May 2020 11:36:16 +0000 (11:36 +0000)]
Fix SQLITE_OMIT_VIRTUALTABLE testfixture builds.
FossilOrigin-Name:
3d9780c5f6095ea35bc731a51eb34d7cf8bd5dcece825b686b94fd50131626e2
dan [Fri, 15 May 2020 11:26:31 +0000 (11:26 +0000)]
Test script changes to account for the fact that the "p5" column in the EXPLAIN output is now an integer, not a text values containing a 2-digit hex value.
FossilOrigin-Name:
102126d80872fdb7469233611cab28100c8455aab4ce25702b83398394559185
mistachkin [Fri, 15 May 2020 01:18:07 +0000 (01:18 +0000)]
Enhancements to long-path support in the Win32 VFS.
FossilOrigin-Name:
0119d96decd344ae711388ac8475b92464a6d018ecf73862170f137410036dac
drh [Fri, 15 May 2020 01:13:46 +0000 (01:13 +0000)]
Move some new test cases from fts3snippet.test into fts3snippet2.test.
FossilOrigin-Name:
fa203999944133941a38e5c858f1f66fc1ef4d2f33222ab81cbf4e3fc1539f1c
drh [Fri, 15 May 2020 01:02:00 +0000 (01:02 +0000)]
Add the SQLITE_ENABLE_FTS3_PARENTHESIS option to fuzzcheck. Add a new
test case that uses that option.
FossilOrigin-Name:
c49a33db954f1a3fbc1889bbe9f3f3fdb8fb00e31aafb91cd6f5d1602db5c2b9
drh [Thu, 14 May 2020 23:59:24 +0000 (23:59 +0000)]
Fix a null pointer deference that can occur on a strange matchinfo()
query.
FossilOrigin-Name:
a4dd148928ea65bd4e1654dfacc3d8057d1f85b8c9939416991d50722e5a720e
drh [Thu, 14 May 2020 21:16:52 +0000 (21:16 +0000)]
Do not allow a virtual table to be renamed into the name of one of its
shadows.
FossilOrigin-Name:
eca0ba2cf4c0fdf757bae19c6397a48245adb99e8017ddc28f01804072a30b2c
drh [Wed, 13 May 2020 18:03:34 +0000 (18:03 +0000)]
Implement the IIF(x,y,z) SQL function that is short-hand for
"CASE WHEN x THEN y ELSE z END". For compatibility with SQL Server.
FossilOrigin-Name:
fce173cd211b15867369b6a54fad48168352fc83981a722ce98e57299b88608a
drh [Wed, 13 May 2020 17:26:38 +0000 (17:26 +0000)]
Remove unused constant SQLITE_FUNC_COALESCE.
FossilOrigin-Name:
a116b20f863e9732cd08fbfbb1aa48204a17d611c9c1edde85dcf59310bde782
dan [Wed, 13 May 2020 13:33:30 +0000 (13:33 +0000)]
Use AtomicStore() and AtomicLoad() in a few more places to avoid a theoretically undefined behaviour. This is not actually problem on any known hardware.
FossilOrigin-Name:
fda57d4d2f1499c861d43026aa9362d1a30d67c9c002ebf5b0cdc25251537fbb
drh [Mon, 11 May 2020 11:11:25 +0000 (11:11 +0000)]
dan [Mon, 11 May 2020 10:55:24 +0000 (10:55 +0000)]
Fix a problem handling constant integer expressions with collation sequences in PARTITION BY clauses.
FossilOrigin-Name:
155e6649efe8614718be7ac6c3cccf5b073ae57496dc220db5e4313621f5188e
drh [Fri, 8 May 2020 19:02:21 +0000 (19:02 +0000)]
Release some restrictions on columns added by ALTER TABLE so that they
only apply if the table contains one or more rows.
FossilOrigin-Name:
3a16c0ce4d8851f79f670d94786032c8007619154ece44647dc9cc5b1f9654ff
drh [Fri, 8 May 2020 18:22:00 +0000 (18:22 +0000)]
Fix the count-optimization so that it honors the NOT INDEXED clause.
FossilOrigin-Name:
0d23a0b209900f4d7c6c13f75d4364f19afc23db72f9cfdb11e05b81502e8040
drh [Fri, 8 May 2020 15:28:07 +0000 (15:28 +0000)]
drh [Fri, 8 May 2020 10:44:23 +0000 (10:44 +0000)]
Do not retry on a failed realloc() unless SQLITE_ENABLE_MEMORY_MANAGEMENT
is available, meaning that the retry has some possibility of success.
FossilOrigin-Name:
e9a8f910b5e2b84dd77364783f0610bca970cc88aa037c88636c72145b99f411
dan [Thu, 7 May 2020 19:55:40 +0000 (19:55 +0000)]
Fix a failing assert() in fts3 triggered by a corrupt database.
FossilOrigin-Name:
cb299a090c81cdc5c116c4e15ab38fce112916f8b0fad0c7f2ab127e79238a94
dan [Thu, 7 May 2020 14:39:56 +0000 (14:39 +0000)]
Changes to avoid deadlock in SQLITE_ENABLE_SETLK_TIMEOUT builds.
FossilOrigin-Name:
652e4b23fffbff128b177697d7217b7d5aad8baf2364df1646b268ce6774e0fb
dan [Thu, 7 May 2020 14:26:40 +0000 (14:26 +0000)]
Fix an error that could occur if the first transaction executed by a connection configured to use blocking locks is a write-transaction for which the WRITER lock cannot be obtained.
FossilOrigin-Name:
49e4dc72f7a4b28e4b49d7b91030bc986aea3ff44dac38cb6e68305800cd1de5
dan [Thu, 7 May 2020 14:05:08 +0000 (14:05 +0000)]
drh [Thu, 7 May 2020 01:56:57 +0000 (01:56 +0000)]
Fix the handling of reserve-bytes so that the maximum value of 255 can be used.
FossilOrigin-Name:
99749d4fd4930ccf15227f67c732266af9e09dd3cabdc0834fb450ef98196441
dan [Wed, 6 May 2020 21:25:39 +0000 (21:25 +0000)]
Avoid leaking a file-handle in test file walsetlk.test.
FossilOrigin-Name:
3cfc675e2e917b69108feb3a75728b573abe8e44f0890a7d20d307b0b6784c0e
dan [Wed, 6 May 2020 21:24:29 +0000 (21:24 +0000)]
Fix an assert() failure that could follow an IO error.
FossilOrigin-Name:
e89c864299024cdce395a15c19b000b976142b9eed267901a288adaa695f9e65
drh [Wed, 6 May 2020 20:55:38 +0000 (20:55 +0000)]
dan [Wed, 6 May 2020 20:45:11 +0000 (20:45 +0000)]
Fix a problem preventing building without SQLITE_ENABLE_SETLK_TIMEOUT defined.
FossilOrigin-Name:
98eb54c6d83992886f17a00b6fc8998df230e3b5f45bafc6fae0d15a9ee5a4c6
dan [Wed, 6 May 2020 20:27:18 +0000 (20:27 +0000)]
Add error code SQLITE_BUSY_TIMEOUT, used internally by the OS layer to indicate that a call to xShmLock() has failed due to timeout of a blocking lock.
FossilOrigin-Name:
f3ef9c7c2b4ba3de1057ad569f068b241d5f23e6629d8e0dacf85e57fd13b8aa
dan [Wed, 6 May 2020 19:22:59 +0000 (19:22 +0000)]
Fix compiler warnings in non-SQLITE_ENABLE_SETLK_TIMEOUT builds.
FossilOrigin-Name:
22de99ef410ba2a540871f3e61157d8dc4b969416f14808aeca73971b17fcd51
dan [Wed, 6 May 2020 19:14:41 +0000 (19:14 +0000)]
Block on the WRITER lock when attempting to run recovery.
FossilOrigin-Name:
105d6c9bbcadc64faa2b24e315cb13227b17cfc6bf1b3512713f80ce56976a3d
drh [Wed, 6 May 2020 18:43:57 +0000 (18:43 +0000)]
Provide the SQLITE_DEFAULT_LEGACY_ALTER_TABLE compile-time option.
FossilOrigin-Name:
63e659d9a793227604aa95685a8d83cd08305f1d01e135407a3ffc6d54482ab8
dan [Wed, 6 May 2020 17:18:57 +0000 (17:18 +0000)]
Add tests for running recovery when opening a write transaction or performing a checkpoint with blocking locks enabled. Fix some failing assert() statements.
FossilOrigin-Name:
d096ea3fe20f8af90f9e3f798fd0a69527b32ac8e208ade58b9d0af0e831f41b
dan [Wed, 6 May 2020 15:07:25 +0000 (15:07 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
a3727dba10b476f414f0a049b35f2a5c169a408eccefa6833821560684e07f8b
dan [Tue, 5 May 2020 20:30:07 +0000 (20:30 +0000)]
Unless upgrading an existing read transaction, have ENABLE_SETLK_TIMEOUT builds attempt to use a blocking lock when opening a write transaction on a wal mode database.
FossilOrigin-Name:
d6f819a9e6b35f3fd558bd93255a6a24ad690a0fa15a82b009ca9c641db983c6
drh [Tue, 5 May 2020 19:54:02 +0000 (19:54 +0000)]
The only known path to a corruption detection branch was cut off by the
previous commit implementing earlier index corruption. So make the branch
NEVER. Maybe a fuzzer will find a new path.
FossilOrigin-Name:
9a84d8eb44b12ddea921baa73ac3bffa8c8d23a852605dc1dbde37907360bd79
drh [Tue, 5 May 2020 18:42:49 +0000 (18:42 +0000)]
Earlier detection of index corruption caused by missing index entries.
FossilOrigin-Name:
f339f31f9e9a856b576f99c5230fdf6d60fdc2873e48cb5aa0a4ab1d04e3c930
drh [Tue, 5 May 2020 13:41:40 +0000 (13:41 +0000)]
drh [Mon, 4 May 2020 19:52:00 +0000 (19:52 +0000)]
dan [Mon, 4 May 2020 19:42:35 +0000 (19:42 +0000)]
Changes to avoid deadlock in SQLITE_ENABLE_SETLK_TIMEOUT builds.
FossilOrigin-Name:
553423c23142cf0ec219192315d57ce8a0e10c3d8678d28bc110a1a9a7c17cee
drh [Mon, 4 May 2020 19:04:23 +0000 (19:04 +0000)]
Minor change to the sqlite_stmt virtual table, for test coverage.
FossilOrigin-Name:
838987b2097c4b7acaa65aea99cfdaf199f04d76bcf6ef12743c60b338a965f7
drh [Mon, 4 May 2020 17:15:21 +0000 (17:15 +0000)]
Simplify the initialization of built-in extensions.
FossilOrigin-Name:
729f2397358d0382e255ba0058bf70bc9ed410b7621a67466da13de437d3ba5c
drh [Mon, 4 May 2020 11:47:38 +0000 (11:47 +0000)]
Ensure that the master-journal name is in a form suitable to be passed
into sqlite3_uri_parameter().
FossilOrigin-Name:
d1ba026d882f070b351280028e2fa88a3cca59b46d4683302e24c6677e0951b9
drh [Sat, 2 May 2020 04:08:23 +0000 (04:08 +0000)]
Add the SQLITE_FCNTL_CKPT_START file-control and use it to optimize
the cksumvfs extension.
FossilOrigin-Name:
efdecb13091316aeac2722f58577cb0314e008e857f2816a2a222bac0a83e9e1
drh [Sat, 2 May 2020 03:46:32 +0000 (03:46 +0000)]
Add support for PRAGMA analyze_limit and approximate analysis.
FossilOrigin-Name:
812547525d35df975f40cbbeb604cc9cd2dec809c1ca083cbb139fe59ffa1d73
drh [Sat, 2 May 2020 03:29:21 +0000 (03:29 +0000)]
drh [Sat, 2 May 2020 00:31:00 +0000 (00:31 +0000)]
Merge the bytecode and tables_used table-valued functions. Requires
-DSQLITE_ENABLE_BYTECODE_VTAB at compile-time.
FossilOrigin-Name:
d09bcce37f1eaf084e3b07eb4a23653ea1f370cdd290ce3875408186adf87022
drh [Sat, 2 May 2020 00:01:39 +0000 (00:01 +0000)]
Corner-case changes to the bytecode virtual table for testability and
correctness.
FossilOrigin-Name:
baa720e4a88f268ed95337daab5f434fd3263b00f09101cddc6424765bf3b722
drh [Fri, 1 May 2020 18:58:21 +0000 (18:58 +0000)]
drh [Fri, 1 May 2020 18:37:34 +0000 (18:37 +0000)]
Add the SQLITE_FCNTL_CKPT_START file-control. Use it to optimize the
cksumvfs extension.
FossilOrigin-Name:
b40f5aa344ae10cf4da83b3aa9e4866d6f6ffb06ba7e34ec1ce80c92468cf3bf
drh [Fri, 1 May 2020 15:04:13 +0000 (15:04 +0000)]
drh [Fri, 1 May 2020 13:45:12 +0000 (13:45 +0000)]
Clarification to the sqlite3_uri() family of interfaces. Documentation
enhancement only - no changes to code.
FossilOrigin-Name:
853703cd6d44d6dd48ef5eda6523e374b8ebdf7c338ddaad31c15a40a8b3fd9b
drh [Fri, 1 May 2020 13:32:19 +0000 (13:32 +0000)]
Update documentation for sqlite3_close_v2() for clarity. No functional
changes.
FossilOrigin-Name:
80498b69ea489e8816c80a52c9e55a62699116fcbfdcbfd922ef23c2d9938871
drh [Fri, 1 May 2020 11:31:43 +0000 (11:31 +0000)]
Add the new SQLITE_IOERR_DATA result code and use it in cksumvfs.
Also enhance cksumvfs to emit an sqlite3_log() message whenever it finds
an invalid checksum.
FossilOrigin-Name:
a094e8bfdef10d9e5d97f5a9f7c15b0fc547358b83367762ba5c2dfd2c9d0117
drh [Wed, 29 Apr 2020 01:09:46 +0000 (01:09 +0000)]
Do not allow page_size changes on an active cksumvfs database.
FossilOrigin-Name:
2c17cdce26fd935e6d81ff828f4670291fc014013c93b2a1578506598345ee86
drh [Tue, 28 Apr 2020 23:09:56 +0000 (23:09 +0000)]
Fix incorrect error message when something goes wrong with the
sqlite3_dbpage() table-valued function in the .dbinfo command of the CLI.
FossilOrigin-Name:
0dcf002463f5931c3875d2038d2b97298f1800b1cdfa70485d6430ab758f3b25
drh [Tue, 28 Apr 2020 20:47:40 +0000 (20:47 +0000)]
drh [Tue, 28 Apr 2020 14:01:31 +0000 (14:01 +0000)]
Use AtomicStore() when setting the mem0.nearlyFull boolean to avoid
harmless TSAN warnings and to forestall doubts about threadsafety.
FossilOrigin-Name:
ce980af65a9b528f112baa22a95020a98ac5340155a0b53b09c46f99aad9b12b
drh [Tue, 28 Apr 2020 11:45:41 +0000 (11:45 +0000)]
Use an AtomicLoad() macro in sqlite3HeapNearlyFull().
FossilOrigin-Name:
7556bc632e271d8a1e4fd836ce91e28213768ac09c90857b91171e9cd1009884
drh [Sun, 26 Apr 2020 22:04:48 +0000 (22:04 +0000)]
Yet another attempt to enhance sqlite3_load_extension() so that it works
with Window-style pathnames using a backslash separator character.
FossilOrigin-Name:
b73d9a7d6f7fec0ffc9640902a849289c305f8651e891388c01255c4da7a6c4b
drh [Sun, 26 Apr 2020 14:33:54 +0000 (14:33 +0000)]
drh [Sat, 25 Apr 2020 21:05:51 +0000 (21:05 +0000)]
Fix the sqlite3_load_extension() interface so that it tolerates backslashes
in place of forward-slashes in pathnames on Windows.
FossilOrigin-Name:
bc3bf7c6681a96bc18a1ed02f0ccced4731d5dab45f60c347dd1841706e6b62a
dan [Sat, 25 Apr 2020 15:01:53 +0000 (15:01 +0000)]
Ensure affinity is not discarded from a view column if the view appears on the rhs of a LEFT JOIN. Fix for [
45f4bf4e ].
FossilOrigin-Name:
ac31edd3eeafcef46164a4506bbc32c711bb7cd78378aeaa4c9bb12524ac5ea1
drh [Fri, 24 Apr 2020 18:20:30 +0000 (18:20 +0000)]
The new sqlite3_database_file_object() interface requires that the pager
never invoke xOpen with SQLITE_OPEN_MAIN_JOURNAL unless it is using
a pointer to the journal name found in the Pager structure itself. Make
this the case when processing a master-journal.
FossilOrigin-Name:
b4987a5ced0c0f2c606c040e0c1b8ee11175f40ae35a7446308a43e77b1f1db2
drh [Fri, 24 Apr 2020 17:55:52 +0000 (17:55 +0000)]