1876 Commits

Author SHA1 Message Date
drh
ad27e76110 Make sure an imbalance in the number of columns on a compound SELECT is
detected and reported as an error before it can cause an assertion fault
or array-bounds overflow in the code generator.
Oops: part of the fix for ticket #3015 got included with this
check-in by mistake. (CVS 4917)

FossilOrigin-Name: 50de87dc808820a70d3a99277f532e418a2f97e2
2008-03-26 12:46:23 +00:00
drh
1e968a0cbf Removed the direct btree tests - part of the ongoing effort to test by
calling only public interfaces.  Modify the sqlite3VdbeRecordCompare
interface to used a pre-parsed second key - resulting in a 13%
performance improvement on speed1p.test. (CVS 4911)

FossilOrigin-Name: 0e1d84f2f456e7680bb667266745b629ddf3605f
2008-03-25 00:22:21 +00:00
drh
f688b2cb06 Bug fix in the newly revised sqllimit1.test script. (CVS 4908)
FossilOrigin-Name: 2a89fb3c3e991b2c02e07b8b86b67b8d80e0360d
2008-03-22 23:59:58 +00:00
drh
45c236d81e Add the speed1p.test script. Like speed1.test except that it tries to take
advantage of prepared statements. (CVS 4907)

FossilOrigin-Name: ece4fb9f7b93dc3e3cb77e40b011d013d0750dcf
2008-03-22 01:08:00 +00:00
danielk1977
35754aca0d Better integrate the new malloc related instrumentation with the test infrastructure. (CVS 4904)
FossilOrigin-Name: d2140cae39dcced63e3ad5771e52d522ce587c96
2008-03-21 17:29:37 +00:00
drh
2dca868075 Make sure the text result of an aggregate function has the correct
encoding.  Ticket #3009. (CVS 4903)

FossilOrigin-Name: 13e388cecf53d680a79ef29ff4e82e59de8f1264
2008-03-21 17:13:13 +00:00
drh
3088d59e06 Add a completely new testing system for the Bitvec object. The new
testing system uses sqlite3_test_control() instead of unpublished
APIs.  Now provides 100% condition/decision coverage.  Obscure bugs
in Bitvec found and fixed as a result of the enhanced coverage. (CVS 4902)

FossilOrigin-Name: 2498d3ea36ecab6d9c0f04ef1c49d76a7a215a4f
2008-03-21 16:45:47 +00:00
danielk1977
6f332c18d9 Add some more logging to the malloc system used when SQLITE_MEMDEBUG is defined. (CVS 4901)
FossilOrigin-Name: 79738f582fbac87f2d335e0c6b7f53e3054b41ba
2008-03-21 14:22:44 +00:00
drh
f47ce56c49 In the sqlite3_limit() interface, take out the feature where zero means
use the hard upper bound.  If an application wants the hard upper bound,
it can set the limit to 0x7fffffff and the bound will be automatically
truncated. (CVS 4900)

FossilOrigin-Name: d6be1f495ec57158f7bcca3e32145a9a8fde723a
2008-03-20 18:00:49 +00:00
drh
b1a6c3c1cc Reinstate test cases for the limit tests. The sqlite3_limit() API is now
tested and working. (CVS 4899)

FossilOrigin-Name: 4c4be4c3c8aae97f1d85442b25afba9f0b02c8b3
2008-03-20 16:30:17 +00:00
danielk1977
81a392f7d7 Do not run crash7.test as part of a quick test. (CVS 4898)
FossilOrigin-Name: 53b4a09040341a981b2f33399a1ddcee952ba3ef
2008-03-20 16:26:48 +00:00
drh
bb4957f858 Initial implementation of per-connection limits and the sqlite3_limit() API.
The sqllimits1.test script crashes.  SQLITE_LIMIT_PAGE_COUNT and
SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897)

FossilOrigin-Name: 60c77882b2de9f6a45f8bd87c9c6a0cc613f8373
2008-03-20 14:03:29 +00:00
danielk1977
67c007bf4b Write the page-size into the first journal-header of each journal file. (CVS 4894)
FossilOrigin-Name: 79f573cc7be89b3dd5540c45ef132b5cedc98e9b
2008-03-20 04:45:49 +00:00
drh
da84ca8de9 Create the test_destructor16() test SQL function to enhance test coverage.
Prior to check-in (4883), the test_destructor() function was sufficient,
but we now need separate functions since the implementation is restricted
to using the published API. (CVS 4884)

FossilOrigin-Name: bb7218657f3b06d810ad710fe64e5c9984aa518c
2008-03-19 16:35:24 +00:00
drh
984bfaa4c7 Move SQL functions used for testing only out of func.c and into a new
test file named test_func.c.  Use sqlite3_auto_extension() to make sure
the test functions appear in every database connection. (CVS 4883)

FossilOrigin-Name: e90c4cc8a89838161f218739bc821126e247498c
2008-03-19 16:08:53 +00:00
drh
2fa1868fb6 Add a new api sqlite3_randomness() for providing access to SQLite's
internal PRNG.  Add sqlite3_test_control() verbs for controlling the PRNG. (CVS 4882)

