2295 Commits

Author SHA1 Message Date
drh
b232c23297 Add an alternative application-defined pcache implementation and add test
cases to permutations.test to invoke it.  Added the SQLITE_CONFIG_GETPCACHE
method to sqlite3_config(). (CVS 5920)

FossilOrigin-Name: 16f1e6ec2ad92f68c0079a0c2b5ca08a3b4af816
2008-11-19 01:20:26 +00:00
shane
dcc50b74e6 Fixed several more crashes due to corrupt db files. Added corruptC.test to soak.test. (CVS 5905)
FossilOrigin-Name: 9b7a52e952c81e50611e04d2d79003b0ddc57ee5
2008-11-13 18:29:50 +00:00
shane
ec21707dd7 Fixed typo in tkt3472.test that prevented the test from running. (CVS 5903)
FossilOrigin-Name: 428a5479200dc24e2ee9b4a85ef6caadacbdbbd7
2008-11-13 18:02:51 +00:00
danielk1977
ac8d7b35fa Minor changes to get memsys5 compiling and its tests passing. Ticket #3495. (CVS 5901)
FossilOrigin-Name: 96453ca16e90bc0c0cbfb75b3e39899f56d6ea66
2008-11-13 16:21:50 +00:00
danielk1977
0d0654119f Avoid some buffer overreads detected by valgrind while running corruptC.test. (CVS 5898)
FossilOrigin-Name: faa6bd7b615837c920b5b3b027115caa2f56ec15
2008-11-12 18:21:36 +00:00
danielk1977
ef988b47a4 In corruptC.test, explicitly set "PRAGMA auto_vacuum = 0". (CVS 5895)
FossilOrigin-Name: b6563af8f9517760c2346a820e241b0517a10fe0
2008-11-12 14:22:25 +00:00
drh
0d7f4fc4b0 Omit the threadOverrideEachOthersLocks tests for builds that non-unix
or non-threadsafe. (CVS 5893)

FossilOrigin-Name: ab418656dbf3d2e055b2462a155d90863fef6582
2008-11-12 14:07:51 +00:00
danielk1977
ab396298c4 Modify a failing test case in corruptC.test. The test case was failing only because the integrity_check was returning a slightly different error message than expected. (CVS 5891)
FossilOrigin-Name: 0953f300f8e8b2bed79ef3189a1cb29f058f388b
2008-11-12 11:57:41 +00:00
danielk1977
259a455f71 Make sure affinities and implicit collation sequences are correctly used by comparison expressions in the select-list or having clause of an aggregate query. Ticket #3493. (CVS 5889)
FossilOrigin-Name: b8ceaa00500f29bbbd0cc5aec71a6ffa91ae6b43
2008-11-12 08:07:12 +00:00
shane
0af3f8935f Fixed a few more crashes when dealing with corrupt db files. (CVS 5888)
FossilOrigin-Name: f8bb34e40917e55696376d2def932a41ad43d0ae
2008-11-12 04:55:34 +00:00
shane
34ac18daf5 Fixed crash during an UPDATE when free cell size is corrupt. (CVS 5887)
FossilOrigin-Name: ec18667e2d2826a27f2c052ba3790ab5b8cf0bc4
2008-11-11 22:18:20 +00:00
shane
826d5b7e1c Prevent a crash during an UPDATE when the cell offset is corrupt. (CVS 5886)
FossilOrigin-Name: 99d4172ed6825c7efb6cbb28eb00d98323a13954
2008-11-11 20:51:50 +00:00
danielk1977
41a6a61d94 Change the way threadsOverrideEachOthersLocks() works to avoid trying to write-lock a (potentially) read-only files. Also, assume that on non-linux systems threads do override each others locks. Ticket #3472. (CVS 5883)
FossilOrigin-Name: 8ecae0943b06102fe22133db0dcaf58ecbd39545
2008-11-11 18:34:35 +00:00
drh
a78c22c433 Cleanup in flattenSubquery. Add OOM tests for flattenSubquery. Fix issues
with OOM errors causes problems for flattenSubquery.  Ticket #3485. (CVS 5882)

FossilOrigin-Name: ea5f4baa041aed934600f0f96b84afb92a14bc47
2008-11-11 18:28:58 +00:00
shane
5780ebdf79 Fixed crash in integrity_check with corrupt content offset size in page header. (CVS 5881)
FossilOrigin-Name: 0659a666ff0a9fc81ee4df3c35e535164c79e588
2008-11-11 17:36:30 +00:00
drh
753cc1077b When an OOM error occurs while resizing an sqlite_value object, make sure
the value of the object is set to NULL.  Ticket #3488. (CVS 5877)

