drh
1288c9561d
Multiplying NULL by zero gives NULL, not zero. I misread the test data
...
and coded it wrong. This check-in fixes the problem. (CVS 601)
FossilOrigin-Name: df9cc852ad02dbec5558d3915a0303f7e7b79b2b
2002-06-01 21:41:10 +00:00
drh
f570f011eb
Refinements to NULL processing: NULLs are indistinct for DISTINCT and UNION.
...
Multiplying a NULL by zero yields zero. In a CASE expression, a NULL comparison
is considered false, not NULL. With these changes, NULLs in SQLite now work
the same as in PostgreSQL and in Oracle. (CVS 600)
FossilOrigin-Name: da61aa1d238539dff9c43fd9f464d311e28d669f
2002-05-31 15:51:25 +00:00
drh
0f89253e21
Once it is opened, leave the checkpoint journal file open for the
...
duration of a transaction, rather than closing it and reopening it
for each statement. (Ticket #53 ) (CVS 599)
FossilOrigin-Name: 7a24336d50e72006b2cc0e4feb292b946e79d5f3
2002-05-30 12:27:03 +00:00
drh
461c281a2e
Bug fix: bad code was generated for when the first operand of a CASE
...
was NULL. (CVS 598)
FossilOrigin-Name: 4debc8db929fdc201759ba211acdeadc4e30e8af
2002-05-30 02:35:11 +00:00
drh
739105c72c
Built-in aggregate functions (MIN, SUM, AVG, etc) should ignore NULL entires. (CVS 597)
...
FossilOrigin-Name: 19ae12bef210ae5fe171f10833faa38d640c129f
2002-05-29 23:22:23 +00:00
danielk1977
993b173e55
Update trigger2.test to match checkin 591. Also fix ticket #51 (by documenting problem) (CVS 595)
...
FossilOrigin-Name: 5e74d0964b8fd99eda798e3737217aa499cc1726
2002-05-28 06:55:27 +00:00
drh
c754fa5486
Fix the "alias.*" bug found by Bernie Cosell and reported on the newsgroup. (CVS 593)
...
FossilOrigin-Name: f562d542304c0c1b18b0cee78b1ecc353327a02e
2002-05-27 03:25:51 +00:00
drh
bb113518f9
Bug fixes and additional test cases for the distinct-NULL patch. (CVS 592)
...
FossilOrigin-Name: 0e268d0c0faa02c3f95e1567cf631b7a04bfbdf0
2002-05-27 01:04:51 +00:00
danielk1977
d702fccbce
Require the INSTEAD OF syntax to create triggers on database views. (CVS 591)
...
FossilOrigin-Name: d9e48cd5180e2aae7672b9d54e18c37d0fe5258a
2002-05-26 23:24:40 +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
195e6967fb
Additional testing of LEFT OUTER JOIN. (CVS 588)
...
FossilOrigin-Name: d8d04c14f18d1feba89ccea0be70530a18248c51
2002-05-25 00:18:20 +00:00
drh
ad2d8307ac
Initial implementation of LEFT OUTER JOIN including the expanded SQL92 join
...
syntax. The basic functionality is there but there is still a lot of testing
to do. (CVS 587)
FossilOrigin-Name: 99bd1f5b9a1a20bfeefe15c00d96a34a5f40923e
2002-05-24 20:31:36 +00:00
drh
01f3f25376
Add support for the full SQL join syntax. This is just a parser enhancement.
...
We now recognize all kinds of joins, but we don't actually do anything with
them yet. (CVS 586)
FossilOrigin-Name: e238643efdbe1394c7ff85e34e486f7c6082b6cc
2002-05-24 16:14:15 +00:00
drh
2e392e2c53
Added tests for multi-column primary keys. (CVS 585)
...
FossilOrigin-Name: ffc49e56b13096b35e6cbb1a2f7d546843d4a91d
2002-05-24 02:14:50 +00:00
drh
07d6e3a74c
Partial fix for ticket #49 . The correct result is computed, but now we have
...
a memory leak. I'm not sure if the memory leak was pre-existing or a result
of this change. (CVS 581)
FossilOrigin-Name: 4d27ee411902a197cd72416ca9da9197d3f87f13
2002-05-23 12:50:18 +00:00
drh
e4697f5e90
Fix some places where a malloc() failure would lead to a segfault. (CVS 580)
...
FossilOrigin-Name: 01ad352c3c82a86d9c94010cbc85d098b8fbc08a
2002-05-23 02:09:03 +00:00
drh
1873cd508a
Do not allow triggers on the SQLITE_MASTER table. (CVS 579)
...
FossilOrigin-Name: 275ba356f351abcf9a079ac16b765c9443750f0e
2002-05-23 00:30:31 +00:00
drh
97fc3d060a
Fix for ticket #46 : Report an error if a CREATE TABLE contains two or more
...
columns with the same name. (CVS 578)
FossilOrigin-Name: ba1953abd04671232cf9e93ab3f962fedbbdc508
2002-05-22 21:27:03 +00:00
drh
2398937b7f
Double-quoted strings resolve to column names if possible. Single-quoted
...
strings continue to be interpreted as string literals. (CVS 576)
FossilOrigin-Name: 55e7d65496624c8e48673d8747f3123786bfedbc
2002-05-21 13:43:04 +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
drh
ce9079c8f2
Fix for ticket #41 : Better handling of CREATE TRIGGER in the sqlite_complete()
...
function. (CVS 567)
FossilOrigin-Name: f45c4b767a6b1451787836060235ff7499dea0de
2002-05-15 14:17:44 +00:00
danielk1977
c3f9bad209
Added FOR EACH ROW triggers functionality (CVS 562)
...
FossilOrigin-Name: 794bf67b6b36fce8854d5daff12f21dbb943240c
2002-05-15 08:30:12 +00:00
drh
4d908a3b43
Update the misuse.test script so that it will work under Windows. Changes
...
to the speed testing script to support version 2.4.12. (CVS 560)
FossilOrigin-Name: 232b7ef2c8207eb6d2564a641446267d3dec97af
2002-05-10 14:37:30 +00:00
drh
c22bd47d55
Improvements to the SQLITE_MISUSE detection logic. Also added test cases
...
for this logic, including the new test file "misuse.test". (CVS 559)
FossilOrigin-Name: f42907ce457e012592f8c043dc6c915e87258b35
2002-05-10 13:14:07 +00:00
drh
d5feede1ff
Fix for ticket #35 : Ignore any ORDER BY clause on a subquery in a FROM clause. (CVS 557)
...
FossilOrigin-Name: 1b0ee944c9af10078aba628e85d79f8682afa2b6
2002-05-08 21:46:14 +00:00
drh
0f18b450ad
Fix for ticket #34 : VIEWs ignore their ORDER BY clause. (CVS 556)
...
FossilOrigin-Name: 5f22d21571acedbd6348b61445a7c408cde8d229
2002-05-08 21:30:15 +00:00
drh
0bb28106be
Fix for tickets #32 and #33 : Generate the names of the result set early, before
...
doing the flattening optimization or evaluating subqueries. Otherwise, the
result set column names are generated incorrectly or after they are needed. (CVS 553)
FossilOrigin-Name: 08f27cb36805d38648274b6fe91dec43a5910057
2002-05-08 11:54:14 +00:00
drh
08192d5f76
Fix for ticket #31 : Do not attempt the flattening optimization if the
...
subselect does not contain a FROM clause. Handle the special case where
a WHERE clause is constant. (CVS 548)
FossilOrigin-Name: 24e4cf73d22bb41d26bf3c833f1854a9c90923e8
2002-04-30 19:20:28 +00:00
drh
41202ccae2
Fix for ticket #22 : In the code generator for compound SELECT statements, take
...
care not to generate column name headers if the output is an intermediate table.
Otherwise the column headers are not generated correctly if a compound SELECT
statement appears as an expression in part of the WHERE clause. (CVS 543)
FossilOrigin-Name: a06d9acdd5af0dc69b3a4d024de082631254aead
2002-04-23 17:10:18 +00:00
drh
adbe353fc6
Add tests to prevent a recurrance of bug #16 . Also: put a hyperlink to the new
...
ticket screen on the main page of the website. (CVS 527)
FossilOrigin-Name: cdab6dad323dd1e95ec8b7684a7c4b06c75905e0
2002-04-12 13:11:52 +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
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
6ed41ad735
Added the last_insert_rowid() SQL function. (CVS 521)
...
FossilOrigin-Name: 6aca3f86bc08849e9d806fdd490f98e4daf71025
2002-04-06 14:10:47 +00:00
drh
bf3a4fa4cb
Make the FROM clause on a SELECT optional. If omitted, the result of
...
the SELECT is a single row consisting of the values in the expression list. (CVS 520)
FossilOrigin-Name: 28ce42f7872e2660faa22e66b508db9b1f046af0
2002-04-06 13:57:42 +00:00
drh
5447322939
Fix for bug #2 : Add support for TABLE.* in SELECT statements. (CVS 518)
...
FossilOrigin-Name: c2320eabfe44d6eb05c02b76547e5bd48a29943c
2002-04-04 02:10:55 +00:00
drh
3f6b548961
Fix for bug #8 : Correctly handle terms of a WHERE clause in a join where the
...
term does not use a comparison operator. (CVS 515)
FossilOrigin-Name: abb12259a09418eb6e3cf573ea718ac58c91ac7b
2002-04-02 13:26:10 +00:00
drh
dd579122da
Fix for bug #6 : Correctly handle functions in the WHERE clause of a join. (CVS 513)
...
FossilOrigin-Name: bdd8ce584e16fe288a7e8386f897cb36a60e8431
2002-04-02 01:58:57 +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
f18543ca39
Fix for bug #3 : Allow VIEW as a column name. Also allow COPY. (CVS 507)
...
FossilOrigin-Name: d2bdc0feeb3a3595850f40ab211df7a3963d6c30
2002-03-30 15:26:50 +00:00
drh
17a7f8ddab
Added support for CASE expressions - patches from Dan Kennedy. (CVS 437)
...
FossilOrigin-Name: 836b59d057c3fb4087b138c9bfbc03392ddfb89d
2002-03-24 13:13:27 +00:00
drh
f1a7a13928
The sqlite_get_table() function now returns an error if you pass in two
...
or more SELECT statements that return different numbers of columns. (CVS 436)
FossilOrigin-Name: e2558c34034cf49524084ec819df58934a8af983
2002-03-23 00:52:01 +00:00
drh
1cc3d75f69
Fix a bug in subquery generation when the subquery is a compound select.
...
Also added new tests to cover this case. (CVS 435)
FossilOrigin-Name: aaf7fd4cef04d3d70a0444aad1b606bfc663c3e8
2002-03-23 00:31:29 +00:00
drh
094b2bbfc7
Fix bug in anonymous subquery in a join. Parser requires a semicolon or
...
end-of-input before executing. (CVS 429)
FossilOrigin-Name: c0e3f1c592f583a0659901743a368aff1927f1cb
2002-03-13 18:54:07 +00:00
drh
28b4e4890b
Preparing for the 2.4.0 release. (CVS 426)
...
FossilOrigin-Name: 9f5b241cb2fc89f66d3762b4b4978b8e114caf53
2002-03-11 02:06:13 +00:00
drh
cd61c2816f
Added the default_cache_size and default_synchronous pragmas. Added additional
...
tests for pragmas. Added a new speedtest script. (CVS 421)
FossilOrigin-Name: 161c0c5f5db66815e4345c9b5f7a600c03a67475
2002-03-06 22:01:34 +00:00
drh
4ff6dfa7de
More bugs fixed for views. (CVS 416)
...
FossilOrigin-Name: 813077623087ffc6cd506f57cf6d1e3d9239f806
2002-03-03 23:06:00 +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
75148a27b4
Fix a memory leak in expression processing. (CVS 414)
...
FossilOrigin-Name: dfe431c9b70bc3a1bf5148826edce0846737e66b
2002-03-03 03:42:31 +00:00