Commit Graph

78 Commits

Author SHA1 Message Date
drh
ca439a4967 Disable rootpage bounds checking when the SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS
setting is off, to facilitate reaching obscure error states during testing.

FossilOrigin-Name: d7dd4fc464c791915f646b1ad228697d1fa16f530fc7d0e9aa702c8df3068c65
2020-07-22 21:05:23 +00:00
drh
6ab91a7a7a Add the SQLITE_DEFAULT_DEFENSIVE compile-time option. Fix up test cases
so that they work with DEFENSIVE enabled.

FossilOrigin-Name: 3212733cb6d1a59516d67a86df7c7b1d2456a1b2e5d7080c26b0e87b2609c65d
2018-11-07 02:17:01 +00:00
drh
d5aa9262a6 Fix various error handling conditions on the cell overwrite optimization.
Fix a test case so that it works with the new optimization.

FossilOrigin-Name: f89b54f41405ed7e28132f66b8a0c690a087c2412c8f55790c2beabb0b521645
2018-05-03 16:56:06 +00:00
dan
69aedc8db4 Fix various problems in test scripts preventing "make test" from passing on
F2FS file-systems with the "atomic-write" feature.

FossilOrigin-Name: 56d93d070d6b92d8a5a3fec1b09aae8911116c73d072fc5022f0b51668ed996b
2018-01-13 13:07:49 +00:00
drh
ff4fa772f5 Update error message text for standard error codes to better describe the
latest usage of those error codes.  Modify sqlite3_open_v2() so that it does
return a valid sqlite3 object in the event of SQLITE_MISUSE due to bad
open flags, so that sqlite3_errmsg() does not report "out of memory" in that
case.

FossilOrigin-Name: f27b6370407842e2c175ea4aa9ce018723c57eaac0cccc1f8399bc20f33324be
2017-07-10 12:07:53 +00:00
drh
4a8a646723 Changing page size using VACUUM or backup is not allowed with a codec attached.
FossilOrigin-Name: 92be06c1a828d56652fa5269a3029f8cb029b2cd
2016-03-14 20:49:24 +00:00
drh
8e6cf0a7c5 Avoid creating a master journal unless two or more databases in the
transaction can actually benefit from that master journal.

FossilOrigin-Name: 3ed1890612bd45bd9c72f670d2cbb0b8fbd35d92
2016-02-22 14:57:38 +00:00
drh
f9c8ce3ced Standardize the error messages generated by constraint failures to a format
of "$TYPE constraint failed: $DETAIL".  This involves many changes to the
expected output of test cases.

FossilOrigin-Name: 54b221929744b1bcdbcc2030fef2e510618afd41
2013-11-05 13:33:55 +00:00
drh
5822d6feb2 Fix test cases for the new EXPLAIN QUERY PLAN format. Add the
wherecosttest tool.  Other fixes to logarithm cost.

FossilOrigin-Name: aa580e368e3c398b8377b80342dfdd906324c248
2013-06-10 23:30:09 +00:00
drh
9b4c59fa1b Refactoring the mmap interface. The controlling pragma is now "mmap_size"
instead of "mmap_limit".  Also change SQLITE_CONFIG_MMAP_LIMIT and
SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and
SQLITE_FCNTL_MMAP_SIZE, respecctively.  
The default mmap_size is now always 0, meaning that
memory mapped I/O is off by default.  There is a new compile-time option
SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size.
Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic
and causes it to be omitted from the build.  An extra argument is added
to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE
at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we 
know that it does not work, meaning that it cannot be turned on by mistake
on those platforms.

FossilOrigin-Name: ea1404a10abd7f68e1f8e0708c8a3199d1f79665
2013-04-15 17:03:42 +00:00
dan
abd6d84a11 Add tests to "permutations.test coverage-pager" to cover uncovered branches.
FossilOrigin-Name: 07a0e4e9820a85bf1690214fef3577866c763f92
2013-04-06 11:03:09 +00:00
dan
d7a558a9fb Improve the code coverage of "permutations.test coverage-pager".
FossilOrigin-Name: b095e2cdb61ca8487255687f58fb1024d40f3986
2013-04-05 20:40:43 +00:00
dan
b83c21e600 Do not attempt to set the permissions on an existing journal or wal file. Do this only immediately after creating a new file (or opening one zero bytes in size).
FossilOrigin-Name: 1d8086902ee96347491bce5ec04dc92ccd42efa1
2013-03-05 15:27:34 +00:00
drh
e1186ab260 Do not use umask() since it change the umask for the entire process, not just
the thread using SQLite.  Make whatever permission changes are needed using
fchmod() after the file is created, instead.

