dan
303b02cc0b
Fix an LSM problem causing the wrong amount of "auto-work" to be performed
...
under fairly obscure circumstances.
FossilOrigin-Name: a4876672edea4e96103efd2463ce9a34a0b994a8744c941660940578aafbd454
2018-01-05 11:34:18 +00:00
dan
8503d6451b
Fix an LSM crash that could occur if LSM_CONFIG_AUTOFLUSH was set to 0.
...
FossilOrigin-Name: 05346f83d587e6049da0e8ec5f62c749daa9e80359cf48f8c37e333e6a1e7d2a
2018-01-05 07:57:54 +00:00
dan
34aebb88da
Change some LSM code internal typenames from "Blob" and "Pgno" to "LsmBlob"
...
and "LsmPgno". This allows the LSM code to be compiled as a single unit with
sqlite3.c.
FossilOrigin-Name: 30bf38d589adf0b2eb613e184ffb03ed7e625736cb04fd5c341328f72bc5ef4d
2017-12-13 15:32:33 +00:00
dan
62128540ef
Add script to amalgamate all LSM files into "lsm1.c".
...
FossilOrigin-Name: e32b69d73062e233b0ac853611d10b24546a346a603289ab0e339a3604ae2af4
2017-12-13 14:22:48 +00:00
dan
cda185d3a2
Ensure that empty space on pages is zeroed before they are written to disk.
...
This helps with compressed databases, and stops valgrind complaining about
uninitialized bytes and write().
FossilOrigin-Name: 5ffec5db33137251090d45e2ca7e3e7823e3215ae89822d905923424ceba2ac2
2017-11-16 20:48:47 +00:00
dan
3e846cb81f
Fix a problem causing LSM to add unnecessary padding to empty segments in
...
compressed databases.
FossilOrigin-Name: 1bc2d04645c5239ba9a30a13f6fb3c8cc46461c864e7927012bc0ad305eb705e
2017-11-08 11:14:53 +00:00
dan
a3bc84255a
Fix an LSM problem with read-only connections and compression (not
...
compression-factory) callbacks.
FossilOrigin-Name: 51ee5188b03c4b9508e94afaee4bf1f224aef28875efabda8ce09a5ab641d99e
2017-11-04 08:53:37 +00:00
dan
b5ef728db6
In lsm (not SQLite), avoid opening the *-shm file before the database file is
...
locked. Otherwise, there is a race condition whereby a connection in another
process process may unlink() it while it is still in use.
FossilOrigin-Name: c8b8b9b573665c2b4d278bb679a48ac407374b8d860f0c3f4d50a303043464ad
2017-10-23 11:48:00 +00:00
drh
140efc90ea
Improved comments in the header of the LSM1 vtab module. No code changes.
...
FossilOrigin-Name: aa49926dbffaae4f7c486be72ad814f381cca65c549f9d2605f47540a5f4be84
2017-08-11 18:55:04 +00:00
drh
cb96d2a79c
New test cases for LSM1.
...
FossilOrigin-Name: cb0c49cbd1eede157c5bd60d1e28e02c642aefe1ff82553eac1117a4c73dd9db
2017-08-11 13:51:41 +00:00
drh
037a2bacb0
Convert the LSM1 virtual table to be WITHOUT ROWID and get UPDATE and DELETE
...
operations working on it.
FossilOrigin-Name: 2164031b509dc6eae367ffb9d915f3e1d33d26210506b2de8b2bfca38c53465f
2017-08-11 12:49:59 +00:00
drh
73e00cf056
Various bug fixes for the new LSM1 virtual table design.
...
FossilOrigin-Name: 94434a252f0f2b57f325fd8fb82534f20cc1340ff13076cd88deeb47740ef6a2
2017-08-09 19:27:24 +00:00
drh
2e27d28fec
Work toward redesigning the interface to the LSM1 virtual table.
...
FossilOrigin-Name: 313df946668b943b0a9a9a91fd7bafa7212d05765c7714fa6c0de46aa9062a74
2017-08-09 18:40:35 +00:00
drh
c9fb27bfa8
In the LSM1 virtual table, dequote the filename before opening the file.
...
FossilOrigin-Name: 6ed4ef03ff6f22ae83a14facc48ce594911d7d7b37446436b68af3a822578fae
2017-07-14 15:57:56 +00:00
mistachkin
59541d70a8
Changes to the LSM1 Tcl tests to make things work on Win32.
...
FossilOrigin-Name: 7dc5e70ef1faa0b51a04abdfe1ee2f9ea5c2d0f99ea8ef6260b9de02500cf8b2
2017-07-14 15:45:27 +00:00
drh
a199ffca58
Include a hint in the header comment of the LSM1 makefile about how to
...
set the LSMOPTS variable.
FossilOrigin-Name: b5e3b264814cde9572130b70fc0d21ccebc2d7f5f0e7db50b6395cb63723383e
2017-07-14 15:42:11 +00:00
drh
aa15168983
Update the Makefile for LSM1 so that the LSMOPTS can be set prior to
...
including the Makefile, in order to add platform arguments such as -fPIC.
FossilOrigin-Name: fe319bcd7f85e9997babdb024ab350514524f5901903600fa9780bdcd1805098
2017-07-14 15:32:11 +00:00
dan
4b8035e69b
Add very simple tcl tests for the lsm1 extension.
...
FossilOrigin-Name: 5e0a97930b08fff1c3a29f5c8b2962b856e3302209228c0e71b9f1a1bd2a4be3
2017-07-14 11:40:48 +00:00
dan
47ebd4cadd
Fix a problem in an lsmtest test case caused by writing data in "text" mode
...
instead of "binary".
FossilOrigin-Name: 3e56a79ad8754e6da3181883154fa1c8b227a8d16c9b2a3eba925371595ae1f9
2017-07-12 14:03:13 +00:00
dan
1cd523cf0f
In lsm, attempt to unmap the database file before truncating it when
...
disconnecting. A mapped file may not be truncated on win32.
FossilOrigin-Name: 39069941e98605bc8c7c736819781761760ee2b83363471ceb6f19e5eb06b13a
2017-07-11 20:36:35 +00:00
dan
416b8694fa
Simplify the way in which the database file is truncated when the last
...
connection disconnects. Also ignore the error code from the xTruncate call -
as truncating a database file is always optional.
FossilOrigin-Name: b0a49d90fc91acca1306cf6145adc83acd368686768b7eb4a3b27515b3237396
2017-07-11 19:55:38 +00:00
mistachkin
ba334bb20d
Make win32GetTimeOfDay() in the lsm1 test code more portable.
...
FossilOrigin-Name: 2fe3a84330063378ca9fc5bfc8efe486c52d50b5c40be4f402a4f2318be69436
2017-07-11 17:54:27 +00:00
mistachkin
b7bfc3b12d
Fix a whitespace alignment issue in lsm1.
...
FossilOrigin-Name: a8e651e0e52b016c3939df3ee23b4981f1a8841c7ddd2981c1ef391feb559a5e
2017-07-11 17:06:42 +00:00
mistachkin
36c68234d6
Fix more harmless compiler warnings in lsm1, seen with MSVC 2015.
...
FossilOrigin-Name: 0f1307f1f5638c1c4f1ce2b89cdef7ce8b76dc2a38685cd1ca152cde9e8727da
2017-07-11 16:46:41 +00:00
mistachkin
1be5051923
Fix harmless compiler warnings seen with MSVC for lsm1.
...
FossilOrigin-Name: cf6da4a52f7f9047e653ef2972e4c0910b29d7182d789a9e30225dc1849e8779
2017-07-11 16:36:10 +00:00
mistachkin
b2950c48e1
Fix harmless compiler warnings in lsmtest.
...
FossilOrigin-Name: bd8a1fb9b33418717c786a7275f636cd4d5facd66de9a416f948b61c6490c743
2017-07-10 21:32:11 +00:00
mistachkin
240e7ef4bb
Minor cleanup and refactoring of the Win32 VFS for lsm1.
...
FossilOrigin-Name: bf7eda67c8124c3cd5d9150f2f2694cd3f991b20e0a527398885976d0d787242
2017-07-10 20:33:50 +00:00
mistachkin
91ea8cf4ac
Cleanup header usage in lsmtest for files that require _O_BINARY.
...
FossilOrigin-Name: f3a6a64ec90e6cf24aadf62aef4f92104be5ba6790f7fca040eff7abc31f1061
2017-07-10 18:57:03 +00:00
dan
ff7733db52
In LSM, avoid calling the VFS xTestLock method to test for a lock that
...
conflicts with one held by the same process. The results of such a call are
considered undefined (since they are different under win32 and posix).
FossilOrigin-Name: a82a9bea624caf6b24d8e3f3c596817968b258f06e54288022f6df8226281057
2017-07-10 18:33:41 +00:00
mistachkin
50963c9da8
Fix comment in the Win32 VFS for lsm1.
...
FossilOrigin-Name: 12a421bcacf72128426eeafed8663accd8f2ac7edb46f620b60b8239065e657e
2017-07-07 21:20:26 +00:00
mistachkin
85bd1cd52b
For lsmtest, use a more portable means of setting open() files to binary.
...
FossilOrigin-Name: aea6e0ffd33f41482f1b53b9f21b77add2865abda4eec1d9ee197177f74f43d0
2017-07-07 21:15:24 +00:00
mistachkin
1d91e9f26a
Adjust copy_file() lsmtest function so it works properly for locked database files on Win32.
...
FossilOrigin-Name: 54a3855583deac93c955ed77fe82be6a6b7aadd3fdb7e6b895888e2a4ff530bd
2017-07-07 20:35:14 +00:00
mistachkin
b11c650c01
Fix typos in Win32 VFS for lsm1.
...
FossilOrigin-Name: 0961ec873b78ad2da0ea9cdf2934bc8f08276375a153fe5d9fa8d4280328deef
2017-07-07 19:22:35 +00:00
mistachkin
73518c5876
Fix the memcpy calls in the lsmWin32OsShmMap function for lsm1.
...
FossilOrigin-Name: aa4890b9f9e9698c61d6ca0e24c26280f5e0a87a8c02865933ad483a1fd44d84
2017-07-07 19:12:55 +00:00
mistachkin
9a7a77ad36
Add support for LSM_DEBUG to the MSVC makefile for lsm1.
...
FossilOrigin-Name: 277a7fedafbe5b43d44086f3cb73e952873913bdc4b51041f45b6571b386d7d9
2017-07-07 18:31:51 +00:00
mistachkin
9b8c5f6819
Fix the usleep() macro in the Win32 test code for lsm1.
...
FossilOrigin-Name: 63599fa524a7c72ffa5362041f2ec394d9af9c43025d8b6d5a34e98eb423d5ff
2017-07-07 17:57:21 +00:00
mistachkin
e60092b90c
Improve clarity in the Win32 VFS for lsm1.
...
FossilOrigin-Name: 9c7a9e805d95d3d4a3f7e2d608280b7ca0dda01114e32cd366b1deb14e6e6839
2017-07-07 16:46:08 +00:00
mistachkin
baebf3cc4b
Add support for LSM_DEBUG_MEM to the MSVC makefile for lsm1.
...
FossilOrigin-Name: 3340de83df8c4fb19f729e6ff0838a9a03a1e701cdb40cb830e76f294198024a
2017-07-07 16:29:37 +00:00
dan
45158fa5d9
Remove a block from the Win32 VFS for lsm1 that is now superfluous.
...
FossilOrigin-Name: 5f726f2830dcf91f5e5c010b10761757f746d39b9dd2b8c9770452ce65bb1652
2017-07-07 16:27:43 +00:00
dan
3bc909b0af
In lsmtest, use an empty string instead of ":memory:" when requesting a
...
temporary database from SQLite. This prevents other test code from trying to
unlink() ":memory:", which fails on win32.
FossilOrigin-Name: 281ad505d7a112c5524ea9fb195dfc46f819a58f79f42b37b12fbfe46a089ff2
2017-07-07 16:09:24 +00:00
mistachkin
5bd9e61f05
Remove a block from the Win32 VFS for lsm1 that is now superfluous.
...
FossilOrigin-Name: db4a41408eff450ee429b936847313c2c92ba1f5b1fcbadaacaff3c08bfdd589
2017-07-07 16:07:53 +00:00
mistachkin
d429ec222c
Memory reallocation fix for the Win32 VFS for lsm1.
...
FossilOrigin-Name: 5a3140e4dedace6de4366a3c52e41b818b6d19f356fdab738c6605afc1b674fa
2017-07-07 16:06:30 +00:00
dan
7181395a4d
Fix a problem in lsmtest causing one test to fail for multi-threaded LSM
...
connections.
FossilOrigin-Name: 2bce64c8864b616f9ab0063f64d0ceb2f83e53e110970c6b3b11003cba5c8804
2017-07-05 14:29:04 +00:00
dan
431a53fde2
Fix further OOM handling cases in LSM.
...
FossilOrigin-Name: ca757c8665e27de884086b2aab2bd1db481e2d12f2afe136ec151bf5a0e65b91
2017-07-04 19:23:32 +00:00
dan
038af0bdc6
Fix a couple of problems in handling OOM conditions within LSM.
...
FossilOrigin-Name: 989a5c1745a7145c14c6d9b713176ecba6b99296de8bdd09f666eeef10da9c2e
2017-07-04 17:25:45 +00:00
drh
518ee8f06f
Fix compiler warnings in LSM1, especially in the test logic.
...
FossilOrigin-Name: 9bd3be92b8add7bd0d7bc4b0742b2dd227ebb8d67a839b78f26f2b06b47490f2
2017-07-03 21:09:28 +00:00
dan
45408a108f
Fix a bug in lsm queries on levels undergoing incremental an merge that
...
contain range-delete markers.
FossilOrigin-Name: b2c2487928becbea5a932895d153709c98a057a3c71c2600e165478562e9f7c5
2017-07-03 20:19:28 +00:00
dan
05dda7ba8e
Add more tests for LSM log file recovery. Fix a problem in recovering log
...
files that contain range deletes.
FossilOrigin-Name: e34eafd4c5b2bbf2735e136ad69b67bb4288ad4d01a0128d8e107ac46209a182
2017-07-03 09:00:18 +00:00
dan
24f6904e99
Fix a memory management problem in lsm log recovery code.
...
FossilOrigin-Name: dd55af30b4440bba1b97c2155b9f499d791cd7d8bae8341972c41439fdc41edc
2017-07-01 20:59:06 +00:00
mistachkin
04222ce52e
Add some assert() statements in the Win32 interface for lsm1.
...
FossilOrigin-Name: d076d58ff108d286f7ac1f81e1ce945d6f4a4f5f97e3b8d5cee6f8d9a6c48d8f
2017-06-30 19:22:33 +00:00