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

932 Commits

Author SHA1 Message Date
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
drh
7dc385ee85 Throw an error on an attempt to open a database where the page
size is larger than SQLITE_MAX_PAGE_SIZE.  Ticket #2628. (CVS 4411)

FossilOrigin-Name: 4881f7cb37e35dcf5da358464ac858a508128e47
2007-09-06 23:39:36 +00:00
drh
bf4bca541e Allocate page cache headers and page cache data buffers separately.
The data buffer will be a power of two in size and this gives some
malloc implementation additional optimization opportunitites. (CVS 4409)

FossilOrigin-Name: 2b755defe51a565a2b6ace58381d6e91f6f17db8
2007-09-06 22:19:14 +00:00
drh
3285db26e4 Fix btree.c so that it works with -DSQLITE_THREADSAFE=0 and -DSQLITE_DEBUG=1 (CVS 4387)
FossilOrigin-Name: fee2d7c0e6d34dd19ff5f7631c1743879068c8ce
2007-09-03 22:00:39 +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
107b25f1bd Fix minor problems on various tests. This is a snapshot prior to possible
major changes in order to fix the sqlite3AbortOtherActiveVdbes problem. (CVS 4327)

FossilOrigin-Name: 35cb63ecfd9d8ca7304aae1b150ee5d1c3498bde
2007-08-29 19:15:08 +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
danielk1977
a1644fd863 Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321)
FossilOrigin-Name: e38ef81b85feb5bff2ad8448f3438ff0ab36571e
2007-08-29 12:31:25 +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
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
d0679edc7a Clean up the locking in the btree logic. (CVS 4316)
FossilOrigin-Name: 967ab229af462a8ae663090ea36b4cc10e351653
2007-08-28 22:24:34 +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
danielk1977
9663b8f92d Select the default page size for new databases based on the sector-size and IOCAP flags. (CVS 4286)
FossilOrigin-Name: 13dda2e8e879835c21e539ba3ff8f96face1af4c
2007-08-24 11:52:28 +00:00
drh
153c62c461 The win32 driver compiles but does not yet work well. Many bugs
fixed. (CVS 4282)

FossilOrigin-Name: 3a68fcddfa9184e4b310ce0a21312c54b9462ec8
2007-08-24 03:51:33 +00:00
drh
4a50aac564 Improvements to memory leak detection. The --backtrace=NNN option is now
recognized by tester.tcl.  Memory leak summaries are automatically written
to the file ./memleak.txt and each leak is tagged with the test in which
it occurred.  The quick.test script runs on Linux with no errors and
no leaks. (CVS 4273)

FossilOrigin-Name: 21f6b31097692171c6493e6ca6de6acbd62dc595
2007-08-23 02:47:53 +00:00
drh
cab5ed7a57 Get the quick.test script running with SQLITE_THREADSAFE enabled. (CVS 4269)
FossilOrigin-Name: 1f28b7e47bba221c14a10a37e7425c9975bb2312
2007-08-22 11:41:18 +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
86f8c197dd Reenable the memory management logic. The quick.test script now runs with
SQLITE_MEMDEBUG and SQLITE_ENABLE_MEMORY_MANAGEMENT. 7 minor errors. (CVS 4265)

FossilOrigin-Name: 1914044b8832041f13b20ead613bd13725425d7a
2007-08-22 00:39:19 +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
danielk1977
6e465eb0fc Avoid journalling an extra page when a btree insert operation uses the 'quick-balance' trick. (CVS 4257)
FossilOrigin-Name: 0da48209140b6c1ba47df799ce6065054b994f02
2007-08-21 13:11:00 +00:00
drh
a2451e2255 The quick test runs again with a handfull of errors after adding the
mutex locks to btree, the VFS registration interfaces, and FTS3. (CVS 4254)

FossilOrigin-Name: 6cf725d212d468cbd7c7cbc22ca5ab13f1d77939
2007-08-20 23:50:24 +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
abddb0c8c4 Bug fix in BTree shared cache locking code. (CVS 4246)
FossilOrigin-Name: 399d3e755253a7b4604a62b9f171e0f1154134e2
2007-08-20 13:14:28 +00:00
danielk1977
90949c2003 Remove some old OsFile and IoMethod related code. Add the sqlite3OsLockState function. (CVS 4241)
FossilOrigin-Name: 08a0f48028794abbeae1b4852652062b38d37d88
2007-08-17 16:50:38 +00:00
danielk1977
b4b47411ab Begin migration to using sqlite3_vfs interface. (CVS 4240)
FossilOrigin-Name: af3e3c7acdc67013dd733effebe981620d922dd1
2007-08-17 15:53:36 +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
danielk1977
1e5369531e More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233)
FossilOrigin-Name: 77b1671351fe94b0ebc126a63140643deae2aa64
2007-08-16 10:09:01 +00:00
drh
174357527a Half-way through a major refactoring of the memory allocation.
I have not even attempted to compile so I am certain there are
countless errors. (CVS 4231)

