dan
6809c96df3
Replace a few sqlite3_malloc()+memset() sequences with calls to sqlite3MallocZero().
...
FossilOrigin-Name: 305b6667265353b858b79bfea1745e64ff3bb7d3
2012-07-30 14:53:54 +00:00
drh
ed68801b20
Add the sqlite3_close_v2() interface (from the deferred-close branch) that
...
allows close operations to happen out-of-order in bindings to
garbage-collected langauges.
FossilOrigin-Name: fb8893abeefabe9de44e34dcf4327764481189f5
2012-06-21 15:51:42 +00:00
drh
4245c405ea
The sqlite3_close() interface returns SQLITE_OK even if there are outstanding
...
sqlite3_stmt and sqlite3_backup objects. The connection becomes a zombie.
Resource deallocation is deferred until the last sqlite3_stmt or
sqlite3_backup object closes. This is intended to help SQLite play nicer
with garbage collectors.
FossilOrigin-Name: e276a02b7f54e804caa553dca99023416a415e1c
2012-06-02 14:32:21 +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
drh
0f198a7409
Change the ROLLBACK command so that pending statements to not block it. The
...
pending statements instead return SQLITE_ABORT upon next access. Note: This
causes separate shared-cache connections in read_uncommitted mode to abort as
well.
FossilOrigin-Name: 9b66c79e054c8a109d1ee8d35fed1c42814c330d
2012-02-13 16:43:16 +00:00
drh
2bfe5b316c
Check the return code from sqlite3OsFileControl() in sqlite3BtreeCopyFile()
...
and report any errors that it generates.
FossilOrigin-Name: 7f852ac6435f1c9e25b07f816cca5ba40484579e
2012-01-10 16:40:50 +00:00
drh
92c45cf0fe
Remove the BenignMalloc() from around the call to FCNTL_OVERWRITE. Add
...
new ones around sqlite3OsDelete(). Fix an assert that causes problems for
the nx-devkit.
FossilOrigin-Name: 38bc4236d5a9d9f22a525bf9308d90cd4d9ce5a4
2012-01-10 00:24:59 +00:00
drh
c91663499e
Combine various boolean variables in the BtShared structure into a single
...
boolean vector. Also make performance improvement simplifications to
sqlite3BtreeMovetoUnpacked().
FossilOrigin-Name: 119493318e0ad4c2858fe1484b0d71669bd81531
2012-01-05 23:32:06 +00:00
dan
23a3de398e
Add calls to the BenignMalloc() functions around the SQLITE_FCNTL_OVERWRITE call in backup.c.
...
FossilOrigin-Name: 3e0833dbb736a1aca08d17941d6d33901b15a03b
2011-12-31 10:18:00 +00:00
dan
1a83bc5b1a
If an error occurs while writing to the database file during a VACUUM, discard the contents of the in-memory cache. This is required as if the database is a zipvfs database, the contents of the cache may be inconsistent with respect to the database as stored on disk.
...
FossilOrigin-Name: 07159e84b40b01fa40cac5fad1f433888e5984f8
2011-10-21 14:27:32 +00:00
drh
30ddce6ff4
Added the tool/warnings-clang.sh script. Changes so that there are no
...
warnings with either gcc or clang even including FTS4 and RTREE and
both with and without SQLITE_THREADSAFE=0.
FossilOrigin-Name: 39408702a989f907261c298bf0947f3e68bd10fe
2011-10-15 00:16:30 +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
drh
c5dbffe741
Reorder some of the branches in backup.c in order to make the code
...
easier to test.
FossilOrigin-Name: 2c443d47ecee7b43a89f0a4bf299c46c66e3f80d
2011-08-25 20:18:47 +00:00
dan
4b2704021a
Replace an assert() that a condition may not occur in backup.c with code to handle that condition, which can occur.
...
FossilOrigin-Name: 472c74b3452c5a07dfb006010441232b09599ad5
2011-08-25 19:28:47 +00:00
dan
06199d84e8
When copying a rollback mode database over a WAL database using the backup API, leave the destination database in WAL mode (instead of switching it to rollback mode). Fix for [af95b8c609].
...
FossilOrigin-Name: 35e6ac18e3d030095da57fff87a288939e9be93f
2011-08-23 11:47:06 +00:00
drh
806ebcb449
Remove an always-true conditional. Replace it with an assert().
...
FossilOrigin-Name: 1c2f0f8477bcf251fe874a2cfae4d7a403cb88ff
2011-04-09 17:53:30 +00:00
drh
2b89fbcb1e
Do not do a backup if the number of reserved bytes in the source and
...
destination do not match. Try to make the match, but if unable fail.
FossilOrigin-Name: 0ca8a2332b28d88585dc890e5162b095e783fc20
2011-04-09 02:09:44 +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
60939d0ade
Fix a problem whereby following an IO error in CommitPhaseTwo() of a multi-file transaction the b-tree layer could be left in TRANS_WRITE state, causing problems later on.
...
FossilOrigin-Name: dbe569a099c2855480e35c0cc4d9332821ad80da
2011-03-29 15:40:55 +00:00
dan
4d26d585d6
Add a missing call to sqlite3PagerSync() removed by [ce552d975] to the backup code.
...
FossilOrigin-Name: 1965b85318c1fac62fae9691059021b298c17dde
2011-01-25 18:19:24 +00:00
drh
c6aed5424b
On a backup from a smaller to a larger page size, do not begin committing
...
the transaction until the source pages after the pending byte have been
copied.
FossilOrigin-Name: 612e2599d3e1a17c268402fce018a53dee6dffe1
2011-01-16 22:37:09 +00:00
drh
ca94d8bf82
Change the page size of the destination database in a backup, if it is
...
changeable, prior to starting the backup.
FossilOrigin-Name: a5e4e0caad788318bc973e2550488a3b83128b8b
2011-01-11 17:38:03 +00:00
drh
9f129f467e
Add evidence mark comments to source code. Add additional information to the
...
documentation of sqlite3_release_memory(). Fix a minor inefficiency in mem1.c
that was discovered while writing requirements tests.
FossilOrigin-Name: 53b0c03fd33d2d8141fd386de5493fec64456042
2010-08-31 15:27:32 +00:00
drh
871919b493
Do not allow a backup to change the page size if a codec is in use.
...
FossilOrigin-Name: 5523ecd32295c188e3bf5dbd57d92d2879461e32
2010-08-20 15:32:21 +00:00
dan
ba3cbf3d4b
Add coverage test cases. Have sqlite3_backup_step() transform SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning.
...
FossilOrigin-Name: 5e19bc360e098ec06a72f4a86254d8e62e93ea57
2010-06-30 04:29:03 +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
5c10f77d52
Do not compare page sizes on source and destination of backup until
...
transactions are started and the page sizes are locked. This is a
fix to check-in [7bd44794c4].
FossilOrigin-Name: ec7157788b16936b4b6e4642107b3c86aa44df24
2010-05-05 18:46:44 +00:00
drh
3289c5efc8
Prohibit backup if the destination is using WAL and has a different page
...
size from the source.
FossilOrigin-Name: 7bd44794c482beee16c684712545275e2bf63dfa
2010-05-05 16:23:26 +00:00
drh
b1299158c7
Continuing refinements to the filesize-in-header enhancement.
...
FossilOrigin-Name: 79e22b95038c50b9b7f35e09262805ff6338b59b
2010-03-30 22:58:33 +00:00
drh
a756466349
Log all error messages if logging is enabled.
...
FossilOrigin-Name: a8076aede33c07e9a2aaa05be8a888f37b45e41c
2010-02-22 19:32:31 +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
f25cd7186e
Fix the backup logic so that it detects a failure to sqlite3BtreeUpdateMeta()
...
and reports that failure back up to the top level. (CVS 6851)
FossilOrigin-Name: 471b92f2514aedecb5773825a7ae472190375727
2009-07-06 19:03:12 +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
drh
e98c9049a0
Further reductions in the amount of stack space required. (CVS 6707)
...
FossilOrigin-Name: 04bad9eb6dd8bf7cafc9f3918b676e95d5b1c984
2009-06-02 21:31:38 +00:00
drh
dcd7db5dc9
Change the sqlite3_backup_finish() interface so that calling it with
...
a NULL pointer is a harmless no-op. One other change to backup.c to facilitate
full coverage testing. (CVS 6638)
FossilOrigin-Name: 06bc89177b3af20751d9567a68551d2d31c3fe8b
2009-05-14 19:26:51 +00:00
danielk1977
e70f4f6482
When locking a database file, check if any backup objects need to be restarted even if the page cache is empty. Ticket #3858 . (CVS 6632)
...
FossilOrigin-Name: 90309008c35494c7a075fe76f7eb96b09a01d01b
2009-05-13 07:52:06 +00:00
danielk1977
404ca07578
Add the sqlite3_unlock_notify() API. (CVS 6348)
...
FossilOrigin-Name: b649a6cc5bfefddd6a04b1183647d2923e0a0daa
2009-03-16 13:19:36 +00:00
shane
65ad7d225f
Changes to remove some compiler warnings from MSVC. (CVS 6294)
...
FossilOrigin-Name: 68f15442e8db364952d30daf4ce60c6b938f5906
2009-02-16 17:55:47 +00:00
drh
38aec8dc09
Fix a compiler warning in backup.c. (CVS 6293)
...
FossilOrigin-Name: 82222fbf5d5a085ce3e2c172c648a4c6d9750626
2009-02-16 16:23:09 +00:00
danielk1977
f2a79f2248
Fix some edge cases with backing up databases that are exactly PENDING_BYTE bytes in size, or just slightly larger. (CVS 6288)
...
FossilOrigin-Name: 2fc450e8e60248d6111d0b0d2b8f2344f5b89bca
2009-02-12 17:01:49 +00:00
danielk1977
3d0cbc3362
Fix a problem in backup.c causing OsTruncate() to be called with an argument larger than the current file-size. (CVS 6271)
...
FossilOrigin-Name: b34bde80c7e2028baf7ba2ff26e587a63a170f3d
2009-02-09 18:55:45 +00:00
danielk1977
03ab035796
Changes to the backup API: (1) if a negative number is passed as the second argument to backup_step(), this is interpreted as "copy all remaining pages" and (2) if backup_finish() is called after backup_step() fails with a BUSY or LOCKED error, then this error is also returned by backup_finish() (same handling as for other errors encountered by backup_step()). (CVS 6266)
...
FossilOrigin-Name: 9b8c8b18cf6b7d44d5fd64760537bc030097756b
2009-02-06 05:59:44 +00:00
drh
b309becded
Simplify wording of backup API error message. Decapitalize some other
...
error messages. (CVS 6256)
FossilOrigin-Name: f92405afb649b698b735b423cd9195d4f8f137c9
2009-02-04 17:40:57 +00:00
drh
eef1eb0ff4
The sqlite3_backup_init() interface must lock the destination in case it
...
needs to change the error message. (CVS 6255)
FossilOrigin-Name: 572378d3a29c7d55fa4a15df14800c26d6c563a1
2009-02-04 16:56:19 +00:00
shane
63207ab262
Remove compiler warnings under MSVC. (CVS 6249)
...
FossilOrigin-Name: 6301f08a2b32289a49c4af994f2770318c444b49
2009-02-04 01:49:30 +00:00
drh
d3a5c50ec7
Correction to check-ins (6246) and (6247): The backup object might not
...
hold a valid destination connection pointer. Also, do not reset the
page cache when establishing a read-lock while there is a persistent
or truncated journal, only if there is a journal that really needs to
rollback. Otherwise backups always reset whenever the source database
file is read. (CVS 6248)
FossilOrigin-Name: 7f827ba9d7af2dfe44aed386b4407716c85daf5e
2009-02-03 22:51:06 +00:00
drh
6231286dfe
A backup must clear the internal schema of the destination database so
...
that the schema will be reloaded for the next sqlite3_prepare() (CVS 6247)
FossilOrigin-Name: 76f23a4394574e31f237e55c641bc70534f44d97
2009-02-03 22:17:42 +00:00
drh
662c58c9ba
Must hold mutex on the destination during backups. Add documentation to
...
warn programmers that attempting to use the destination connection during
a backup can lead to deadlock. (CVS 6246)
FossilOrigin-Name: 5f6c06b974f26532264467ace603b6f1f830fba9
2009-02-03 21:13:07 +00:00
danielk1977
0410302e58
Commit first version of the 'backup' feature. (CVS 6241)
...
FossilOrigin-Name: 663479b417fc06ba1790a544f28694f8797cee57
2009-02-03 16:51:24 +00:00