Commit Graph

8716 Commits

Author SHA1 Message Date
drh
9bf3da8eab Add a mutex around an sqlite3StatusAdd() call to prevent the pagecount
overflow measurements from getting off in multithreaded applications.

FossilOrigin-Name: 3d8b298dc24fe13a3f390da41f79b8613a6f25a7
2011-01-26 13:24:40 +00:00
dan
6d4fb833b7 Update mutex1.test so that it works with the memsubsys1 permutation (pagecache memory). Change a few instances of SQLITE_MUTEX_STATIC_LRU2 in comments and test code to STATIC_PMEM.
FossilOrigin-Name: 456bd5c63b41bae8e389df81e318b830aa314000
2011-01-26 07:25:32 +00:00
dan
7cfbeb7fb5 Changes to exclusive2.test to make it more deterministic.
FossilOrigin-Name: 84b0c2bc7125623be2ee526b5ca75e1b72debb93
2011-01-26 06:13:14 +00:00
drh
25ca568251 Rename the PCache1.mxPinned field to n90pct (since it is 90% of nMax) in order
to distinguish it from PGroup.mxPinned.  Fix the computation of n90pct so that
it does not overflow adversely on excessively large cache sizes.

FossilOrigin-Name: c85202baac49b22a4be36b9733d44f01d83edb28
2011-01-26 00:07:03 +00:00
drh
1e4040a4b4 Fix new compiler warnings in pcache1.c that were introduced by the recent
performance enhancement patches of [e14649301138b684].

FossilOrigin-Name: c17703ec1e604934f8bd5b1f66f34b19d17a6d1f
2011-01-25 18:30:51 +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
534a58a76d Make sure the return code from doing an xSync is correctly initialized
so that a valid return code is produced regardless of the path taken through
the logic.

FossilOrigin-Name: f12b5d76854c2f294ac60afe38a6dac37eb5b174
2011-01-25 16:48:56 +00:00
drh
951596cdef Change the name of SQLITE_FCNTL_SYNC to SQLITE_FCNTL_SYNC_OMITTED and only
send it when PRAGMA synchronous=OFF.  Add better documentation to explain
what that file-control opcode is used for.

FossilOrigin-Name: 64914980855dbbf19512642836ca962a507b3ddb
2011-01-25 16:20:16 +00:00
dan
0ecdeb2414 Fix a couple of typos in comments. No changes to actual code.
FossilOrigin-Name: 9167fdb3560b1567a0bdc9a1906a87ec98e161f1
2011-01-25 13:43:35 +00:00
dan
d1cf7e2972 Fix a broken assert() in pager.c.
FossilOrigin-Name: 13108ce13c281f31aa60b403567710ae3d925797
2011-01-25 11:33:01 +00:00
dan
ff07ccadee Fix a problem in memsubsys1.test. Modifications to test code only.
FossilOrigin-Name: 7ef3f7cba768ef0c4782a6c80424833b4df6a059
2011-01-25 09:54:53 +00:00
drh
41692e9d7c Shave a few cycles so that performance is better than 3.7.4 in speed tests.
FossilOrigin-Name: e14649301138b6840e24a4bbd2cf5205c0f72409
2011-01-25 04:34:51 +00:00
drh
3778ac15dd Modify the test_quote.c demonstration shim so that it works when
SQLITE_THREADSAFE=0 is defined.

FossilOrigin-Name: b70bcccaf5597c8a59cccb64fb997523f7b8fe4f
2011-01-24 20:18:05 +00:00
drh
2afc704ad8 Fix a typo in the documentation for sqlite3_snprintf(). No changes to code.
FossilOrigin-Name: 8d1065411aadf189880606c48ab63dd2a56b9793
2011-01-24 19:45:07 +00:00
drh
906b662060 Fix a harmless compiler warning (a shadowed local variable) in analyze.c.
FossilOrigin-Name: a1ad7fb38bb38909ca2fddee31c7a8001f10686f
2011-01-24 19:14:06 +00:00
dan
27381bd519 Modify the trace callback mechanism so that SQL commands executed from within virtual table or user function callbacks are passed to the trace callback without parameter expansion and enclosed in SQL comments.
FossilOrigin-Name: a764915b87564fa91ee68e9b1f41394ce0f1fc7e
2011-01-22 13:32:29 +00:00
dan
a9ef7097c7 Change sqlite3StrAccumAppend() to use realloc instead of malloc.
FossilOrigin-Name: 380f61df0754ceec6b3f6a758d04e951cce8c3d9
2011-01-21 18:25:29 +00:00
dan
f3aef49cbd Add options to test command [do_faultsim_test] to support testing VFS implementations.
FossilOrigin-Name: 503ad889da675b3dd83da7338e2902e42f69acac
2011-01-21 15:52:02 +00:00
drh
3a5676ce26 Comment improvements in pcache1.c. No changes to code.
FossilOrigin-Name: 9660a0a22547656cc3765b673d0cee9e1dd829ef
2011-01-19 21:58:56 +00:00
drh
bee29f4ac1 Do not use mutexes in the pcache implementation unless
SQLITE_ENABLE_MEMORY_MANAGMENT is defined.  This is a performance enhancement.
A side effect is that pcaches will not steal pages from one another unless
ENABLE_MEMORY_MANAGEMENT is set, or unless SQLITE_THREADSAFE=0.

