Commit Graph

2582 Commits

Author SHA1 Message Date
danielk1977 8186df86ee Use heap instead of stack for large buffers in the pager. Fix for #2262. (CVS 3673)
FossilOrigin-Name: dfe1dffa4515ed6494055887d351863fe0cdb87f
2007-03-06 13:45:59 +00:00
drh 9444081a3b Do not read the last page of a overflow chain when deleting that chain.
Just add the page to the freelist.  This reduces I/O. (CVS 3672)

FossilOrigin-Name: 6db945f7a7587c8c7adada92f94ac7936b901cf1
2007-03-06 11:42:19 +00:00
drh 0787db6519 Changes to the btree and pager that reduce the amount of I/O when dealing
with the freelist.  (1) Avoid journaling pages of a table that is being
deleted.  (2) Do not read the original content of pages being pulled off
of the freelist. (CVS 3671)

FossilOrigin-Name: 2ba5be311945a4c15b6dce7c01efefb513b9a973
2007-03-04 13:15:27 +00:00
danielk1977 8efe541f24 Handle the case where the estimated cost of a virtual table scan is larger than SQLITE_BIG_DBL. Ticket #2253. (CVS 3670)
FossilOrigin-Name: 52885ed8b76a06588acf202a38b4feabfca1cfd1
2007-03-02 08:12:22 +00:00
danielk1977 a41c7497e8 Disable the "SELECT max(rowid) ..." optimization for virtual tables. Ticket #2250. (CVS 3669)
FossilOrigin-Name: ddb4d0af5770c7030fe6e92119972c9508724b9a
2007-03-02 07:27:00 +00:00
danielk1977 b4622b6075 Minor fixes so that testfixture builds without IO tracing enabled. (CVS 3668)
FossilOrigin-Name: 8d3829cdb35f41bc7a2e6f945e9aa83987513104
2007-03-02 06:24:19 +00:00
drh 602c237461 Additional I/O Tracing support. (CVS 3667)
FossilOrigin-Name: ed915f579a8e5b75681a9a6012b5041500cad36c
2007-03-01 00:29:13 +00:00
drh f075cd087b Work around incompatibilities in the windows printf() routine within the
new I/O tracing logic. (CVS 3666)

FossilOrigin-Name: ceb3a07f559b5160232c8bce5446f4d0e8aab92b
2007-02-28 06:14:25 +00:00
drh b0603416dc Add the undocumented and experimental I/O tracing interface. This
interface is likely to change and may be completely abandoned in the
near future. (CVS 3665)

FossilOrigin-Name: 007ca283892a66dd8b9e0dfece4f75d0d08a4300
2007-02-28 04:47:26 +00:00
drh 15d00c4e7b Improvements to OS layer tracing on the unix backend. (CVS 3664)
FossilOrigin-Name: 3ad96dbe09b99bd5f623de0de3072a25e9e2bc17
2007-02-27 02:01:14 +00:00
drh d40aab0ea8 Add comments to sqlite3ExprCompare() to clarify its operation. Ticket #2216. (CVS 3663)
FossilOrigin-Name: fba0a1e50820677081bc7cf01f97bf953065f7c4
2007-02-24 15:29:03 +00:00
drh fb658dedce Additional test cases added. Improvements to the INSERT transfer
optimization. (CVS 3662)

FossilOrigin-Name: 2bf5475bde763f73f7f4dd9cac7d13a631a7d2aa
2007-02-24 15:18:49 +00:00
drh dd73521bc2 Additional tests and some improvements to the INSERT transfer
optimization.  More testing is needed. (CVS 3661)

FossilOrigin-Name: 830985814345f71ba2def3c206e36aabe9e1ee7c
2007-02-24 13:53:05 +00:00
drh 8103b7d2b7 Make sure the INSERT xfer optimization does not trigger if the CHECK
constraints on the two tables are not identical.  Ticket #2252. (CVS 3660)

