1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-05 15:55:57 +03:00

1674 Commits

Author SHA1 Message Date
danielk1977
dcbb5d3f47 Test interaction of incremental io and other database writes. (CVS 3922)
FossilOrigin-Name: 4516416b4d38679ea7d259155f241e54c4c58d7d
2007-05-04 18:36:44 +00:00
drh
5bb3eb9b9a Eliminate all uses of sprintf() and strcpy(). These were not being
misused.  But getting rid of them removes a library dependency.  And
it avoids warnings from the OpenBSD compiler.  Ticket #2336. (CVS 3916)

FossilOrigin-Name: ba4845b32bdf38e623c4f7246e6e327715bbba4b
2007-05-04 13:15:55 +00:00
danielk1977
92d4d7a92e Test cases and corrections to IO and malloc() error handling in incremental blob IO functions. (CVS 3915)
FossilOrigin-Name: 641e55284e1ba6070073c83ac6ed78ffb29f7e60
2007-05-04 12:05:56 +00:00
danielk1977
da10719890 Rework accessPayload() function for clarity. (CVS 3912)
FossilOrigin-Name: 42d07c70ec1eb6dd9619c97d753c9d2824aeae32
2007-05-04 08:32:13 +00:00
danielk1977
44e6c8d3cf Fix a bug where accessPayload() was calling PagerWrite() on the wrong page handle. Ticket #2332. (CVS 3906)
FossilOrigin-Name: cf9eeba7be64ad29cddd320832db10c799fb6e8e
2007-05-03 13:11:32 +00:00
danielk1977
20713f34a5 Minor bugfixes for incrblob mode. (CVS 3903)
FossilOrigin-Name: db54a9466e3bea9c03740ce0b755cfa02bafaccd
2007-05-03 11:43:33 +00:00
drh
b7af4452d9 Allow CREATE TABLE to occur while other queries are running. DROP TABLE is
still prohibited, however, since we do not want to delete a table out
from under an running query. (CVS 3902)

FossilOrigin-Name: 5b4bf1fce4d589337cfb1b46d75c751bbdc607d5
2007-05-02 17:54:55 +00:00
danielk1977
9f8d64009e Combine the internal btree functions BtreePutData() and getPayload(). (CVS 3901)
FossilOrigin-Name: a100a5304b0e7cbbdb6dac71a39c78eb71d44a03
2007-05-02 17:48:45 +00:00
danielk1977
2dec97077b Cache the location of overflow pages in cursors used for incremental blob IO. (CVS 3899)
FossilOrigin-Name: 349f1ea7895f06c40affc985a13aa6686dfdea07
2007-05-02 16:48:37 +00:00
danielk1977
d04417963f Use the pointer-map pages to make the incremental blob API more efficient. (CVS 3896)
FossilOrigin-Name: 93a3bf71d576096f4b5a3db256ca6f9b5521d137
2007-05-02 13:16:30 +00:00
drh
b026e05eb2 Begin adding the zeroblob API to support incremental blob i/o. (CVS 3894)
FossilOrigin-Name: 7a01836dde45098796693bc6cb6045c4059adf1a
2007-05-02 01:34:31 +00:00
danielk1977
b4e9af9ff9 First approximation of incremental blob IO API. (CVS 3892)
FossilOrigin-Name: c444836e7b690c16dd6acff571c613a23beb42dc
2007-05-01 17:49:49 +00:00
danielk1977
8c0a959f35 Try to avoid reading pages when moving overflow chains to the free-list. (CVS 3886)
FossilOrigin-Name: 8cccec68bd9073b2b19d3d31cf0b77b0ce76172e
2007-04-30 16:55:00 +00:00
danielk1977
b4626a3e16 Add some tests (and 2 resulting bug fixes) to incr vacuum mode. (CVS 3885)
FossilOrigin-Name: 89b1b3f897bda1fffceb9cf72fa4d42b809ccb8e
2007-04-28 15:47:43 +00:00
danielk1977
e5321f0e75 Modifications to btree integrity check so that it can be run inside a transaction after an incr vacuum. (CVS 3878)
FossilOrigin-Name: 4d4180d6474d8d74460fb9333580b9b60c89f353
2007-04-27 07:05:44 +00:00
danielk1977
dddbcdcc68 Add largely untested code for the incremental vacuum function. (CVS 3876)
FossilOrigin-Name: f6a6d2b8872c05089810b1e095f39011f3035408
2007-04-26 14:42:34 +00:00
drh
1831f18c84 This fixes a missed case in check-in (3866). Do not apply patch (3866)
without also applying this patch. (CVS 3867)

