358 Commits

Author SHA1 Message Date
drh
a0217ba720 Add the ability to INSERT or UPDATE using the "rowid" column even on tables
that lack an integer primary key. (CVS 991)

FossilOrigin-Name: 903adbe802ca0e987b867e5ad33aae02ad2a43d4
2003-06-01 01:10:33 +00:00
drh
f26e09c87f Tighter binding of views, triggers, and indices to their respective
databases.  Ticket #323.  Much more testing needs to be done to the
sqliteFix...() routines in attach.c. (CVS 990)

FossilOrigin-Name: 7202d4f1a8853368954a967b7ccca9d8a6645a2e
2003-05-31 16:21:12 +00:00
drh
6b8611126b Additional attach testing. I now believe that ticket #317 was fixed
by check-in (981). (CVS 985)

FossilOrigin-Name: 24191373796b7fd6255ef9b70ce2344326308113
2003-05-17 19:23:51 +00:00
drh
79a519c047 Prevent an infinite loop when deleting a table that has a TEMP trigger. (CVS 984)
FossilOrigin-Name: c8c823b068916711857fa67db10fb479999b55c2
2003-05-17 19:04:03 +00:00
drh
8bf8dc9208 Fix problems with TEMP indices that lead to corrupt databases. These
problems were discovered while working on ticket #317.  No sure yet if
that ticket is fixed. (CVS 981)

FossilOrigin-Name: 01398fb78bab7e5c6f439f2b743f26e82118468a
2003-05-17 17:35:10 +00:00
drh
a996e477d0 Make sure the ON CONFLICT clause on a BEGIN overrides the conflict resolution
specified by an index.  This fixes a bug reported on the newsgroup. (CVS 975)

FossilOrigin-Name: 0f92736d1fbe3b587592fe1f26dfb3558cc49727
2003-05-16 02:30:27 +00:00
drh
8af4d3ace6 Restrain the flattener in the presence of outer joins. Ticket #306. (CVS 958)
FossilOrigin-Name: 6d4b6597e560578253960d9876dc8c8657f41fef
2003-05-06 20:35:16 +00:00
drh
66b4ebafb2 Added tests trying (unsuccessfully) to reproduce ticket #304. (CVS 957)
FossilOrigin-Name: fda637f453d35b74f676997fcf056a948ccd771b
2003-05-04 20:42:56 +00:00
drh
7ad4334add Fix deficiencies in sqlite_complete() pointed out by R. Dennis Cote. (CVS 955)
FossilOrigin-Name: 54b33a5ed9f7a89435c2f1395a3177e8c778bb8a
2003-05-04 17:58:25 +00:00
drh
e9ffc168d8 Additional tests of the new flattener added. Ticket #272. (CVS 949)
FossilOrigin-Name: 8d9ee45ab487614191e8d6aef845141fdddf832a
2003-05-02 16:44:25 +00:00
drh
c31c2eb82c Enhance the query flattener to handle subqueries that are joins.
All regressions pass but new tests need to be added before release.
Ticket #272. (CVS 948)

FossilOrigin-Name: ad57693e9f1b83a8cc4d028264b35018a9a4a701
2003-05-02 16:04:17 +00:00
drh
6a3ea0e6ef VDBE cursors numbers for tables in a join do not have to be consecutive.
This is one step on the road to fixing ticket #272. (CVS 947)

FossilOrigin-Name: be7aed2011b4af868b6a0c370c3d41354ae0cdf4
2003-05-02 14:32:12 +00:00
drh
524a5bf5f6 Fix the sqlite_complete() routine so that it recognizes /*...*/ comments.
Ticket #277. (CVS 937)

FossilOrigin-Name: ef8eb580fc6c40264219c2ae77a9c4f8a5803c8b
2003-04-26 02:31:54 +00:00
drh
85e2096fb6 Report the correct authorization context in the authorization callback
when coding an INSTEAD OF trigger on an update or delete. (CVS 936)

FossilOrigin-Name: 67746833fc8de3afff80db413bd63a362bb28218
2003-04-25 17:52:11 +00:00
drh
2e6d11bc07 Add tests to insure VACUUM works in the presence of I/O errors. Fix some
problems that came to light by these tests. (CVS 935)

