Commit Graph

6467 Commits

Author SHA1 Message Date
drh 4fa326564a Add another test case for the "x IS NULL" uniqueness problem of ticket #3824.
No changes to code.  This just double-checks that everything is working now. (CVS 6548)

FossilOrigin-Name: 3ceae3579bc42974865cf6fe0bc42001e786e894
2009-04-24 20:32:31 +00:00
danielk1977 70d9e9cc02 Dequote the "from" table in a FOREIGN KEY definition (affects the output of "pragma foreign_key_list). Fix for #3800. (CVS 6547)
FossilOrigin-Name: 600482d1619c07690b6517ded9655462bdab7538
2009-04-24 18:06:09 +00:00
drh 336a5300de Get rid of the special RowSet processing in where.c and move that into
clients.  Added the WHERE_DUPLICATES_OK option to eliminate an unnecessary
RowSet during DELETE with a WHERE clause containing ORs. (CVS 6546)

FossilOrigin-Name: 98606bee9e41b8969fb639fc43864e230185ca43
2009-04-24 15:46:21 +00:00
drh 46619d6787 Make sure that the optimizer realizes that an "x IS NULL" contraint does not
necessarily give a single-row result even on a UNIQUE index.  Ticket #3824. (CVS 6545)

FossilOrigin-Name: 207335fdbf992a2f5bc5982b3163a38016ba1b21
2009-04-24 14:51:42 +00:00
danielk1977 4598b8e4a1 Make selecting the asynchronous IO file-locking mode a runtime operation. Still untested. (CVS 6544)
FossilOrigin-Name: 577277e84a05707b8c21aa08bc5fc314c1ac38ac
2009-04-24 10:13:05 +00:00
danielk1977 debcfd2dcb Improve comments and documentation of the asynchronous IO VFS module. (CVS 6543)
FossilOrigin-Name: 92bc6be2a86f8a68ceded2bc08fe7d6ff23b56fb
2009-04-24 09:27:16 +00:00
shane 68d405e25a os_win.c, winOpen(), changed to handle the SQLITE_OPEN_EXCLUSIVE flag and sharing modes in the same manner as os_unix.c. Ticket #3821. (CVS 6542)
FossilOrigin-Name: 18fef3fcf61c137a89a83352f6769ed06845434a
2009-04-23 19:08:32 +00:00
shane b1a82dbe95 Updated misc. test scripts for Windows testing with gcc/cygwin; (CVS 6541)
FossilOrigin-Name: 1e2c71596e3f7a69afc5b745c20b2e4e81bffda5
2009-04-23 18:42:04 +00:00
shane 8a0dc3b04a Remove some incorrect async tests; (CVS 6540)
FossilOrigin-Name: 03af25b3ee001c1bf3e7a3218fad6ed311c7c259
2009-04-23 18:41:25 +00:00
danielk1977 a3f065980e Move the asynchronous IO code from src/test_async.c to ext/async/. Refactor it to be a standalone module and to support windows. (CVS 6539)
FossilOrigin-Name: e71fb0fb8d83b4453c3c1e84606bf58d04926809
2009-04-23 14:58:39 +00:00
drh ceea33217b Rework the column-cache mechanism to be more robust (and more correct).
The column-alias cache is currently disabled, (CVS 6538)

FossilOrigin-Name: dd4d67a67454a3ff13c286a2a8360c5f0432c91d
2009-04-23 13:22:42 +00:00
drh 044925be0b Eliminate the OP_VRowid opcode. The regular OP_Rowid now work for both
regular and virtual tables. (CVS 6537)

FossilOrigin-Name: ecbef45011f1f98d940b2d3492941213d9f04172
2009-04-22 17:15:02 +00:00
drh 6149526c25 Change the OP_Rowid opcode so that a deferred OP_Seek is pending, it simply
pulls the rowid from the deferred seek target and does not actually move
the cursor or do a seek.  Other where.c cleanups. (CVS 6536)

FossilOrigin-Name: 1c508a99822caa383e7e24b5d09a9bddd2ee3a00
2009-04-22 15:32:59 +00:00
drh 1b26c7ccfa Remove the rowhash object from the code. Rowset now fills its role. (CVS 6535)
FossilOrigin-Name: e963bed0fe3ce5fa32f04b930e5ed0956dc2aa47
2009-04-22 02:15:47 +00:00
drh 733bf1b1e2 Extend the Rowset object to contain all the capabilities of Rowhash in
addition to its legacy capabilities.  Use Rowset to replace Rowhash.
In addition to requiring less code, This removes the 2^32 result row
limitation, uses less memory, and gives better bounds on worst-case
performance.  The Rowhash implementation has yet to be removed. (CVS 6534)

FossilOrigin-Name: b101cf70b75c9772aaf50e0eadd0cfa37c84d193
2009-04-22 00:47:00 +00:00
danielk1977 dcc1f44020 Move RowHashBlock.nUsed to RowHash.nUsed. Fix a typo in a comment in test_async.c. (CVS 6533)
FossilOrigin-Name: 799d31d99fd18a6f99862433384e37d6747ee5b3
2009-04-21 18:20:45 +00:00
danielk1977 732dc5526b Fix a segfault that followed a malloc failure introduced by (6527). (CVS 6532)
FossilOrigin-Name: 08e71b114087cfddd36c066265982172fcb41c9a
2009-04-21 17:23:04 +00:00
drh 84fe066470 Adjust the rowhash.test module so that it recovers gracefully in the rare
event of a rowid collision. (CVS 6531)

FossilOrigin-Name: 72e1680904a354811cd2956bd57769ee2482c8bb
2009-04-21 17:13:38 +00:00
drh cd5a9729d2 Allocate the initial RowHash object using lookaside. (CVS 6530)
FossilOrigin-Name: 9b30ab7199d8b51bdea8ec7f0410281527623673
2009-04-21 16:15:15 +00:00
drh ade9760aea New comments and minor refactoring of rowhash.c. (CVS 6529)
FossilOrigin-Name: b8cb4f3e2473afaee7c147a6b3f0972f69391a9a
2009-04-21 15:05:18 +00:00
drh a76409211d Remove a redundant test from sqlite3_shutdown(). (CVS 6528)
FossilOrigin-Name: 6f481ceb503c7df74d9417a5a7f019ff56261ea8
2009-04-21 12:02:56 +00:00
danielk1977 1d46146b58 Attempt to optimize virtual table queries with 'OR' expressions in the WHERE clause. (CVS 6527)
FossilOrigin-Name: f61e4cd93682fd98bea2a71d346f9eaa68454390
2009-04-21 09:02:45 +00:00
drh 8a93919082 Change the journal_mode pragma so that it always returns the current
journal mode, even on a failed attempt to change the journal mode.
Allow the journal mode to be changed as long as there is not a pending
transaction.  Ticket #3811. (CVS 6526)

FossilOrigin-Name: 419e320ae51639794335d19699f8e1189e524e7d
2009-04-20 17:43:03 +00:00
drh e6e7ecb421 Add new tests to show that journal_mode=OFF works with locking_mode=EXCLUSIVE
as long as the journal_mode is set prior to the first transaction.
Ticket #3811. (CVS 6525)

FossilOrigin-Name: e62ac26f72224a4ba6c7dc5c32b7e4370461764d
2009-04-20 13:32:33 +00:00
drh d2b68438a1 Clarify the documentation to make it clear that sqlite3_interrupt() does not
effect new SQL statements that are started after the running statement
count reaches zero.  Ticket #3815. (CVS 6524)

FossilOrigin-Name: 3182e8bf69eb4e5e4070930cb9c750942b1dc735
2009-04-20 12:31:46 +00:00
drh d54a79118a Do not use deprecated interfaces internally when compiling with
SQLITE_OMIT_DEPRECATED.  Ticket #3813. (CVS 6523)

FossilOrigin-Name: 7f17956dfbf3090fd5832378e77bd83a525fed9d
2009-04-20 12:07:37 +00:00
drh 59813953a3 Speed improvements by avoiding unnecessary calls to fstat() and ftruncate(). (CVS 6522)
FossilOrigin-Name: 5b7e3a411a6f2fe296675de9467783f6625cff3f
2009-04-20 11:34:26 +00:00
drh 51898cf727 Update comments and remove unused code in btree.c. No functional changes. (CVS 6521)
FossilOrigin-Name: bd860184909b7a9cc32c59770ebcee0efdc491f0
2009-04-19 20:51:06 +00:00
drh d1a2440d6a Make extra calls to sqlite3_shutdown() be harmless no-ops. (CVS 6520)
FossilOrigin-Name: d80822953c2d2f2fd7f6acdd3caa403c0decacc4
2009-04-19 12:23:58 +00:00
drh 0bf9f7bca4 Revise the implementation of sqlite3_initialize() slightly in order to make
it more easily testable.  The functionality should be unchanged. (CVS 6519)

FossilOrigin-Name: bb1a390a3d2f79b27e3ec2514ae00f5b22dbfb06
2009-04-17 16:54:22 +00:00
drh 52e2c35fb2 Get the behavior of SQLITE_HAVE_ISNAN right. It was reversed
in check-in (6517).  Ticket #3809. (CVS 6518)

FossilOrigin-Name: 97c6ea2368556b2a9a914ba2322085e312598b15
2009-04-17 15:18:47 +00:00
drh cf9b1752cf Add the SQLITE_HAVE_ISNAN compile-time option which, if present, causes
SQLite to use the math library isnan() function rather than its own homebrew
implementation of isnan(). (CVS 6517)

FossilOrigin-Name: 54d23521c37938b9d98f41f5547975c469c0c8f0
2009-04-17 11:57:22 +00:00
drh 382ffd9e65 Check-in (6514) did not completely remove the obsolete test, resulting in a
segfault.  This check-in finishes the job.  Ticket #3802. (CVS 6516)

FossilOrigin-Name: c29b37ea36fe6a360807e66dffc467c66be00d38
2009-04-17 11:56:27 +00:00
drh 05800a1d17 Add NEVER and ALWAYS tags to conditionals in analyze.c that always false or
true. (CVS 6515)

FossilOrigin-Name: fbbc80eaf3bb3726b053d1050104b4ec602eb0c1
2009-04-16 17:45:47 +00:00
drh e52204b4ce Remove obsolete test from bindxfer.tcl. Ticket #3802. (CVS 6514)
FossilOrigin-Name: b1b096171812f77082b0b63e7ab0908c82d1d8bb
2009-04-16 16:32:20 +00:00
drh 56d56f7aa7 Changes to alter.c to enable full branch coverage testing. (CVS 6513)
FossilOrigin-Name: 6a91ab08a55eacc77f69190e1126326f4da220af
2009-04-16 16:30:17 +00:00
drh 7fee360d09 Make sure the 'unixepoch' converter in the date and time functions rounds
to the nearest millisecond rather than truncating downward to the next
smaller millisecond.  Ticket #3808. (CVS 6512)

FossilOrigin-Name: e6e036b345b130c207716c4b81719b5b7c884a11
2009-04-16 12:58:03 +00:00
drh 10c081adf8 In a 3-fold compound SELECT make sure early code generation of the SELECTs
to the right do not dereference non-existant columns in SELECTs on the left. (CVS 6511)

FossilOrigin-Name: 414f340809c487901fa913026a342b19a2956c0a
2009-04-16 00:24:23 +00:00
drh 8dc09a0616 Fix the group_concat() function so that it inserts the separator string
even if the initial content strings are empty.  Ticket #3806. (CVS 6510)

FossilOrigin-Name: b83fbf15a3920755ed77dc9c91b4f00a86ddb9ac
2009-04-15 15:16:53 +00:00
shane 7a8537b4a5 Fix access violation on WinCE platforms. Ticket #3804. (CVS 6509)
FossilOrigin-Name: e203ad400dd61431b3e6b8219eb5357b6ca06561
2009-04-15 14:36:25 +00:00
drh d3264c7cdf Mark an branch in alter.c as always false. Only run the assert() on
the sqlite3_aggregate_count() function in func.c if the
SQLITE_OMIT_DEPRECATED compile-time option is off. (CVS 6508)

FossilOrigin-Name: c0bba77ae619e709f3fb068526073a4a83cf33b6
2009-04-15 13:39:47 +00:00
drh b818008784 Disable the temptrigger.test test script when shared cache is disabled.
Ticket #3801. (CVS 6507)

FossilOrigin-Name: feedbce8f149820d082ecde4437109cc6b6ea0e3
2009-04-15 13:07:19 +00:00
aswift 685cd6f663 nMax can be zero and subtracting 1 from an unsigned zero produces undesirable results (CVS 6506)
FossilOrigin-Name: a117d82dad82bc372bc1e3f1adb9540c1accf851
2009-04-14 18:44:38 +00:00
drh ac80db7845 Change the sqlite3_bind_value() implementation to use a default branch on
the type switch so that there are no untested jumps in the switch. (CVS 6505)

FossilOrigin-Name: d0a8bd6a53c5da0ac6b88818f82c7f7d330b527a
2009-04-14 12:58:20 +00:00
drh 29def56019 Reimplement the sqlite3_bind_value() interface so that it works when the
value being bound comes from a different database connection. (CVS 6504)

FossilOrigin-Name: 3db0c7980668cf38165add13f833863cd00a0cfe
2009-04-14 12:43:33 +00:00
drh 9cff9dc6ae Enhancements to virtual table documentation. Comment changes only. No changes to
code. (CVS 6503)

FossilOrigin-Name: b0b2b2831cc84d57e90bf587ebed600fa72926e9
2009-04-13 14:43:40 +00:00
drh 226dba63ed Version 3.6.13 (CVS 6502)
FossilOrigin-Name: 982cc7f4e7e2d8abfc2025dfbec7c1ce8f95383b
2009-04-13 09:29:04 +00:00
drh 934c5444ed Rerun autoconf in preparation for 3.6.13. (CVS 6501)
FossilOrigin-Name: f683e222112339d1f7980276e403efda76a18ebf
2009-04-13 09:09:24 +00:00
chw 6de061ae67 updated Makefile.vxwSH4 and renamed it to Makefile.vxworks,
should now be able to support SH4 and PPC targets. (CVS 6500)

FossilOrigin-Name: e4a370c72dd3204be099a6706128507d5c06170c
2009-04-13 08:14:03 +00:00
drh 1180936671 Fix malloc5.test so it work on both 64-bit and 32-bit systems. The
::tcl_platform(wordSize) variable has to be used to adjust some memory
sizes. (CVS 6499)

FossilOrigin-Name: ea20f78edb50778c40ed7f03f894ab898f58d67c
2009-04-11 19:09:53 +00:00