FossilOrigin-Name: e5ca59e63b18ac45a8c82ca39dc8cce1c4ce903c
2011-01-18 17:03:26 +00:00
drh
986d3b95bb Get all test cases working with the mutex-free-pcache implementation.
FossilOrigin-Name: 2dc98d29995bef51108e99aa8f7a56427cf9e1d7
2011-01-18 16:13:27 +00:00
drh
40f9837ff6 Do not use SQLITE_MUTEX_STATIC_MEM2 since it has been reused as STATIC_OPEN.
Instead, create a new static mutex STATIC_PMEM which is an alias for the
unused STATIC_LRU2.

FossilOrigin-Name: f1cf02efcb3a871fef49f8b5f41bcf07622a6d29
2011-01-18 15:17:57 +00:00
drh
9f8cf9da27 Here is a completely new implementation of the mutex-free-pcache. This
one uses a common code base and automatically selects whether or not to 
use mutexes depending on compile-time and start-time options.

FossilOrigin-Name: d094a1bfb7569a52b637fe9ba5d3fa6ce5ea6d94
2011-01-17 21:32:24 +00:00
drh
eee50ca5a7 Fix a typo in the documentation for sqlite3_stmt_readonly().
FossilOrigin-Name: 56417a3386fc84dd36bf1488e88149b1ac6a0d02
2011-01-17 18:30:10 +00:00
drh
602acb4871 Add the SQLITE_OMIT_AUTORESET compile-time option which if enabled causes
the sqlite3_step() routine to return SQLITE_MISUSE if it is called after
it has previously returned anything other than SQLITE_ROW, SQLITE_BUSY, or
SQLITE_LOCKED.

FossilOrigin-Name: 053ce76deb356d31358454507ba94947142e20ca
2011-01-17 17:42:37 +00:00
drh
c5aae5c90b Add back an ALWAYS() to regain full test coverage.
FossilOrigin-Name: b93f6f3e679c7710f42580a8dd9ce43136376c1d
2011-01-17 02:24:12 +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
d40d7ec78b Make sure the change-counter and SQLite-version fields of the header are
set correctly even when doing a VACUUM with locking_mode=EXCLUSIVE.
Ticket [5d863f876ee9561b].

FossilOrigin-Name: 04fa1e16905183b948ee6456675799a873d5f97d
2011-01-16 00:56:19 +00:00
drh
0bf1f496b8 Make sure the change counter and SQLite version numbers in the header are
set correctly, even when running in WAL mode and when VACUUMing in WAL mode.
Ticket [5d863f876ee9561b9].

FossilOrigin-Name: 0be92a75769dbafbc08c3b229089aaac03a9a907
2011-01-15 21:42:23 +00:00
drh
54a7347aa1 Fix the change-counter increment for WAL pages so that it works even when
invoked from xStress.  Ticket [5d863f876ee9561b95e2].

FossilOrigin-Name: 228e7c34c64114670fe015747d47fdaa3b7e1270
2011-01-15 18:11:12 +00:00
drh
104a7bba8c Increment the change counter and update the SQLite version number whenever
page 1 is added to the WAL.  Ticket [5d863f876ee9561b9]

FossilOrigin-Name: c1e0d09cd3f5feae123468a35f147021d839641c
2011-01-15 17:12:59 +00:00
dan
39210bdaa6 Add a test case demonstrating the problem described by ticket [5d863f876e].
FossilOrigin-Name: af54963f0fa0afafbc2d0847f30543c041b182ec
2011-01-15 16:52:10 +00:00
drh
a5657d710b Rerun autoconf to bring the configure script up-to-date.
FossilOrigin-Name: 142174640d60e834cae27ccaa78b02ecef8bcfe5
2011-01-14 16:43:29 +00:00
drh
94e7bd55bd Fix comments, including some documentation comments, in the page cache
logic.  No code changes.

