Commit Graph

5086 Commits

Author SHA1 Message Date
drh 17afdd238f Changes speedtest8 and speedtest16 so that the database file can be specified
on the command-line.  Allows speed testing against a :memory: database. (CVS 4960)

FossilOrigin-Name: 64badc50531668de45d76a3dcd90db17e1fe1ab1
2008-04-03 17:57:24 +00:00
danielk1977 fb103a8488 Instead of calling sqlite3_exec() to evaluate "PRAGMA encoding = UTF16" in sqlite3_open16(), set the connection encoding flag directly. (CVS 4959)
FossilOrigin-Name: 33a12e737c343dbc452a25321a63456c1a8f7548
2008-04-03 16:28:24 +00:00
drh 7720d6448a Add the speedtest8.c and speedtest16.c files to the tools subdirectory. (CVS 4958)
FossilOrigin-Name: b8d211a76fa56d812fc1758b58d65eef832494cb
2008-04-03 16:01:27 +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 41eb9e9986 Minor optimizations. (CVS 4955)
FossilOrigin-Name: e8529455803e0dab167f4faba5846fa1eafef741
2008-04-02 18:33:07 +00:00
drh 6a9ad3da22 Simplifications to the LockTable opcode. (CVS 4954)
FossilOrigin-Name: 66c5d715bbb732b0861a8a6f994cb4a8f259f2f8
2008-04-02 16:29:30 +00:00
mlcreech 6cc9c28920 Set flags = MEM_Null on allocation failure in sqlite3VdbeMemGrow (CVS 4953)
FossilOrigin-Name: 846f9739d3e288dc81e40f5bfab046bd80bb22b2
2008-04-02 04:23:32 +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 da250ea599 Fix the CSE mechanism so that it takes into account column affinity
changes that might be imposed by comparison operators. (CVS 4949)

FossilOrigin-Name: 91cc646e2b0c1d62a1989405cc9384a2c22d98d0
2008-04-01 05:07:14 +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
mlcreech aac7b93ea4 Add a configure option for using gcov (makes things easier for versions of
GCC that fail to build otherwise) (CVS 4947)

FossilOrigin-Name: 7d1e79716246b0dd4a64d7c9575b2300e0f6123e
2008-04-01 02:45:22 +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 e1349cb0f0 Break up the implementation of OP_Move, OP_Copy, and OP_SCopy to reduce
the number of branch instructions. (CVS 4945)

FossilOrigin-Name: 53e533d3a764d1973c24bffaacc505ea4b61a2b9
2008-04-01 00:36:10 +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 e55cbd7228 Avoid duplicate OP_Column opcodes by remembering prior results.
This is similar to CSE, but only applies to columns. (CVS 4943)

FossilOrigin-Name: c29ee0fed23dcdbd9dde6b1e42b603100ea2389c
2008-03-31 23:48:03 +00:00
drh 678ccce8b3 Factor constant subexpressions out of loops. (CVS 4942)
FossilOrigin-Name: 2126db39854c751aea6c95c67894ed9b9dfc0763
2008-03-31 18:19:54 +00:00
danielk1977 a686bfcfa5 In setQuotedToken(), only make a malloced copy if the argument contains one or more " characters. (CVS 4941)
FossilOrigin-Name: b266924b8975b69bdb9ab45cf462e41436f89cc2
2008-03-31 17:41:18 +00:00
mlcreech fe3f4e8a4a Minor cleanup: Use size_t for struct size cast (CVS 4940)
FossilOrigin-Name: 618df68b8b78d376d30cea79a273fd39140f5033
2008-03-29 23:25:27 +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 a2c20e433b Make the sqlite3BtreeMoveto routine a no-op if the cursor is already pointing
at the cell we are trying to move to. (CVS 4938)