FossilOrigin-Name: 6fc18275230563437f2985eac3795e4dfe8eb9de
2007-02-24 13:23:51 +00:00
drh 945498f3f2 Make sure that integer values are converted to real when pulled from
a REAL table column by GROUP BY.  Ticket #2251.  Also make sure default
values are correctly expanded.  There may be other places in the code
where this issue comes up - we need to look further. (CVS 3659)

FossilOrigin-Name: e11bbf174c5a2fa75e3d1dd450c8b2a18f40e4da
2007-02-24 11:52:52 +00:00
drh 3e35580779 Disable the OR optimization if it would conflict with column
affinity coercions.  Ticket #2249.  Additional cleanup and testing
of the OR optimization. (CVS 3658)

FossilOrigin-Name: 908daaa9ab86e0bd1da6d0807d6aaba240c3cee0
2007-02-23 23:13:33 +00:00
drh de087bd5ed Clarify the documentation on how comparisons occur in an IN operator.
Fix the comparison operators when both sides of an IN operator are
expressions (ticket #2248).
Changes to main.mk for adding FTS2 into the standard build also
got mixed in with this check-in by mistake. (CVS 3656)

FossilOrigin-Name: da81725ca1cd894b3f2d734767e10cc0dc329566
2007-02-23 03:00:44 +00:00
danielk1977 07fd059aa1 Modify the fix for #2244 to avoid using a vdbe label. (CVS 3653)
FossilOrigin-Name: f7ce74b22ab739b8c8599cdc605aa9da1f5b5be5
2007-02-21 17:04:04 +00:00
danielk1977 b77ff0139e Fix for an UPDATE on a virtual table when the WHERE clause matches zero rows.
Ticket #2244. (CVS 3652)

FossilOrigin-Name: 43bf797842f00a104f5c5619ad3215edddfc641b
2007-02-21 16:52:12 +00:00
danielk1977 0817d0dfc2 Use OP_VColumn instead of OP_Column when querying virtual tables for values to save in aggregate context records. #2230. (CVS 3644)
FossilOrigin-Name: cb78f7cb0f0bf0c799a929fd6ea30f25e2a7b5d0
2007-02-14 09:19:36 +00:00
drh 9d9cf22971 Add a new algorithm for handling INSERT which reduces fragmentation on
a VACUUM.  Ticket #2075.  More testing needed. (CVS 3643)

FossilOrigin-Name: 9f56a878cbbc715262b3a48ee696148dbd7bf1d2
2007-02-13 15:01:11 +00:00
drh e68fbe7978 Expand the cursor index in SrcList_item to 32-bits to accomodate really
huge VDBE programs resulting from deeply nested triggers.  This is an
interim fix until we rework triggers to use subroutines. (CVS 3640)

FossilOrigin-Name: 22769e2d37f4912ad388d2ed79f93571d0279fb8
2007-02-13 12:49:24 +00:00
drh 50c6706305 Changes to support fragmentation analysis in sqlite3_analyzer. (CVS 3634)
FossilOrigin-Name: bd6bc3b8f06919000fb082087dff7bbd335d07e9
2007-02-10 19:22:35 +00:00
drh ec41ddac37 Explicit collations always override implicit collations. This is
backwards compatible since SQLite has not previously supported
explicit collations. Need to add tests of this new behavior. (CVS 3633)

FossilOrigin-Name: 3638823a629164e4158f76d03ff2cea1eab34e9d
2007-02-07 13:09:45 +00:00
drh 53a677749f Change the coding of PRAGMA count_changes so that it uses memory cells
of the VM rather than the stack, to avoid problems with leftovers on the
stack interfering with other operations.  Ticket #2217. (CVS 3632)

FossilOrigin-Name: 2bd4b62a20219f939ac2ac22440dc7fc0449f766
2007-02-07 01:06:52 +00:00
drh 7b4fc6a8cb When optimizing out an ORDER BY clause due to uniqueness constraints, make
sure unused terms to the right in the ORDER BY clause to not reference other
tables in a join.  Ticket #2211.  Additional test cases needed before
closing this ticket. (CVS 3629)

FossilOrigin-Name: 912faf18d86416b1a36660851f8a4554e6746875
2007-02-06 13:26:32 +00:00
drh 8ebf6707cf Check the return value of lseek() in os_unix.c to make sure it really worked. (CVS 3628)
FossilOrigin-Name: e4408dd1fd32e6c5057cce0fdfa70eb2d9bd2531
2007-02-06 11:11:08 +00:00
danielk1977 d7263927f7 Set the MEM_Term flag when an internal string has a nul-terminator appended to it. Fix for #2213. (CVS 3627)
FossilOrigin-Name: fc969ad991e5114c3612f4796e342a6db2d79cd5
2007-02-05 14:21:47 +00:00
drh a34001c9a3 Minor tweaks to collating sequences. We'll hold of making major changes
until 3.4.0, since we'll likely end up with some minor technical
imcompatibilities. (CVS 3626)

FossilOrigin-Name: 9740aa95a3f848fc663c88263a911fbc76ada243
2007-02-02 12:44:37 +00:00
drh 8b4c40d8ac First cut at adding the COLLATE operator. Regression tests pass (or at least
the quick set does) and a few new tests have been added.  But many more
tests are needed.  Rules for combining collations need to be worked out. (CVS 3624)

FossilOrigin-Name: 85cca7cd252d46ba71d302a89bc67c56146ec552
2007-02-01 23:02:45 +00:00
drh 3e701a187e Fix a bug in the copy method of the TCL interface. Ticket #2201. (CVS 3623)
FossilOrigin-Name: 936263966ea70792e8abb712730f78cafa1fdbad
2007-02-01 01:53:44 +00:00
drh ca83ac51b3 Allow up to 64 tables in a join (the number of bits in a long long int).
The old limit was 32 tables. (CVS 3622)

FossilOrigin-Name: 505dce8f4e8717341e04f49f6f382719c3c704f1
2007-02-01 01:40:44 +00:00
aswift ae0943b445 Fixed incorrect typecast for flock structure ptr in fcntl() call in sqlite3TestLockingStyle()
Restored previous fullfsync behavior, try fsync() if fcntl(fd, F_FULLFSYNC, 0) returns an error. (CVS 3621)

FossilOrigin-Name: f044c5f49f116ede8ab2d5ab43caa5ca9dd54ffe
2007-01-31 23:37:07 +00:00
drh 137c728f5a Replace the randomHex() function with separate functions
randomBlob() and hex(). (CVS 3620)

FossilOrigin-Name: f5ad74a9bc57e83c11beb3cf46bb6cd8c9de3f86
2007-01-29 17:58:28 +00:00
drh 63cf66f02e Add the randomhex() function as a built-in. (CVS 3619)
FossilOrigin-Name: a6001589ab1349f7a6b4af941e9e0fd73d13c1c0
2007-01-29 15:50:05 +00:00
pweilbacher 5fecee1557 Implement the platform specific part of the shared library interface on OS/2 (CVS 3618)
FossilOrigin-Name: 027251a6fc9971b337172436137fabdafec1d264
2007-01-28 21:42:08 +00:00
pweilbacher 4a53cdbc34 Adapt returns of the os2Read() function to those of other platforms using checkin (3549) to prevent possible corruption (CVS 3617)
FossilOrigin-Name: ba76107cd1fc1898f5357b20b339727e2e034e23
2007-01-28 21:12:13 +00:00
drh 795ab9bbd8 Fix a documentation comment in vdbe.c. Ticket #2188. (CVS 3611)
FossilOrigin-Name: 3eec703beb91be44ded629335001c238052480e7
2007-01-27 13:37:22 +00:00
drh a3eb4b44c4 Parser changes to allow parenthesized numerical arguments to pragmas,
in support of the integrity_check enhancement of check-in (3609)
and ticket #2176. (CVS 3610)

FossilOrigin-Name: ab6322bf9398c2989b648b24c1ebdf09493accdf
2007-01-27 02:38:29 +00:00
drh 1dcdbc0639 Limit the number of errors returned by PRAGMA integrity_check to 100 by
default.  Specify an alternative limit using an argument to the pragma.
Ticket #2176. (CVS 3609)

FossilOrigin-Name: d564a039f27be2bb2c3973e79dc99b25869139da
2007-01-27 02:24:54 +00:00
drh 4e78be693c Make sure the vdbeInt.h file is not #included multiple times. Ticket #2194. (CVS 3608)
FossilOrigin-Name: 93edd3b0565d08383b3034c57f221073fde6de4b
2007-01-26 21:08:04 +00:00
drh 23a4d14e79 Fix prototypes for the parser. Syntactic change only - no effect on
object code.  Ticket #2193. (CVS 3607)

FossilOrigin-Name: 02990fabd1c68fb51afc91a1b720802ef86bfec6
2007-01-26 19:31:00 +00:00
drh 485f00391b Add code to select.c for printing the contents of parse-tree structures.
The code is normally omitted.  You must compile with -DSQLITE_TEST
or -DSQLITE_DEBUG to enable it. (CVS 3606)

FossilOrigin-Name: 1b26d6875612a0ed25d6e293f005ea4966692759
2007-01-26 19:23:33 +00:00
drh 0ee5a1e763 Fix a (harmless) assertion fault on nested views where the inner views
are compound selects.  Ticket #2192. (CVS 3605)

FossilOrigin-Name: 942e7193bbf1ffe9a703891d175e016631e2ad5c
2007-01-26 19:04:00 +00:00
drh e31a1fb018 Make sure the loadext.c module works even if all SQLITE_OMIT macros are
defined.  Tickets #2184 and #2069. (CVS 3604)

FossilOrigin-Name: e1fae43c89253fe5ca85bd149cd7697234f9aa91
2007-01-26 13:08:24 +00:00
drh 6c9121a7dd Work around issues with certain C++ compilers by adding a typedef
to sqlite3.h.  Ticket #2191. (CVS 3603)

FossilOrigin-Name: 31e8cf7f30afe14f0866ea71eebbda9755ddedf8
2007-01-26 00:51:43 +00:00
drh f2d315d0c2 Fix an additional problem with the IS NULL optimization on LEFT JOINs.
Ticket #2189.  See also ticket #2177. (CVS 3602)

FossilOrigin-Name: 358dd82d3a921228155e2cf9e22aedd2b651ca9c
2007-01-25 16:56:06 +00:00
drh c49de5d98c Make sure the IS NULL optimization introduced by check-in (3494) correctly
handles a LEFT JOIN where the a term from the right table of the join uses
an IS NULL constraint.  Ticket #2177.  This check-in also adds the new test
cases that were suppose to have been added with (3494) but which were
mistakenly omitted. (CVS 3595)

FossilOrigin-Name: 335863e4d16113fb9ecebce35d2db043771d98b1
2007-01-19 01:06:01 +00:00
drh f6d8ab87c6 Fix a bug in sqlite3_prepare_v2() introduced by checkin (3578) and reported
on the mailing list. (CVS 3592)

FossilOrigin-Name: 87248470362f444f2339fee18d3624e8544f5256
2007-01-12 23:43:42 +00:00
drh d2832bf1f0 Make the AreFileApisANSI() call a macro with a value of 1 on wince.
Ticket #2163. (CVS 3590)

FossilOrigin-Name: a72c950cdbb7ad14572ccdf9b94ceac8ea0a2588
2007-01-10 18:56:15 +00:00