dan
07973a6581
Hold the mutex on the shared-cache for the duration of a VACUUM operation.
...
FossilOrigin-Name: 629a42d47a0d8f73de900f469845ce800bdb8959
2012-10-15 18:02:57 +00:00
drh
81028a455d
The former sqlite3ResetInternalSchema() routine was really two different
...
routines, selected by parameter, each with a confused mission. So split
this routine up into three separate smaller routines, calling each
separately as needed. Hopefully this will make further refactoring and
schema reset collateral damage containment easier.
FossilOrigin-Name: aa0c3493d3647d7efe527067e9fcccefda8e3008
2012-05-15 18:28:27 +00:00
dan
f602963dbc
Fix spurious errors that may occur if an empty database is opened and then initialized as a WAL database by a second connection.
...
FossilOrigin-Name: 16330a2f7262173a32ae48a72c0ee2522b6dc554
2012-02-28 17:57:34 +00:00
dan
c5f20a0061
Add the SQLITE_FCNTL_OVERWRITE file-control. Used by SQLite to indicate to the OS layer that the current transaction will overwrite the entire file.
...
FossilOrigin-Name: 1da87fcdacfa7d277c3ee98e410a9ea8b529c368
2011-10-07 16:57:59 +00:00
dan
1696124db7
Disable the xfer optimization if "PRAGMA count_changes=1" is configured. Ticket [c48d99d690].
...
FossilOrigin-Name: 9ddfe1e41300413bc9af7e5ce0ec9d1daf9136b1
2011-09-30 12:01:01 +00:00
drh
03faf63b57
Add a comment to the VACUUM implementation explaining when all schemas are
...
reset and not just the "main" schema.
FossilOrigin-Name: 2aff1b0ca87a99b8ec80e696b9e8a48bb43db2c2
2011-04-04 23:08:14 +00:00
drh
c7792fa052
Begin a series of changes designed to reduce the scope and frequency of
...
invalidating schemas. Design goals are that the internal schema should
never be deleted out from under a prepared statement that is running and
that all prepared statements should be expired if the schema is invalidated.
At the same time, minimize the number of schema invalidations. This change
merely revises the sqlite3ResetInternalSchema() function to use -1 as the
wildcard for "all" rather than 0, so that we can reset the main schema
independently of all the others.
FossilOrigin-Name: 6a8ad6e31e0d2b8a5ace38faf0efd805155ee5f3
2011-04-02 16:28:52 +00:00
dan
099d14707a
Add experimental branch disallowing VACUUM when there are one or more active SQL statements.
...
FossilOrigin-Name: c1ebcacd9b31239aee065c64c4b4596d56dc397f
2010-09-24 09:32:45 +00:00
drh
0b9b4301b8
Refactor and simplify the logic used to change journalmode.
...
FossilOrigin-Name: 95cc3f6fdec5494560c3cd4439d06870d1c62506
2010-06-11 17:01:24 +00:00
drh
acd0781892
If an ATTACH command files due to OP_JournalMode but still attaches the
...
database, make sure VACUUM still detaches it when done.
FossilOrigin-Name: 6ecdc7ba2b5e79e8b5862fb49cf6c2b99a40659a
2010-05-10 14:10:57 +00:00
drh
16adb77623
Make sure the page size of the main database is fixed following a
...
failed VACUUM attempt. Otherwise, two consecutive failed VACUUM attempts
with attempted page_size changes on encrypted or WAL databases could
result in database corruption.
FossilOrigin-Name: 208e7d5d3a8915433dbf50c6cc6698ec6c8df944
2010-05-05 04:11:44 +00:00
drh
811bdbd206
Do not attempt to modify the page_size when running VACUUM on a WAL database.
...
FossilOrigin-Name: 58a1a59be89b33c6d5fa8b43571037d7d96625a1
2010-05-05 03:39:53 +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
drh
2ec050c5b1
When TEMP files are in memory, also put the massive TEMP file used by
...
the VACUUM command in memory.
FossilOrigin-Name: 9daf4e7d07769f25b3a579d80e7fada4e52344b1
2010-03-02 23:34:54 +00:00
drh
cda455b7ff
Add a sqlite3_log() call on anonymous constraint failures.
...
Fix the output of test cases having to do with improved reprepare reporting.
Fix the VACUUM command to report more helpful error messages when things go
wrong.
FossilOrigin-Name: 69a493182fd77bec91598516ee42c11a6db1d039
2010-02-24 19:23:56 +00:00
drh
6a9c64b363
Make sure internal queries are well ordered, even when the
...
reverse_unordered_selects pragma is in effect.
Ticket [eb942c64a157].
FossilOrigin-Name: 0209f17180065d9c213b6c437be1c3c40660665f
2010-01-12 23:54:14 +00:00
drh
702b919a67
Disable trace when recursively running commands while vacuuming.
...
FossilOrigin-Name: 69a1348a3c88ffbf401cf72bbec8b4a76557bd11
2009-12-17 03:49:56 +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
drh
397308df6f
Fix the VACUUM command so that when the MAIN and TEMP databases have
...
identically named tables, content from the TEMP database does not
accidently overwrite MAIN database content.
Ticket [d82e3f3721296e905d7e8c9dee718f71a826b0eb].
Note that this bug could potentially lead to database corruption.
FossilOrigin-Name: 0bbd8d72ec66cbe11c2548a04ad478202b2b69b6
2009-10-20 15:01:58 +00:00
dan
fa401def25
Experimental fix for [f777251dc7]. This may be changed yet.
...
FossilOrigin-Name: 174477bca05d019e663fd2b7cd031189ab2e010a
2009-10-16 14:55:03 +00:00
dan
75cbd984f7
Fix compilation with OMIT_TRIGGER defined. Ticket [1ff6d29030e9757d052af0f394e56bea96b8b59b|1ff6d29030].
...
FossilOrigin-Name: fb6ceed388f6d75bdc2ac2f43e5c98da74e2a448
2009-09-21 16:06:03 +00:00
danielk1977
602b466e99
Cause opening a transaction on a sharable b-tree module automatically obtain a read-lock on page 1. This means there is no way for sqlite3BtreeGetMeta() to fail. (CVS 6836)
...
FossilOrigin-Name: e3c055f167f895ae45858de9d9d8a264df2f36b6
2009-07-02 07:47:33 +00:00
danielk1977
0d19f7ac57
Define a set of constants to use as the "index" argument to sqlite3BtreeGetMeta and UpdateMeta. This makes some parts of the code easier to follow. (CVS 6709)
...
FossilOrigin-Name: 6dbf4eca00f845baa7200aba421d0bc158ba96aa
2009-06-03 11:25:07 +00:00
danielk1977
43996e858b
In vacuum.c use "PagerIsMemdb(X)" instead of "PagerFile(X)->pMethods==0". (CVS 6692)
...
FossilOrigin-Name: 874295ce71380da3f4c9296df0e0ce5ece136220
2009-05-30 10:46:10 +00:00
drh
5dc348a2e2
Changes to vacuum.c to facilitate full coverage testing. (CVS 6606)
...
FossilOrigin-Name: 866284654c1f163af4164fe8c698d30af32e4eaa
2009-05-05 17:37:22 +00:00
drh
ce4869f893
Make sure the VACUUM statement locks down the page_size and auto_vacuum
...
modes after it runs. Otherwise, pragmas might change these settings on
a populated database, resulting in problems. (CVS 6442)
FossilOrigin-Name: 85e6a4740d6db731c8c35a331031c346e9189c27
2009-04-02 20:16:58 +00:00
danielk1977
0410302e58
Commit first version of the 'backup' feature. (CVS 6241)
...
FossilOrigin-Name: 663479b417fc06ba1790a544f28694f8797cee57
2009-02-03 16:51:24 +00:00
drh
663d56d46f
Fix the VACUUM command so that it does not commit a transaction when it is
...
mistakenly run within a transaction - it should leave the transaction open. (CVS 6200)
FossilOrigin-Name: 75cc709be46ae2096d2ba3e7ac58de8140f8130c
2009-01-22 23:04:45 +00:00
danielk1977
00e136135e
Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914)
...
FossilOrigin-Name: 8009220c36635dd9b6efea7dc13281ca9625c40a
2008-11-17 19:18:54 +00:00
drh
7426f864ae
All the page_size pragma to change the page size on a new :memory: database,
...
but not a vacuumed :memory: database. Ticket #3335 (CVS 5617)
FossilOrigin-Name: 226a9056783247679fcf442e10807a1f2707f463
2008-08-26 21:07:26 +00:00
danielk1977
06249db141
Do not incorrectly detect corruption when an auto-vacuum database is converted to a non-auto-vacuum database within a vacuum. Ticket #3332 . (CVS 5603)
...
FossilOrigin-Name: cb869946d68f2abbd1322fababbe4aa74a4e08aa
2008-08-23 16:17:55 +00:00
drh
f089aa459e
Completely rework the sqlite3SetString() primitive so that it honors the
...
SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374)
FossilOrigin-Name: 8ed04b1e26a55306e4baf3e93fb084514134d603
2008-07-08 19:34:06 +00:00
drh
cdb7a0feb5
Do not allow a VACUUM to try to change the page_size on an encrypted database. (CVS 5225)
...
FossilOrigin-Name: d49e5020019093a5b8a4fbe09caeb84ecb538629
2008-06-17 01:03:25 +00:00
drh
e63b2c215e
Fix the VACUUM command so that it does not modify the changes counts
...
reported by sqlite3_changes() or sqlite3_total_changes(). Update documentation
on sqlite3_changes() and sqlite3_total_changes() to state that
"DELETE FROM table" records a change count of zero. (CVS 5151)
FossilOrigin-Name: f5d61d7d982b58accaf33df4362ce4a5eb79307e
2008-05-21 13:44:13 +00:00
drh
4697988687
Add comment to speculate when setting journal_mode=OFF on VACUUM does not
...
help performance. No changes to code. (CVS 5071)
FossilOrigin-Name: 9c8b4babb2222a5e0c2ecf7a116b7df90084c81d
2008-04-30 16:38:23 +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
drh
66a5167b47
Refactoring the VM. The P3 parameter is changed to P4. A P5 parameter is
...
added (though not currently used.) Add routines sqlite3VdbeAddOpX() where
X is one of 0, 1, 2, 3, or 4. (CVS 4660)
FossilOrigin-Name: 027875e4d4c4bd7686dc880c6917a968049b2fec
2008-01-03 00:01:23 +00:00
drh
ddac25c732
Add the ability to change the autovacuum status of an existing database
...
by setting the auto_vacuum pragma then running the VACUUM command. (CVS 4592)
FossilOrigin-Name: bdfc19e838b369a8c5d5d23663fad690f55ba3d7
2007-12-05 01:38:23 +00:00
drh
a21a929e81
Use the 2-argument version of substr() in the SQL contained in the
...
VACUUM and ALTER TABLE commands. Ticket #2737 . (CVS 4499)
FossilOrigin-Name: 82b08a3dc2366007bcac4d9e451ef61c8c018fa5
2007-10-20 20:58:57 +00:00
danielk1977
a1644fd863
Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321)
...
FossilOrigin-Name: e38ef81b85feb5bff2ad8448f3438ff0ab36571e
2007-08-29 12:31:25 +00:00
drh
f78799e637
Remove unnecessary sqlite3MallocDisallow() that was preventing win32 from
...
running. (CVS 4285)
FossilOrigin-Name: eb6c98fc1097b327453d7e8ec8877101ea8187c3
2007-08-24 11:43:36 +00:00
drh
29278e3dbb
Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255)
...
FossilOrigin-Name: fbbd5bda544ffec4e1b43407b12e546235dc7873
2007-08-21 10:44:15 +00:00
drh
174357527a
Half-way through a major refactoring of the memory allocation.
...
I have not even attempted to compile so I am certain there are
countless errors. (CVS 4231)
FossilOrigin-Name: deb7ecd65f7b83eaf0ba610eeef3b0ede61db1c3
2007-08-16 04:30:38 +00:00
danielk1977
979f38e5ee
Test handling of IO errors that occur in OsDelete() or OsTruncate() operations. Also use an anonymous file for temporary storage during a VACUUM. (CVS 3729)
...
FossilOrigin-Name: b24a6e7b024c8b9a0b6fd15bd8f247e458781ca2
2007-03-27 16:19:51 +00:00
drh
fdbcdee5ff
The -DSQLITE_OMIT_ATTACH=1 option now omits both the ATTACH and VACUUM
...
commands. Ticket #2268 .
The regression test suite depends on both of these commands
and will not run if compiled with this option. (CVS 3727)
FossilOrigin-Name: cbebfb89603044e48b3a87b79d1eefbbc5b4c8a5
2007-03-27 14:44:50 +00:00
danielk1977
884c5b32c9
Catch an out-of-memory condition in vacuum code. (Bug in (3373)). (CVS 3675)
...
FossilOrigin-Name: 302ec768579e2f7c17a33749e685289a041aeb11
2007-03-06 16:03:55 +00:00
drh
dddb2f23e2
Clean up memory leaks and uninitialized variables detected by valgrind.
...
Identify all tests where we deliberately derefence freed memory by adding
a "-misuse" tag. (CVS 3550)
FossilOrigin-Name: 70a862702d6dfcfe73bdeef8f0502c6c50e32a3a
2007-01-03 23:37:28 +00:00
drh
c28e3a1828
Make sure VACUUM cleans up after itself. Ticket #2071 . (CVS 3514)
...
FossilOrigin-Name: 2fdc147d0059dcdfff2da33bd9fedb0bee057aa1
2006-11-18 20:20:21 +00:00
drh
0058d84432
VACUUM now uses a temporary file in the official TEMP folder instead of
...
a file in the same directory as the original database. (CVS 3470)
FossilOrigin-Name: b743429dd54e2dcae213ec1993e9e916a9ba678d
2006-10-10 13:07:36 +00:00
drh
154d4b2446
Be more aggressive with the SQLITE_OMIT_VACUUM macro. Saves about 150
...
bytes of code space. (CVS 3432)
FossilOrigin-Name: 7e618db4579d752cc6d775c664c93e141217948f
2006-09-21 11:02:16 +00:00