1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-10 01:02:56 +03:00
Commit Graph

2925 Commits

Author SHA1 Message Date
dan
74d6cd887f Fix bugs in WAL mode rollback.
FossilOrigin-Name: 31215969f59be536fe87431bb9fbfa7d13027e35
2010-04-24 18:44:05 +00:00
dan
9de7943783 Merge with [0291ed974d].
Merge with [0291ed974d].
Merge with [0291ed974d].

FossilOrigin-Name: a352f6285e33a806fbe4475e720e763fdc5bb47d
2010-04-24 14:33:08 +00:00
drh
545f587fc8 When commands such as ALTER TABLE and VACUUM use SQL internally, make sure
they use only the built-in functions and not application-defined overrides
for those functions.

FossilOrigin-Name: 0291ed974d5bf1e344e2c38422530cc961b897da
2010-04-24 14:02:59 +00:00
dan
3306c4a945 Fixes and tests for backup of a WAL database.
FossilOrigin-Name: 480d12db4c0ebcc37598f7620d39193875eab15b
2010-04-23 19:15:00 +00:00
dan
d5c99c3939 Add very simple test cases for backup and VACUUM of WAL databases. More to come.
FossilOrigin-Name: 1077d8130b8ed5716ad73f78382270909d347963
2010-04-23 11:44:40 +00:00
dan
ce4f05f374 Create a version of the log checksummer that works on big-endian platforms. Remove the 512KB size limit on the log-summary.
FossilOrigin-Name: 5d6d4423d1def39bd2424703120aa985085c3f8e
2010-04-22 19:14:13 +00:00
dan
ede6eb8d1d Further tests and changes related to switching between WAL and rollback modes.
FossilOrigin-Name: 1236318477787a612f02cc98caf2931bd2e99d94
2010-04-22 06:27:04 +00:00
dan
b978002743 Tests for (and changes to) the code to switch between WAL and rollback modes.
FossilOrigin-Name: 9f4f933f2c6596064fcfc7fb5add87e8c5b57448
2010-04-21 18:37:57 +00:00
dan
a470aeb4ac If, after obtaining a SHARED lock, there exists a *-wal file in the file-system, use WAL mode. This is necessary to recover from a crash that damages the first page of the database file.
FossilOrigin-Name: 33cabf271b8f4dda508a610bf59964273fe2cb84
2010-04-21 11:43:38 +00:00
dan
28e5386f79 Minor changes to test cases to account for the fact that databases with read/write versions of 2 are now understood.
FossilOrigin-Name: 278ed41e1d4bbff9544cb2cf4cf52dbbcf0c17df
2010-04-21 06:19:12 +00:00
dan
e04dc88be5 Use the read and write version fields of the database header to mark a database as operating in wal-mode.
FossilOrigin-Name: 96bef18c1411c3e0348295886f105e1646c46320
2010-04-20 18:53:15 +00:00
dan
8d22a17411 Add the sqlite3_log_hook() interface for scheduling checkpoints.
FossilOrigin-Name: 9bda601455705475075e33bfa85687bce34b15ff
2010-04-19 18:03:51 +00:00
dan
dea0a85091 Merge with trunk commit [3e646e3f4c].
FossilOrigin-Name: 43463970f5885fb116588695146f2a56cb22804a
2010-04-17 15:45:35 +00:00
dan
6703239d2f In synchronous=normal mode, do not sync the log after every transaction. In synchronous=full mode, sync the log and add any extra frames required to avoid blast-radius related problems after each transaction.
FossilOrigin-Name: 9bc9b6847303d0324543a9ded8dd0473490122d8
2010-04-17 15:42:43 +00:00
drh
3674bfd1b6 Change sqlite3_step() so that it automatically calls sqlite3_reset() instead
of returning SQLITE_MISUSE when invoked on a prepared statement that
previously returned any value other than SQLITE_ROW.

