1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-15 11:41:13 +03:00
Commit Graph

1354 Commits

Author SHA1 Message Date
danielk1977
a1fa00d95f Use a bitvec object to store the set of pages with the 'always-rollback' property for a transaction. (CVS 5622)
FossilOrigin-Name: 9e9325997e11a0368721ed7860f4c37de3502a9b
2008-08-27 15:16:33 +00:00
danielk1977
daca5433a0 Fix a segfault that can occur when running integrity_check on a corrupt db. (CVS 5606)
FossilOrigin-Name: eae959ede1b2b50190c60de9249cf141c3031ce2
2008-08-25 11:57:16 +00:00
danielk1977
06249db141 Do not incorrectly detect corruption when an auto-vacuum database is converted to a non-auto-vacuum database within a vacuum. Ticket #3332. (CVS 5603)
FossilOrigin-Name: cb869946d68f2abbd1322fababbe4aa74a4e08aa
2008-08-23 16:17:55 +00:00
drh
ee76c61657 Remove dead code. (CVS 5601)
FossilOrigin-Name: 6de9c084fc533fbb22af6a4cd3e4e9a461b13876
2008-08-22 17:34:45 +00:00
drh
281b21daa6 Fix nuisance compiler warnings. Ticket #3309. (CVS 5591)
FossilOrigin-Name: 2a365e29944f9fd45ca2903875a8c2e2759c9492
2008-08-22 12:57:08 +00:00
drh
23f79d061f Modify the sqlite3VdbeUnpackRecord() interface to force the temporary
space to be 8-byte aligned.  This might be important for Sparc.
Ticket #3318. (CVS 5573)

FossilOrigin-Name: 00b177985ee08f13a7781d095936da3beaf0408c
2008-08-20 22:06:47 +00:00
danielk1977
8c0a791a58 Add the pcache module from the experimental branch. Also change things so that most of the built-in SQL functions are kept in single static hash-table, rather than creating and populating a separate hash table for each open database connection. (CVS 5566)
FossilOrigin-Name: cb494e10d71852024647aaa254203579ad438ea9
2008-08-20 14:49:23 +00:00
drh
e63d999189 Additional changes toward fixing ticket #3292. (CVS 5562)
FossilOrigin-Name: 0b92cbf5255020d4fde382f81590ff0488936667
2008-08-13 19:11:48 +00:00
drh
ec1fc80ca3 A partial fix for ticket #3292. This fixes the original problem but there
are other similar problems lurking in the code still. (CVS 5561)

FossilOrigin-Name: 055f173ab1b6fb657bf817faa3a37335d8fa60d5
2008-08-13 14:07:40 +00:00
danielk1977
a68468f5b1 Fix a reference count leak introduced by (5526). (CVS 5527)
FossilOrigin-Name: f653995c32197cacbcd14ea9e876ba5b2fde94df
2008-08-02 17:36:45 +00:00
danielk1977
f328bea9da Avoid doing IO purely to check assert() constraints. (CVS 5526)
FossilOrigin-Name: fb26ae723959390a716f221af93c6c29eec16955
2008-08-02 17:03:31 +00:00
drh
c890fec362 Bring test coverage up to 99%. (CVS 5522)
FossilOrigin-Name: 2cd6bae80984126023bcf479e5f3db5eaa5c4134
2008-08-01 20:10:08 +00:00
drh
633e6d57d9 Implement the "lookaside" memory allocation cache. Use of this cache makes
the speed1.test script run about 15% faster.  Added new interfaces to
control the cache. (CVS 5488)

FossilOrigin-Name: e48f9697e9fea339e150ddc32940760027dd07d9
2008-07-28 19:34:53 +00:00
danielk1977
85d90ca7a7 Reduce the number of "#ifndef SQLITE_OMIT_AUTOVACUUM" conditions in btree.c by using the ISAUTOVACUUM macro instead. (CVS 5444)
FossilOrigin-Name: a560c61849cb669ab03ba4a63b23369db234f329
2008-07-19 14:25:15 +00:00
danielk1977
87c52b58f0 Improve the performance of balance_nonroot() on auto-vacuum databases by reducing the number of calls to ptrmapPut(). (CVS 5442)
FossilOrigin-Name: 9992b1aecdbbc7a260f00cb6ef78b500aeab22df
2008-07-19 11:49:07 +00:00
drh
4a0611dd29 Fix SQLITE_OMIT_AUTOVACUUM so that it works again. Ticket #3228. (CVS 5439)
FossilOrigin-Name: 3b2dd417f9dab3cae3ab3693629a65a2c90f00e9
2008-07-18 17:16:26 +00:00
danielk1977
8c666b1666 Performance improvement: reduce the number of calls to ptrmapPageno() made by ptrmapPut() and ptrmapGet(). (CVS 5437)
FossilOrigin-Name: d807fb271340901bbf3e06de23d91132422d1408
2008-07-18 09:34:57 +00:00
drh
1af4a6e67a The zeroPage() routine in btree.c need not actually zero the whole page,
just the header. (CVS 5434)

