Commit Graph

2290 Commits

Author SHA1 Message Date
drh 2dcc9aa2a8 Add the sqliteBtreePrevious() routine to the BTree module API. This is
in anticipation of implementing reverse order searching of a table. (CVS 794)

FossilOrigin-Name: 0ad1d93879bee0d34b122591c025192a51b8490f
2002-12-04 13:40:25 +00:00
drh c66c5a266b Allow an aggregate function in the HAVING clause even if no aggregates appear
in the result set.  Ticket #187. (CVS 793)

FossilOrigin-Name: 33c6fd6b3dc271fa1f2d4500b4f76c736accefce
2002-12-03 02:34:49 +00:00
drh 174b619591 Honor ORDER BY clauses in VIEWs. Ticket #193. (CVS 792)
FossilOrigin-Name: dbf7893234a6c5d6bb2d931e52080bb05784c0c9
2002-12-03 02:22:52 +00:00
drh da47d7748f Change to the pager to avoid opening journal files unnecessarily. This can
sometimes results in a significant speed improvement. (CVS 791)

FossilOrigin-Name: fa5c042585c601449ede7319d0c5993cd8ba75a4
2002-12-02 04:25:19 +00:00
drh d0d006e29c Fixed large file support under Linux. I'm unable to test under Windows.
Ticket #191. (CVS 790)

FossilOrigin-Name: 9864a1265b5a37c12b0dd8446d81b84c5a3acc43
2002-12-01 02:00:57 +00:00
drh 86bc1c8273 Add the "space_used.tcl" script to the tools directory. This script is used
to measure how much disk space is used by each table and index of a database. (CVS 789)

FossilOrigin-Name: 83b2c27a568cd67cd5162d513766b23ff9fc2227
2002-11-24 14:52:27 +00:00
drh 58f391b36f Automatically determine if pointers are 4 or 8 bytes in size during the
compilation process.  Ticket #190. (CVS 788)

FossilOrigin-Name: dd5396a73a782b6abe9da3de43a5ee11e0dddbb2
2002-11-20 11:55:18 +00:00
drh 7cdbd32c8e Get the new large file code working with the Borland compiler. Ticket #195. (CVS 787)
FossilOrigin-Name: da4a79e2891aa81e2e6d96689f99b3924f940dd5
2002-11-20 11:07:59 +00:00
drh 7d686b2d57 Remove extra </TD> from HTML output. Ticket #189. (CVS 786)
FossilOrigin-Name: dc5d9c129c566bf57d108b824ba486cfe070dda6
2002-11-11 13:56:47 +00:00
drh 4d9ef4c4ef Back out the changes in the pager that sorted pages prior to writing them
to the database.  Additional measurements showed no performance gains. (CVS 785)

FossilOrigin-Name: 745d66395daf5cb8463305bbc9e4219534d2b7cf
2002-11-11 01:04:47 +00:00
drh 32c05e993f Replace the atoi() library routine with a faster home-grown version in the
VDBE.  This gives a dramatic speed improvement for some kinds of queries. (CVS 784)

FossilOrigin-Name: 263a8ca40f7ff66fbdcb43bf9032391d5b1e68bd
2002-11-11 00:05:42 +00:00
drh 03eb96a7b2 Two optimizations to the pager: (1) Write dirty pages back to the database
file in order and (2) Keep a separate list of in-memory pages that are in
the checkpoint journal in order to speed a checkpoint commit. (CVS 783)

FossilOrigin-Name: a6ef6657a4377684dc2fce7be2bbf009fd2d2f37
2002-11-10 23:32:56 +00:00
drh 8766c34348 Try to better detect when the library is compiled for large file support (LFS)
but the support is not available in the host OS kernel. (CVS 782)

FossilOrigin-Name: a29d60ecc5ee3f535142a81f56eecbef7875ef22
2002-11-09 00:33:15 +00:00
drh 829e802992 Add large file support to Windows. Change large file support for Unix so
that it compiles automatically - without requiring special options on the
compiler command line. (CVS 781)

FossilOrigin-Name: 2008b56fe11e49d52e28f47d14ccd70504e6c094
2002-11-06 14:08:11 +00:00
drh 20e9ab16d8 Changes to include files so that the >2GB file patch will compile under BSD. (CVS 780)
FossilOrigin-Name: 81bb1aed5e9094a9655bd03614bb111d79896928
2002-11-06 00:59:44 +00:00
drh 28be87c7c4 Add support for databases larger than 2GB under Unix. Must be compiled
with -D_FILE_OFFSET_BITS=64 and -D_LARGEFILE_SOURCE in order to work with
larger databases. (CVS 778)

FossilOrigin-Name: a3f67fe9121ca4655510094fe775b8603a87800e
2002-11-05 23:03:02 +00:00
drh 647cb0e159 Add the sqlite_version() SQL function as a built-in. (CVS 777)
FossilOrigin-Name: 7c8c0e7633dca00bde7bc7c22075f688c034c200
2002-11-04 19:32:25 +00:00
drh 7bc09d3111 Improvements in threadtest.c (for Unix) and some minor bug fixes that result
from the better testing. (CVS 776)