FossilOrigin-Name: 7b9c9b35fffb233e76148182426199d51243fba7
2008-11-11 00:21:30 +00:00
shane
c782f69abb Updated comment in source. Ticket #3453. (CVS 5874)
FossilOrigin-Name: 83caa22087bcaa184eff559971262e4d7eecd0e0
2008-11-10 19:24:38 +00:00
shane
c8330f4b1d Add check for ifcapable autovacuum to vacuum2-3.3 test. Ticket #3435. (CVS 5873)
FossilOrigin-Name: fc36f2fc45b2d319ef0be97e1af1748d3e862690
2008-11-10 18:20:16 +00:00
shane
2479de3a20 Removed a few more small parts of memsys6 code, including some config and test code for it; (CVS 5872)
FossilOrigin-Name: a11241d6fbc9e0408d5adc73d494b85124d2d609
2008-11-10 18:05:35 +00:00
drh
bbf695d6ea Prevent buffer overruns when converting malformed UTF16 to UTF8. Ticket #3482. (CVS 5869)
FossilOrigin-Name: 3f657e88767f60d305dd6151e7aa54363341d052
2008-11-07 03:29:33 +00:00
drh
1735fa8892 Fix a bug in the CAST operator associated with the column cache. (CVS 5866)
FossilOrigin-Name: 1b6a5140446da896f69fddc8d1ea076815bb45e3
2008-11-06 15:33:03 +00:00
drh
ad4a4b8047 The COMMIT command now works even if there are pending queries, as long
as the pending queries are reading and not writing the database. (CVS 5864)

FossilOrigin-Name: 51f04aaff2803487933b9dfcf39f27a249f18a98
2008-11-05 16:37:34 +00:00
danielk1977
5f6d0268fb Add test cases for sqlite3_db_mutex(). (CVS 5862)
FossilOrigin-Name: f818e8e5cb20c51922d0b5424f17649e0692f273
2008-11-04 14:55:47 +00:00
drh
c46f52034f Avoid a segfault when OOM on a simple EXPLAIN query. Ticket #3478. (CVS 5860)
FossilOrigin-Name: acf26cc0f77b3a308d86f6dc02ecda66a4b12fd0
2008-11-04 14:25:06 +00:00
drh
3e0a3c9df4 Test cases to verify that COMMIT and ROLLBACK return SQLITE_BUSY when
there are active statements. (CVS 5858)

FossilOrigin-Name: cedfa214e4e979ab04a30f558f767d46862151de
2008-11-03 21:40:00 +00:00
danielk1977
e435975093 Modify an assert() statement to fix #3473. No other code changes. (CVS 5856)
FossilOrigin-Name: aca6b260c0dd1a1515b70f3567a0653b6bcdeea2
2008-11-03 09:39:45 +00:00
danielk1977
3072c5ea11 Fix a bug reported on the mailing list triggered by the pattern "SELECT <col>, (SELECT ... FROM tbl WHERE rowid > <col>) FROM ...". (CVS 5855)
FossilOrigin-Name: 6c918c4eb9362ebfdbe0486515679102b2862970
2008-11-03 09:06:05 +00:00
shane
2d16fb1d34 Test that single byte corruptions in increasingly larger quantities are handled gracefully. (CVS 5854)
FossilOrigin-Name: c73d915923e393f72e1c0897526a20527db2e03c
2008-10-31 13:57:40 +00:00
drh
1c0dc8256b Fix a faulty assert() in the merge implementation of the UNION operator.
Ticket #3467. (CVS 5852)

FossilOrigin-Name: cd1662e964d9c071a41038676c5a6ef2c990f1ac
2008-10-30 22:13:23 +00:00
danielk1977
f150c9de55 Fix a crash that can follow a malloc failure in sqlite3ValueFromExpr(). Ticket #3468. (CVS 5851)
FossilOrigin-Name: 0996783b1b7e6dda166565071cbd19f23e7edbbc
2008-10-30 17:21:12 +00:00
drh
99dfe5eb47 Add the sqlite3_extended_errcode() interface. Change to return
SQLITE_BUSY instead of SQLITE_ERROR when a COMMIT is attempted and one
or more queries are still pending. (CVS 5850)

FossilOrigin-Name: 4c6a90a16627b1664bf7f15ab40b440b3bd60b48
2008-10-30 15:03:15 +00:00
danielk1977
281d8bd3ac If a hot-journal file is detected but the application does not have the required read/write permissions, return SQLITE_CANTOPEN. Prior to this change, SQLITE_BUSY was returned. Ticket #3457. (CVS 5849)
FossilOrigin-Name: dc5308c7629abe6a3bad21489c8e97087c264e5a
2008-10-29 07:01:56 +00:00
danielk1977
52bd7912af If an SQLITE_DELETE authorization callback returns SQLITE_IGNORE, proceed with the delete operation but disable the truncate optimization. (CVS 5845)
FossilOrigin-Name: 65a2e131732399f0f14f982eb0689482fdb87b6c
2008-10-27 15:34:32 +00:00
danielk1977
c7af484b4b Make sqlite3_count_changes() and total_changes() work with "DELETE FROM <table-name>". (CVS 5844)
FossilOrigin-Name: e68e4282adb9003aa297d033aeb5d9cadee215cd
2008-10-27 13:59:33 +00:00
drh
31daa63f3e Disable the result-set alias cache when on conditional code branches.
Ticket #3461.  The column cache and result set alias cache mechanisms are
prone to this kind of error and need to be refactored.  This check-in should
be considered a temporary fix in advance of a more general redesign of the
whole mechanism. (CVS 5841)