FossilOrigin-Name: c69633ec6977becfbd0a72854473b7f4515fb931
2008-07-18 03:32:51 +00:00
drh
1688c86f5a Omit the check for cell-pointer consistency in sqlite3BtreeInitPage()
for a 2.5% performance gain. (CVS 5433)

FossilOrigin-Name: b88087e69dffb743c5b552703e14a030349cf65b
2008-07-18 02:44:17 +00:00
drh
79df1f4a37 Optimization to sqltie3BtreeParseCellPtr. 0.3% performance increase. (CVS 5432)
FossilOrigin-Name: 77e099ad7de84fe07dfeb4c045c769653dd13b93
2008-07-18 00:57:33 +00:00
drh
44845221ed Simplify the b-tree logic by taking advantage of the fact that all b-trees
are either intkey+leafdata or zerodata. (CVS 5431)

FossilOrigin-Name: 29d3bfd7c9a68078385354394052612bf812859b
2008-07-17 18:39:57 +00:00
danielk1977
4c99999965 Eliminate some unnecessary IO during a commit in full auto-vacuum mode. (CVS 5426)
FossilOrigin-Name: 1d01c02ab04f9cc0eb6a2a46a24d3ea63a617d5b
2008-07-16 18:17:55 +00:00
drh
e8f52c5089 Remove leftover debugging commands (breakpoint and btree_breakpoint) from
test scripts. (CVS 5400)

FossilOrigin-Name: dcb160249fa2d592ad09b8b0052102dc44a93511
2008-07-12 14:52:20 +00:00
drh
a34605859d Detect and handles the case where a row is modified or deleted while it
is being read during SELECT processing. (CVS 5399)

FossilOrigin-Name: c80a5d09935c60a2a50bc262c172a94073355f0d
2008-07-11 21:02:53 +00:00
drh
a29afcbd1e Added corruptA.test for testing malformed database headers. (CVS 5397)
FossilOrigin-Name: 6dcce6b9748c6148a768a4f6b69f33f70edc3993
2008-07-11 16:39:23 +00:00
drh
34004cebb6 Additional test coverage for the btree module. Remove the failsafe() macro
and replace it with ALWAYS() and NEVER(). (CVS 5395)

FossilOrigin-Name: d7e2f0d2d45574d6191c1b191c0daf5260696f27
2008-07-11 16:15:17 +00:00
drh
d37d79e081 Remove an extra zeroPage() call that was left in the previous check-in
by mistake.  Ticket #3209. (CVS 5393)

FossilOrigin-Name: c45d578e4475486dc5df1c1c0b6987d1cef39188
2008-07-11 03:38:41 +00:00
drh
1013148b1c Make the btree layer robust when faced with a corrupt database that
contains duplicate entries on the freelist.  Ticket #3209. (CVS 5392)

FossilOrigin-Name: 30825f74d60d8ace39bafd06814017ceefeb4fa4
2008-07-11 03:34:09 +00:00
drh
fa67c3c584 Additional test coverage in btree.c. Added corruption tests for
the ptrmap pages of an autovacuumed database (corrupt8.test). (CVS 5391)

FossilOrigin-Name: 620b472133438607c412e0c21d2a27605a89a414
2008-07-11 02:21:40 +00:00
drh
93a960a0a8 Remove unused code. Test coverage enhancements. Modify the algorithm used
to select column names for VIEWs of joins so that the constructed column
names omits the underlying table names. (CVS 5386)

FossilOrigin-Name: 636cd723296a8b1709011fdd99b236ffddf3f1b0
2008-07-10 00:32:42 +00:00
danielk1977
474b7cc785 Coverage testing for balance_quick() and balance_deeper(). (CVS 5382)
FossilOrigin-Name: 491f8f9613d2b886acad2ab8f631a4ec61ad698d
2008-07-09 11:49:46 +00:00
drh
f089aa459e Completely rework the sqlite3SetString() primitive so that it honors the
SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374)

FossilOrigin-Name: 8ed04b1e26a55306e4baf3e93fb084514134d603
2008-07-08 19:34:06 +00:00
danielk1977
1bc71590c4 Test another corruption case in btree.c. And an IO error related scenario. (CVS 5371)
FossilOrigin-Name: d74fbb81ca3f973ac46534344e5076afc5dd5491
2008-07-08 17:13:59 +00:00
drh
45b1fac0ac Fix a bug in btree.c that caused it to report a database as being
corrupt if it used one of the last 6 slots in a freelist trunk page.
Continue to never use those last 6 slots so that databases from newer
versions are still readable with older versions. (CVS 5344)