FossilOrigin-Name: 8d3e879349fc9523c72cb46111e0058b57ce9341
2003-04-25 15:37:57 +00:00
drh
9c05dc6298 Work around a name collision problem on windows. (CVS 934)
FossilOrigin-Name: c3b1f84dfce13b2523c9923e4270577862ca0595
2003-04-25 13:28:02 +00:00
drh
f7c5753174 Make VACUUM work even if multiple processes have the database open at once. (CVS 933)
FossilOrigin-Name: caa960289f3d1f5e8f35a94e9e4321996c211ed2
2003-04-25 13:22:51 +00:00
drh
45a304ee8c Get VACUUM working again - with test cases. Some other minor cleanups. (CVS 931)
FossilOrigin-Name: 5afb88008fed253e6d1fc0ed5172370b61d3727b
2003-04-25 02:43:08 +00:00
drh
5cf590c128 Fix some issues with INSTEAD OF triggers. (CVS 930)
FossilOrigin-Name: 206b17397b1d2b55179c935927ff1d8215728c32
2003-04-24 01:45:04 +00:00
drh
b5a20d3ceb Remove the begin_hook and commit_hook APIs. They were a bad idea. Add a
"trace" method to the TCL interface. (CVS 929)

FossilOrigin-Name: 6289b863590ecc5de3d1efaaa60aa6f3f64fefb3
2003-04-23 12:25:23 +00:00
drh
e22a334b78 Update the authorizer API so that it reports the database that table and
indices belong to and so that it reports when actions are taken in response
to a trigger. (CVS 928)

FossilOrigin-Name: c675a5504138f34cae6def782b5d3add2c67d2bc
2003-04-22 20:30:37 +00:00
drh
f0f258b11b Add support for TEMPORARY triggers. Such triggers can write temporary or
permanent tables. (CVS 926)

FossilOrigin-Name: 58ddd587b0f5d565ae3b0ba3a1fa5c20d459f3fc
2003-04-21 18:48:45 +00:00
drh
881b890af4 Add more tests for the in-memory database. (CVS 925)
FossilOrigin-Name: 11cab41c4f02cdddc4fd3f57555573ac2814a81b
2003-04-20 23:45:23 +00:00
drh
b2fe7d8cb7 Added tests for the in-memory database backend. Also updated some comments
in other modules. (CVS 924)

FossilOrigin-Name: fb89adf4d1325c5ea471759ebfd8df7faa4f9a80
2003-04-20 17:29:23 +00:00
drh
7bdc0c1def Modify the optimizer so that it does not assume that functions are
constant. (CVS 920)

FossilOrigin-Name: 767f1af236d115e8388e1dcc28a4df1be48d6c85
2003-04-19 17:27:24 +00:00
drh
37ea94b8c9 Bug in WHERE clause processing fixed. Ticket #298. (CVS 919)
FossilOrigin-Name: 9b619c98b586a207a87942640d3a94220ff8ab02
2003-04-19 16:34:04 +00:00
drh
cab20050bb Fix for ticket #297 - bug in sqliteSortCompare(). (CVS 917)
FossilOrigin-Name: 4ded1965eb83dee0f28c27ba935d615c77331571
2003-04-18 17:45:14 +00:00
drh
a69d91681d Fix triggers to work in an ATTACHed database. Ticket #295. (CVS 915)
FossilOrigin-Name: 1e5e00fb73c308378efd034cb291caf338c9fe84
2003-04-17 22:57:53 +00:00
drh
d4d595f94c Make sure the min() and max() optimizations work on empty indexed tables.
Ticket #296. (CVS 914)

FossilOrigin-Name: 98ef6110068e5ed3cd77a14b004f890b79b731f7
2003-04-17 12:44:23 +00:00
drh
027850b676 Fix the authorizer so that it correctly interprets attempts to read the
OLD and NEW pseudo-tables of a trigger. (CVS 911)

FossilOrigin-Name: f04bd43254b3ba3fccc842214115d4c298e28138
2003-04-16 20:24:52 +00:00
drh
bb07e9a34f Simplify the number processing code. Fix for ticket #281. (CVS 910)
FossilOrigin-Name: 4326b52a39cad4632dc2db37aa53a285a31af138
2003-04-16 02:17:35 +00:00
drh
70ce3f0c58 Get triggers working on tables with INTEGER PRIMARY KEYs. Ticket #291.
This may also fix #159.  Still need to add tests so both bugs remain open
for the time being. (CVS 908)

FossilOrigin-Name: 0b996959b8d8bc2c82eab9cccc190befd0056505
2003-04-15 19:22:22 +00:00
drh
49449834fc Do not record the inserted rowid on when doing an INSERT within a trigger.
Ticket #290. (CVS 906)