FossilOrigin-Name: 66c2fa0836089f360b1c3343df84b73e8d89b293
2007-04-24 17:35:59 +00:00
drh
309169a118 When the write_version flag in the database header is larger than what
the library understands, make the database read-only.  The old behavior
was to make the database unreadable. (CVS 3866)

FossilOrigin-Name: 10648e99929b4f640855433b6e47702687039286
2007-04-24 17:27:51 +00:00
drh
e960153ba2 Get the build working with SQLITE_OMIT_SHARED_CACHE. Ticket #2307. (CVS 3857)
FossilOrigin-Name: b623538c559498b858fd9088faf0f3457b024968
2007-04-19 00:24:34 +00:00
drh
538f570cd1 Fix multiple performance regressions (ticket #2298 among them)
and add tests to make sure they do not come back. (CVS 3839)

FossilOrigin-Name: 32bb2d5859906b4fb0f6083eedd7f3a81b9cf5e2
2007-04-13 02:14:30 +00:00
drh
f53454438a Fix an obscure pager refcnt leak that occurs following a transient I/O
error. (CVS 3829)

FossilOrigin-Name: ce6f56ece8eab743d20cd2c0a84b4a266c4da2ff
2007-04-09 12:45:02 +00:00
danielk1977
f35843b578 For filesystem databases, do not store a list of pages in the statement journal in main memory. (CVS 3825)
FossilOrigin-Name: 0af764a02695281b0a7d70ef4e7f8229fd3d6a30
2007-04-07 15:03:17 +00:00
drh
15926590ed Binary file I/O infrastructure added and used to increase test coverage
for detection of corrupt database files. (CVS 3822)

FossilOrigin-Name: 479b3d965b19c3ec4cb72542718751debf8ff75c
2007-04-06 15:02:13 +00:00
drh
8c4d3a6b42 Make sure the sqlite3BtreePrevious() routine terminates properly if the
table is deleted out from under it.  Ticket #2286.  This bug was discovered
while trying to increase test coverage from 98.5% to 99% - once again
showing the value of full coverage testing. (CVS 3818)

FossilOrigin-Name: bebf8d2f886ed9fe1b96e4cb11ab3de2f2f7d2c8
2007-04-06 01:03:32 +00:00
danielk1977
241687280b Fix a resource leak introduced by the change-counter optimisation. Also add some test coverage. (CVS 3790)
FossilOrigin-Name: ba0538a4977aefd6645554f1989f0a98b540b9cd
2007-04-02 05:07:47 +00:00
drh
bf700f3d3d Fix a large memory leak in the btree layer
that occurs following an I/O error when in shared cache mode. (CVS 3776)

FossilOrigin-Name: dce4cb84930116db99275f77141fd933bc84288e
2007-03-31 02:36:44 +00:00
drh
4f0ee686c5 Remove vestiges of the SQLITE_PROTOCOL error. (CVS 3773)
FossilOrigin-Name: 6dfd4a12a8a03c204505e7a211e179b7dd47e4fb
2007-03-30 20:43:40 +00:00
drh
80e35f4640 Refactoring the btree and pager routines into distinct two-phase commit
routines.  We've always done a two-phase commit - this change is just
making that more apparent in the code. (CVS 3762)

FossilOrigin-Name: 66b3ad09ea657d25d48cb75ec2671ea2dc1b6005
2007-03-30 14:06:34 +00:00
drh
6e34599b33 Comment changes in btree.c and added a missing "else" in pragma.c. (CVS 3757)
FossilOrigin-Name: 9a7d7e31908e9bac14a68bbc2fb4e1ca593ea234
2007-03-30 11:12:08 +00:00
drh
e4d9081307 Change BtreeMoveto so that it can be biased to the right or to the center.
Use a right bias when appending and a center bias when searching.  This
gives about a 15% reduction in calls to sqlite3VdbeRecordCompare. (CVS 3741)

FossilOrigin-Name: ad4a6b1a91bcefd8a4c75e8dc99c1153c72c31a3
2007-03-29 05:51:49 +00:00
drh
f1d68b3096 Bias the b-tree binary search toward the high end. The common case is to
append data and this heuristic makes append run much faster because there
are fewer comparisons. (CVS 3740)

FossilOrigin-Name: a9877f616b24737152627841fcbd80cc28426f1e
2007-03-29 04:43:26 +00:00
drh
a4124a06cc Fix off-by-one errors in the header comments of btree.c. Ticket #2272. (CVS 3726)
FossilOrigin-Name: a70ea7202d8ffb0321ff8f2e5036731bb1742eb8
2007-03-27 14:05:22 +00:00
drh
4f0c587819 Modify sources to that they can be combined into a single sqlite3.c source
file.  Eliminate all type-pruned pointer warnings. (CVS 3722)

FossilOrigin-Name: 0b832e218ec12b0eb559e407d80aba6709e2ea85
2007-03-26 22:05:01 +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
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
drh
7236583ba0 Fixes to the overflow-chain optization of (3672). (CVS 3674)
FossilOrigin-Name: d6986d1e7cba1d114fa06c5560ffc6bb1feb7389
2007-03-06 15:53:44 +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
drh
50c6706305 Changes to support fragmentation analysis in sqlite3_analyzer. (CVS 3634)
FossilOrigin-Name: bd6bc3b8f06919000fb082087dff7bbd335d07e9
2007-02-10 19:22:35 +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
24c9a2eeb2 In the btree.c, when releasing the page1 lock, first make sure the
pager has not reset and released the lock already.  This fixes a bug
introduced by (3549). (CVS 3563)

FossilOrigin-Name: 36a2db96efa7f227c0a39e58fd83d56cc491472b
2007-01-05 02:00:47 +00:00
drh
d3627afc47 Speed improvement: do not journal or rollback pages that are pulled out of
the freelist. (CVS 3531)

FossilOrigin-Name: 4dffc4c3c9c4ccc024669cec204c68e953333563
2006-12-18 18:34:51 +00:00
drh
1468438a8e Fix indentation typo in btree.c. (CVS 3525)
FossilOrigin-Name: 5d61486f0fbd21ef992879b39d4e563fbfe46596
2006-11-30 13:05:29 +00:00
drh
551b77365e Use the difference between the SQLITE_IOERR_SHORT_READ and SQLITE_IOERR_READ
returns from sqlite3OsRead() to make decisions about what to do with the
error. (CVS 3503)

FossilOrigin-Name: 6324ea811eec1200cee89e6f377368eaf2fcda77
2006-11-06 21:20:25 +00:00
drh
e804cebacc Remove dead code from btree.c. Ticket #2050. (CVS 3500)
FossilOrigin-Name: dbd0125c62457681689db48e1f0a752767855773
2006-11-01 12:08:40 +00:00
drh
980b1a7405 Allows UPDATE, INSERT, and DELETEs to occur while a SELECT is pending on
the same table. (CVS 3355)

FossilOrigin-Name: 8c52d2ad468615e50a727adab2977a0bef1bc068
2006-08-16 16:42:48 +00:00
drh
77bba59b18 Compile in test code whenever -DSQLITE_TEST=1 is present. Do not rely
on -DSQLITE_DEBUG=1 because somebody might try to run the tests without it. (CVS 3349)

FossilOrigin-Name: 867defe32873ce82b6e1f5ddb8ad12178f2d76d6
2006-08-13 18:39:26 +00:00
drh
0f7eb61108 Remove most static and global variables from a pure build. There
are still a number of static and global variables used for testing. (CVS 3342)

FossilOrigin-Name: 76e4d4187779097954038e444111f837737e789c
2006-08-08 13:51:43 +00:00
danielk1977
2372c2b165 Prevent databases from being DETACHed while they are in use. Fix for #1873. (CVS 3312)
FossilOrigin-Name: 70a48b250bab99c5d9b4ad17c471663b8628e8d2
2006-06-27 16:34:56 +00:00