FossilOrigin-Name: b8ff6b0a3dc2ccc51519c764a092822968a09b10
2008-07-04 17:52:42 +00:00
danielk1977
986fbb8e30 Remove an assert() that was failing if there were any open incremental blob handles when a statement transaction was rolled back. (CVS 5326)
FossilOrigin-Name: f66491ab2ba3645d4e44e33ec6fa0ab94b2989be
2008-06-28 15:33:24 +00:00
danielk1977
171bfed311 Fix a bug whereby opening a connection to an existing shared-cache caused the cache-size (the value configured by "PRAGMA cache_size") to revert to its default value. (CVS 5274)
FossilOrigin-Name: 0492aa8ed3c35dd2cdfc69c9cb87e43ef0460826
2008-06-23 09:50:50 +00:00
drh
65bbf29ee3 Bug fixes: Plug a memory leak introduced by the previous check-in. Get
the amalgamation to the point where it will compile. (CVS 5241)

FossilOrigin-Name: 005f8eaef5ae05cef5c76f3afe299eaa2cf8af2f
2008-06-19 01:03:17 +00:00
drh
f714199054 Add some test logic to the new memory allocation subsystem. (Lots more needed.)
The test suite is currently indicating memory leaks, though it is unclear if
this is a true code problem or just an instrumentation problem. (CVS 5240)

FossilOrigin-Name: cb1f11cd9764cf0275e88e1f6342e366e5536bfd
2008-06-19 00:16:08 +00:00
danielk1977
59f8c08ecc Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234)
FossilOrigin-Name: 5059644c4bc5f6679afd939e0bc26080f42a9918
2008-06-18 17:09:10 +00:00
drh
facf030792 Add internal interfaces: PageMalloc/PageFree and ScratchMalloc/ScratchFree. (CVS 5226)
FossilOrigin-Name: 3e797d0ffe1af6f7512b3fb7b387418ac05671e0
2008-06-17 15:12:00 +00:00
drh
e5ae5735c0 Continuing work on the new memory allocation subsystem.
Added routines for temporary memory allocation.  Right the btree
balance mechanism to only do one temporary allocation at a time. (CVS 5220)

FossilOrigin-Name: 65fe7b62cfe7d11cd667681a64c96fe7b2fe5685
2008-06-15 02:51:47 +00:00
danielk1977
e2326a5cf7 Fix an error in the previous commit found by corrupt7.test. (CVS 5204)
FossilOrigin-Name: afcfba0a8ac46e1d86a0fa2f1fbaeefe8ef10f7d
2008-06-11 18:27:55 +00:00
danielk1977
e16535f1f0 Check that the offsets in the cell-offset array of a b-tree page are within range in sqlite3BtreeInit(). (CVS 5203)
FossilOrigin-Name: 82f27e28eeb6902b75e21afd8eb170465f680d7b
2008-06-11 18:15:29 +00:00
danielk1977
3588ceb868 Invalidate sqlite3_blob* handles whenever an SQL statement is used to delete or modify the rows containing the open blob. Previously, modifying the table containing the open blob in any way invalidated the handle. This was too restrictive. (CVS 5199)
FossilOrigin-Name: e339c91f8718482ce74fc53781091db95e69d4c3
2008-06-10 17:30:26 +00:00
shane
1f9e6aac5f Moved declaration of int nPage; to top of block to silence picky compilers (MSVC). (CVS 5197)
FossilOrigin-Name: 120bffff747592f1ab6ed02713a712cc74c12528
2008-06-09 19:27:11 +00:00
danielk1977
ad0132dff1 Change the signature of sqlite3PagerPagecount() so that it can return an error code. (CVS 5195)
FossilOrigin-Name: e9f01c01866d302d81bf9ebc484ea6351cbc0f60
2008-06-07 08:58:22 +00:00
danielk1977
93f7af97a6 Fix a problem with recovering from an IO error in exclusive-locking mode. (CVS 5112)
FossilOrigin-Name: 7a44fb965b3477fb78901939ba35d569e5638c19
2008-05-09 16:57:50 +00:00
danielk1977
df2566a33d Fix some problems with multi-file transactions in persistent journal mode. (CVS 5102)
FossilOrigin-Name: e98a7f87f91c62676f94ad5a0c4980ab929ca79d
2008-05-07 19:11:03 +00:00
danielk1977
0ba32df4f1 Fix a problem causing the database to be truncated to the wrong size after an incremental-vacuum is performed on a database in full auto-vacuum mode. (CVS 5094)
FossilOrigin-Name: ed98df24a3362c2d20f52bb1ce679787b3ee408b
2008-05-07 07:13:16 +00:00
danielk1977
4abd5449e8 Avoid leaking page references after an IO error is encountered. (CVS 5082)
FossilOrigin-Name: 198c395b01140ef48b6913c00188ba7168bfb081
2008-05-05 15:26:50 +00:00