Commit Graph

9446 Commits

Author SHA1 Message Date
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 19611b1a88 Ensure that if a deferred FK constraint is violated by a statement that creates its own implicit transaction, the statement is not an "active-write" after sqlite3_step() returns.
FossilOrigin-Name: 8063197ef141c0c62ba710efdd2b3421fbee4e5d
2011-01-24 16:00:58 +00:00
drh b966194a63 Change the cost estimator in the query planner to take into account the
logN rowid lookup cost when going from an index to a table.

FossilOrigin-Name: b442525b0ba642bb8d57b87b7b9e373b6046454a
2011-01-24 15:11:23 +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
drh 534230cf2e Add the ability to use indices for constraints of the form "x IS NOT NULL"
when sqlite_stat2 is available and most entries for column x are NULL.

FossilOrigin-Name: 5d5bddd290e71a7b03bcc23ff29881c23233cbff
2011-01-22 00:10:45 +00:00
dan a9ef7097c7 Change sqlite3StrAccumAppend() to use realloc instead of malloc.
FossilOrigin-Name: 380f61df0754ceec6b3f6a758d04e951cce8c3d9
2011-01-21 18:25:29 +00:00
drh 5ac0607169 Adjustments to the result row estimator for the IN operator so that it gives
the same estimates as the equivalent OR operator.  Test cases for the same.

FossilOrigin-Name: c82cb9c028b3ba5463ae50c30196dbf157a7a305
2011-01-21 18:18:13 +00:00
drh 0c50fa0f61 Make use of histogram data to make better estimates for the number of rows
that will be returned from "x IN (v1,v2,v3,...)" constraints.

FossilOrigin-Name: fd3977a27ae68e694df12a4713e55515c1e87c5d
2011-01-21 16:27:18 +00:00
drh 9b3eb0adc1 Add the ability to use indices when a range contraint is bounded on
the lower end by NULL.

FossilOrigin-Name: f73a167b434fadcbbd15e3891c4b7f4f87f6363c
2011-01-21 14:37:04 +00:00
drh 82759754ce Use histogram data to improve the row-count estimates on equality constraints.
FossilOrigin-Name: 6bfc5c69eb22938972bbf4e60179952dc215f770
2011-01-20 16:52:09 +00:00
drh e847d3247f The first of a planned series of enhancements to the query planner that
enable it to make better use of sqlite_stat2 histograms when the table
has many repeated values.

FossilOrigin-Name: 2cd374cd23fa2fd38f49090d6eeb9b1e521d51d5
2011-01-20 02:56:37 +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 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 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
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
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 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 db26d4c9e1 Add the sqlite3_vsnprintf() interface.
FossilOrigin-Name: fc67adea414320e0c0b24054f76070cfaeebb401
2011-01-05 12:20:09 +00:00
drh 65a0ce16aa Fix a null-pointer dereference that can occur on an OOM error while running
ANALYZE with SQLITE_ENABLE_STAT2.

FossilOrigin-Name: 73128d4ef5d7703bf7af0553c307b55dc1b783f6
2011-01-04 20:06:33 +00:00
drh 4856698fa5 Fix the ANALYZE command so that it takes collating sequences into account
when gathering index statistics.

FossilOrigin-Name: a5867cfc4c9b9155fa345247dec29e38fffa8002
2011-01-04 19:01:26 +00:00
drh 8e93b10a4e The ANALYZE command now counts at all rows of an index, even those containing
NULL values.  A valid sqlite_stat1 entry is created even if the index contains
nothing but NULLs.