FossilOrigin-Name: 6c4c2b7dbadedac384d380efd54f12f6ccbf4ca9
2013-01-04 20:45:13 +00:00
dan
9fc5b4a539 Change os_unix.c to propagate ENOENT errors back to sqlite as SQLITE_IOERR_DELETE_NOENT. Have SQLite ignore these where they are benign and propagate them back to the caller where they may indicate a file-system malfunction of some description.
FossilOrigin-Name: bed9c172ce624ab7b5b9de9ad42444891717ad9a
2012-11-09 20:17:26 +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
mistachkin
4ec0100f35 Merge updates from trunk.
FossilOrigin-Name: 224c65e4a5c6ede076c364c93933cedd17f1e70b
2012-05-17 21:04:26 +00:00
drh
0971140bec Adjust some of the pager tests to accommodate longer database pathnames.
FossilOrigin-Name: 22eef1d8a81ea95612f7973e242fa333c51ae399
2012-05-11 23:03:44 +00:00
drh
93416f1c83 Merge the latest trunk changes into the winrt branch.
FossilOrigin-Name: a1a85b846aac07979e732a9f36d178bd567e103a
2012-03-30 14:01:40 +00:00
drh
a748fdcc43 Evaluate typeof(X) and length(Y) where X is any column and Y is a blob column
without actually loading X and Y from disk.

FossilOrigin-Name: b899dbeb60752843287e2c6ad3577e1d00f0d587
2012-03-28 01:34:47 +00:00
mistachkin
9917a71da0 Merge updates from trunk.
FossilOrigin-Name: 4ab1ffd45d4c25368b9b393a3336068b747d8b22
2012-03-19 23:32:26 +00:00
dan
db0ad5f204 In pager1.test, use "file attr test.db -readonly 0" before "file attr test.db -perm rw-rw-rw-", not after.
FossilOrigin-Name: 4f5283f18f570a09b95c26e5aa14885ada518dd2
2012-03-17 15:12:16 +00:00
drh
421377e67a Add the sqlite3_db_readonly() interface. This is still tentative, pending
a closer look at other ideas to accomplish the same thing.

FossilOrigin-Name: 254f99ea9ff1534948bdb179e69ab0c940c87ec1
2012-03-15 21:28:54 +00:00
mistachkin
6aa18c95f1 Merge and manually resolve testing updates from trunk.
FossilOrigin-Name: 5eecdb44dd809e91002b8ecf59ada72f4b56549a
2012-03-08 20:22:42 +00:00
mistachkin
f8a784645c On Windows, make sure the current directory value used by the test suite is 'normalized' to what the parent command shell sees. Also, clean the test directories used by the quota2.test file.
FossilOrigin-Name: 82bcd7ec1531f6d71c079578434c58d3ce46a1de
2012-03-08 20:00:36 +00:00
mistachkin
c548465435 Add compile-time define to indicate if the VFS supports the concept of a current directory (as WinCE and WinRT do not). Avoid using the GetTempPath and GetFullPathName APIs on WinRT. Some tests still need adjustments.
FossilOrigin-Name: 86c049a171acc3f4a43771f3e7176a90210d7799
2012-03-05 22:52:33 +00:00
drh
33f111dc72 Remove the undocumented PRAGMA omit_readlock hack.
FossilOrigin-Name: 96900c47e4fc6ed55cefc10d55d3d8d16bcb1d31
2012-01-17 15:29:14 +00:00
dan
3604d7c687 Merge [21b76af6ed] into statvfs branch.
FossilOrigin-Name: e694f7b166144a0afba7846e1e18ad568b33a081
2011-12-19 11:57:41 +00:00
dan
7f9026dd94 Fix a couple of test cases to account for the master-journal name related change in [cf3bccc2].
FossilOrigin-Name: 21b76af6edd48f665cdd3af5f99d477f030c7668
2011-12-19 11:16:39 +00:00
drh
1eaaf93a83 Some fixes to the test suite so that it works with ZERO_DAMAGE set to true.
Still lots more problems remain.

FossilOrigin-Name: 41891b231e20a1d32b1d7449e7863470eb38ca0a
2011-12-19 00:31:09 +00:00
dan
f4ba109356 Add the SQLITE_DIRECT_OVERFLOW_READ compile time option.
FossilOrigin-Name: 2ab14a846727857175eac7961b7338c4d3b417ca
2011-10-08 14:57:07 +00:00
dan
5209132a48 Fix some test files so that they work with SQLITE_OMIT_WAL builds.
FossilOrigin-Name: a38668dcff0a4d241d959ea19330ad43295d757d
2011-09-24 05:55:36 +00:00
drh
2f7820d8b5 Back out [05c9832e5f6eb] since it was causing a performance regression with
no obvious benefit.