FossilOrigin-Name: 96a717661a3b7108fe0cacb588d81fd8e91eb640
2003-04-15 14:01:43 +00:00
drh
a73af533de More testing of ATTACH and DETACH. (CVS 899)
FossilOrigin-Name: 51f515f28cb1cc3e8f0c3531724dc8876b25f18e
2003-04-05 16:56:28 +00:00
drh
2d4583473b Begin testing the new ATTACH and DETACH commands. (CVS 898)
FossilOrigin-Name: 7a0f8024a1323a15d0c83afe9302400736f01fe8
2003-04-05 03:42:26 +00:00
drh
0d1a643aea Added experimental APIs: sqlite_begin_hook() and sqlite_commit_hook(). (CVS 896)
FossilOrigin-Name: 5efbf62313519d0a6e8b8f5dbb29d3ef428d73e8
2003-04-03 15:46:04 +00:00
drh
048c530c01 Use a intermediate table when inserting a TEMP table from a SELECT that
reads from that same TEMP table.  Ticket #275. (CVS 895)

FossilOrigin-Name: 087d1e83af12b3a9aedd4945f02774a1043b1eb4
2003-04-03 01:50:44 +00:00
drh
3aa31a16e6 Remove the experimental sqlite_open_aux_file() API. It will soon be replaced
by ATTACH and DETACH SQL commands. (CVS 889)

FossilOrigin-Name: b6d6e07f3a5cb493f2cf0675bc6061c5afe5c078
2003-03-30 19:17:01 +00:00
drh
0be9df076a Fix a memory leak in triggers and update tests to show the latest error
message text. (CVS 886)

FossilOrigin-Name: b90d9de32d10a71fe81f5bfd0cf57faae8c5c3b4
2003-03-30 00:19:49 +00:00
drh
9468c7f489 Do not allow an empty string to be inserted into an INTEGER PRIMARY KEY. (CVS 877)
FossilOrigin-Name: 2aba40bea5fc1c4aef8cfd4c790d40808821ca14
2003-03-07 19:50:07 +00:00
drh
2299706c2a Add more tests to make sure that sqlite_changes() works when using the
non-callback API.  Ticket #250. (CVS 876)

FossilOrigin-Name: 13e501d190e327cc6fc16e182819ea9d7bb9c566
2003-03-01 19:53:15 +00:00
drh
dde85d9e00 Get the non-callback API working with the EXPLAIN keyword and for PRAGMAs.
Tickets #258 and #257.  Update the API documentation on the sqlite_changes()
routine to explain how it works with the non-callback API.  Ticket #250. (CVS 875)

FossilOrigin-Name: 620e1065e978545dd7bf6fa6fad1e6b93918dbf8
2003-03-01 19:45:34 +00:00
drh
e0194f2bbd Fix a memory leak associated with PRIMARY KEY in a CREATE TABLE statement
that fails.  Ticket #249. (CVS 1730)

FossilOrigin-Name: 66158843dfa073ffb8779a5170e091cebc018855
2003-02-26 13:52:51 +00:00
drh
50cceb36b6 When the right table in a LEFT OUTER JOIN contains an INTEGER PRIMARY KEY
make sure that key is NULL if there is no row in the right table that
matches the current row in the left table.  Tickets #246 and #247. (CVS 873)

FossilOrigin-Name: 6a45fe3bd7e19cf9c20fc6cb65b0269cdd704490
2003-02-20 01:48:12 +00:00
drh
e6da3c1816 Fix the parsing of the LIMIT clause when the limit and offset are separated
by a comma.  The offset comes before the limit in that case. Ticket #245. (CVS 872)

FossilOrigin-Name: 6ef91a364b2922f078b7de81816bca3f2ca0fe46
2003-02-20 00:44:52 +00:00
drh
94e9203247 Added test code to check for file descriptor leaks. All regression tests pass
now on both win2k and linux. (CVS 868)

FossilOrigin-Name: 75ba78280f7ab6b6acce5878859312f3223ee898
2003-02-16 22:21:32 +00:00
drh
99ee360003 Fix more bugs. The new rollback journal implementation now passes all
regression tests under Linux. (CVS 867)

FossilOrigin-Name: d10adc1c5727d76320d5919be55e86d030e9c8bc
2003-02-16 19:13:36 +00:00
drh
4303feedd3 Fix the pager so that correct rollbacks occur when synchronous is turned off.
This check-in also included unrelated documentation updates. (CVS 866)

FossilOrigin-Name: 3ef0ad8a4f2696a58aff9d812f90038c2c63f3fc
2003-02-15 23:09:17 +00:00
drh
973b6e333d Added the new FULL option to the SYNCHRONOUS pragma. Still need to test it. (CVS 863)
FossilOrigin-Name: 792a9e157dd066fcaffd4f5b373010151fb4ca61
2003-02-12 14:09:42 +00:00
drh
968af52acf Modify the journal format to be more robust against garbage that might appear
in the file after a power failure.  The changes are mostly working but more
testing is still required.  This check-in is to checkpoint the changes so far. (CVS 861)

FossilOrigin-Name: 8ec5632536eea31197a3b1fd6abc57881a0cf1d7
2003-02-11 14:55:40 +00:00