1
0
mirror of https://github.com/sqlite/sqlite.git synced 2026-10-25 09:59:22 +03:00
Commit Graph

82 Commits

Author SHA1 Message Date
dan
33447e7793 Add a test for the outcome of a process crash within an xWrite VFS method
call.

FossilOrigin-Name: eb8718006cb23ba9304da5c30d19863d688495f0eaae3794c5ad870e481866f8
2017-07-22 20:12:31 +00:00
dan
cb1b0a693a When saving the state of an RBU update in the incremental-checkpoint phase,
sync the database file. Otherwise, if a power failure occurs and the RBU
update resumed following system recovery, the database may become corrupt.

FossilOrigin-Name: edee6a80e1cc7e6a2b8c3c7f76dd794fc8ab9a72
2017-03-02 14:51:47 +00:00
mistachkin
d742367ab5 Further reforms to Tcl_*Alloc() usage.
FossilOrigin-Name: ee1e689633e517ce46307b9afbf1eda03482c928
2017-02-15 04:16:56 +00:00
mistachkin
7617e4a8a4 Make sure the SQLITE_TCLAPI macro is always defined.
FossilOrigin-Name: f2f1323cc4d2ad2d6794dbfae8d50b747213e85d
2016-07-28 17:11:20 +00:00
mistachkin
52b1dbb5fc Allow the 'testfixture.exe' target to be compiled with the __stdcall calling convention.
FossilOrigin-Name: e8be3dfeabaa31b3490793cf8230faae1204be15
2016-07-28 14:37:04 +00:00
dan
fe912510ea Fix an obscure problem with transactions written in "PRAGMA synchronous=full" mode on systems that do not support POWERSAFE_OVERWRITE causing an xSync() call to be omitted if the last frame written by a transaction is aligned to a sector boundary. This means that if a power failure or OS crash occurs very soon after such a transaction is committed, it may be lost following system recovery.
FossilOrigin-Name: 37de3eab67f12ae1ce5bc8d5e541c64fc6b1fd80
2016-05-24 16:20:51 +00:00
dan
05accd2216 Modify the permutations.test script so as to set any permutation specific configuration values before running each individual test script.
FossilOrigin-Name: 2662d8fef791f7b8b3b14f9c27dfedec84620dee
2016-04-27 18:54:49 +00:00
drh
a5f40593be Add the SQLITE_FCNTL_SYNC and SQLITE_FCNTL_COMMIT_PHASETWO file-controls
and have the pager call them at appropriate times.  This is needed in order
to enable ZIPVFS to do multi-file atomic commits.

FossilOrigin-Name: 552f94d50f08cf11f33205730fde52bc2f06cff6
2013-12-11 15:47:39 +00:00
dan
1d8b85bed1 Have the crash-test infrastructure code in test6.c read and write the 512-byte block containing the pending-byte lock as normal. Earlier versions did not access this part of the file in order to avoid triggering an assert in os_unix.c. But the assert() has since been removed. And not reading/writing this part of the file causes problems for multiplexor tests.
FossilOrigin-Name: fdc3f3fa3de1481860e1e2a819db2d6c4eb05658
2013-12-11 11:03:19 +00:00
dan
999cd08aae Modify the way some internal file-controls are invoked. In order to support multi-file transactions in the zipvfs extension.
FossilOrigin-Name: 32fb1784af4594161d954343e3787db702000a4d
2013-12-09 20:42:03 +00:00
mistachkin
2744938e82 Fix harmless compiler warnings.
FossilOrigin-Name: 1a0a88657f54874703fc05f828ce29ad115d9f28
2013-10-31 06:11:10 +00:00
drh
a703f50d7e Fix an 8-byte alignment problem on the "crash test" harness (test code,
not in the core) that causes problems on Sparc.

FossilOrigin-Name: bcbc65030fa7c61f94100142e94ba2a5774f85b0
2013-10-15 14:29:32 +00:00
mistachkin
48864df97d Many spelling fixes in comments. No changes to code.
FossilOrigin-Name: 6f6e2d50941e444ebc83604daddcc034137a05b7
2013-03-21 21:20:32 +00:00
mistachkin
5f070c7bc8 More warning fixes.
FossilOrigin-Name: 51a6a797e1d61c4361b87cdf3467bfd3ce161cc3
2012-10-18 10:35:19 +00:00
mistachkin
e1b461bd10 Fix harmless compiler warnings.
FossilOrigin-Name: 018e09c70347b9e0c76246ae65d57ef5d29a965a
2012-10-18 09:39:16 +00:00
dan
1e3e41858f Add a test for the problem fixed by [bf44d73d3e].
FossilOrigin-Name: db9b1fa5973d79e29885817d5aedc3a886c2589a
2012-10-17 16:20:36 +00:00
dan
ce5c42be28 Change the way the tcl crash-test code works to avoid triggering an assert() in os_unix.c.
FossilOrigin-Name: b8b7b8f9e97a5c34f0f199b46347e0bf85005a4d
2012-10-17 15:28:26 +00:00
drh
83cc139231 Fix harmless compiler warnings on x64 MSVC, mostly in test code, but also in
tclsqlite.c and in the FTS4 module.