FossilOrigin-Name: 639cc85a911454bffdcccb33f2976c683953ae64
2011-08-29 11:56:14 +00:00
drh
31e8097658 Cherrypick the [d4f6437f8d] change so that SQLITE_FCNTL_SIZE_HINT is always
honored and never undone by memory pressure on windows.

FossilOrigin-Name: 67ff8d27f6aa6e0beff1f6b72a997b30a9647879
2011-08-25 01:58:17 +00:00
mistachkin
fda06befd5 Add retry logic for AV defense to winOpen. Also, refactor test suite to allow the key Tcl file operations (e.g. copy and delete) to be retried.
FossilOrigin-Name: 9007586fdabed8dbcc78581ea9821cfd1f9a4c8c
2011-08-02 00:57:34 +00:00
shaneh
b2f20bfc53 Add Microsoft nmake compatible makefile; update a few test cases for Windows.
FossilOrigin-Name: a7590af65f3881cf905b8cac2b87381e89a80271
2011-06-17 07:07:24 +00:00
dan
33f5379c43 Changes to various test scripts so that they pass on windows.
FossilOrigin-Name: 1586244b6d86d5a98af8c6f7a8324672e02df9c3
2011-05-05 19:44:22 +00:00
drh
87fa53ee8d Merge in the blocking-checkpoint enhancement, including the new
sqlite3_wal_checkpoint_v2() interface and the
PRAGMA wal_checkpoint(full) statement.

FossilOrigin-Name: bac7342c368a7c4f5f2878e08d9581dcbf57dd58
2011-02-02 16:34:08 +00:00
dan
354bfe0363 Add the SQLITE_FCNTL_SYNC file-control.
FossilOrigin-Name: b3f2f465c310a2cfef8731a0dae3453593b68de9
2011-01-11 17:39:37 +00:00
drh
60ac3f426c Fix the max_page_count pragma so that it will not set to a value smaller
than the current database size, as the documentation requires.  Also,
remove all occurances of atoi() from the core.

FossilOrigin-Name: 2031974b606ef713b5f34522b2221470d98687c5
2010-11-23 18:59:27 +00:00
dan
bdd9af0fc8 Update test cases to account for the change in the previous commit.
FossilOrigin-Name: ae089ec881beb1c2d278303ba964aaeffad1afe4
2010-11-18 16:14:24 +00:00
dan
e08c2066c9 Add test cases to restore coverage of pager.c and wal.c.
FossilOrigin-Name: 6cae552927392d8b735aa118c318d7468097ebeb
2010-11-01 18:45:08 +00:00
dan
8c40800439 If a database file with the WAL flag set is opened in exclusive-locking mode, use heap memory to store the wal-index instead of shared-memory.
FossilOrigin-Name: 8dd5c69198619866923c6053b71899c1fb8c4c67
2010-11-01 17:38:24 +00:00
shaneh
9091f775a8 Changes to support building with SQLITE_OMIT_WAL.
FossilOrigin-Name: d1ed743b6ed07ad0ee7d466932c5a83caa9489ee
2010-08-24 18:35:12 +00:00
dan
1879b088bd If an error occurs in PagerSetPagesize(), set the output variable to the unmodified page-size before returning.
FossilOrigin-Name: 02def8f92588b8a45dff3976d1e7f9e3f0359b3b
2010-08-12 16:36:34 +00:00
dan
5653e4da36 Add coverage tests for pager.c.
FossilOrigin-Name: 228c5b16af80c22e97d9d4deb351e0d3f4523f89
2010-08-12 11:25:47 +00:00
drh
b2eced5de2 Increase the maximum page size from 32k to 64k.
FossilOrigin-Name: 45362437d491fbe0f033a67b398f8ba68cbf1b3b
2010-08-12 02:41:12 +00:00
dan
22b328b23c Improve coverage of pager.c.
FossilOrigin-Name: 2fa05d01b6b11788a5b73d203fcac9d4a4ba9fd8
2010-08-11 18:56:45 +00:00
dan
f6c614715c Make sure the schema is loaded before preparing a "PRAGMA journal_mode" command. This helps it return meaningful results when it is the first command executed by a new database connection.
FossilOrigin-Name: ef126e775a02d69a9cab53028513e8799e1b6044
2010-07-07 13:54:28 +00:00
dan
78f1e53840 Change the async-IO extension to return SQLITE_IOERR_SHORT_READ when appropriate. This prevents a valgrind warning in the test suite.
FossilOrigin-Name: d9e3287900ae4aa7722ad0132bb8d6cd2755d3a6
2010-07-07 11:05:21 +00:00