FossilOrigin-Name: 3e646e3f4cd0ca288e444561e951cecfdaee2ab5
2010-04-17 12:53:19 +00:00
dan
3de777fd8c Enhancements to wal-mode locking scheme.
FossilOrigin-Name: 8549c286497f3d2cd118be1334fce00d6f8a26c4
2010-04-17 12:31:37 +00:00
dan
97a313554d Change the log file format to include a small (12 byte) header at the start of the file.
FossilOrigin-Name: 9865d14d6041874bc1239ce7a061d5c75f2d33c9
2010-04-16 13:59:31 +00:00
dan
4a4b01dc1c Fix bug in log recovery (last frame in log was being ignored). Also remove an incorrect assert statement.
FossilOrigin-Name: 67d2a89ec2d593a077eb19a6ea2b06cb1c2e9ba8
2010-04-16 11:30:18 +00:00
drh
f391327824 Disable query flattening when the outer query is a compound SELECT and
the inner query has a LIMIT clause.  Ticket [02a8e81d44].

FossilOrigin-Name: f96782b389b5b97b488dc5814f7082e0393f64cd
2010-04-15 23:24:29 +00:00
dan
4cc6fb6165 Allow writers to write dirty pages to the log mid-transaction in order to free memory.
FossilOrigin-Name: ecd828f96909895535d7dc744e5a8530e234e04d
2010-04-15 16:45:34 +00:00
drh
ce2f88d95b Bring over the recent query planner enhancements from the trunk.
FossilOrigin-Name: 82969f27e5ea843cb379666d8a02e4a3fddc03b2
2010-04-15 02:37:10 +00:00
drh
ed754ce2cc Further refinements to table order selection on join query planning.
FossilOrigin-Name: defaf0d99a807027f8883bf821b6482025f9f54e
2010-04-15 01:04:54 +00:00
dan
49320f8568 Add tests and fix bugs in WAL locking mechanism.
FossilOrigin-Name: c18077f2465fc34830f11c9832e76be5746eaeea
2010-04-14 18:50:08 +00:00
dan
e264d983d1 Add tests to check inter-process WAL locking.
FossilOrigin-Name: 9435f3135849e0d38fde1669201db508561a6308
2010-04-14 18:06:50 +00:00
dan
b9bf16bfde Fixes for locking issues in WAL mode.
FossilOrigin-Name: a9617eff39177250e2f118f25fdd4b3acb8b0478
2010-04-14 11:23:30 +00:00
dan
f05c86dd73 Remove old code to interpret an argument (no longer used) to "PRAGMA checkpoint".
FossilOrigin-Name: 27dc5977c19e717afd65d3805557e38dec7bedcb
2010-04-13 11:56:03 +00:00
dan
80a1526a9a Fix other problems in the WAL test scripts.
FossilOrigin-Name: dcb31181db246dd3f81ce63b144dd0cf95f06ee3
2010-04-13 11:45:31 +00:00
dan
d3f8f94652 Fix test script issues preventing walthread.test from running.
FossilOrigin-Name: d90b1dde0702ceb0eae2a3da36733a7e5b1a6b3a
2010-04-13 11:35:01 +00:00
dan
9281bf2a9f Fix a pager bug introduced by the wal code.
FossilOrigin-Name: 4a0b29dc5e573a5d696ede17db5d7acf8d23aa98
2010-04-13 11:18:40 +00:00
dan
835ae8bcdd Sync wal branch with [012cf101bf].
FossilOrigin-Name: 9d690f24f634696f76fa38372461cfa69263e91e
2010-04-13 06:20:45 +00:00
dan
c9206ed56e Test that the rollback-hook is invoked if a commit-hook implementation returns non-zero (causing a rollback). Remove documentation comment that says otherwise from sqlite.h.in.
FossilOrigin-Name: 012cf101bf8be9e39c138786ea5a5039b8131e55
2010-04-13 06:18:02 +00:00
drh
08ede1d08b Add e_fts3.test to the set of tests excluded from the inmemory_journal
exclusion list, since it does simulated OOM errors which trigger I/O errors
and SQLite is unable to recover from I/O errors without a persistent journal.

FossilOrigin-Name: e7e7127f0b0db582274338a9fefc30a0c0be07c3
2010-04-12 20:54:13 +00:00
drh
02927cc1f3 Clear a global variable in e_fts3.test before it is used.
FossilOrigin-Name: ae89dfd26b65fb1a3633a4338f5cb5e54a7d2035
2010-04-12 19:43:43 +00:00
dan
7c24610e64 Import experimental write-ahead-logging code.
FossilOrigin-Name: 409d61baeb0a19d1700c973f16c8acef7b8506cd
2010-04-12 19:00:29 +00:00
drh
f762593eaa Add a test case for the OOM-fault corruption issue.
Ticket [9d68c883132c8].

