drh
6eac06e6e0
Fix a null-pointer dereference that can occur following a DISKFULL error
...
while running VACUUM. (CVS 5096)
FossilOrigin-Name: 438d77a762a6f3cc7438e4d688013cc26e3e9486
2008-05-07 12:45:41 +00:00
drh
64e2bb7610
Omit mutex variables in the pager when threadsafe is disabled. (CVS 5095)
...
FossilOrigin-Name: d15d0bbab043e4366f7988423115babb550198a1
2008-05-07 12:29:55 +00:00
danielk1977
06e11af9b7
Fix a bug whereby the database file was not always being extended to its original size when rolling back an incremental-vacuum operation. (CVS 5089)
...
FossilOrigin-Name: 4a1ae9d0320de1013a3b5f24ebdd25fe9fdab424
2008-05-06 18:13:26 +00:00
danielk1977
52b472aebf
If an IO error occurs while locking the database and checking the cache validity, unlock the database before returning. Ticket #3030 . (CVS 5083)
...
FossilOrigin-Name: 4ad1809192b616d1c12499825bcd0967dea76864
2008-05-05 16:23:55 +00:00
drh
26e4a8b11d
Fix more compiler warnings. (CVS 5074)
...
FossilOrigin-Name: 59568844e774dbe89fd20bbc8f49a3665cc54717
2008-05-01 17:16:52 +00:00
drh
e265b08458
Fix harmless compiler warnings. (CVS 5073)
...
FossilOrigin-Name: 227a6f67c21c87a7cf98f84b9d57a6dc9da93ebb
2008-05-01 17:03:49 +00:00
drh
bf8a4341f1
Zero the per-pager temporary space allocation to avoid warnings from
...
valgrind. (CVS 5068)
FossilOrigin-Name: f854ae576ee0b223b86a1169178fc4399e8d08ce
2008-04-29 15:38:58 +00:00
drh
82ed1e5b37
Clarify some comments. No changes to code. (CVS 5049)
...
FossilOrigin-Name: 7f80539225b17a62e4aa09e6d514e3e9e1b22c36
2008-04-25 12:25:42 +00:00
danielk1977
700b9c5a58
Fix an assert() failure that can occur if "journal_mode=off" is used in a build with the atomic-write optimization enabled. (CVS 5043)
...
FossilOrigin-Name: 709d17b19d343f45aa6c7684685ab58c67d83da0
2008-04-24 12:37:40 +00:00
drh
a06ecba2f6
Always sync the journal file after zeroing out the header. (CVS 5036)
...
FossilOrigin-Name: 5896ae3d68d29dc172c027c72aa2a98ced2b7eb8
2008-04-22 17:15:17 +00:00
danielk1977
a664f8ebd0
Avoid non-contiguous writes when creating a journal header. (CVS 5035)
...
FossilOrigin-Name: dfacddbb5055b4e104bf536d5f5b35287fbbb904
2008-04-22 14:31:48 +00:00
drh
5cd6256950
Add some tests for journal_mode=off. Need to come up with a way of handling
...
rollback attempts when there is no journal. (CVS 5034)
FossilOrigin-Name: e29b870ed0db6360a95fb017f56c0b5388efb437
2008-04-19 20:53:26 +00:00
drh
16e45a4306
Continuing work on journal_mode. Journal_mode=persist now appears to be
...
working, though additional testing would be welcomed. (CVS 5033)
FossilOrigin-Name: 277e4099cee9105e1801a6d7f5d477f0d2efa858
2008-04-19 20:34:18 +00:00
drh
fdc40e9156
Continuing progress on the journal_mode pragma. It still does not work. (CVS 5027)
...
FossilOrigin-Name: 4a72a7bb9c5793cdaf4ee038482053e042d8db54
2008-04-17 20:59:37 +00:00
drh
3b02013e73
Add the journal_mode pragma. This is currently just syntax - it is not
...
operational. (CVS 5024)
FossilOrigin-Name: 8eaa0c71023ac428f6f9f8091341584caa773ab9
2008-04-17 17:02:01 +00:00
drh
f3a87624a2
In exclusive locking mode, commit by zeroing the first 28 bytes of the
...
journal file, not by truncating the journal. Overwriting is much faster
than truncating. (CVS 5023)
FossilOrigin-Name: 8efb7f4ffbfc3ad901a3bb1b4ff9390b8c13760b
2008-04-17 14:16:42 +00:00
drh
4c02a23557
Do not attempt to write to temporary database files that have never
...
been opened. (CVS 5007)
FossilOrigin-Name: 7bb9a4165afb96043dfeffad21eb51591a1fd2dd
2008-04-14 23:13:45 +00:00
danielk1977
a3e5218c6e
Do not set the pager to persistent error state if a call to OsAccess() fails. (CVS 5004)
...
FossilOrigin-Name: aa16eb572915632bfff88d544f9c428ca723346e
2008-04-14 16:37:10 +00:00
drh
c5d0bd907b
Get the SQLITE_SECURE_DELETE compile-time option working again.
...
Ticket #3050 . (CVS 4999)
FossilOrigin-Name: 40ba51fd4c621e29e7ff85495b1212c92f06ab31
2008-04-14 01:00:57 +00:00
danielk1977
ce98bba24b
Change the allocator in mem2.c (used when SQLITE_MEMDEBUG is defined) so that allocations are not rounded up to the nearest 4 byte boundary. Fix a couple of errors in malloc.test related to sqlite3OsAccess() returning -1. (CVS 4956)
...
FossilOrigin-Name: fd97f8762cb1e4653c932402940f74d7c0ebf71f
2008-04-03 10:13:01 +00:00
drh
334c80d615
Change the pager's sector size algorithm to the maximum of the size
...
reported by xSectorSize() from the VFS and 512. It was using the
maximum of xSectorSize() and the current page size, but that was adding
an extra 512 bytes to the size of the journal file in the common case. (CVS 4929)
FossilOrigin-Name: 17ea0c97a8bac1b34af1f9183d93a2f2a6af9690
2008-03-28 17:41:13 +00:00
drh
19db935225
Allow the xAccess method in the VFS to return -1 to signal an I/O
...
error, and in particular an SQLITE_IOERR_NOMEM. (CVS 4925)
FossilOrigin-Name: 3cb704c4c439425781644b1b653b7e50f02fd91e
2008-03-27 22:42:51 +00:00
danielk1977
f653d78282
Allow a VACUUM operation to change the page-size in the same way as it can be used to change a database between auto-vacuum and normal mode. (CVS 4896)
...
FossilOrigin-Name: 871df0e7c36a88f175cfc63797745e52a1b1796b
2008-03-20 11:04:21 +00:00
danielk1977
67c007bf4b
Write the page-size into the first journal-header of each journal file. (CVS 4894)
...
FossilOrigin-Name: 79f573cc7be89b3dd5540c45ef132b5cedc98e9b
2008-03-20 04:45:49 +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
drh
99b90c3fa9
Put the statement journal in the temp-file directory since that
...
directory is often on optimized storage such as RAM disk and because
unlike the main journal, the statement journal does not need to
be colocated with the database file. (CVS 4868)
FossilOrigin-Name: 72c40726932695a2cf5c593707d098c8fb6e8875
2008-03-17 13:50:58 +00:00
drh
befdf83f58
Reset the busy callback iteration counter at the beginning of each
...
lock test loop. (CVS 4864)
FossilOrigin-Name: 66777f048195e4242905c40f790ed7360af7028b
2008-03-14 19:33:05 +00:00
drh
c81945e41f
Add explicit !=0 tests in order to suppress warning messages in
...
Borland-C. Ticket #2985 (CVS 4850)
FossilOrigin-Name: d4ab14b974f2249d9d9e5a78ae47f3764a88b657
2008-03-10 14:12:53 +00:00
drh
308aa32ffc
Another fix to the OsUnlock I/O error logic. (CVS 4839)
...
FossilOrigin-Name: 22bd537ee2af6779ecb38502513ae533f85f7c2e
2008-03-07 20:14:38 +00:00
drh
1aa5af1151
Correctly handle I/O errors that occur during OsUnlock(). Before this
...
fix, an I/O error during OsUnlock() could lead to database corruption.
That is not a serious problem, though, since errors during OsUnlock()
are not possible on most systems. (CVS 4838)
FossilOrigin-Name: b4c1258edb4a40501d13c9da674d0366d5a8c694
2008-03-07 19:51:14 +00:00
drh
17c0ba276d
Fix a math error when computing how much memory to allocate for
...
a new pager. (CVS 4812)
FossilOrigin-Name: 690d05cedae236251778a71fdd32319846580fdf
2008-02-26 18:40:11 +00:00
drh
04c3a46ed9
Add commentary to clarify what is happening when an I/O error occurs while
...
writing dirty pages to the database file. (CVS 4811)
FossilOrigin-Name: afe49d81f479715e13f18a97170d414a853a6cfe
2008-02-26 16:16:45 +00:00
drh
8f2e9a1a94
Add an assert() to verify that the dirty-page list in the pager is
...
valid before using it. (CVS 4810)
FossilOrigin-Name: 942daf94ef1f8ac678988e175ef968a2d3f801e9
2008-02-26 14:46:04 +00:00
danielk1977
43468d9138
Have sqlite3PagerPagecount() return -1 when the pager is in error state. Fix for #2961 . (CVS 4809)
...
FossilOrigin-Name: 427e7f8b4a54eb6136174af63a467324d6fb051e
2008-02-26 06:05:31 +00:00
drh
eee4c8ca11
Add the memory fault simulator to mem5.c. Enable soft heap limit on mem5.c.
...
Limit the size of hash tables and the vdbefifo when using mem5.c. (CVS 4795)
FossilOrigin-Name: 63da5d97542e4f54c33329833477c8d96ce05dd0
2008-02-18 22:24:57 +00:00
drh
f5e7bb513c
Add the Bitvec object for tracking which pages have been journalled.
...
This reduces memory consumption and runs faster than the bitmap approach
it replaced. (CVS 4794)
FossilOrigin-Name: 7c57bdbcdb84d95419ec7029d2e13c593854a8d8
2008-02-18 14:47:33 +00:00
drh
0d18020b80
Add the experimental mem5.c memory allocator. Allocate the content part
...
of cache pages separately from the header. (See check-ins (4495) and (4409)). (CVS 4789)
FossilOrigin-Name: 669ece8c82bfa69add852589dd1211751cb26fb2
2008-02-14 23:26:56 +00:00
drh
45b5ba88dc
Delete unused "pager3_refinfo_enable" flag and its associated debugging
...
macros. Ticket #2923 . (CVS 4774)
FossilOrigin-Name: fccb217d91d08c5a2f5d51b21c6035474931957b
2008-02-02 20:47:38 +00:00
drh
643167ff21
Add the fault injector module in fault.c. Use it as a basis for memory
...
allocation failure testing. (CVS 4742)
FossilOrigin-Name: 1a335e180183b414fcc3510ce28b98b21cd134a6
2008-01-22 21:30:53 +00:00
danielk1977
a55e93555e
Remove some unused branches from internal function sqlite3PagerDontRollback(). (CVS 4733)
...
FossilOrigin-Name: 3d4252b06b42151874ee437c3a484e818232a5c9
2008-01-21 13:04:34 +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
danielk1977
87c29a94fc
Add a couple of missing calls to pagerLeave(). (CVS 4724)
...
FossilOrigin-Name: 87534dfff9e7a37c624a83c79f4074f29ff16c9e
2008-01-18 11:33:16 +00:00
drh
85b623f2f9
Change all instances of "it's" in comments to either "its" or "it is",
...
as appropriate, in case the comments are ever again read by a pedantic
grammarian. Ticket #2840 . (CVS 4629)
FossilOrigin-Name: 4e91a267febda572e7239f0f1cc66b3102558c36
2007-12-13 21:54:09 +00:00
drh
d919fe17e0
Build the CLI using the amalgamation. Relax the limit on SQL statement
...
length when building the CLI. (CVS 4609)
FossilOrigin-Name: a5d81cd371913dff4b1337a9586645f967371ab9
2007-12-11 19:34:44 +00:00
drh
e5fe690d75
In shared-cache mode, make sure the busy hander invoked is the
...
busy handler associated with the database connection that caused
the lock contention in the first place. (CVS 4598)
FossilOrigin-Name: c9eb65912f61ce0a6b66fe253652a1827e46b12a
2007-12-07 18:55:28 +00:00
drh
7fe3f7e918
Make sure we never try to "truncate" a file to a larger size. (CVS 4582)
...
FossilOrigin-Name: 7d2f6a1d6c5ab89a3b65fbcaf172abf6d81e206b
2007-11-29 18:44:27 +00:00
drh
26b7994a97
Change the BTree so that it uses the Pagers temporary page space when
...
reorganizing the rows on a page, rather than mallocing for space of
its own. In this way, we avoid having to deal with a malloc failure
deep down inside the page reorganizer. Ticket #2806 (CVS 4577)
FossilOrigin-Name: 98960132dc082da61652201f4bd2b559725350c0
2007-11-28 16:19:56 +00:00
drh
d3cf2473eb
Fix a bug that can cause a segfault on win32 systems following an
...
I/O error. (CVS 4565)
FossilOrigin-Name: eeec8d27c4533f62b4f7e739d9c895552ddb69ff
2007-11-27 16:55:07 +00:00
danielk1977
662278e4de
Fix some minor problems with malloc failure and in-memory databases. (CVS 4527)
...
FossilOrigin-Name: b752906e708e1c8c76084152f5829e16e8988ef2
2007-11-05 15:30:12 +00:00
drh
1e3af33436
Go back to allocating each page and its header with a single memory
...
allocation. This undoes the change of (4409). (CVS 4495)
FossilOrigin-Name: f56c9884be796dee3f267aca6021eb1846d8527c
2007-10-20 13:17:54 +00:00