103 Commits

Author SHA1 Message Date
drh
e63d999189 Additional changes toward fixing ticket #3292. (CVS 5562)
FossilOrigin-Name: 0b92cbf5255020d4fde382f81590ff0488936667
2008-08-13 19:11:48 +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
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
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
shane
a6f6d20568 Omit declaration for functions that are only used by asserts if asserts aren't being used (NDEBUG). (CVS 5173)
FossilOrigin-Name: 5afc445a0e49def38f198455ffce9266fc8724ad
2008-05-29 03:01:23 +00:00
drh
59020f32cd Use "(void)" function arguments in declarations instead of "()". Both are
legal but some pedantic compilers complain about the latter.  Ticket #3086. (CVS 5050)

FossilOrigin-Name: a4149ca317c2fd7ce87b8f23029c3f87a7f4c2e8
2008-04-26 13:39:46 +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
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
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
33f4e02af6 Honor the SQLITE_OPEN_ flags passed into sqlite3_open_v2(). Some
test cases added but more are needed.  Ticket #2616. (CVS 4376)

FossilOrigin-Name: 020a2b10d408f51d4ef3211c5f701f5378fd4625
2007-09-03 15:19:34 +00:00
drh
fb98264aab Fix for the sqlite3AbortOtherActiveVdbes() problem. (CVS 4328)
FossilOrigin-Name: e40d40a5d41c491bef852a92e5846b273b206909
2007-08-30 01:19:59 +00:00
drh
ff0587c632 Improvements to mutex asserts. The quick test runs to completion without
assertion faults. (CVS 4324)

FossilOrigin-Name: 2732af0ec77dbc90c0439b6a61d893d9ea3b5697
2007-08-29 17:43:19 +00:00
drh
1fee73e74a Better asserts(). But now some of the tests are busted again. (CVS 4320)
FossilOrigin-Name: e8060f85e7871572e2a38dc96f03e6e1f34cc8fd
2007-08-29 04:00:57 +00:00
drh
b1ab8ea7f3 More locking fixes. Now makes it all the way through quick.test. There
are errors but no assertion faults.  Progress. (CVS 4319)

FossilOrigin-Name: 844d40b8379d3374130e2d94f6e32c2cda34e0ca
2007-08-29 00:33:07 +00:00
drh
4cf7c7f7e7 The shared_err test runs with no errors. But a potential deadlock has been
discovered and is still unfixed. (CVS 4317)

FossilOrigin-Name: f84550be0a0c9e5859b852863b9a8f8ed3fd6919
2007-08-28 23:28:07 +00:00
drh
900b31ef49 Work toward correct btree locking in a multithreaded environment. (CVS 4307)
FossilOrigin-Name: b8cc493b47e618648f645ab73eb0253739e03fcd
2007-08-28 02:27:51 +00:00
drh
27641703cc A complete run of quick.test with mutex debugging enabled. (CVS 4266)
FossilOrigin-Name: 783e07d561d1f5509de9475f3b9f38315f247002
2007-08-22 02:56:42 +00:00
drh
b21c8cd4f6 The sqlite3_value object now carries an sqlite3* pointer to use for
recording malloc failures.  This eliminates the need to pass sqlite3*
pointers into many internal interfaces.  Also added more mutexing. (CVS 4263)

FossilOrigin-Name: 9287276191a582c1cf7cf6b71d8399727d8e534d
2007-08-21 19:33:56 +00:00
drh
d677b3d688 Work toward multithreading support. Currently crashes quickly on a test. (CVS 4253)
FossilOrigin-Name: 1315bd8e125602275fb718780f9b2730bd37f6ab
2007-08-20 22:48:41 +00:00
drh
e53831d644 Begin adding mutexes. Compiles without SQLITE_OMIT_SHARED_CACHE but we
get an assertion fault on the shared cache testing. (CVS 4239)

FossilOrigin-Name: 4c1e9ffebe7c611a8b6a89153ae97ab9bca19ea3
2007-08-17 01:14:38 +00:00
drh
87cc3b3180 Remove compiler warnings in the amalgamation. (CVS 3960)
FossilOrigin-Name: c5754530c6b1a8151c558f33d27fed70c95a988b
2007-05-08 21:45:27 +00:00
drh
f8e632b630 Add the max_page_count pragma used to limit the maximum size of a database
file.  Untested. (CVS 3948)

