drh
cd44690ad0
Refactor parts of write operations. (CVS 1268)
...
FossilOrigin-Name: 5b0147aece7785373e6f7439c32e5f58c6b12562
2004-02-24 01:05:31 +00:00
drh
701a0aebe2
Use sqliteVdbeOp3 instead of sqliteVdbeChangeP3 where applicable. (CVS 1266)
...
FossilOrigin-Name: 51f1e8f7539596b33bc3365ec8f34041602d049c
2004-02-22 20:05:00 +00:00
rdc
b0c374ffbb
Fixed behaviour of last_insert_rowid() with triggers and add last_statement_change_count() function that works correctly with triggers. (CVS 1251)
...
FossilOrigin-Name: 3383413a53bff0fef0765144de3bb9a298a5bb5c
2004-02-20 22:53:38 +00:00
drh
d6502758b4
Remove the NullCallback opcode. Handle the empty_result_set pragma inside
...
the sqlite_exec() function. (CVS 1244)
FossilOrigin-Name: f72134852bf33d13fd2bc6f35251e4b33bc10fac
2004-02-16 03:44:01 +00:00
drh
41743984bf
Always use "(char*)0" to terminate the argument list of sqliteSetString().
...
This is needed for 64-bit systems that use a 32-bit integer by default. (CVS 1126)
FossilOrigin-Name: 656c90387a4a714b4f31040ece9b0e15e30934af
2003-12-06 21:43:55 +00:00
drh
37ed48ed2f
Provide a more informative error message when a uniqueness constraint
...
fails. Ticket #419 . (CVS 1068)
FossilOrigin-Name: 086aa1c9922b7bf399b3ee8b73ba7353d126b119
2003-08-05 13:13:38 +00:00
drh
7d02cb73ca
Fix a bug in UPDATE OR REPLACE that was introduced by check-in (999).
...
Also clean up some compiler warnings for VC++. (CVS 1005)
FossilOrigin-Name: af6f2bdf59fb621ff3e1d061e429f01ebd7d0b42
2003-06-04 16:24:39 +00:00
drh
5383ae5c12
Avoid corrupting indices when doing a REPLACE on a table with an
...
INTEGER PRIMARY KEY that also has another index. Ticket #334 . (CVS 999)
FossilOrigin-Name: e813faae0e4086571d13c769f793add7f1f979af
2003-06-04 12:23:30 +00:00
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
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
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
5cf590c128
Fix some issues with INSTEAD OF triggers. (CVS 930)
...
FossilOrigin-Name: 206b17397b1d2b55179c935927ff1d8215728c32
2003-04-24 01:45:04 +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
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
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
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
da93d238c2
Add the sqliteErrorMsg() function and use it to generate error message
...
text during parsing and code generation. This simplifies the code
somewhat and makes it easier to handle names with a database prefix. (CVS 891)
FossilOrigin-Name: 1d3fc977211abdc7ba3fd51d661863e8ce5aef69
2003-03-31 02:12:46 +00:00
drh
812d7a21dd
Regression tests now work - except for some changes in error message
...
text. The library is now safe to use for experimental work. (CVS 885)
FossilOrigin-Name: 8a593e9c2d57e758739a7ef54fa40ca6a0071a9a
2003-03-27 13:50:00 +00:00
drh
d24cc427b7
Changes to the "sqlite" structure that allow simultaneous operations on
...
multiple database files. Many regession tests pass - but not all of them.
Do not use this version except for debugging SQLite itself. (CVS 883)
FossilOrigin-Name: d2fb2bb50cf1e13feb90995079f291384abd6ba9
2003-03-27 12:51:24 +00:00
drh
113088ec68
Record the database name in addition to the table name for DELETE, INSERT,
...
and UPDATE statements. (CVS 879)
FossilOrigin-Name: a5d8fc95ee58dc3205a0bbbcadaa3b9c902a941b
2003-03-20 01:16:58 +00:00
drh
001bbcbb8f
Modifications to the VDBE to support more than one database file. (CVS 878)
...
FossilOrigin-Name: 875da9eed981bfa27b98e95025f9fdbed74b4098
2003-03-19 03:14:00 +00:00
drh
483750ba8a
Better error messages on constraint violations. Additional tests and bug fixes
...
for the callback-free API. (CVS 854)
FossilOrigin-Name: ccc82f1ab4539a60ee5cc2625743c5389f9ccd8e
2003-01-29 18:46:51 +00:00
drh
e5f9c6442f
Revise the sqlite_set_authorizer API to provide more detailed information
...
about the SQL statement being authorized. Only partially tested so far. (CVS 830)
FossilOrigin-Name: 45de93f913a18026a45de6254963dbcd1b0f1a19
2003-01-13 23:27:31 +00:00
drh
1962bda764
The initial round of tests for the sqlite_set_authorizer() API. More are
...
needed before release. Ticket #215 . (CVS 829)
FossilOrigin-Name: 5707b3d56efb6e988f816abefb1836f2f3254117
2003-01-12 19:33:52 +00:00
drh
ed6c8671b3
Initial check-in of the code for the new sqlite_set_authorizer() API function.
...
The code is mostly untested at this point. (CVS 827)
FossilOrigin-Name: 52d5007f64d0af5286b2a0e1f0b9e53c86bece3f
2003-01-12 18:02:16 +00:00
drh
836faa4843
Remove the ColumnCount opcode, which had become a no-op. (CVS 821)
...
FossilOrigin-Name: 86deb12d68026913d181f9498144fa56445899f2
2003-01-11 13:30:57 +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
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
f573c99ba7
Fix for ticket #104 : Make triggers on views work properly even after closing
...
and reopening the database. Also fixed an unrelated bug in the version
2.6.0 database format upgrade logic. The upgrade logic bug was found while
testing the trigger fixes. (CVS 697)
FossilOrigin-Name: 04973fc2a6a0c93877de7e564618e0e9fcffc06c
2002-07-31 00:32:50 +00:00
drh
491791a827
Fix for ticket #107 : Fix a design defect in indices that was causing queries
...
to fail when using an index on a column containing an empty string. This
fix is an incompatible file-format change. (CVS 681)
FossilOrigin-Name: 20d152fcddb4fa53556a9c93c7a869600a7c5183
2002-07-18 00:34:09 +00:00
drh
38640e15af
All the code is now in place for SQLite to distinguish between NUMERIC and
...
TEXT datatypes. Still need to turn on the new code and test it. (CVS 659)
FossilOrigin-Name: b4737a16c997a6c139d616211fb6bc4b0fae181c
2002-07-05 21:42:36 +00:00
drh
27a32783ab
Fix for ticket #75 : Autoincrement INTEGER PRIMARY KEY fields on an INSERT
...
even if the data is coming from a SELECT statement. (CVS 630)
FossilOrigin-Name: d599f75b659809a6e5eee09b0e9e6e90bde5af1e
2002-06-19 20:32:43 +00:00
danielk1977
6f34903e85
Add RAISE() function, which allows more advanced flow-control in trigger programs (ticket #55 ) (CVS 614)
...
FossilOrigin-Name: d4a2fb10067203a0d49317db747759872e62927e
2002-06-11 02:25:40 +00:00
drh
0bd1f4ea5a
Added the %fallback directive to the lemon parser generator and used this
...
in the parser to make the parse tables much smaller. This reduced the size
of the library by 15K. (CVS 605)
FossilOrigin-Name: 7ac5bd293cbb2bf252f31f1571f7efac7e77280a
2002-06-06 18:54:39 +00:00
drh
f5905aa7be
NULL values are distinct. A comparison involving a NULL is always false.
...
Operations on a NULL value yield a NULL result. This change makes SQLite
operate more like the SQL spec, but it may break existing applications that
assumed the old behavior. All the old tests pass but we still need to add
new tests to better verify the new behavior. Fix for ticket #44 . (CVS 589)
FossilOrigin-Name: 9051173742f1b0e15a809d12a0c9c98fd2c4614d
2002-05-26 20:54:33 +00:00
drh
ad3cab52fe
Split the IdList structure into IdList and SrcList. SrcList is used to
...
represent a FROM clause and IdList is used for everything else. This change
allows SrcList to grow to support outer joins without burdening the other
uses of IdList. (CVS 584)
FossilOrigin-Name: a167b71d8c27e870bc3079c6132e483bffc83298
2002-05-24 02:04:32 +00:00
drh
79b0c95687
Fix for ticket #45 : Allow an UPDATE statement to change the INTEGER PRIMARY KEY
...
to itself without triggering a constraint error. (CVS 573)
FossilOrigin-Name: 592da1346872e1373bd13525d05d0f33c1056709
2002-05-21 12:56:43 +00:00
drh
c977f7f596
Additional code cleanup resulting from a review of the new trigger code. (CVS 572)
...
FossilOrigin-Name: 37dbdd551e88440933066133ec9cc1e10b03fc1a
2002-05-21 11:38:11 +00:00
danielk1977
f29ce55958
Style fixes to triggers code in various *.c files (partial fix to ticket #39 ) (CVS 571)
...
FossilOrigin-Name: 8a4195c7466962291a296e8f53034ea8cb25005f
2002-05-19 23:43:12 +00:00
drh
9adf9ac4e4
Remove all tabs from the beginning of source code lines. Replace tabs with
...
the appropriate number of spaces. (CVS 565)
FossilOrigin-Name: 690f9a163173c4c7af7e8e92e942cee4184c7974
2002-05-15 11:44:13 +00:00
danielk1977
c3f9bad209
Added FOR EACH ROW triggers functionality (CVS 562)
...
FossilOrigin-Name: 794bf67b6b36fce8854d5daff12f21dbb943240c
2002-05-15 08:30:12 +00:00
drh
c8d30ac109
Fix for bug #15 : Add the sqlite_changes() API function for retrieving the
...
number of rows that changed in the previous operation. (CVS 526)
FossilOrigin-Name: 6e71493b9dc77d508c3ce90562766789e87e6d80
2002-04-12 10:08:59 +00:00
drh
b04a5d8768
Fix for bug #16 : Check for invalid functions in the VALUES clause of an
...
INSERT statement. (CVS 525)
FossilOrigin-Name: 43a77f019d34e1a6b3f502ad0ec31a00c8fdbe6e
2002-04-12 03:55:15 +00:00
drh
feeb1394ee
Fix for bug #11 : Output the correct row count when and INSERT does an
...
IGNORE action. (CVS 524)
FossilOrigin-Name: bb83642e9a6c1c9ade861618496933c9f922a8f8
2002-04-09 03:28:01 +00:00
drh
fe1a1773a8
Fix for bug #10 : Pop the stack by the right amount on an IGNORE so that the
...
stack does not grow without bound. (CVS 523)
FossilOrigin-Name: f46acfc3b828620e4e97b09f9aff119b9313e5d7
2002-04-09 03:15:06 +00:00
drh
e1e68f4974
When an attempt is made to insert an explicit NULL into an INTEGER
...
PRIMARY KEY column, automatically convert the NULL value into a unique
integer key. This was already happening when an implied NULL was
inserted - when the INTEGER PRIMARY KEY column was omitted from the
list of columns being inserted. Patches from Christian Werner. (CVS 510)
FossilOrigin-Name: 9e3cf4aa2cb44932015b8bd3fd800d7678cb09b6
2002-03-31 18:29:03 +00:00
drh
417be79cd1
VIEWs are bound to tables when they are used, not when they are first
...
entered. This works around the problem of what to do if a table is deleted
that a view refers to. (CVS 415)
FossilOrigin-Name: 6121e5ab9328c90c64d40ade3de73ad11d4aaf4e
2002-03-03 18:59:40 +00:00
drh
832508b7ea
Subquery flattening is implemented and passes all regression tests.
...
We still need to add addition tests to the suite to further exercise
the flattener, however. (CVS 408)
FossilOrigin-Name: d5d3e79cc58da5bd315cc1fea1f7cbf46274da16
2002-03-02 17:04:07 +00:00
drh
a76b5dfca6
Code to implement CREATE VIEW is in place. A quick smoke test shows that
...
it works, but there are probably still many bugs. (CVS 387)
FossilOrigin-Name: 39fed2df11382b9855d518502a6c2ca200fa66b8
2002-02-23 02:32:10 +00:00