FossilOrigin-Name: 326e0983c34b584a3c4a2300399bff0a8281b9f8
2002-11-01 01:55:36 +00:00
drh 1f3e905cd0 Fix an assert that might fail if malloc() fails. (CVS 774)
FossilOrigin-Name: 8ad018944c3aa8f58e1c68b1fa634ef922d6476f
2002-10-31 00:09:39 +00:00
drh 38dd0b4ff0 In the VDBE, check to make sure a set has been initialized before using it.
Ticket #185. (CVS 772)

FossilOrigin-Name: 8c4cbdd05517e91879a0f2c4559d0f0518d2385b
2002-10-30 22:42:58 +00:00
drh 1f16230b5c Minimal support for oracle8 outer join syntax. (CVS 771)
FossilOrigin-Name: 31df3690d0fe4bd4a293cbe8ca9a26c98c3ed3ce
2002-10-27 19:35:33 +00:00
drh 6977fea801 Correctly handle column names and string constants in parentheses.
Fix for ticket #179. (CVS 770)

FossilOrigin-Name: 3b68aa25c451b7c09ece457ac2b70a9a5d93508a
2002-10-22 23:38:04 +00:00
drh e958bb4aef Take care to track ephemeral strings in the VDBE and make copies of ephemeral
strings that need to be preserved.  Ticket #177. (CVS 769)

FossilOrigin-Name: 562da534bbb605a8ce15824135b012ef2d86bbeb
2002-10-22 15:04:34 +00:00
drh edbbbdf8f7 Rework the changes for ticket #176 (check-ins (760) and (761)) to be
more consistent with the rest of the source code. (CVS 768)

FossilOrigin-Name: f50a177b4239bc7a83563ac9361e830ec04e81fb
2002-10-20 18:19:45 +00:00
drh 3c2007a546 The "table_info" pragma reports unspecified column types as "numeric" instead
of "text".  Fix for ticket #174. (CVS 767)

FossilOrigin-Name: 395ab5fac201a37d6eca833ffd6f58ac8a0121a2
2002-10-20 16:00:27 +00:00
drh 315555ca50 Work around a bug in the Borland C compiler. Ticket #172. (CVS 765)
FossilOrigin-Name: 3ef2925650bfbeb4ee5dbd0aaf8e606fc4cd2be1
2002-10-20 15:53:03 +00:00
drh 2678058853 Make sure malloc(0) always returns NULL. Fix for ticket #171. (CVS 764)
FossilOrigin-Name: 4622b7ce8f4727a6405ddf4f0af701db86da86bf
2002-10-20 15:46:22 +00:00
drh 32fbe342db Speed improvement by avoiding a call to sqliteBtreeLast() when inserting a
new row into a table. (CVS 763)

FossilOrigin-Name: d0af59fe6b9d5d026786e7cce1c49c208a0335cc
2002-10-19 20:16:37 +00:00
mike 16aaf451b7 Minor coding fix in getting the windows platform version, when multithreading (CVS 761)
FossilOrigin-Name: b53ab71d074ada47ce22bd161f6aee24587302af
2002-10-17 09:01:31 +00:00
mike 710dcfbde5 fix for locking in Windows (CVS 760)
FossilOrigin-Name: 83add34f64895a4b465881213eba82f3b1f5c964
2002-10-17 00:38:54 +00:00
drh f1f0fa0769 Remove the call to srand() and add better comments to the sqliteOsRandomSeed()
routine.  Ticket #163. (CVS 759)

FossilOrigin-Name: d87a886d8f63f54466848151e2b0e8565b338593
2002-10-12 13:43:59 +00:00
drh c8f8b632c3 Fix a bug in the left outer join logic. (CVS 758)
FossilOrigin-Name: 6c0f44bd6374010f7a4a091e585eb36e0665f96f
2002-09-30 12:36:26 +00:00
drh 294fb92b50 Fix an uninitialized variable that could cause problems when comparing
two NULLs. (CVS 757)

FossilOrigin-Name: 015425001813971f6d4c97c18d64c7f14fa1955f
2002-09-30 01:31:21 +00:00
drh a226d05408 Bug fix: When multiple SQL statements were passed into a single sqlite_exec() call, execution speed would decrease for each statement executed because VDBE cursors were not being reused. Now the cursors are reused and execution time is linear. (CVS 754)
FossilOrigin-Name: b0d27a377a9f6134f81108fe45c8c868ab4d4411
2002-09-25 19:04:07 +00:00
drh df68f6b768 Make sure memory malloced() for structures is aligned on an even byte boundry.
Solaris segfaults otherwise. (CVS 753)