FossilOrigin-Name: c80e9c1a0dc0e501b209874e147e1cb1348cb4a4
2011-01-14 15:17:55 +00:00
dan
47e909bb15 Fix a bug in test code (test_vfs.c).
FossilOrigin-Name: 772a3845f8ef5cd3131992c45f6ce607977820f3
2011-01-14 11:51:28 +00:00
drh
5b3696e8a6 Fix a typo on the sqlite3_open_v2() documentation.
FossilOrigin-Name: b0add45abc9929c5b8d1124879bc3e8acf2ab7c7
2011-01-13 16:10:58 +00:00
dan
a8ab60c648 Fix a couple of crashes in fts3 that can occur if the database contents are inconsistent.
FossilOrigin-Name: 811e12cddfb3246c6cf3d5085bd9b72b12e05550
2011-01-13 11:20:04 +00:00
dan
86596e552e Fix a segfault that can occur in matchinfo if an fts4 table contains mostly zero-length documents. Specifically, if the table contains more rows than it does bytes of text.
FossilOrigin-Name: fe9047668eaaf76e7aa1ef1f32dec7c7c4226e45
2011-01-13 10:58:26 +00:00
drh
efd95a7aca Do not raise an SQLITE_CORRUPT error in Recoverymode
if the database size in the header is larger than the physical file
size.  This facilitates recovery of a database in which the database size
field has been corrupted.

FossilOrigin-Name: 114640d920e16c85de90b19d53c485135875de5b
2011-01-12 17:56:26 +00:00
dan
da56b15e95 Merge accidentally created fork.
FossilOrigin-Name: b7d080b8e850bd262f53f29ba4687a62cf76d4ef
2011-01-11 17:40:30 +00:00
dan
354bfe0363 Add the SQLITE_FCNTL_SYNC file-control.
FossilOrigin-Name: b3f2f465c310a2cfef8731a0dae3453593b68de9
2011-01-11 17:39:37 +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
dan
9f4beedb6f If a rollback is attempted in journal_mode=off mode, force SQLite to discard the contents of the pager cache before processing any subsequent queries.
FossilOrigin-Name: ece7efce2733b4fdd71db385abebbde464ac8f30
2011-01-11 16:09:55 +00:00
drh
bbd91944dd Fix the sqlite3.h generator script so that it generates the correct
SQLITE_SOURCE_ID string with the latest versions of Fossil that 
include fractional seconds on the date/time stamp.

FossilOrigin-Name: 3513bf6ee090d9be97f60e12a4b39f4361ee17b7
2011-01-11 12:46:05 +00:00
drh
444d26065e Update pager requirements to accound for the ZIPVFS extension.
FossilOrigin-Name: d94e59b514c16c5f7ea506e0af1c6e2ffecc13be
2011-01-10 21:01:10 +00:00
drh
2e5de2f2b3 Reorder the fields in private structures in an effort to reduce alignment
gaps and thus make the structures smaller, and to put frequently accessed
fields first.  Also update some obsolete comments.  Valgrind shows a very
slight performance improvement.

FossilOrigin-Name: 378a1d13af4a6f4cb2bfa65944b3b0d444b9f21c
2011-01-07 02:50:40 +00:00
drh
b7787eef7a Enhance the showdb tool to show overflow page pointers at the end of
overflow cells.

FossilOrigin-Name: cda5eab18f48d3836dfd3e1f8c76e5f83b43485f
2011-01-06 15:51:18 +00:00
drh
5240aebdd8 Enhance the showdb tool to show a btree page layout. Add limit checks so that
overflow content does not overflow the buffer.

FossilOrigin-Name: 57ffa07e26a26d2f4527c8e6d7a9c1f48f380bf7
2011-01-06 01:26:38 +00:00
drh
b2c062df71 Fix a bug in the showdb utility: the serial types for BLOB and TEXT where
reversed.

FossilOrigin-Name: 65a13faf1e3cd18f3459cd410f65d334cfa7c376
2011-01-05 21:46:52 +00:00
drh
100335be77 Enhancements to the "showdb" debugging tool. Add the ability to display
the content of a cell.

FossilOrigin-Name: e9023a4e1edd552a81dcb2dcd5a996edfa167709
2011-01-05 21:20:52 +00:00