Commit Graph

6473 Commits

Author SHA1 Message Date
danielk1977
f761f76262 Avoid changing the pager journal-mode once a write-transaction is open, even if no database pages have been modified. (CVS 6554)
FossilOrigin-Name: ad8aba3eff90d42b936e3644f10cbbd431eebad8
2009-04-28 05:27:20 +00:00
drh
1691cd4bc0 Add test cases for sqlite3_complete with an EXPLAIN QUERY PLAN on a
CREATE TRIGGER statement.  Ticket #3828. (CVS 6553)

FossilOrigin-Name: 6b86b40edadb9c9cbc0db5a43a8277434f9d7171
2009-04-28 04:51:29 +00:00
drh
e0d0f8ee4d Make sure sqlite3_open16() always zeros the db return pointer if
SQLite initialization fails. (CVS 6552)

FossilOrigin-Name: 057c7d171397e19c8f3ac2362ea45f2b4a50530c
2009-04-28 04:47:31 +00:00
drh
709915da2a Enhance sqlite3_complete() so that it understands EXPLAIN QUERY PLAN.
Ticket #3828.  Testing is done in TH3. (CVS 6551)

FossilOrigin-Name: 3ac1b15f552fe005630e43a92fffa6a4abd6675d
2009-04-28 04:46:41 +00:00
drh
51c7d86476 Bring the documenation and implementation of sqlite3_collation_needed() into
agreement.  Use a more efficient implementation of sqlite3ErrStr().
sqlite3_result_error_code() now calls sqlite3ErrStr() if no prior
error string was set. (CVS 6550)

FossilOrigin-Name: cb9af8293624da35c32077d0f46d5b0cf826dcf5
2009-04-27 18:46:06 +00:00
danielk1977
6f050aa2bf Tests for the new asynchronous IO API. (CVS 6549)
FossilOrigin-Name: 11b2564e7159168cd0815bb9bc93688586fad1e0
2009-04-25 08:39:14 +00:00
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