FossilOrigin-Name: 14ebe30bf5937effdc388e23e998ba1a34fb0a29
2002-09-21 15:57:57 +00:00
drh 3e56c04c4e Fix a bug in the OP_MemStore operator of the VDBE. A realloc() might
occur but pointer to the old buffer were not being moved over to
the new buffer. (CVS 752)

FossilOrigin-Name: 29145746f34438bd830c763872c5e82572150357
2002-09-17 03:20:46 +00:00
drh 995d71b715 Modify the sqlite_encode_binary() routine to return the strlen() of the
encoded string.  Also fix a bug that occurs when attempting to encode
a zero-length buffer. (CVS 751)

FossilOrigin-Name: f12c3a25ba5408c2a7c846a9f160416fd188cd26
2002-09-16 11:44:05 +00:00
drh cabb081971 Do not put a write lock on the main database file when writing to a temporary
table. (CVS 750)

FossilOrigin-Name: 3f253afe15d4f7392555f340a41d780d1248087f
2002-09-14 13:47:32 +00:00
drh ac82fcf5f0 Fix for ticket #147: Honor the ORDER BY and LIMIT clauses in a SELECT even
if the destination of that SELECT is a subroutine call. (CVS 747)

FossilOrigin-Name: 23fe36c7e88282f6d1b7547ab892ea88f0e65262
2002-09-08 17:23:41 +00:00
drh 8f619ccd3c Modify the build process so that the VDBE opcode numbers and the table
that contains the opcode names are both automatically generated. This makes
it much easier to create new VDBE opcodes. (CVS 746)

FossilOrigin-Name: eb54d455b0325d3be96daf6c220c4ee3e0da1a85
2002-09-08 00:04:50 +00:00
drh 8c90ebb0e2 Fix a memory leak that occurred when sqlite_open() failed. (CVS 745)
FossilOrigin-Name: a876021304a5de7ede1bf835971da7e328d1af07
2002-09-05 23:21:37 +00:00
drh 96ddd6db58 Rewind the checkpoint journal after each statement to avoid allowing
the file to become too large. (CVS 744)

FossilOrigin-Name: f4288520dfd1587446e50fa7ef23f75f6f63a7cf
2002-09-05 19:10:33 +00:00
drh 4e371ee41c Fix for ticket #146: Correctly handle reads of unused disk blocks at the
end of the file. (CVS 743)

FossilOrigin-Name: f5c2654768a6201fc554b59f1b2f56bcce738bc4
2002-09-05 16:08:27 +00:00
drh b798fa6481 Always fill in the 5th parameter to sqlite_exec if there is an error. (CVS 742)
FossilOrigin-Name: 7f8fd5c75d614f81ef87f0fc952c341cbc5076d0
2002-09-03 19:43:23 +00:00
drh f74b8d9b89 Relax the locking requirements on BTree cursors. Any number of read and
write cursors can be open at the same time now, but a write cannot occur
as long as one or more read cursors are open.

Before this change, one or more read cursors could be open on a table,
or a single write cursor, but not both.  Both policies have the same
desirable effect: they prevent writes to a table while a sequential scan
of that table is underway.  But the new policy is a little less restrictive.
Both policies prevent an UPDATE from occurring inside a SELECT (which is
what we want) but the new policy allows a SELECT to occur inside an
UPDATE. (CVS 739)

FossilOrigin-Name: 8c2a0836980341faa479cfe6c716409e6057367d
2002-09-01 23:20:45 +00:00
drh c2eef3b32b Parse foreign key constraints and populate internal data structures
appropriately.  Constraints are still not enforced. (CVS 738)

FossilOrigin-Name: 170711ca65dc894d0486b9d575edb8f1708250fb
2002-08-31 18:53:06 +00:00
drh 1e0ccab9f0 If the database is locked when sqlite_open() is called, sqlite_exec() should
still honor the busy callback and should return an error message together
with the SQLITE_BUSY result code. (CVS 733)

FossilOrigin-Name: 78a0229a7e5e33fe642847381f5514e6ec30f29f
2002-08-29 23:59:47 +00:00
drh 142e30df99 Slightly faster INSERTs from a SELECT by avoiding an intermediate table.
But it didn't make nearly as much difference as I had hoped. (CVS 732)

FossilOrigin-Name: 723362e74f79c784314d042e3a8c8a9bf07cbd5e
2002-08-28 03:00:58 +00:00
drh 66105a8ea0 Change the tokenizer to ignore C-style comments /*...*/ in accordance with
SQL99. (CVS 731)

FossilOrigin-Name: f1534489484afdb835ad8e6f97909fbe76dbe414
2002-08-27 14:28:29 +00:00
drh da30d3696b Fix for ticket #142: Make sure we get the correct sort order even when the
columns being sorted contain NULLs. (CVS 730)

FossilOrigin-Name: 45847390d007718a4b7a4e9fa445136d013113f8
2002-08-26 19:55:07 +00:00