FossilOrigin-Name: 0a64a937b583c32c02c83fc669addf79662efea8
2010-04-09 23:05:24 +00:00
drh
c71b5f34c9 Additional automatic index tests.
FossilOrigin-Name: 99d8e325e9eb8905631b06676206e6412f386d08
2010-04-08 16:30:38 +00:00
drh
7caba669a6 New test cases for automatic indices. New testcase() macros associated
with column-used bitmasks.

FossilOrigin-Name: e1aa48ace7e43c3805278120b8228ee597e2cee7
2010-04-08 15:01:44 +00:00
drh
5a8aedab2d Pull over the latest changes from the trunk.
FossilOrigin-Name: e388fe8be878c80ef0bfd1699a7268cdb22cb3c6
2010-04-07 20:32:18 +00:00
drh
3c379b0101 Add an interface to the SQLITE_STMTSTATUS_AUTOINDEX status information
to the TCL bindings.  Add some simple automatic index test cases.

FossilOrigin-Name: 1f40441204d9a912b1d6b67ff6ff9e17146c7abd
2010-04-07 19:31:59 +00:00
drh
c633908199 Wrap all automatic index changes inside SQLITE_OMIT_AUTOMATIC_INDEX. Add
the automatic_index PRAGMA to turn it on and off.

FossilOrigin-Name: a811a47fbe4f757a7ab575ae5a0f65177a3f07c0
2010-04-07 16:54:58 +00:00
dan
0a7a9155a4 Add file test_demovfs.c, containing a simple VFS implementation that demonstrates how writes to the journal file may be safely buffered by the VFS layer to improve performance on some embedded systems.
FossilOrigin-Name: af3b72d94a1b6513f02402af3ada5fb5dd390151
2010-04-07 07:57:38 +00:00
drh
a21a64dd0c Veryquick.test is now working. The SQLITE_STMTSTATUS_AUTOINDEX counter
added.

FossilOrigin-Name: abbf16e5e7895971710fb3a8fd9c782fc1218a77
2010-04-06 22:33:55 +00:00
drh
4d077f9255 Disable the corruptE.test script when ENABLE_OVERSIZE_CELL_CHECK is on.
FossilOrigin-Name: 1dc4f9fe9b83467ba014e759b93f6caa2925e4d2
2010-04-01 18:33:14 +00:00
drh
43377f5ad5 Zero the filesize-in-header word for bigfile.tcl. Remove bigfile.tcl from
the journaltest permutation.

FossilOrigin-Name: 63610c71ca629de5e81950bc3c2ee6014e67853b
2010-04-01 16:15:56 +00:00
drh
8d8626fe2b Report corruption if a database contains a reference that is out of range
according to the filesize-in-header database size.

FossilOrigin-Name: a91db0b1cd0b0fbadc5c8fe2eb8863629b411d87
2010-03-31 20:29:06 +00:00
dan
67a6a40cf9 Clear the column cache before populating aggregate accumulator registers. Fix fo
r [883034dcb5].

FossilOrigin-Name: ffc23409c7fb45dc5a8722fad26e26d207bb3213
2010-03-31 15:02:56 +00:00
drh
b1299158c7 Continuing refinements to the filesize-in-header enhancement.
FossilOrigin-Name: 79e22b95038c50b9b7f35e09262805ff6338b59b
2010-03-30 22:58:33 +00:00
dan
7ba4597135 Do not crash when compiling an "INSERT INTO tbl DEFAULT VALUES" when tbl has either BEFORE or INSTEAD OF triggers attached to it. Ticket [f3162063fd].
FossilOrigin-Name: ca359a3e8048bd11605c41c4b48134c0343e543b
2010-03-30 12:40:32 +00:00
drh
5e0ccc216d Fix issues with the io.test script. There is still a problem with a
ROLLBACK TO not working on an initially empty database files.  And much
more testing is needed.

FossilOrigin-Name: 09786e2a51817d572a01ae7f3621f03fd27fc363
2010-03-29 19:36:52 +00:00
drh
dd3cd977cc Experimental changes that cause SQLite to use bytes 28..31 of the database
header to determine the database size, rather than using the actual database
size.  This allows database space to be preallocated.

FossilOrigin-Name: b844ac6fcb72595a71e5c5283ec461309a87ba79
2010-03-27 17:12:36 +00:00