1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-14 00:22:38 +03:00
Commit Graph

2399 Commits

Author SHA1 Message Date
drh
08c88eb0d3 First cut at optimizing single-row updates to use a one-pass algorithm. (CVS 4973)
FossilOrigin-Name: fba97f7874d723111e873d1470fc1a95e64f922d
2008-04-10 13:33:18 +00:00
drh
67ade0a2d0 Add three new test cases to speed4p.test. Two of the three do single-row
updates based on rowid and on primary key. (CVS 4972)

FossilOrigin-Name: a2da7f9ac24ed17329ce9bde2e521a5b945e4ec2
2008-04-10 13:32:36 +00:00
drh
0e6ed0f040 Fix a bug in the speed4p.test performance testing script. (CVS 4971)
FossilOrigin-Name: 80311594149af093f1719ec433a633c332a5955e
2008-04-10 13:20:21 +00:00
drh
335d29d208 Smaller and hopefully faster routine for converting blob literals into binary. (CVS 4967)
FossilOrigin-Name: 92d49499ee3371db64267c7e2ba72a5e12ea76f3
2008-04-04 15:12:21 +00:00
drh
1c22f2ddfb Fix the output labels on the tests in malloc9. (CVS 4966)
FossilOrigin-Name: 9987a7b193095dc90a83666bdac5e23105909cba
2008-04-04 12:21:25 +00:00
drh
d543a42248 Use an improved RDTSC access routine. (CVS 4961)
FossilOrigin-Name: b4eba9c533f6aac9dde4f2c9796fe02e25158a0f
2008-04-03 19:40:59 +00:00
danielk1977
3a2c8c8b73 Avoid an out-of-bounds read in sqlite3_prepare() and fix a case where the output variable *pzTail was being set incorrectly. Fix for #3027. (CVS 4957)
FossilOrigin-Name: c287a7b29410be12cf88f886e8e2525a42aa9c03
2008-04-03 14:36:25 +00:00
danielk1977
ce98bba24b Change the allocator in mem2.c (used when SQLITE_MEMDEBUG is defined) so that allocations are not rounded up to the nearest 4 byte boundary. Fix a couple of errors in malloc.test related to sqlite3OsAccess() returning -1. (CVS 4956)
FossilOrigin-Name: fd97f8762cb1e4653c932402940f74d7c0ebf71f
2008-04-03 10:13:01 +00:00
drh
47de955ea9 Avoid factoring single-instruction constants that end up getting replaced
by an SCopy instruction. (CVS 4952)

FossilOrigin-Name: e84ff57b6217afa84d60547dcc3a270b5e116818
2008-04-01 18:04:11 +00:00
drh
c5499bef4b Add the testcase() macro. Additional CSE test coverage. (CVS 4951)
FossilOrigin-Name: 492490f9c86e52c7a706d9e1bf0ba216d5bb8aba
2008-04-01 15:06:33 +00:00
drh
b3843a82ea Fix a problem with CASTs and the new CSE mechanism. (CVS 4950)
FossilOrigin-Name: e25939fb25ec8bde8500a672ca5be3cbb514ac3a
2008-04-01 12:24:11 +00:00
drh
2f7794c111 More test cases and bug fixes with CSE. (CVS 4948)
FossilOrigin-Name: 7e8156129d6d240fe046bbc4ea269ebe1657e2a1
2008-04-01 03:27:39 +00:00
drh
652fbf55c5 Initial test cases and bug fixes in the CSE logic. (CVS 4946)
FossilOrigin-Name: e5aff09ac693946dc7ebb2f245b6434995b12155
2008-04-01 01:42:41 +00:00
drh
9e6675f73f Add the veryquick.test script for a very fast overview test that omits
all i/o and malloc testing. (CVS 4944)

FossilOrigin-Name: f61df8daa89f07dad2a0ded00c326ef35dead257
2008-03-31 23:51:35 +00:00
drh
f704c1d6cd Set exclusive locking mode by default on the speed4p test. (CVS 4939)
FossilOrigin-Name: 2d9fea95335ab8f399868f63c51bee89ed7633fa
2008-03-29 17:26:01 +00:00
drh
8359d8cb9d Add the --pause option to the main test driver. (CVS 4934)
FossilOrigin-Name: 37dfcdf529378a8ef37ed8672e28339a7d9e9da6
2008-03-29 11:00:54 +00:00
danielk1977
473c35223e Fix a problem with min() and descending indexes. (CVS 4933)
FossilOrigin-Name: 39705b617a775d4299e98ac88fab4525a64d8b78
2008-03-28 19:16:56 +00:00
danielk1977
e5f5b8f1f0 Fix for #3022. Handle queries like "SELECT min(b) FROM T WHERE a = X AND b > X" when there is an index on (a,b). (CVS 4930)
FossilOrigin-Name: bce289753538ab504e55c4215d6cd4f5df137d9e
2008-03-28 18:11:16 +00:00
drh
334c80d615 Change the pager's sector size algorithm to the maximum of the size
reported by xSectorSize() from the VFS and 512.  It was using the
maximum of xSectorSize() and the current page size, but that was adding
an extra 512 bytes to the size of the journal file in the common case. (CVS 4929)

FossilOrigin-Name: 17ea0c97a8bac1b34af1f9183d93a2f2a6af9690
2008-03-28 17:41:13 +00:00
danielk1977
5f09613545 Changes to the Mem structure to reduce the frequency of freeing and reallocating the dynamic buffer. (CVS 4928)
FossilOrigin-Name: d0bf73d81453da1d8e602e0445064d9f5e348063
2008-03-28 15:44:09 +00:00
danielk1977
dbdc4d49cb If memory is leaked when running a test script with the --malloctrace option, write out a file called leaks.sql in the same format as mallocs.sql containing th e leaked applications. The same tools can then be used to examine the stack traces associated with leaked allocations. (CVS 4926)
FossilOrigin-Name: f1b97ed93183378ff56b4fe7ae8ea269c24092fc
2008-03-28 07:42:53 +00:00
drh
c9e8493e27 Added the speed4p.test script for testing performance of views and triggers. (CVS 4923)
FossilOrigin-Name: adf7645f9a1e12389a7511d2adca9013b7f330fa
2008-03-27 15:07:04 +00:00
drh
42165be18c Make sure ON clause terms of a LEFT JOIN are not used with an index on the
right table of the join.  Ticket #3015. (CVS 4919)

FossilOrigin-Name: 3fafa562593b51d38f58e7a691c193d34a812a05
2008-03-26 14:56:34 +00:00
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