FossilOrigin-Name: 824c8dd3015bbd5c8a1dd661cfe09fe5bf7a80d3
2011-01-04 17:57:53 +00:00
dan b29010cd4f Have testfixture invoke C routine Zipvfs_Init() when creating a new interpreter if SQLITE_ENABLE_ZIPVFS is defined.
FossilOrigin-Name: 430635dacfa818e8266a88214aaf60c77862de1c
2010-12-29 18:24:38 +00:00
dan 72903821e3 Fix some off-by-one errors in the comments for API functions create_function() and value_blob(). No changes to code or tests.
FossilOrigin-Name: 7ded90baeb75db5af83345cd2c31211cbee1e91b
2010-12-29 10:49:46 +00:00
drh b469f46083 Do not include <sys/mmap.h> if SQLITE_OMIT_WAL is defined.
FossilOrigin-Name: b82e85ece94c8e25c1dc3251f5444a295fbf8c89
2010-12-22 21:48:50 +00:00
drh 2a58e9cc32 Add test cases for the new lookaside hit and miss status outputs. Add
the output of lookaside hit and miss to the command-line shell statistics.

FossilOrigin-Name: b0888047bb6d9ac55e29b9224df2ff650728bb78
2010-12-21 21:28:38 +00:00
drh e0a55f443b Merge into the trunk the experimental enhancements to sqlite3_db_status()
for measuring lookaside memory allocator performance.

FossilOrigin-Name: 8c3b06c299554759b67437e09ee7ef6420dacafc
2010-12-21 20:36:45 +00:00
drh 29ecd8a077 Rearrange a variable declaration in the proxy locking code to avoid a harmless
compiler warning on recent MacOS versions.

FossilOrigin-Name: 39bbd35599e735b32f7ed18143073165b805dd98
2010-12-21 00:16:40 +00:00
drh 08bd9f83ce Clarify the documentation of the SQLITE_STATUS_MALLOC_COUNT parameter to
sqlite3_status().

FossilOrigin-Name: 3b41bcc3e36a9ef0146bc2f6ae86377bd1700afd
2010-12-20 17:00:27 +00:00
drh 0b12e7f860 Add additional DBSTATUS options for measuring the hit and miss rates against
the lookaside memory pool - information useful in tuning the lookaside size.
Currently experimental pending analysis of performance impact.

FossilOrigin-Name: 34613f1dc54c638531ca2f5907b71fbe8841233e
2010-12-20 15:51:58 +00:00
drh 9c88d68988 Add the "-heap" option to the command-line shell - to allocate a fixed heap
for use with SQLITE_ENABLE_MEMSYS5.

FossilOrigin-Name: 74fff692345fed4b247e2b34c1e63b4d50cddfd4
2010-12-17 14:03:01 +00:00
drh cd2f58b374 Fix minor typos in the sqlite3_backup documentation.
FossilOrigin-Name: df430be59d0766a34a94ab85fec9aa3c3baeb740
2010-12-17 00:59:59 +00:00
drh 230bd63011 Improvements to the documentation for sqlite3_backup. No code changes.
FossilOrigin-Name: f83609f4703b5e74a91bca071a4ac2843189f463
2010-12-16 20:35:09 +00:00
drh 4278d53efa Fix an assertion fault that can only occur if SQLITE_ENABLE_STAT2 is defined
and the constant folding optimization is disabled using sqlite3_test_control().
Problem introduced by [ad8bc68197f2b4] but we missed it prior to the 3.7.4
release due to taking shortcuts and skipping tests in the release checklist.

FossilOrigin-Name: 70a3d81742fcd481f83ccc8f7ff6af58bc29c4fa
2010-12-16 19:52:52 +00:00
drh 7d20844542 Make wal_checkpoint a no-op if a prior checkpoint has already copied all
WAL content into the database.  This prevents a concurrent write to the
database from resetting the wal-index out from under the WalIterator of
the checkpoint as it is initializing.

FossilOrigin-Name: cf86affcb7d3089496e9849cbf43a211097e4f64
2010-12-16 02:06:29 +00:00
drh d9c9b78e6c Enhanced comments in wal.c and declare some procedure parameters "const".
No changes to the generated code.

FossilOrigin-Name: d0e4375b8a784d4e4ae66caababac919edd61883
2010-12-15 21:02:06 +00:00