FossilOrigin-Name: 15110ea02768bfe977a57eccd6b941a36ebd6b32
2008-03-19 14:15:34 +00:00
drh
345331507f When a parse of the sqlite_master table fails, include the name of the
object being parsed as part of the error message. (CVS 4881)

FossilOrigin-Name: 57805b588f6b6d070918102a0ff096ade674279a
2008-03-19 13:03:33 +00:00
drh
bb8a279e11 Remove the dependency on the direct btree interface from as many test
scripts as is practical.  Fix a bug in the output limiter of the
integrity_check pragma that came up while making this change. (CVS 4880)

FossilOrigin-Name: 24e769972eb6052b82dc94d20444c186a213e104
2008-03-19 00:21:30 +00:00
drh
d19744f353 Test script changes that go with the coverage enhancements of the
previous check-in. (CVS 4878)

FossilOrigin-Name: f87ddf83a5d1340652f222972a7d75f4fdbe776b
2008-03-18 13:46:53 +00:00
drh
5efaf07099 Add the ability to simulate out-of-memory errors when using the default
memory allocator, mem1.c.  Fix a bug that this enhancement revealed. (CVS 4875)

FossilOrigin-Name: d55a5e1c11ef90534abd2e5f18d06dd4739ade70
2008-03-18 00:07:10 +00:00
drh
7b12a521b9 Label test case bindxfer-1.9 as a misuse test case, since it is one. (CVS 4870)
FossilOrigin-Name: 7b99122632f467cd0c34ad1a91e18fee8833980b
2008-03-17 16:23:26 +00:00
drh
2a3c8ff815 Modify the tableapi.test script so that it works under windows. (CVS 4869)
FossilOrigin-Name: 89e06b4e083e7fd2c053c1cefc0063a5b772d7f8
2008-03-17 15:09:47 +00:00
danielk1977
39359dc020 Return an error when an xBestIndex() method indicates that it intends to use the value of an unusable constraint. Related to #2998. (CVS 4867)
FossilOrigin-Name: ffd470279540b1b8e3fdce6eb14001bae489b16d
2008-03-17 09:36:44 +00:00
drh
17fe6c1d32 Skip tests that require setting detailed unix permissions on files when
running on filesystems such as AFP that do not support that capability. (CVS 4866)

FossilOrigin-Name: 5589b9d395fb8267a124d56dd5d7987e57505e3d
2008-03-15 14:53:04 +00:00
drh
175cd71bab Add tests to make sure the busy handler resets. (CVS 4865)
FossilOrigin-Name: 5e4df441815ed7d02e9ad8ee2e1c2f937ee675d7
2008-03-15 02:09:21 +00:00
danielk1977
d5fe8d6c43 Fix a second race condition in lock4.test. (CVS 4861)
FossilOrigin-Name: e62858b9b8a12ecbad8037868d03469d27418377
2008-03-14 08:57:41 +00:00
danielk1977
4ffb7b9a1d Eliminate a race condition from lock4.test. (CVS 4855)
FossilOrigin-Name: 85585f11049c4c3278dc2732676b0caa44cf1e9d
2008-03-13 04:53:52 +00:00
danielk1977
b2b95d41a1 Do not segfault after a parse error in a sub-select in a statement of the form "DELETE WHERE ... IN(sub-select)". Ticket #2991. (CVS 4854)
FossilOrigin-Name: 3f9f81e908aad6cdc0a16ec52f4ec46d89fd78bc
2008-03-12 10:39:00 +00:00
drh
1aa5af1151 Correctly handle I/O errors that occur during OsUnlock(). Before this
fix, an I/O error during OsUnlock() could lead to database corruption.
That is not a serious problem, though, since errors during OsUnlock()
are not possible on most systems. (CVS 4838)

FossilOrigin-Name: b4c1258edb4a40501d13c9da674d0366d5a8c694
2008-03-07 19:51:14 +00:00
drh
9f504eab49 Fix a bug in the LIKE optimizer that occurs when the last character
before the wildcard is an upper-case 'Z'.  Ticket #2959. (CVS 4807)

FossilOrigin-Name: 610574b23b5e73b71be71df66e084c5bf37f6ccd
2008-02-23 21:55:39 +00:00
drh
e4d052a314 Additional test cases. (CVS 4806)
FossilOrigin-Name: 74126bf4e605dc875adbf5a0ee83bf8112891e35
2008-02-21 21:30:07 +00:00
drh
1cfdc90b43 Accept "Z" as the zulu timezone at the end of date strings. (CVS 4805)
FossilOrigin-Name: 4c9a7b42b797f42f2b1e2e8d6a260044bd22ef2d
2008-02-21 20:40:43 +00:00
drh
eee4c8ca11 Add the memory fault simulator to mem5.c. Enable soft heap limit on mem5.c.
Limit the size of hash tables and the vdbefifo when using mem5.c. (CVS 4795)

FossilOrigin-Name: 63da5d97542e4f54c33329833477c8d96ce05dd0
2008-02-18 22:24:57 +00:00
drh
f5e7bb513c Add the Bitvec object for tracking which pages have been journalled.
This reduces memory consumption and runs faster than the bitmap approach
it replaced. (CVS 4794)

