Commit Graph

3790 Commits

Author SHA1 Message Date
shess 13ee81fe96 Refactor PLWriter to remove owned buffer. DLCollector (Document List
Collector) now handles the case where PLWriter (Position List Writer)
needed a local buffer.  Change to using the associated DLWriter
(Document List Writer) buffer, which reduces the number of memory
copies needed in doclist processing, and brings PLWriter operation in
line with DLWriter operation. (CVS 3707)

FossilOrigin-Name: d04fa3a13a84f49074c673b8ee2fb6541da061b5
2007-03-22 00:14:28 +00:00
shess 4607fc06f6 Refactor PLWriter in preparation for buffered-document change.
Currently, PLWriter (Position List Writer) creates a locally-owned
DataBuffer to write into.  This is necessary to support doclist
collection during tokenization, where there is no obvious buffer to
write output to, but is not necessary for the other users of PLWriter.
 This change adds a DLCollector (Doc List Collector) structure to
handle the tokenization case.

Also fix a potential memory leak in writeZeroSegment().  In case of
error from leafWriterStep(), the DataBuffer dl was being leaked. (CVS 3706)

FossilOrigin-Name: 1b9918e20767aebc9c1e7523027139e5fbc12688
2007-03-20 23:52:37 +00:00
danielk1977 3b8a05f681 Modify the interface to the pager sub-system in preparation for performing IO in blocks based on sector-size, not database page-size. (CVS 3705)
FossilOrigin-Name: 7dc7658887046f066b564a5994578074a99756ba
2007-03-19 17:44:26 +00:00
danielk1977 a8553141c9 Add some test cases simulating crashes with various storage medium sector sizes. (CVS 3704)
FossilOrigin-Name: c3c5f658cf9c69b6e81e63fbde5dd0a854be9fc7
2007-03-19 15:04:54 +00:00
danielk1977 b94bf855b2 Fix some problems with test cases in shared_err.test. Also a real bug causing a segfault after an IO error in pager.c. (CVS 3703)
FossilOrigin-Name: 9f62ef1ec385d9f1a1913439dc4c2d710373f12a
2007-03-19 13:53:37 +00:00
drh fe5d71dd7f Fix a comment in btree.c (CVS 3702)
FossilOrigin-Name: 05700c11a9e5177a437d2240e72fb61ea47b973b
2007-03-19 11:54:10 +00:00
danielk1977 4099f6e129 Changes to support medium sector sizes larger than the database page size. (CVS 3701)
FossilOrigin-Name: 3a3e8eb25d8e04cfccc5c0513ed04efcc25d3dbf
2007-03-19 11:25:20 +00:00
danielk1977 b472117c11 Add new OS file method to return the sector-size of the underlying storage: sqlite3OsSectorSize() (CVS 3700)
FossilOrigin-Name: 5752d84d374205e011d49b0221d6237967fe0743
2007-03-19 05:54:48 +00:00
drh 8d3921772f Add documentation of the REPLACE, TRIM, LTRIM, and RTRIM functions. (CVS 3699)
FossilOrigin-Name: d42c9636205a1a649cffcaeabff2b9b32016db31
2007-03-17 18:22:58 +00:00
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 06f52cb936 Add crash2.test, for robustness testing with variable disk block size. (CVS 3696)
FossilOrigin-Name: b0f8203dbbf1036418a2dcc480f352f761826194
2007-03-17 10:28:04 +00:00
danielk1977 59a33f98d6 Modifications to crash-test infrastructure. (CVS 3695)
FossilOrigin-Name: c4be8d9949fc7b5e1bed757423c5195f38069048
2007-03-17 10:26:59 +00:00
danielk1977 933bbd6c8d Combine the two very similar definitions of (crashsql) in the test scripts. (CVS 3694)
FossilOrigin-Name: eaf434d5887bf75330e1cea12be810dfe667b62a
2007-03-17 07:22:42 +00:00
shess 0d9f55a177 Out-of-memory cleanup in tokenizers. Handle NULL return from
malloc/calloc/realloc appropriately, and use sizeof(var) instead of
sizeof(type) to make certain that we don't get a mismatch between
them as the code rots. (CVS 3693)

FossilOrigin-Name: fbc53da8c645935c74e49af2ab2cf447dc72ba4e
2007-03-16 18:30:54 +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
drh a26cdf9a61 Add hyperlink anchors to the lockingv3.html document. (CVS 3685)
FossilOrigin-Name: 3e66ea6f61abc0f95af3bb46ebc0e10b4dcd069b
2007-03-13 16:33:42 +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
drh 280801e2d1 Fix another typo in copyright.html (CVS 3682)
FossilOrigin-Name: 92f158643cc3f9fa913ed80e4eef325c33e4bf06
2007-03-10 20:50:18 +00:00
drh 35791c9d55 Amplify and clarify reasons for wanting to get a license to use
SQLite. (CVS 3681)

FossilOrigin-Name: 05bae0204d2387201be4783a11d54b220a4a40e8
2007-03-10 20:47:50 +00:00
drh fe710cca7b Fix typos in the copyright.html webpage. Ticket #2267 (CVS 3680)
FossilOrigin-Name: 74a4bfce46534330cb749ce2337ef39d51d693e7
2007-03-10 18:30:31 +00:00
drh 74e4352aa1 Updates to the copyright.html page to address concerns some users have
SQLite have about copyright issues.  A links to the wikipedia article
on public domain and a public domain icon. (CVS 3679)

FossilOrigin-Name: 6ce39f30063bbee3271a428f284235b0a84b9229
2007-03-10 13:47:01 +00:00
danielk1977 1be02aad86 Remove extra heading accidentally added to lang.tcl by (3677). (CVS 3678)
FossilOrigin-Name: 570533c1ef4640670227481cf72b782d320a65ba
2007-03-09 14:43:25 +00:00
danielk1977 2956aead93 Add a few "class" attributes to the html generated by lang.tcl to support conversion to pdf. (CVS 3677)
FossilOrigin-Name: 485c52ddc0f3c24f624825904cea3566f83f0e68
2007-03-09 14:40:58 +00:00
drh fd6f59f51c Change the documentation to be more specific about the restriction on
the use of keywords.  Ticket #2264. (CVS 3676)

FossilOrigin-Name: d03d480544e1f782ca796e4cfb83ff6894ed9147
2007-03-08 12:23:34 +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