FossilOrigin-Name: 3281972eaa46cb57fd9f0387063f47430dc0a3b4
2012-04-19 18:04:28 +00:00
drh
7da5fcb0b7 Fix MSVC compiler warnings in test code.
FossilOrigin-Name: cb7a850439c9a4a7887650d6b81d95ab8025de5b
2012-03-30 14:59:43 +00:00
mistachkin
f8a784645c On Windows, make sure the current directory value used by the test suite is 'normalized' to what the parent command shell sees. Also, clean the test directories used by the quota2.test file.
FossilOrigin-Name: 82bcd7ec1531f6d71c079578434c58d3ce46a1de
2012-03-08 20:00:36 +00:00
drh
cb15f35f3b Change the name ZERO_DAMAGE to the more descriptive POWERSAFE_OVERWRITE.
The query parameter used to control this device characteristic is now "psow".

FossilOrigin-Name: 6191c5e45175f5c6040e891843b0725a929d6dd7
2011-12-23 01:04:17 +00:00
drh
8bbaa89d8d Add SQLITE_IOCAP_ZERO_DAMAGE and enable it for both unix and windows. Use
this device characteristic to reduce the required work in journaling.
A side effect is that this changes the default page exists back to 1024
even with the use of statvfs().

FossilOrigin-Name: a0be6ea464695fdf1eaf2b7cf0652778617814f2
2011-12-17 19:49:02 +00:00
dan
422faae0ae Change the way the "crash" VFS (test6.c) handles SQLITE_FCNTL_SIZE_HINT.
FossilOrigin-Name: 40dd8a60be0ca79e0d0bf3a2b5a43f13c02b4971
2011-08-23 19:46:02 +00:00
dan
67e10d1fd3 Have the "crash" VFS used by the tcl tests (test6.c) handle SQLITE_FCNTL_SIZE_HINT internally, instead of passing it directly through to the underlying VFS. This is important if the crash VFS is simulating non-default device characteristics such as SQLITE_DEVCAP_SEQUENTIAL or ATOMIC.
FossilOrigin-Name: fac8bc8f3450a6ce74c9250acb0608e940ffb54d
2011-08-23 16:41:06 +00:00
drh
e11fedc589 Change the name of the xShmClose VFS method to xShmUnmap, everywhere.
FossilOrigin-Name: c2d27cf51d33e6f38bab37008d39074051f75274
2010-07-14 00:14:30 +00:00
dan
da9fe0c327 Changes so that the xShmOpen VFS method is no longer required. Its job can be done by the first call to xShmMap. Rename xShmClose to xShmUnmap.
FossilOrigin-Name: f4780bde62c6c19146d2723c101540b8db898d38
2010-07-13 18:44:03 +00:00
shaneh
ebffe41eaf Fix warning in test fixture code.
FossilOrigin-Name: 0bfcf3bcd77acab48344dde87cecb01e877f1a19
2010-07-08 16:22:51 +00:00
drh
2667be5e3f Remove the unused xRename() method from the sqlite3_vfs object.
Add better documentation on the xCurrentTimeInt64() method.

FossilOrigin-Name: 51ec0e5432dd6849b83a3d969a018482eb3bb083
2010-07-03 17:13:31 +00:00
drh
6b017cc6d4 Move the xShmMap method to in between xShmLock and xShmBarrier, since it seems
to fit in there logically.

FossilOrigin-Name: 58dfd83d8b7905391e2a06bb918ffa209c6de6b5
2010-06-14 18:01:46 +00:00
dan
188019153d Remove xShmGet/Size/Release from the sqlite3_vfs structure. Change the name of xShmPage to xShmMap. Remove some code that is now unused from os_unix.c and some of the test VFS implementations.
FossilOrigin-Name: fc0cabc15c97dde6a852b4f07df6d30f1d2c04bc
2010-06-14 14:07:50 +00:00
dan
067f3165d8 Add the xShmPage method to the "crash" vfs in test6.c.
FossilOrigin-Name: 1008f536440840da7d56c01ec147a25295fd1fd4
2010-06-14 10:30:12 +00:00
drh
73b64e4d2e Initial code for incremental checkpoint in WAL mode. This check-in compiles
on unix and runs as long as you do not engage WAL mode.  WAL mode crashes and
burns.  Consider this check-in a baseline implementation for getting the new
capability up and running.

FossilOrigin-Name: ef3ba7a17ff90674d702e5694b9e792851ab6998
2010-05-30 19:55:15 +00:00
drh
286a288493 Add a new xShmBarrier method to the VFS - a shared-memory fence operation.
Implement the same in both unix and win32.  Use it to make the WAL subsystem
more robust.

