dan
d05cc8f8b7
Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions.
...
FossilOrigin-Name: 2160ede1d12591275c3d82026be7775fd6c890435ab6ca83600029e96ca381a8
2020-07-16 20:57:35 +00:00
dan
4ffaa7c5de
Passive checkpoints do not use the busy-handler. So, in order to minimize visible changes for legacy applications, do not enable blocking locks for passive checkpoints.
...
FossilOrigin-Name: 9c2b4bdd03716bf492ba85198717f3084ebf187bdb068893bd1ff8662362df89
2020-06-29 19:58:26 +00:00
dan
ec206a7d34
Use AtomicStore() to set values in the wal-index hash table.
...
FossilOrigin-Name: 1ab30c75f2fe14d1ee77d0eace4e29ba8f805d63e2da0897b111ea1311f409aa
2020-06-04 16:07:51 +00:00
drh
9ee441a3a5
Merge version 3.32.1 into the begin-concurrent-pnu-wal2 branch.
...
FossilOrigin-Name: 0f9464c509cb99906e2e9df3b55087bebb89d678af1736b431035d6048fface5
2020-05-25 18:18:42 +00:00
drh
ea8c9a43aa
Merge version 3.32.1 into the wal2 branch.
...
FossilOrigin-Name: 5c1837572586902313702c46057ef5dc84030683ff3467c6f3f25903b6ab22d1
2020-05-25 18:09:15 +00:00
drh
91960aa53f
Make sure variable declarations are at start of scope even when
...
SQLITE_ENABLE_SNAPSHOT is used.
FossilOrigin-Name: a77ceaf6ba934b1d73c90b8980191a65d02ad6ce1e11e6baf573b3a132685545
2020-05-25 12:02:12 +00:00
drh
70311ddd1b
Merge version 3.32.0 into the begin-concurrent-pnu-wal2 branch.
...
FossilOrigin-Name: 3cb296065aba04d01cbaa0b3b17b033cd20d8e84782466e8452bdffa8cee693e
2020-05-22 18:35:37 +00:00
drh
ca97a18493
Merge version 3.32.0 into the wal2 branch.
...
FossilOrigin-Name: 1cb46a7431797978a37e1c6ed77f6473eb44f13d15cd37267d4f9555ac825f53
2020-05-22 18:28:59 +00:00
drh
5a8cd2e40c
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
2020-05-19 15:51:10 +00:00
drh
f16cf653f4
In wal.c, improved comments on concurrency issues. More use of
...
AtomicLoad() and AtomicStore().
FossilOrigin-Name: 4bf566feca3a8fbe5e386533aac30e0ac25836cfc820a3abd91e156bd6198b4a
2020-05-19 12:27:29 +00:00
dan
9019e39d0d
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 5dc355ccf6ecf0af61e73efbf65bc5e1e192f748568344afbf8bca014ef98df9
2020-05-18 19:55:43 +00:00
dan
69105498b9
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 16b1eca922d6e10a0ebce1deb559c6c7dd74f8655e3456bad8384c6f4637e6d6
2020-05-18 17:18:28 +00:00
drh
d924e7bc78
Use the sqlite3Realloc() interface internally, rather than the public
...
sqlite3_realloc64() equivalent, to avoid unnecessary calls to
sqlite3_initialize().
FossilOrigin-Name: 1313557b512297e7b75ed748894379b2022aecf696d5a58318e46a668321c1ff
2020-05-17 00:26:44 +00:00
dan
8b4f231c47
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
2020-05-13 13:33:30 +00:00
dan
bc9fc18e45
Fix an assert() failure that could follow an IO error.
...
FossilOrigin-Name: e89c864299024cdce395a15c19b000b976142b9eed267901a288adaa695f9e65
2020-05-06 21:24:29 +00:00
drh
783e159e48
Fix harmless compiler warnings.
...
FossilOrigin-Name: 92dc59132f8547635d73c61c21ea29b380c401ddc84a6d01412808e00386b9e8
2020-05-06 20:55:38 +00:00
dan
7bb8b8a4f7
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
2020-05-06 20:27:18 +00:00
dan
fc87ab8c4a
Fix compiler warnings in non-SQLITE_ENABLE_SETLK_TIMEOUT builds.
...
FossilOrigin-Name: 22de99ef410ba2a540871f3e61157d8dc4b969416f14808aeca73971b17fcd51
2020-05-06 19:22:59 +00:00
dan
861fb1e9dc
Block on the WRITER lock when attempting to run recovery.
...
FossilOrigin-Name: 105d6c9bbcadc64faa2b24e315cb13227b17cfc6bf1b3512713f80ce56976a3d
2020-05-06 19:14:41 +00:00
dan
d0e6d13301
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
2020-05-06 17:18:57 +00:00
dan
58021b237a
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
2020-05-05 20:30:07 +00:00
dan
8714de97c0
Changes to avoid deadlock in SQLITE_ENABLE_SETLK_TIMEOUT builds.
...
FossilOrigin-Name: 553423c23142cf0ec219192315d57ce8a0e10c3d8678d28bc110a1a9a7c17cee
2020-05-04 19:42:35 +00:00
drh
fcf31b28ff
Add the SQLITE_FCNTL_CKPT_START file-control. Use it to optimize the
...
cksumvfs extension.
FossilOrigin-Name: b40f5aa344ae10cf4da83b3aa9e4866d6f6ffb06ba7e34ec1ce80c92468cf3bf
2020-05-01 18:37:34 +00:00
drh
bf92e44f43
Merge recent trunk changes into begin-concurrent-pnu-wal2.
...
FossilOrigin-Name: 6c11b67bd2c2844566027d59bf5a342d8b2bebd591cd06922e4609e79aa46b82
2020-04-09 19:00:09 +00:00
drh
bd74861e91
Merge recent trunk enhancements into the wal2 branch.
...
FossilOrigin-Name: 6fb870625cb7007fe5055609da35f6af87f3b375b7a43fd4e842d40dfef9169f
2020-04-09 18:46:15 +00:00
dan
892edb69c4
Use __atomic_load_n() and __atomic_store_n() for a few more things where they are available.
...
FossilOrigin-Name: a49f8ec552bede7da731e0571ccf49de1a30e7be3a5673150436c8b411ba6ffc
2020-03-30 13:35:05 +00:00
dan
3e42b99175
Fix "GCC_VESRION" typo in wal.c.
...
FossilOrigin-Name: fbd9378727141848ba2f5a8eee3076ecbd315e4a87b264c6d890103d56b2e4bc
2020-03-30 11:17:37 +00:00
dan
97ccc1bd11
Modifications to the way blocking locks are used in SQLITE_ENABLE_SETLK_TIMEOUT builds so that multiple processes or threads may not deadlock when operating on a single database.
...
FossilOrigin-Name: c516027d5fd876b7d0bf566435667d554db29ded30ad6fc1165caa4a93d015a0
2020-03-27 17:23:17 +00:00
drh
b48c0d59fa
Simplify the code by removing the unsupported and undocumented
...
SQLITE_HAS_CODEC compile-time option
FossilOrigin-Name: 5a877221ce90e7523059353a68650c5fdd28ed032807afc2f10afbfbf864bdfe
2020-02-07 01:12:53 +00:00
drh
74b950f145
Merge version 3.31.0
...
FossilOrigin-Name: 9c3f46384dc73a79f1b04cd5eed8e6a279fcb4387d1dbc20b912ee5aad180140
2020-01-22 21:18:33 +00:00
drh
8caab4aebe
Merge version 3.31.0
...
FossilOrigin-Name: 3bb267deb150c09bc424320d1de4bbaf519310e0e0c4af6a8ac5b6f8d59170b2
2020-01-22 21:12:27 +00:00
dan
1d7d8c8f74
Add the SQLITE_FCNTL_CKPT_DONE file-control for the use of custom VFSs.
...
FossilOrigin-Name: 3cc39e5069c8a6a32ecc49c571593615c0f347cadcd3e0325b7f9a11ddc1f546
2020-01-16 16:32:57 +00:00
drh
7ee2126844
Merge in the latest trunk changes via the begin-concurrent-pnu branch.
...
FossilOrigin-Name: 350627f3b12a94723b7d52cae8a53d07917ff037c4be9312ef7e4fd2e845b9cc
2020-01-15 14:21:02 +00:00
drh
b3168a0056
Merge recent enhancements and fixes from trunk.
...
FossilOrigin-Name: 35eae71a4dd4bd4e2d4a8f12c5e4a0cdb93dadee353b92e67a70a79b29587984
2020-01-15 14:11:34 +00:00
drh
2ecf928ea9
More details on the comment justifying the aleged data race in the WAL-mode
...
checkpoint logic.
FossilOrigin-Name: 0fab65c79f675c825ed7e85c82b65ce6f990c9d0796ebb3886942d241df7b268
2019-11-27 20:40:44 +00:00
drh
80c72a78bb
Bring the begin-concurrent-pnu-wal2 branch up to date with all the latest
...
enhancements on trunk.
FossilOrigin-Name: 15593bf3ad9650ce6a6ef8591240eba1be11974d3827cb86ebf0ecec3acda321
2019-09-16 12:29:47 +00:00
drh
254bcdd02d
Merge recent trunk enhancements into the wal2 branch.
...
FossilOrigin-Name: da8bc974126729f1558f3c18118a32efcc5bdd9611533c34090f7e9e5176b4e6
2019-09-16 12:23:30 +00:00
drh
55f66b341a
Add new assert() statements in an attempt to help static analyzers avoid
...
false-positives.
FossilOrigin-Name: 9e66458592d40fbd96ea5f21339573110ca1cfe328238a020c9420a87d35dd72
2019-07-16 19:44:32 +00:00
drh
680f0fe32a
Small performance and size optimization in sqlite3WalFindFrame().
...
FossilOrigin-Name: 03f2e78899fad99b0a0951b3a408268276954d4cd785389ed9a0192c9217f6fe
2019-04-17 21:12:05 +00:00
drh
655af9d7b6
Merge all recent enhancements.
...
FossilOrigin-Name: 1cd536ecc8f21898475d4641fd67da15a8007af78d59a1f418143b348aceeaad
2019-04-15 15:28:58 +00:00
drh
e5fd180648
Merge the latest trunk enhancements.
...
FossilOrigin-Name: 8950f1195a5e5a67202192857fda50c359a446d20264eab328209239ae0a2d95
2019-04-15 15:17:40 +00:00
drh
f6ad201ac2
Fixes for harmless compiler warnings.
...
FossilOrigin-Name: c28c973ad6debd63f13e5d4d3da036f680baaec9d863eda039f2747db9f1cfd5
2019-04-13 14:07:57 +00:00
drh
b92d7d264e
Add a defense-in-depth NEVER() test to the WAL cleanup code.
...
FossilOrigin-Name: 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2ad28f
2019-04-03 17:48:10 +00:00
dan
3dfff8dd8b
Fix the experimental sqlite3_wal_info() API so that it works with wal2 mode.
...
FossilOrigin-Name: 079daedbe440e712dc944aeef831ef6531d44096da406d52ce0d85a8a49618c5
2019-01-04 19:39:04 +00:00
dan
5a19f287dc
Merge changes from begin-concurrent-wal2. Also modify the unix-excl shm-locks
...
on this branch so that it is not an error to attempt to release an EXCLUSIVE
lock that is not held.
FossilOrigin-Name: 86685679b4cff94704fe4b52364f25f579d98ee725407cfe3bd2bbf7ecd651a8
2019-01-02 19:46:46 +00:00
dan
d080e84c81
Merge latest begin-concurrent changes with this branch.
...
FossilOrigin-Name: 1625887c0240eb1cb37e41d79e789c4ff311352c5708e6a2d3ed1b223ff382e3
2018-12-29 20:47:45 +00:00
dan
ff9e9b27d5
Fix a problem causing a corrupt pager-cache if an OOM or IO error was
...
encountered while committing a concurrent transacation.
FossilOrigin-Name: 48ca30f9d7817d87a5e9a069fdc51b1a34e00585f8a35771895dd743c7bfe07c
2018-12-29 20:42:12 +00:00
dan
71fad44b38
Increase coverage provided by permutation "coverage-wal" on this branch.
...
FossilOrigin-Name: f664f940a7eb6938b1ee171143a691e2f497aec921f979be63ef844d38053f56
2018-12-29 16:34:22 +00:00
dan
30db882a87
Merge latest wal2 changes with this branch.
...
FossilOrigin-Name: ea96001e801fbf228d1fb63b9d3c73fd9da54994d3cfe383ea76edfa6da83b8d
2018-12-27 17:11:59 +00:00
dan
ce909d1aae
Increase test coverage of wal.c provided by permutation "coverage-wal" on this
...
branch.
FossilOrigin-Name: 2f7f893a702728745445f6ef5f914c1157058a8fbdfd1a58cfb8906e5566729d
2018-12-27 16:49:33 +00:00