Commit Graph

4726 Commits

Author SHA1 Message Date
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
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
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 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 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 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 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
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 66fd216045 Fix an obscure problem with recovery from I/O errors while rolling back. (CVS 6498)
FossilOrigin-Name: 24ff486125b9ad62dd92314b62299093b55fe82b
2009-04-11 16:27:49 +00:00
drh 63842415bd Add a comments and an assert() to the virtual table implementation.
No functional changes. (CVS 6497)

FossilOrigin-Name: ac5d0c0aa1de687bde972fbf0db8f04508825205
2009-04-11 16:27:19 +00:00
danielk1977 e589a67f6c Fix a case where a corrupt database could cause an assert() to fail. (CVS 6496)
FossilOrigin-Name: 2c560e057e1da8a603efc36deea036f2392a4ab9
2009-04-11 16:06:15 +00:00
drh 1a0cc28e84 Increase the hard upper bound on the number of pcache pages in test_pcache
when the test harness is compiled for in-memory temp tables.  Some of the
test cases need to extra memory to avoid unplanned out of memory errors. (CVS 6494)

FossilOrigin-Name: 7f2d6a0bd510801e011eb075f494194d9ebf568b
2009-04-11 11:38:53 +00:00
danielk1977 be20e8eccb In sqlite3PagerMovepage(), avoid holding a reference to page number X when calling sqlite3PcacheRekey() to move another page to page number X. (CVS 6492)
FossilOrigin-Name: 4447c94f45b8abd833eb82b67233029088fd1a54
2009-04-11 09:51:55 +00:00
drh 7950acd424 Remove more unused branches from vdbeapi.c. (CVS 6491)
FossilOrigin-Name: 447e959594970a225a9b189e7e420ba9c3eedbdb
2009-04-10 23:11:31 +00:00
drh 9b4ea4a53e Remove unused branches from the vdbeapi.c module. (CVS 6489)
FossilOrigin-Name: 7ae0fc7ea55dc5b5fbeef20f476a00f619bd3c5c
2009-04-10 20:32:00 +00:00
shane 80167bf080 Fix MSVC compiler warning in vdbeaux.c. (CVS 6485)
FossilOrigin-Name: d619465e31c2366b389fea6ee2ce6b1806738a0f
2009-04-10 15:42:36 +00:00
drh 73d34e92f4 Simplifications and additional comments on the sqlite3_get_table()
implementation.  Changes to facilitate full branch test coverage. (CVS 6482)

FossilOrigin-Name: 57e3e6b3cb54e6626bee41a084c927ee264b6d03
2009-04-10 14:27:59 +00:00
danielk1977 f7590db099 Changes to ensure that when running in shared-cache mode with a non-threadsafe build, the correct busy-handler callback is always invoked. (CVS 6481)
FossilOrigin-Name: 683e4bd74783e6e3f6cf75f9582008c7b7e02a01
2009-04-10 12:55:16 +00:00
danielk1977 2a50ff0309 Always set BtShared.db when entering the BtShared mutex. Ticket #3793. (CVS 6480)
FossilOrigin-Name: ed6620ba589ddbb6ca86f42a7652e3b019195647
2009-04-10 09:47:06 +00:00
drh 8c5d152b53 Force 8-byte alignment of sqlite3_value objects in the
sqlite3VdbeUnpackRecord() primitive.  Ticket #3777. (CVS 6479)

FossilOrigin-Name: 2cc68272b1f70701268075cfa82fa64bb2a8179d
2009-04-10 00:56:28 +00:00
chw a5dc7f73f9 Provide dummy DWORD arguments to output parameters of GetDiskFreeSpace(A|W),
NULL causes access violations on Windows NT 4.0 (CVS 6477)

FossilOrigin-Name: 5350a6586cd6504a0724631e4ef46245832435f9
2009-04-09 14:27:06 +00:00