1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-21 09:00:59 +03:00
Commit Graph

539 Commits

Author SHA1 Message Date
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
danielk1977
43e377af3f Avoid leaking page references when database corruption is encountered. (CVS 5080)
FossilOrigin-Name: 270d47e8d0a20868879a95b66cb547e1e5b642d9
2008-05-05 12:09:32 +00:00
drh
8a9c17f1d5 Make sure that when a connection is blocking on a RESERVED lock that it
continues after the lock is released.  Ticket #3093. (CVS 5078)

FossilOrigin-Name: 3dc334aa4a394e85858d2441225d64d73664b5b5
2008-05-02 14:23:54 +00:00
shane
3f8d5cfcad Consolidated varint macro usage from btreeInt.h, vdbe.c, and vdbeaux.c into sqliteInt.h and made their use consistent. Slight improvements to varint32 macros. (CVS 5045)
FossilOrigin-Name: 0d04ccd97841bbbda564cc6ae5da057ee3888fa3
2008-04-24 19:15:09 +00:00
drh
d094db1c7b Remove superfluous code from btree.c. (CVS 4964)
FossilOrigin-Name: 40173010706fb52ecd60197ce6e97d51a1899267
2008-04-03 21:46:57 +00:00
drh
41eb9e9986 Minor optimizations. (CVS 4955)
FossilOrigin-Name: e8529455803e0dab167f4faba5846fa1eafef741
2008-04-02 18:33:07 +00:00
drh
6a9ad3da22 Simplifications to the LockTable opcode. (CVS 4954)
FossilOrigin-Name: 66c5d715bbb732b0861a8a6f994cb4a8f259f2f8
2008-04-02 16:29:30 +00:00
drh
a2c20e433b Make the sqlite3BtreeMoveto routine a no-op if the cursor is already pointing
at the cell we are trying to move to. (CVS 4938)

FossilOrigin-Name: 9b567ab61e7542141b7bc9c3c053c2d1180da92d
2008-03-29 16:01:04 +00:00
drh
e14006d0de Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather
than a record formed using {quote: MakeRecord.}  This avoids a needless packing
and unpacking of the record to be deleted. (CVS 4916)

FossilOrigin-Name: ee381b43563e1b0637ee74389d076dff77deddf9
2008-03-25 17:23:32 +00:00
danielk1977
52ae7246c6 Have each {quote: BtShared} structure hang on to a buffer of just under page-size bytes for temporary use. This reduces the number of calls to malloc(). (CVS 4914)
FossilOrigin-Name: fe1bc0f3b7cd87cd65f7d03b91095b59788a6f8d
2008-03-25 14:24:56 +00:00
danielk1977
6507ecb376 Fix for memory leak in malloc3.test. (CVS 4913)
FossilOrigin-Name: ef0e40e814b3d3a00721f8ca39bac0db1be24347
2008-03-25 09:56:44 +00:00
danielk1977
cd3e8f7ce9 Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912)
FossilOrigin-Name: 047153648155654b0cd70b811935209d2e21776c
2008-03-25 09:47:35 +00:00
drh
1e968a0cbf Removed the direct btree tests - part of the ongoing effort to test by
calling only public interfaces.  Modify the sqlite3VdbeRecordCompare
interface to used a pre-parsed second key - resulting in a 13%
performance improvement on speed1p.test. (CVS 4911)

FossilOrigin-Name: 0e1d84f2f456e7680bb667266745b629ddf3605f
2008-03-25 00:22:21 +00:00
drh
cfc2e7fdda Remove redundant tests from the reparenter in the btree module. (CVS 4909)
FossilOrigin-Name: a807e7184b857414ce203af129ac1adf2012096c
2008-03-23 00:20:36 +00:00
danielk1977
f653d78282 Allow a VACUUM operation to change the page-size in the same way as it can be used to change a database between auto-vacuum and normal mode. (CVS 4896)
FossilOrigin-Name: 871df0e7c36a88f175cfc63797745e52a1b1796b
2008-03-20 11:04:21 +00:00
mlcreech
3a00f907a9 Various renames & cleanups to limit exported symbols on amalgamation build (CVS 4819)
FossilOrigin-Name: 9c6694bb61a8ecdbfb2d05e5e05a8cc97b792240
2008-03-04 17:45:01 +00:00