FossilOrigin-Name: deb7ecd65f7b83eaf0ba610eeef3b0ede61db1c3
2007-08-16 04:30:38 +00:00
drh
117066ce50 Fix a page leak in btree balance routines that follows a malloc failure.
This problem detected by the new soft-heap-limit testing. (CVS 4214)

FossilOrigin-Name: bad661bb0bfabf982a2d711ea4165af130a4cae0
2007-08-13 14:56:44 +00:00
drh
fd131daecd Remove all tabs from source code files. Ticket #2556. (CVS 4198)
FossilOrigin-Name: 7550dd1d5980a399fbb06b4ed69216700f879a0b
2007-08-07 17:13:03 +00:00
drh
e6e4d6bb1a Fix some compiler warnings. (CVS 4196)
FossilOrigin-Name: 6cc15409ad6baefbe6e2214a4ac1cb3a0433f922
2007-08-05 23:52:05 +00:00
drh
67f80b67bb Check the return value of sqlite3PagerWrite() when autovacuuming.
Ticket #2524. (CVS 4176)

FossilOrigin-Name: b4a5c62b853f7a7d38863c39be274dccd2640944
2007-07-23 19:26:17 +00:00
drh
8605761506 Try to work around an MSVC compiler bug. Ticket #2457. (CVS 4126)
FossilOrigin-Name: 4a7079a19ab5c36ed88cf597c21bf9f8b63bdf86
2007-06-26 01:04:48 +00:00
danielk1977
27b1f95f08 Make the auto_vacuum mode peristent in all cases. (CVS 4115)
FossilOrigin-Name: 5b0408ddd0f1c825f402d0f5a3088a61b5ecd2c3
2007-06-25 08:16:58 +00:00
danielk1977
418899a359 Make setting "PRAGMA auto_vacuum = incremental" persistent if it is executed before the database file is created. (CVS 4113)
FossilOrigin-Name: c666fad151f25ab8365c497cd0967f4a5a2adb90
2007-06-24 10:14:00 +00:00
drh
029f3f8924 Remove an unused variable from btree.c. (CVS 4102)
FossilOrigin-Name: cb47a8297fd91becdc4e1c50fd84b3efedd3951f
2007-06-20 15:14:10 +00:00
danielk1977
deb403e797 Fix a page reference leak that could occur after an IO error. (CVS 4036)
FossilOrigin-Name: d00c8242c610476c15d6eb4dc53fecab3971fea1
2007-05-24 09:20:16 +00:00
danielk1977
d3a29ce7dc Remove an incorrect assert() statement that was being triggered by ioerr tests run in utf-16 mode. (CVS 4035)
FossilOrigin-Name: c6575173be13296fbe57932f2d24a568f6d552ff
2007-05-24 07:47:06 +00:00
danielk1977
2df71c742c Fix an assert() failure occuring in corrupt.test. (CVS 4034)
FossilOrigin-Name: 3c54cddf23e3b9f62815d1b825110563f78cc325
2007-05-24 07:22:42 +00:00
danielk1977
89a4be8af1 Fix a leaked page reference that could occur after an IO error in auto-vacuum databases. Also modify incrvacuum.test to work with DEFAULT_AUTOVACUUM=1 builds. (CVS 4031)
FossilOrigin-Name: e691f2fa3d8c1bbb66d27eea299ae2fb1ea1a16d
2007-05-23 13:34:32 +00:00
danielk1977
4ef24490a1 Fix a database corrupting bug in the optimistic overflow chain. Exposed by running bigrow.test with auto-vacuum enabled. (CVS 4030)
FossilOrigin-Name: 10ee2d50cbcdcbbd8141ff2aba4fd2c0c0b70d67
2007-05-23 09:52:41 +00:00
danielk1977
b39f70b04a Change the way overflow pages are allocated from the free-list to increase the chance that they are a contiguous block. Much more can still be done. (CVS 4023)
FossilOrigin-Name: b7391892041eb72b0ebcbb7a9a6721ae3482dd80
2007-05-17 18:28:11 +00:00