drh
9584f58cc2
Rename the sqlite3PagerAcquire() function to sqlite3PagerGet(). The former
...
macro called sqlite3PagerGet() has been removed.
FossilOrigin-Name: 708253be34084b89987efe955c34557516171a3a
2015-11-04 20:22:37 +00:00
drh
58cb6dbe0d
Take care that the number of reserved bits per page is consistent between
...
the source and destination databases when doing the back-copy on a VACUUM.
FossilOrigin-Name: 5b61b72f5424a2d9bb4e68eb95026cd63f003db9
2015-09-23 19:17:23 +00:00
drh
14681b739b
Avoid create a stack from in sqlite3BackupUpdate() in the common case where
...
the first argument is NULL.
FossilOrigin-Name: 2a897b9e94acaf1fd91e9f8e94fa52e01694f011
2015-07-01 19:59:36 +00:00
drh
ad0961b31b
Keep track of the optimal number of reserved bytes (by looking at reserve
...
byte requests in calls to sqlite3BtreeSetPageSize()) and then change the
reserve byte count to the optimal when doing a VACUUM or when using the
backup API.
FossilOrigin-Name: 28c2b726285ea88b334acfd6390a057d2d244838
2015-02-21 00:19:25 +00:00
dan
fad01993b7
Have calls to sqlite3_backup_init() fail if there is already a read or read-write transaction open on the destination database.
...
FossilOrigin-Name: 169b5505498c0a7ee2b5dbb2ba13c41dfaa7c62f
2014-11-13 14:18:25 +00:00
drh
47b7fc7843
Experimental changes that permit read operations to continue after a
...
ROLLBACK, as long as the schema is unchanged.
FossilOrigin-Name: fa6e6a9ae276cad60e9a4abc1bc23cf2809ea786
2014-11-11 01:33:57 +00:00
drh
9ca95730e3
Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in
...
progress and is not yet completely functional.
FossilOrigin-Name: c297a84bc678f81ffc0aa9139ab73f0ca87c1971
2014-10-24 00:35:58 +00:00
drh
13f40da31d
Split the sqlite3Error() routine into sqlite3Error() and
...
sqlite3ErrorWithMsg(), for a slight size reduction and performance increase.
FossilOrigin-Name: cf561d1f0bb60b3d638632d20bd686dda4fa4a04
2014-08-22 18:00:11 +00:00
drh
a3cc007df4
Simplication and optimization of error message handling.
...
FossilOrigin-Name: 9d347f547e7ba9590b0c68edf50a14ad94a2bb92
2013-12-13 16:23:55 +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
drh
f30a969b80
Rework the logic that factors constant expressions out of inner loops, making
...
it both simpler and faster.
FossilOrigin-Name: 8dc5c76c766828d7c28090bec30ff48227e7b140
2013-11-15 01:10:18 +00:00
drh
b00fc3b14e
Simplify the btreeGetPage() routine so that it uses a single flag parameter
...
in place of two boolean parameters.
FossilOrigin-Name: 617e23ec283d3147fc3fd29c474ccedf4915cdc7
2013-08-21 23:42:32 +00:00
drh
e1e2e9acd6
Make the MIN() and MAX() macros available in sqliteInt.h. Add TUNING
...
comments to the NGQP and adjust costs slightly.
FossilOrigin-Name: 3a72af2a95b04b8e195ef17cb3e9d9021a4f0915
2013-06-13 15:16:53 +00:00
drh
7e36962e6c
Make use of xFetch, if it is available when doing a VACUUM or a backup.
...
FossilOrigin-Name: 83bc37af07857960c11275891f853a358dcbbf05
2013-04-03 03:53:15 +00:00
dan
f23da96636
Replace the sqlite3_io_methods.xMremap interface with sqlite3_io_methods.xFetch and xUnfetch.
...
FossilOrigin-Name: 1431be95579160fb70408d43e17fc23c7b69ab4a
2013-03-23 21:00:41 +00:00
dan
aa1d67b1d9
Fix a case where the mapped part of a database file may be written during a backup operation.
...
FossilOrigin-Name: c8d67aefff7299dd5c8abeb2a3a52109c0a823ee
2013-03-22 19:17:45 +00:00
dan
896f99e942
Catch a dropped error code in backup.c.
...
FossilOrigin-Name: ac8ca3ecee4d81bf522b330033e5d85638063670
2013-02-25 07:12:40 +00:00
dan
bc1a3c6ce2
If a rollback mode transaction reduces the size of the database file, avoid actually truncating the file until after the transaction has been committed (but before the db has been unlocked). This means pages that are removed from the database by truncating the file need not be journalled.
...
FossilOrigin-Name: b73847f17b7ae1298dfc52de6c4c4bc809bc77a3
2013-02-23 16:40:46 +00:00
dan
5cc3bea44a
Ensure the database size field in the db header of a backup database is set correctly. Fix for [0cfd98ee201].
...
FossilOrigin-Name: ff6857b6ed6a46671006b75157d8cf853a816ef9
2012-12-21 16:15:35 +00:00
dan
b483eba051
Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients.
...
FossilOrigin-Name: af5c9ee4a453f71c03f24ad08824ced6c1b97afb
2012-10-13 19:58:11 +00:00
dan
0094f37e1f
Avoid calling sqlite3BtreeEnter() in a corner case where the corresponding database handle mutex (sqlite3.mutex) may not be held. This prevents a potential deadlock or crash that can occur if the backup API, shared-cache mode and SQLITE_HAVE_CODEC are all in use.
...
FossilOrigin-Name: 89b8c377a6f03d9fa885f3f94c1f0b1eec263dea
2012-09-28 20:23:42 +00:00
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