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
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
drh
a9121e4c8e Use 16-bit integers for indexing within a page in btree. Tighter
bounds on the maximum number of cells within one page. (CVS 4796)

FossilOrigin-Name: 8fdbe4abab4e9c292111579b03471f68c1e855fb
2008-02-19 14:59:35 +00:00
drh
72190430c5 Fix assertion fault in sqllimits1.test encountered when auto_vacuum is
enabled.  Correct the sqllimit1 tests to account for extra pages inserted
by auto_vacuum. (CVS 4759)

FossilOrigin-Name: 9b207d1a6690206a6d7a10fcb517579b8bdadca2
2008-01-31 14:54:43 +00:00
drh
de4fcfdd7a Additional test coverage improvements. Test coverage now stands at 98.73%. (CVS 4731)
FossilOrigin-Name: 010f7b780cb9c8f21af9ce810494fbd2be98a13f
2008-01-19 23:50:26 +00:00
danielk1977
e448dc4abf Take advantage of the fact that b-tree cursors need not be closed while other cursors modify their tables to simplify trigger program generation code. (CVS 4654)
FossilOrigin-Name: f1966a8a47fca85f7862c0797a527ab01ac8b0c1
2008-01-02 11:50:51 +00:00
danielk1977
8ea1cfaa9a Silence a harmless unitialised variable warning in btree.c. Ticket #2862. (CVS 4650)
FossilOrigin-Name: b51782ccac28598eec7adc9302fe7d1986bfdaf8
2008-01-01 06:19:02 +00:00
danielk1977
641b0f4ffa Fix for #2854. "BEGIN EXCLUSIVE" excludes other shared cache users from using the database. (CVS 4642)
FossilOrigin-Name: 2e59b1d07ee422bd799b5b7aeea44ebc998d9481
2007-12-21 04:47:25 +00:00
drh
85b623f2f9 Change all instances of "it's" in comments to either "its" or "it is",
as appropriate, in case the comments are ever again read by a pedantic
grammarian.  Ticket #2840. (CVS 4629)

FossilOrigin-Name: 4e91a267febda572e7239f0f1cc66b3102558c36
2007-12-13 21:54:09 +00:00
drh
e5fe690d75 In shared-cache mode, make sure the busy hander invoked is the
busy handler associated with the database connection that caused
the lock contention in the first place. (CVS 4598)

FossilOrigin-Name: c9eb65912f61ce0a6b66fe253652a1827e46b12a
2007-12-07 18:55:28 +00:00
drh
26b7994a97 Change the BTree so that it uses the Pagers temporary page space when
reorganizing the rows on a page, rather than mallocing for space of
its own.  In this way, we avoid having to deal with a malloc failure
deep down inside the page reorganizer.  Ticket #2806 (CVS 4577)

FossilOrigin-Name: 98960132dc082da61652201f4bd2b559725350c0
2007-11-28 16:19:56 +00:00
danielk1977
662278e4de Fix some minor problems with malloc failure and in-memory databases. (CVS 4527)
FossilOrigin-Name: b752906e708e1c8c76084152f5829e16e8988ef2
2007-11-05 15:30:12 +00:00
drh
51f015eb9c A cosmetic changes to btree.c which (we are told) works around a bug
in MSVC++. (CVS 4491)

FossilOrigin-Name: 329dd014b0d851f21ff6690b6149e9d73c92302d
2007-10-16 19:45:29 +00:00
danielk1977
ae72d98252 Add automatic recovery from the pager "error-state". Also add a new error code - SQLITE_IOERR_NOMEM. (CVS 4454)
FossilOrigin-Name: 12eca32a6a3d68d5b20eed03afdffe7599e66014
2007-10-03 08:46:44 +00:00
danielk1977
adfb9b0501 Add a parameter to specify the size of the output buffer passed to xGetTempname() and xFullPathname(). This, and the previous commit, are changes to the public vfs API introduced in 3.5.0. (CVS 4433)
FossilOrigin-Name: 8b29f5fbfc723cdf67cf3410cd01f7c17ea39a4b
2007-09-17 07:02:56 +00:00
danielk1977
4152e677b8 Fixes for compilation/testing when the various OMIT macros are defined. (CVS 4423)
FossilOrigin-Name: c8405b15c074c94dab5e33272cf1471f458d11df
2007-09-12 17:01:45 +00:00
drh
b9ee493971 Fix a segfault that could occur while attempting to add new pages
to the freelist in a corrupt database. (CVS 4414)

FossilOrigin-Name: c8e85fff7ede68f0b8c8ebfe3df4b26a630abeff
2007-09-07 14:32:06 +00:00