1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-16 23:02:26 +03:00
Commit Graph

683 Commits

Author SHA1 Message Date
danielk1977
8d34dfd656 Handle errors in saving cursor positions during a rollback by aborting all active statements. (CVS 3027)
FossilOrigin-Name: 5df9f022bfb22976f22b996bda169635354b825c
2006-01-24 16:37:57 +00:00
drh
2a3e4a714c More progress toward getting SQLITE_OMIT_FLOATING_POINT to pass tests.
Ticket #1621. (CVS 3014)

FossilOrigin-Name: b52674e5642a9d26b15a5d5c2a6716febaef130a
2006-01-23 21:44:53 +00:00
danielk1977
8a7aea3bb3 Further coverage improvements for pager.c and another IO error bug fix. (CVS 3001)
FossilOrigin-Name: a9ec5ee4724ab993e71ef8b387e2d92f3e74959c
2006-01-23 15:25:48 +00:00
drh
24bd82c396 Fix some compiler warnings. (CVS 2983)
FossilOrigin-Name: b7bdac0afd99b8dc03749877f675a5f782120295
2006-01-20 17:56:32 +00:00
danielk1977
97a227c996 Fix another couple of IO or malloc() failure problems in a shared-cache context. (CVS 2982)
FossilOrigin-Name: 7e34163a65a5842ecc50a14a9d60601e7c9d3249
2006-01-20 16:32:04 +00:00
danielk1977
07cb560b23 Handle some of the IO error conditions that may occur in a shared-cache context. (CVS 2980)
FossilOrigin-Name: 97491d4eb5fc24d8f5cc7605db844359ecc6a818
2006-01-20 10:55:05 +00:00
danielk1977
9e12800dec Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972)
FossilOrigin-Name: ac090f2ab3b5a792c2fdf897e10060f263e0d408
2006-01-18 16:51:35 +00:00
danielk1977
bab45c647d Fix some of the issues raised in #1615. (CVS 2959)
FossilOrigin-Name: 0d5d83bcbd65dd7ae968909acfee075185e49c38
2006-01-16 15:14:27 +00:00
danielk1977
21691543a3 Fix a buffer-overrun that could occur after a malloc() failure. (CVS 2948)
FossilOrigin-Name: 662522218f967a8fb07427a9abd53334bb1400f7
2006-01-15 13:13:56 +00:00
danielk1977
e725929686 Minor modification to restoreOrClearCursorPosition() to improve efficiency. Do not allocate the extra 8-bytes if memory-management is not enabled. (CVS 2936)
FossilOrigin-Name: dd705955429d847af85ffaf248976bcd1d861852
2006-01-13 06:33:23 +00:00
drh
0e6082eb83 Performance boost in sqlite3VdbeRecordCompare. (CVS 2929)
FossilOrigin-Name: 14c423075bcebf42a3f4e24838bc865cfb90afda
2006-01-12 20:28:35 +00:00
drh
4b494d65a7 About a 2.5% speed improvement by reducing the number of sqlite3ThreadData
calls in the parser. (CVS 2924)

FossilOrigin-Name: 0caa1994770142d6ca15284a26bad3879b07b15a
2006-01-12 12:43:36 +00:00
drh
6f7adc8a80 Automatically deallocate thread-specific data when it is no longer
being used.  Ticket #1601.  Also implemented the suggestion of
ticket #1603. Memory management is now off by default at compile-time.
The sqlite3_enable_memory_management() API has been removed. (CVS 2919)

FossilOrigin-Name: 5d9c6aa964305c3f36741ff0058da5b5f3ce0d24
2006-01-11 21:41:20 +00:00
danielk1977
e501b89ada Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893)
FossilOrigin-Name: 82b81f69c78cb3f54634d9aea4f6a838474dc5e5
2006-01-09 06:29:47 +00:00
drh
76873ab240 Invalidate all VDBE cursor row caches in between calls to sqlite3_step()
since the emphemeral content that those caches point to might change if
the statement is READ UNCOMMITTED. (CVS 2886)

FossilOrigin-Name: 0ae461313c1642a49a9f6cda608c42c7c0053ce4
2006-01-07 18:48:26 +00:00
drh
66560adab3 Change the OS interface layer to use traditional direct function call
implementations instead of the more complicated virtual function table.
Omit the asynchronous I/O demo. (CVS 2870)