FossilOrigin-Name: 9b567ab61e7542141b7bc9c3c053c2d1180da92d
2008-03-29 16:01:04 +00:00
rse 907b46ca16 add two missing initializer values (CVS 4937)
FossilOrigin-Name: bf28f1c260b3efbec3b031edb97ccb7b4b039947
2008-03-29 12:50:33 +00:00
rse 28f667fc22 eliminate compile-time warnings related to missing field initializations (CVS 4936)
FossilOrigin-Name: d6a34d983e2181f1d1763bd3821a1e63f1e18818
2008-03-29 12:47:27 +00:00
rse 867780aea2 add three missing initializers (CVS 4935)
FossilOrigin-Name: f45f0593cf5dd8c0172b13c300a4a9393540e0d7
2008-03-29 12:39:39 +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 75eb016666 Fix a memory leak that can occur when the library API is misused. (CVS 4932)
FossilOrigin-Name: 2b6d3e015e3088531c62230c9b3bdab47ef534da
2008-03-28 19:16:33 +00:00
danielk1977 f934c5a98b Do not incorrectly report a malloc() failure when allocating 0 bytes. Fixes a problem in bind.test. (CVS 4931)
FossilOrigin-Name: b99d19d651b00dcc7bdb36facfd9ecffe4fafd9f
2008-03-28 19:15:34 +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
drh b940492e4a Patch to the new memory tracing logic that allows it to build even if
memory debugging is turned off. (CVS 4927)

FossilOrigin-Name: 0a9c63b227b9c6d2bd0e7b491245947ffc83c828
2008-03-28 12:53:38 +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 19db935225 Allow the xAccess method in the VFS to return -1 to signal an I/O
error, and in particular an SQLITE_IOERR_NOMEM. (CVS 4925)

FossilOrigin-Name: 3cb704c4c439425781644b1b653b7e50f02fd91e
2008-03-27 22:42:51 +00:00
danielk1977 9882d99993 Allow creation of ephemeral pseudo-tables - pseudo-tables that copy a pointer to a row when inserted instead of copying the row data. (CVS 4924)
FossilOrigin-Name: 1a58a87023f7780aee813ac64dda1a80021002a7
2008-03-27 17:59:01 +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
danielk1977 dfb316d432 Changes to delay freeing buffers associated with vdbe memory cells until either sqlite3_finalize() or sqlite3_release_memory() is called. (CVS 4922)
FossilOrigin-Name: 8c2f69521f13bc24cf005520efbe0589eeadd763
2008-03-26 18:34:43 +00:00
drh 7e2e6dc950 Work around problems with compilers that do not allow C preprocessor
macros with empty arguments. (CVS 4921)

FossilOrigin-Name: afe1963ec5588d2195f027fa438cf63d49c89cd9
2008-03-26 17:18:48 +00:00
drh 083e581977 Change comment in sqliteLimit.h to correctly describe the
SQLITE_MAX_ATTACHED #define.  Ticket #3016. (CVS 4920)

FossilOrigin-Name: d016d0784097e6657de26ccc6bece34913093fb0
2008-03-26 15:56:22 +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 995ae279b3 Comment change on the previous check-in. No changes to code. (CVS 4918)
FossilOrigin-Name: 72ae456239eb9f75b744f6733c4441b380bd1be1
2008-03-26 12:50:14 +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 e14006d0de Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather
than a record formed using {quote: MakeRecord.}  This avoids a needless packing
and unpacking of the record to be deleted. (CVS 4916)

FossilOrigin-Name: ee381b43563e1b0637ee74389d076dff77deddf9
2008-03-25 17:23:32 +00:00
danielk1977 4e1ddde370 Test string values passed to bind_text() and result_text() for a nul-terminator. (CVS 4915)
FossilOrigin-Name: 24c3ebc0c5c53c234516d16dce761d713fb29578
2008-03-25 16:16:29 +00:00
danielk1977 52ae7246c6 Have each {quote: BtShared} structure hang on to a buffer of just under page-size bytes for temporary use. This reduces the number of calls to malloc(). (CVS 4914)
FossilOrigin-Name: fe1bc0f3b7cd87cd65f7d03b91095b59788a6f8d
2008-03-25 14:24:56 +00:00
danielk1977 6507ecb376 Fix for memory leak in malloc3.test. (CVS 4913)
FossilOrigin-Name: ef0e40e814b3d3a00721f8ca39bac0db1be24347
2008-03-25 09:56:44 +00:00
danielk1977 cd3e8f7ce9 Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912)
FossilOrigin-Name: 047153648155654b0cd70b811935209d2e21776c
2008-03-25 09:47:35 +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