1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-10-24 09:53:10 +03:00
Commit Graph

2946 Commits

Author SHA1 Message Date
drh
309b338673 Added TRIM, LTRIM, and RTRIM functions. (CVS 3698)
FossilOrigin-Name: 6fe13eeade4fc7099fbda1e6520640927c08debc
2007-03-17 17:52:42 +00:00
drh
26b6d90d74 First cut at an implementation of the REPLACE() function. We might yet
make this a compile-time option or move it into a separate source file. (CVS 3697)

FossilOrigin-Name: c2fe746ea782f84e850aaf3af7f5536b027a19a1
2007-03-17 13:27:54 +00:00
danielk1977
59a33f98d6 Modifications to crash-test infrastructure. (CVS 3695)
FossilOrigin-Name: c4be8d9949fc7b5e1bed757423c5195f38069048
2007-03-17 10:26:59 +00:00
danielk1977
fe39319ec8 Save an if(...) clause made redundant by (3691). (CVS 3692)
FossilOrigin-Name: 8153edf8bea51b9344de1b700482879190f86fb4
2007-03-15 15:35:28 +00:00
danielk1977
8d848d1da3 Check for multiple calls to sqlite3FailedMalloc(). Ignore the second and subsequent calls. (CVS 3691)
FossilOrigin-Name: 7180874592ffcaf8e2fe3c3b6b37449654da709b
2007-03-15 15:33:31 +00:00
drh
a7aea3dd52 Fix the pager so that it handles persistent I/O errors correctly.
Update the testing infrastructure so that it tests for persistent
I/O errors instead of just transient errors. (CVS 3690)

FossilOrigin-Name: ea8507a796c65041f7e720edea89f919fca1a028
2007-03-15 12:51:16 +00:00
drh
d5eb79eb40 Infrastructure to make simulated I/O errors persistent instead of
transient. (CVS 3689)

FossilOrigin-Name: 1a53f531ecd51938fab37a59b7088d89d8f8569d
2007-03-15 12:17:42 +00:00
danielk1977
b69d96d22c Catch an IO error code that was being ignored in OP_RowData. (CVS 3688)
FossilOrigin-Name: 760ebf8076b9cedb614bdc88c72d871c30cc7b94
2007-03-15 12:05:35 +00:00
drh
3f56e6ebac Enhanced temp-file security under unix. There are no known attacks against
prior versions - this check-in is just an added precaution. (CVS 3687)

FossilOrigin-Name: 5af61402f65bddc4040a20470f267c9404cba631
2007-03-15 01:16:47 +00:00
danielk1977
34c68fbab6 Modify the behaviour of writable_schema to ignore schema parsing errors. (CVS 3686)
FossilOrigin-Name: a8d6d935fbe32a759a55c1ef90adda7fe534acc1
2007-03-14 15:37:04 +00:00
danielk1977
d45a0315cb Do not crash when a corrupt database contains two indices with the same name. (CVS 3684)
FossilOrigin-Name: 48b2a40008a09881ed9da3548095495a3d4a6647
2007-03-13 16:32:25 +00:00
drh
7f906d63ff Clarify the use of loop variables in a expr.c. (CVS 3683)
FossilOrigin-Name: e20e76f6d8578f4faab0b101b6d4deb2a8987454
2007-03-12 23:48:52 +00:00
danielk1977
884c5b32c9 Catch an out-of-memory condition in vacuum code. (Bug in (3373)). (CVS 3675)
FossilOrigin-Name: 302ec768579e2f7c17a33749e685289a041aeb11
2007-03-06 16:03:55 +00:00
drh
7236583ba0 Fixes to the overflow-chain optization of (3672). (CVS 3674)
FossilOrigin-Name: d6986d1e7cba1d114fa06c5560ffc6bb1feb7389
2007-03-06 15:53:44 +00:00
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