FossilOrigin-Name: 2529c2e11fa1d345ec61f647e4f6fae20a7133d6
2006-01-06 14:32:19 +00:00
drh
35a5965a17 Additional tests for descending indices. Comment changes. (CVS 2850)
FossilOrigin-Name: 2622c5242b0cba5bc19f190a7c209ab9ed8f57e0
2006-01-02 18:24:40 +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
drh
d946db0064 Add serial-types 8 and 9 for integer constants of 0 and 1 that use zero
bytes of storage.  Make the default file format 4.  Add the
SQLITE_DEFAULT_FILE_FORMAT compile-time option to lower the default
file format number so that newly created databases can be read and
written by older versions of SQLite. (CVS 2845)

FossilOrigin-Name: ae301db8a61a74bc72f67f5766811d89a3b3ec72
2005-12-29 19:23:06 +00:00
drh
0b2f3160d6 Bug fixes and additional testing of descending indices. (CVS 2841)
FossilOrigin-Name: 5638a11ed5618dd833d3daffc1715951091d72b2
2005-12-21 18:36:45 +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
danielk1977
71fd80bf5c Add the sqlite3_rollback_hook() API. Still requires further testing. (CVS 2823)
FossilOrigin-Name: 3baa3ff32435b64e7ae7646b17a98fef9296aaa0
2005-12-16 06:54:01 +00:00
drh
fdd6e85a34 Initial infrastructure for recognizing DESC indices and being able to read
and write older databases that specify DESC indices but do not really use
them.  Nothing is close to working yet. (CVS 2822)

FossilOrigin-Name: cd110aa225b09591064405dd8952b3df37278c52
2005-12-16 01:06:16 +00:00
drh
2646da7e52 Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810)
FossilOrigin-Name: 83a59151559d9496d4f546e03e65087ea974717d
2005-12-09 20:02:05 +00:00
danielk1977
2e588c7525 Many small changes to ensure memory is not leaked after malloc() fails. (CVS 2808)
FossilOrigin-Name: 601c335463aaabc2e9918e4b9298cff6161be5c4
2005-12-09 14:25:08 +00:00
danielk1977
261919cc16 Some elements of the new malloc() failure handling. Not all cases work properly yet. Also, library is not threadsafe if malloc() fails right now. (CVS 2800)
FossilOrigin-Name: e1606658f1b4530e3001db4779b5669c8d13c853
2005-12-06 12:52:59 +00:00
drh
054889ec6d Restructure the OS interface yet again. This time make the OsFile object
a virtual base class which is subclassed for unix, windows, and the crash
test simulator.  Add the new file "os.c" for common os layer code.  Move
all OS-specific routines into the sqlite3Os structure. (CVS 2795)

FossilOrigin-Name: bd8740d1aecba69e1b5d64d43db07e8ad8841f07
2005-11-30 03:20:31 +00:00
drh
9cbe635219 Make the OsFile structure opaque with its internal structure known only to
the appropriate os_*.c implementation.  Omit the os_unix.h and os_win.h
include files.  The crash tests are broken by this patch. (CVS 2791)

FossilOrigin-Name: 058f31753871b16b40fe4048e3adcee411e0f87d
2005-11-29 03:13:21 +00:00
drh
9c06c95309 Modify the OS layer so that I/O routines are called through a virtual function
table.  The os_test.c module has been replaced by test6.c.  The crash tests
are busted now and need to be fixed. (CVS 2785)

FossilOrigin-Name: 1f69aec285dd8e26bd739d5e44bb50fe03a9682a
2005-11-26 00:25:00 +00:00
drh
fa3b19ef3d Reduce the number of distinct token symbols in the parser so that the parser
can store tokens in a single byte and thus be smaller in size. (CVS 2776)

FossilOrigin-Name: 2dfc9863919c9eb1fd1064ab2817d752dd7f9293
2005-11-24 22:22:29 +00:00
drh
cc43cabcb0 Fix an assert or memory leak that occurs when trying to EXPLAIN a statement
other than a SELECT that outputs results.  Examples of such statements
include PRAGMA integrity_check or INSERT/DELETE/UPDATE with PRAGMA
count_changes=ON. (CVS 2743)

FossilOrigin-Name: 533a85eee2370aafe204ff3eed50eb7fc0149e83
2005-10-05 11:35:09 +00:00
drh
d654be803f Code cleanup and simplification. Three new Mem opcodes added.
The sqlite3VdbeJumpHere function added. (CVS 2730)