FossilOrigin-Name: 1bd011c9fed5ef29fb616b4d0a52df3b82221b1f
2010-05-20 23:51:06 +00:00
drh
5939f44375 Mark the shared-memory in the WAL implementation as volatile.
FossilOrigin-Name: 0a6787908e989bd5e6af25acbdc59ebc8fa61d6d
2010-05-18 13:27:12 +00:00
drh
d9e5c4f6ed Refactoring the VFS-SHM methods used by WAL. This version compiles and
runs non-WAL test cases but crashes and burns on wal.test.

FossilOrigin-Name: 2b00152c1ac0b3735aa6cfab61259ff04d81c701
2010-05-12 18:01:39 +00:00
drh
4c846bb148 Update the crash-test VFS in test6.c to pass-through the shared-memory
methods to the real underlying VFS.  This fixes the walcrash.test script.

FossilOrigin-Name: ea09ff37911376505e8262ee9841224995b696f2
2010-05-03 16:36:55 +00:00
drh
af75c8695b Add the xShmRelease() method to the VFS. The os_unix.c implementation of
the shared memory logic is still non-functional.

FossilOrigin-Name: ed715b47c5f7657fbf901805981867898054b14d
2010-04-27 11:49:27 +00:00
drh
f2424c521b Begin moving WAL-specific I/O into the VFS. This checkin contains VFS
infrastructure but it is untested and is not yet hooked up to the WAL.
The version number is bumped to 3.7.0 because of the VFS extension.

FossilOrigin-Name: f5e615c28c7035a7e6d896790b51cf9bc7371d5f
2010-04-26 00:04:55 +00:00
drh
c81c11f62c Remove the obsolete "$Id:$" RCS identifier strings from the source code.
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
danielk1977
d6846d75ca Fix the crashtest infrastructure so that it doesn't trigger the "don't write to the locking region" assert in os_unix.c. (CVS 6281)
FossilOrigin-Name: b7fd4615cd41179484bd44d2f4bd7aef04977911
2009-02-11 14:27:04 +00:00
danielk1977
2d42c2b247 Prevent code in test6.c from reading the 512 byte locking region (the PENDING_BYTE page) of a database file. Doing so triggers an assert failure in os_unix.c. (CVS 6276)
FossilOrigin-Name: 2a6a43169220fab5a15a786e2a464b90cb893179
2009-02-10 14:28:57 +00:00
danielk1977
a0fc72967e Add a vfs backend that detects problems like the one addressed by (6043) and (6047). (CVS 6049)
FossilOrigin-Name: 49172e487610268662c39fc4038032779a41c47f
2008-12-20 18:33:59 +00:00
drh
ec1724e888 Fix compiler warnings in where.c and in the TCL test harness. (CVS 5994)
FossilOrigin-Name: 680755dbf01e20569b87068b1515b144903c566e
2008-12-09 01:32:03 +00:00
danielk1977
17b90b5316 Remove the xGetTempname() method from the vfs structure. Temp files are now opened by passing a NULL pointer as the filename to xOpen(). (CVS 5190)
FossilOrigin-Name: 5173b3e816c7eb711cd21a9068bbafb9ebb7cff1
2008-06-06 11:11:25 +00:00
danielk1977
861f74563d Modify the signatures of the sqlite3_vfs.xAccess and sqlite3_vfs.xCheckReservedLock functions. (CVS 5188)
FossilOrigin-Name: 4226ac54beea1b58de8ab7b9d768d999f50438a6
2008-06-05 11:39:11 +00:00
danielk1977
822a51628f Add more version tags to files that lack them. Ticket #3120. (CVS 5137)
FossilOrigin-Name: 81a8c70ed7a86abf286706fdbc251f31c9c53382
2008-05-16 04:51:54 +00:00
drh
2fa1868fb6 Add a new api sqlite3_randomness() for providing access to SQLite's
internal PRNG.  Add sqlite3_test_control() verbs for controlling the PRNG. (CVS 4882)

FossilOrigin-Name: 15110ea02768bfe977a57eccd6b941a36ebd6b32
2008-03-19 14:15:34 +00:00
danielk1977
bf2609781b Move the test (sqlite3_simulate_device) functionality out of the main code and into a test vfs. (CVS 4737)
FossilOrigin-Name: 17e7bd6c3f507ffc6b56f54ae8c70730e8246f39
2008-01-22 11:50:13 +00:00
danielk1977
a98d7b4797 Add a test (and fix) for possible corruption if malloc() fails during a CREATE INDEX statement, the application continues with the transaction, then crashes. (CVS 4725)
FossilOrigin-Name: 65245d9904db19568d5092926b27f0c193c9ef0b
2008-01-18 13:42:54 +00:00
drh
a018dc777b Change to the crash simulator to give better diagnostics in case it
runs out of memory while using the mem3.c allocator. (CVS 4632)

FossilOrigin-Name: 0d5747dbad97bf09cf9050e44efbcf5d6b812fbd
2007-12-14 17:22:23 +00:00