FossilOrigin-Name: 1fa3bbd8220ce073e91935ea362b6f5d5d6d2859
2008-10-25 15:03:20 +00:00
danielk1977
a2f8c24ca3 Add file tkt3461.test with a few examples of bug #3461. Because these tests currently fail they are disabled for now. (CVS 5840)
FossilOrigin-Name: f2cc159159278201809022706c28bc53b6c3c859
2008-10-25 09:34:59 +00:00
danielk1977
f96a3778f9 Fix a bug in pragma table_info. Column default values specified as negative numbers (col DEFAULT -1) were being reported as NULL by the pragma. (CVS 5839)
FossilOrigin-Name: 0e448bc6096c7ee3b21dbd22dc4ca9470ae7ba31
2008-10-23 05:45:07 +00:00
shane
3ed4e64cd8 Test cases for ticket #3442. (CVS 5835)
FossilOrigin-Name: a8bb5acf708c8f7e52d3f67b85094116386f10fa
2008-10-22 16:04:42 +00:00
danielk1977
d207d8084e Fix an assert() failure that can occur following a malloc() failure. Ticket #3455. (CVS 5834)
FossilOrigin-Name: e0d3aa75b4fa0e706185a3058b5962916e30d066
2008-10-22 10:45:37 +00:00
danielk1977
b3175389c7 Add "pragma journal_mode=memory". Change the way rollback works for in-memory databases so that it reuses the journal_mode=memory code. (CVS 5830)
FossilOrigin-Name: 39ebf01addf9d0867daafd06a38719e725128f9c
2008-10-17 18:51:52 +00:00
danielk1977
ab7bee892b After running speed1.test and speed1p.test, reset the size of the lookaside buffer. Otherwise, subsequent runs of malloc5.test may report an error. Changes to test code only. (CVS 5824)
FossilOrigin-Name: 9283478e69d84aa99b2d4636587c8c0b34e7c4da
2008-10-15 11:43:55 +00:00
danielk1977
4bd3ce69ac Disable the page-cache at the end of pcache2.test. (CVS 5823)
FossilOrigin-Name: 3d2d05b6286e2a22a711e02f37748065b3b7f86e
2008-10-14 19:21:51 +00:00
drh
7cd30bd3d0 Make sure malloc3.test runs even if a CREATE TABLE transaction commits
prior to the last OOM error. (CVS 5820)

FossilOrigin-Name: 603c40e5b47e4798136af5420a1fa1511791a934
2008-10-14 15:54:08 +00:00
drh
104d74c752 Get the load extension tests working on amd64. Needed for test coverage. (CVS 5816)
FossilOrigin-Name: 119b69fba0c27c4c479749360176b6eb69d2e70f
2008-10-13 17:09:11 +00:00
drh
1554262148 In rollback.test, do not check for journal deletion if the journal mode
is not DELETE.  Call show_memstats after each test module in all.test
and quick.test. (CVS 5814)

FossilOrigin-Name: df2c28dc7310510bada292a2e8c1be073803858c
2008-10-13 14:16:11 +00:00
danielk1977
d0ffa1e815 If sqlite3_column_value() is called to obtain a value with the MEM_Static flag set, clear it and set the MEM_Ephem flag before returning. Otherwise, if the value is passed to sqlite3_bind_value() or sqlite3_result_value(), sqlite may attempt to use the buffer after the statement has been finalized. This is not always valid, as MEM_Static only guarantees that a MEM.z buffer will be valid for the lifetime of the owner statement, not that it is actually a static buffer. (CVS 5812)
FossilOrigin-Name: b055bfc4e5268d8a66d6a4f5e8aec1285fe4b8e7
2008-10-13 10:37:49 +00:00
shane
eec556d3b7 Added SQLITE_OMIT_DEPRECATED compile time option to leave out deprecated functions. Updated test scripts to skip tests of deprecated functions if they are compiled out. (CVS 5808)
FossilOrigin-Name: ba3711acee6f4659bbf133a23d8f9f37e14d0f38
2008-10-12 00:27:53 +00:00
drh
8867e38aab Fix a OOM segfault in the BETWEEN operator parsing - discovered while
using SQLITE_OMIT_LOOKASIDE. Add SQLITE_OMIT_LOOKASIDE to test_config.c and
bypass lookaside.test when defined. (CVS 5803)

FossilOrigin-Name: 2a21d52c651ba113c472b6686dcf8ba009924305
2008-10-11 17:06:04 +00:00
danielk1977
435f29d6eb Add "nolookaside" case to permutations.test. (CVS 5802)
FossilOrigin-Name: 56fb7a22864774fcbd8cd00195359dc0f223ec8b
2008-10-11 17:04:04 +00:00
shane
49ffdbf47e Further simplifications of the code for the LIMIT clause on an UPDATE or DELETE. Added a few test cases to wherelimit.test. (CVS 5797)
FossilOrigin-Name: 282c6a46b25f4e4278fd4c8b0b1cde1de28d8f51
2008-10-10 18:25:45 +00:00