FossilOrigin-Name: 2471957feee57538e5e1e50a704a337f0927d10e
2005-09-20 17:42:23 +00:00
drh
ac1733d409 Fix a memory leak that occurs after malloc fails. (CVS 2713)
FossilOrigin-Name: 85b931bf72dac88187e4531053a06abe25d6f462
2005-09-17 17:58:22 +00:00
drh
4928570812 Changes to make corruption errors easier to track down. (CVS 2709)
FossilOrigin-Name: c07330000b9427a77f412918078beffa18de2c36
2005-09-17 15:20:26 +00:00
drh
53f733c7ae Fix a whole host of newly discovered memory leaks the occur after a
failure of realloc(). (CVS 2696)

FossilOrigin-Name: 4686d649756a0aa301ade901ac49c89a976c5402
2005-09-16 02:38:09 +00:00
drh
b38ad9991c Fix a memory leak: a failure to deallocate the P3 parameter on a call
to sqlite3VdbeChangeP3. (CVS 2695)

FossilOrigin-Name: 714254cbc12564d44548707043fdcdffb17e4fde
2005-09-16 00:27:01 +00:00
drh
ecc9242f6f Add the experimental EXPLAIN QUERY PLAN diagnostic capability. (CVS 2685)
FossilOrigin-Name: 986efb7b12643800805ad4b1f1e90e30fcf6d38a
2005-09-10 16:46:12 +00:00
drh
eb796a7c8f While doing a transaction comment, use fdatasync() instead of fsync() in
cases there the file size is unchanged. (CVS 2673)

FossilOrigin-Name: 3c555a87493128620ac967faf7c63c2a58856e9e
2005-09-08 12:38:41 +00:00
drh
13449892ef Rewrite the aggregate handling logic so that it runs in O(1) space.
This is the first cut at the code.  Many regression tests fail. (CVS 2662)

FossilOrigin-Name: 17039ec3ff4396862beedf4a8af89654b2140f58
2005-09-07 21:22:45 +00:00
drh
abfcea25ea Cleanup the processing of MEM_Agg elements. (CVS 2660)
FossilOrigin-Name: 7ecf3654aa9a275a4cf0c3ec5f63a8c1e0a11fc9
2005-09-06 20:36:48 +00:00
drh
d81bd4e209 Fix bugs introduced by checkin (2656) and do some modest code enhancements. (CVS 2657)
FossilOrigin-Name: 7b56763a8b514834198d2392639d6d726b17d901
2005-09-05 20:06:49 +00:00
drh
4db38a7092 All regression tests now pass with the new bounded-memory sort code.
There is still lots of opportunity for optimization, however. (CVS 2654)

FossilOrigin-Name: 81259a01f1e85ba50a1d017b1282bf841b16f0a5
2005-09-01 12:16:28 +00:00
drh
0342b1f542 Sorting is now done using a sorting index rather than loading the entire
result set into memory and doing a merge sort.  The old merge sort technique
was a carry-over from SQLite version 1.  The new method uses a bounded amount
of memory and scales to much larger result sets.  There are still errors:
some 39 regression tests fail. (CVS 2653)

FossilOrigin-Name: 09db0a24241f9248584250d1728117b8a3159626
2005-09-01 03:07:44 +00:00
drh
bfd6b03554 Improvements to the formatting and layout of the code in the previous checkin. (CVS 2636)
FossilOrigin-Name: 73b430de0c0f3cd230861fc1a53691818f17de0d
2005-08-28 01:38:44 +00:00
drh
de941c605e Add an assert to verify that floating point values and integers use the
same byte order.  Add a comment to the SELECT code generator. (CVS 2635)

FossilOrigin-Name: 07b4892149a436dbd904c781b46e3b9a82a7a744
2005-08-28 01:34:21 +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
drh
fc23314a0b More test coverage enhancements. (CVS 2600)
FossilOrigin-Name: 0b6cd5acc0ede3367623f40ccfaa96116e686824
2005-08-19 01:07:15 +00:00
drh
91124b3545 Comment fixes. No changes to the underlying code. (CVS 2598)
FossilOrigin-Name: b865e243ee772f009dbf466d69525f2cdef78c0e
2005-08-18 18:15:05 +00:00
drh
55ef4d9758 The case_sensitive_like pragma added.
Test cases added for the LIKE optimization. (CVS 2592)

FossilOrigin-Name: 72ee21c05e618b6f46f5460f8c85779c72fe32d7
2005-08-14 01:20:37 +00:00
drh
d2687b7731 Optimize LIKE and GLOB operators in the WHERE clause. Code passes all
regression tests but still needs additional tests. (CVS 2581)

FossilOrigin-Name: 3edbe8d6217fd1180883e6b9f1e5b9011a39f80d
2005-08-12 22:56:09 +00:00