FossilOrigin-Name: b1b74f06688fd90fcaf54cf95e2e7beeb5fc1040
2007-05-08 14:51:36 +00:00
drh
db6f6a7737 Fix a header problem introduced in the previous check-in. (CVS 3929)
FossilOrigin-Name: bece7a6bae3a52da03c25b577e15a648eb91805a
2007-05-05 18:49:53 +00:00
danielk1977
dcbb5d3f47 Test interaction of incremental io and other database writes. (CVS 3922)
FossilOrigin-Name: 4516416b4d38679ea7d259155f241e54c4c58d7d
2007-05-04 18:36:44 +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
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
dddbcdcc68 Add largely untested code for the incremental vacuum function. (CVS 3876)
FossilOrigin-Name: f6a6d2b8872c05089810b1e095f39011f3035408
2007-04-26 14:42:34 +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
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
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
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
drh
ac530b1ab4 Add support and documentation for the fullfsync pragma. Also include
some other unrelated documentation updates. (CVS 3080)

FossilOrigin-Name: f2069d0bf3161591535e68b7389792e9cb7fe043
2006-02-11 01:25:50 +00:00
danielk1977
c00da10565 In shared-cache mode, lock all required tables before beginning to execute the body of the statement program. (CVS 2881)
FossilOrigin-Name: 23b587b05b89727248805e6d9e5141e018cf2152
2006-01-07 13:21:04 +00:00
danielk1977
c87d34d05d Add some simple tests and fixes for shared-schema locking. (CVS 2869)
FossilOrigin-Name: d054bed15aee3edef93cc84c83be443cdd489946
2006-01-06 13:00:28 +00:00
danielk1977
da18423620 Add the shared schema/pager modifications. Very few tests so far. (CVS 2859)
FossilOrigin-Name: deeda0dc06c1595aedd8d06a0c4e88a8abf78cf7
2006-01-05 11:34:32 +00:00
danielk1977
aef0bf6429 Add part of the btree layer of the shared-cache feature. (CVS 2848)
FossilOrigin-Name: 2afcad990190af97d1ad0010f211a5ca8f0fd745
2005-12-30 16:28:01 +00:00
danielk1977
f3f06bb30c Verify that the rollback-hook is invoked correctly when a malloc() failure occurs. (CVS 2824)
FossilOrigin-Name: 83c8ae5bee3b6bdb556d2e85fa260ba855742601
2005-12-16 15:24:28 +00:00
drh
2c8997b9a5 Disable synchronous writes to the master journal when PRAGMA synchronous=OFF
for all database files.  Ticket #1375. (CVS 2630)

FossilOrigin-Name: 644b96aa23de7e828280d35785db840a4fa9413d
2005-08-27 16:36:48 +00:00
danielk1977
6b456a2b46 Add function to recover from a malloc() failure. (CVS 2414)
FossilOrigin-Name: 1f9d10d7965c95d1e35f64cf4c3f128adabd41f2
2005-03-21 04:04:02 +00:00
drh
7bec505e26 Add the (highly experimental) omit_readlock pragma that disables the use
of readlocks on read-only databases that are connected using ATTACH. (CVS 2317)

FossilOrigin-Name: 2155448d2128119f74241da0ea07d6713b71765c
2005-02-06 02:45:41 +00:00
danielk1977
b5402fbf05 Tests to improve coverage of vdbemem.c. (CVS 2200)
FossilOrigin-Name: 319bb4a9064deb062a888fdc31067619c9b749bb
2005-01-12 07:15:04 +00:00
danielk1977
951af8050b Make auto-vacuum a run-time option (default determined by SQLITE_DEFAULT_AUTOVACUUM macro). (CVS 2067)
FossilOrigin-Name: b9d5f007fc32d4f471e0e11cc4baadb100612878
2004-11-05 15:45:09 +00:00
danielk1977
a0bf265269 Support root-page allocation/deallocation in auto-vacuum databases. Still a few problems. (CVS 2054)
FossilOrigin-Name: 1da361fae82d420be63c53f8e3efaccac24f348a
2004-11-04 14:30:04 +00:00
drh
3e27c02625 First cut at a analysis tool for version 3.0 databases. (CVS 1862)
FossilOrigin-Name: 7c7f698b2eda7b1b34f5ca7fe104145d8bbd8f56
2004-07-23 00:01:38 +00:00
drh
2011d5f5e5 Changes in support of using a codec. (CVS 1844)
FossilOrigin-Name: b77bec35742f07d79da3e85baee09a90c1494415
2004-07-22 02:40:37 +00:00
drh
90f5ecb39d Initial implementation of variable page sizes and the temp_store pragma. (CVS 1843)
FossilOrigin-Name: 4cf6e9db757931aba2f300b7869305434d6f2d2b
2004-07-22 01:19:35 +00:00
danielk1977
40b38dcdf8 Remove the 'nMaster' argument from various pager and btree functions. (CVS 1737)
FossilOrigin-Name: 4e20720984e1fd6822ead785d758374d2704b7fb
2004-06-26 08:38:24 +00:00
danielk1977
5865e3d54f Ensure the master journal directory is synced. Also, change the master journal
format to store journal file names. (CVS 1583)

FossilOrigin-Name: 73cd0aabb24f7b663c8b55cf5e8fcb34fd48c032
2004-06-14 06:03:57 +00:00