FossilOrigin-Name: 7c57bdbcdb84d95419ec7029d2e13c593854a8d8
2008-02-18 14:47:33 +00:00
drh
2d7636e212 The power-of-two first-fit memory allocator is now working. (CVS 4793)
FossilOrigin-Name: d134d29cea971eb01a0e0fd94341ab79e2d5b57a
2008-02-16 16:21:45 +00:00
drh
c52e355de1 Do not apply the query flattening optimization when the outer query is an
aggregate and the inner query contains an ORDER BY clause.  Ticket #2943. (CVS 4791)

FossilOrigin-Name: 6d33cbd99cb0db680767ceb31ec6345e90a805bc
2008-02-15 14:33:03 +00:00
danielk1977
131b0ef7fd Fix a problem in the ptrchng.test script. (CVS 4786)
FossilOrigin-Name: 30a45f078421bc89da9218528110e3bd90054bbf
2008-02-14 05:44:45 +00:00
danielk1977
a7a8e14bf2 Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783)
FossilOrigin-Name: 990237e27e417aff3dbf05784b716c21f3761a3a
2008-02-13 18:25:27 +00:00
drh
0f35a6b529 When materializing a view for an UPDATE or DELETE make use of the WHERE
clause to limit the number of rows materialized.  Ticket #2938. (CVS 4782)

FossilOrigin-Name: 5ab71c3a79cac04cb2c576f83a62218d05571006
2008-02-12 16:52:14 +00:00
drh
8e5b5f8e54 ALTER TABLE uses double-quotes for quoting table names. (CVS 4781)
FossilOrigin-Name: 607247c27b80520b8c25c489757288b8ea186f9e
2008-02-09 14:30:29 +00:00
danielk1977
044d305c53 Modify shared.test to do case independent comparison of filenames. To account for the fact that "c:/test.db" and "C:/test.db" are the same file. (CVS 4780)
FossilOrigin-Name: 63915b54cfb41c2361c387636aa904145b166411
2008-02-08 18:25:48 +00:00
danielk1977
0ee26d943f Change the test code used for speed tests so that it does not throw an exception if the time command returns "0 microseconds per iteration". (CVS 4779)
FossilOrigin-Name: f37e8637d234e50436760497f8001c33975510ce
2008-02-08 18:25:29 +00:00
drh
1ece7325bb Do not release registers used to hold the results of a compound select
after just the first select has run.  Ticket #2927.  For now, we will
never release the registers used to hold the result set, since the same
register set will be used for each select.  This is not an unacceptable
register leak and it is the safest approach. (CVS 4778)

FossilOrigin-Name: e9fcb793998be07eaea01404407087b71c29853d
2008-02-06 23:52:36 +00:00
drh
69544ec9cb Add the sqlite3_result_error_code() application interface. Use it in the
ATTACH function so that a failed attach returns a proper error code.
Ticket #2914. (CVS 4775)

FossilOrigin-Name: c24616204307936d03d39d2ef0fe6856113f6977
2008-02-06 14:11:34 +00:00
drh
45b5ba88dc Delete unused "pager3_refinfo_enable" flag and its associated debugging
macros.  Ticket #2923. (CVS 4774)

FossilOrigin-Name: fccb217d91d08c5a2f5d51b21c6035474931957b
2008-02-02 20:47:38 +00:00
drh
755beb4564 Add more test cases to prove that ticket #2920 does not exist in
CVS HEAD.  The problem was previously fixed by the changes to
ticket #2686.  Ticket #2920 is a duplicate of #2686. (CVS 4772)

FossilOrigin-Name: b3259e872124fd7e17bbc23e582aa4d802044837
2008-02-02 02:48:52 +00:00
drh
a2647cae50 Modify the printf test script so that it does not depend on the platform
printf, so that we do not spurious test failures when moving from one
platform to another. (CVS 4767)

FossilOrigin-Name: 514d7e474391278a121af285dc4aca6216358ad7
2008-02-01 01:19:53 +00:00
drh
2945b4a1ac Make sure virtual table interfaces are not invoked after EOF when
the virtual table appears in an outer join.  Ticket #2894. (CVS 4761)

FossilOrigin-Name: face510bc14f440fc08dd5a354882ae05499bfa7
2008-01-31 15:53:45 +00:00
drh
72190430c5 Fix assertion fault in sqllimits1.test encountered when auto_vacuum is
enabled.  Correct the sqllimit1 tests to account for extra pages inserted
by auto_vacuum. (CVS 4759)

FossilOrigin-Name: 9b207d1a6690206a6d7a10fcb517579b8bdadca2
2008-01-31 14:54:43 +00:00
drh
820a90694e Version number to 3.5.5. Include FTS3 in the amalgamation by default
(but disabled unless compiled with -DSQLITE_ENABLE_FTS3).  Fix a memory
allocation problem. (CVS 4757)

FossilOrigin-Name: 72411043e60d5358d5a7adf566d662d65d3b3336
2008-01-31 13:35:48 +00:00