Commit Graph

43 Commits

Author SHA1 Message Date
drh
6116ee4eee Compute the correct column name even if the column identifier is the
very last token in the SQL statement.  This fixes a problem introduced
by check-in [0fdf97efe5df745510c6b] and reported by the community during
beta-testing.

FossilOrigin-Name: 36b89d728ff13d395fe0e1db8e7c01263f73dccb278b3ece27f6ef78e909b492
2018-01-10 00:40:06 +00:00
drh
9b2e0435d2 Add and use the internal sqlite3DbSpanDup() interface.
FossilOrigin-Name: a8e1545cb7aacb6a26a8c92a3ad4a3d584d150c3a00d2828c8adbb1ee19fcb6d
2017-12-27 19:43:22 +00:00
drh
f9c8ce3ced Standardize the error messages generated by constraint failures to a format
of "$TYPE constraint failed: $DETAIL".  This involves many changes to the
expected output of test cases.

FossilOrigin-Name: 54b221929744b1bcdbcc2030fef2e510618afd41
2013-11-05 13:33:55 +00:00
drh
433dccfb52 Rename SQLITE_CONSTRAINT_RAISE to SQLITE_CONSTRAINT_TRIGGER. Put the
extended constraint error codes in alphabetical order.  Add many test cases
for the extended constraint error codes.

FossilOrigin-Name: 3f67437536591a1b0742a25b983707933aaa16d5
2013-02-09 15:37:11 +00:00
drh
602acb4871 Add the SQLITE_OMIT_AUTORESET compile-time option which if enabled causes
the sqlite3_step() routine to return SQLITE_MISUSE if it is called after
it has previously returned anything other than SQLITE_ROW, SQLITE_BUSY, or
SQLITE_LOCKED.

FossilOrigin-Name: 053ce76deb356d31358454507ba94947142e20ca
2011-01-17 17:42:37 +00:00
drh
3674bfd1b6 Change sqlite3_step() so that it automatically calls sqlite3_reset() instead
of returning SQLITE_MISUSE when invoked on a prepared statement that
previously returned any value other than SQLITE_ROW.

FossilOrigin-Name: 3e646e3f4cd0ca288e444561e951cecfdaee2ab5
2010-04-17 12:53:19 +00:00
drh
04bbcd5ce9 Fix a bug in the multi-index OR cost estimator. Remove leftover "breakpoint"
commands from test scripts. (CVS 6086)

FossilOrigin-Name: b090d5736d7eaec17a39d3133e1587b1d2a42acb
2008-12-30 17:55:00 +00:00
drh
588a9a1a1c Defer deleting Table objects associated with flattened subqueries until
all code has been generated, in case some expression node still references
the Table object.  Ticket #3346. (CVS 5650)

FossilOrigin-Name: d04d70336727a0db959c672e6c22cdaa0505dce5
2008-09-01 15:52:10 +00:00
drh
93aed5a177 Get all tests running without memory leaks. (CVS 4714)
FossilOrigin-Name: 5807921f5a6e2e08f2c9e79aa91d8c587d64de74
2008-01-16 17:46:38 +00:00
drh
86f8c197dd Reenable the memory management logic. The quick.test script now runs with
SQLITE_MEMDEBUG and SQLITE_ENABLE_MEMORY_MANAGEMENT. 7 minor errors. (CVS 4265)

FossilOrigin-Name: 1914044b8832041f13b20ead613bd13725425d7a
2007-08-22 00:39:19 +00:00
drh
dddb2f23e2 Clean up memory leaks and uninitialized variables detected by valgrind.
Identify all tests where we deliberately derefence freed memory by adding
a "-misuse" tag. (CVS 3550)

FossilOrigin-Name: 70a862702d6dfcfe73bdeef8f0502c6c50e32a3a
2007-01-03 23:37:28 +00:00
drh
980b1a7405 Allows UPDATE, INSERT, and DELETEs to occur while a SELECT is pending on
the same table. (CVS 3355)

FossilOrigin-Name: 8c52d2ad468615e50a727adab2977a0bef1bc068
2006-08-16 16:42:48 +00:00
danielk1977
12f5e2018d Minor test file modifications for builds compiled with OMIT options. (CVS 3077)
FossilOrigin-Name: c468aa349db4e6571711bf94781b88aa3c811d03
2006-02-10 13:33:30 +00:00
danielk1977
1787ccabed Fix the origin APIs so that they correctly handle views and subqueries that cannot be flattened. (CVS 3072)
FossilOrigin-Name: 5e8611e13de08d704cea6c9c4466c3af842a7a1a
2006-02-10 07:07:14 +00:00
danielk1977
4b1ae99d01 Add a symbol P3_TRANSIENT to pass to VdbeSetColName() to make it copy the string parameter up to the first 0 byte. (CVS 3070)
FossilOrigin-Name: 6ebb8f9bb2f6a3f7fde19267727aa4e2d878a416
2006-02-10 03:06:10 +00:00
danielk1977
955de52c9c Add the column_origin_name() etc. APIs. (CVS 3069)
FossilOrigin-Name: 82f502cdc1fead3bf7e3190d5c9db3aee6919ed4
2006-02-10 02:27:42 +00:00
drh
dddca28608 The sqlite TCL command no longer returns the hex address of the sqlite3*
structure.  Instead there is a new command in testfixture to find that
information. (CVS 2852)

FossilOrigin-Name: 70b228575e045bc56013aab945334203ceb31d8b
2006-01-03 00:33:50 +00:00
danielk1977
53c0f7480b Add the SQLITE_OMIT_TEMPDB compile time macro. (CVS 2427)
FossilOrigin-Name: c41d55443c2dd532147962b87f542fb7d37075fd
2005-03-29 03:10:59 +00:00
danielk1977
6a67fe8edf Remove code for SQL cursors. (CVS 2312)
FossilOrigin-Name: 2eb90870556c90b8d85da3d5eb7554f74ec922c2
2005-02-04 04:07:16 +00:00
drh
fe2093d73e Bug fixes and enhancements entered while on jury recess. (CVS 2246)
FossilOrigin-Name: 38401dfbd5e3b50dd4e7a11562a7770347cebdf4
2005-01-20 22:48:47 +00:00
danielk1977
4397de57ce Tests to improve coverage of main.c. (CVS 2202)
FossilOrigin-Name: 4e28c82adabb58ad9f79ed829734a2ff569a7c05
2005-01-12 12:44:03 +00:00
danielk1977
12b13002ce Back out changes allowing writes to tables that have open cursors. (CVS 2134)
FossilOrigin-Name: af635cab8a1d761c469e35208dda08a29f0964a1
2004-11-22 10:02:21 +00:00
danielk1977
ed326d7047 Perform deletes in a single pass. (CVS 2104)
FossilOrigin-Name: a2e1c35b327e33684ab19e5f65727c42c7b2949c
2004-11-16 15:50:19 +00:00
drh
6bf895708c Update tests to work even if some features of the library are disabled. (CVS 2050)
FossilOrigin-Name: b11fc9b3f3a2711f98e7e45724aa1d30081197f3
2004-11-03 16:27:01 +00:00
drh
92f02c31d4 Transactions commit on the last sqlite3_step(), not on sqlite3_finalize().
This allows the sqlite3_step() to return SQLITE_BUSY if the commit is
blocked by a lock.  Ticket #885. (CVS 1928)

FossilOrigin-Name: d1b29156558f1c576002cdb2544dffaa693da39b
2004-09-02 14:57:08 +00:00
danielk1977
46c43edd39 Add some tests for overlapping SELECT, COMMIT and ROLLBACK commands. (CVS 1774)
FossilOrigin-Name: d256c14943968e7adf4b73988cac6af941c9b12d
2004-06-30 06:30:25 +00:00
danielk1977
e35ee196dc Minor fixes related to the tests in misuse.test (CVS 1738)
FossilOrigin-Name: 0af3ff39422e02afdfdaf2005ab5eb01b496dc72
2004-06-26 09:50:11 +00:00
danielk1977
00e279d9f7 Update sqlite3_column_decltype() to return NULL as the declartion type for
an expression that is not a column reference. (CVS 1646)

FossilOrigin-Name: ee9dffd986621490af7bd45c7fe070bb7da8c357
2004-06-21 07:36:32 +00:00
danielk1977
b28af71a22 Update sqlite3_changes() to match the documentation and add
sqlite3_total_changes(). (CVS 1645)

FossilOrigin-Name: ae2f4a0943854fedbbb6fab1dc3aaf972722ed95
2004-06-21 06:50:26 +00:00
drh
ef4ac8f9df Change the name of the TCL command from "sqlite" to "sqlite3" so that both
SQLite version 2 and SQLite version 3 can be used by Tcl at the same time. (CVS 1626)

FossilOrigin-Name: d705d051bed2b92b6c3bbcc75fe5b056633b9c31
2004-06-19 00:16:31 +00:00
danielk1977
fbcd585fe6 (1) Vdbe makes a copy of column types. (2) Don't invalidate other cursors
when a statement or transaction is rolled back. (3) Update capi2.test for
the new API. (CVS 1597)

FossilOrigin-Name: 4f5e2530829ef91753b083b5f2a1d7332e311cb6
2004-06-15 02:44:18 +00:00
danielk1977
106bb236a8 Further work on the new API. All the functions to execute queries are there
now. (CVS 1427)

FossilOrigin-Name: fc94575d77f9865e1553bb70c2e3eda2a0b8669e
2004-05-21 10:08:53 +00:00
danielk1977
4ad1713c5e Add new sqlite3_open() and sqlite3_open16() APIs. (CVS 1423)
FossilOrigin-Name: 307b55006c401f10ec5fa5b12cc7d5ba860f9a46
2004-05-21 01:47:26 +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
073e5a7751 Allow the output arguments in sqlite_compile and sqlite_step to be NULL
pointers.  Tickets #384 and #385. (CVS 1049)

FossilOrigin-Name: dd84f88f6c4012e4a093a4881f6fe50527bb2006
2003-07-09 00:28:13 +00:00
drh
937dd84de8 Fix a bug in the soundex() code. Ticket #367. Add tests for ticket #261
even thought the problem could not be reproduced. (CVS 1035)

FossilOrigin-Name: e2ca936feee35b3fce99c95c2cf8c0ad05cd9c3b
2003-06-28 16:20:22 +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
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
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
3a84069da3 Additional testing and bug fixing with the non-callback API. Updated the
C/C++ interface document to describe the non-callback API. (CVS 855)

FossilOrigin-Name: af1e9299468aa70d7d91e7a5445ba391ccc8ff8b
2003-01-29 22:58:26 +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
326dce7451 The callback-free API is now working, though much more testing is need. (CVS 853)
FossilOrigin-Name: 162b259188e6967fe9c3722da26b81aab5655d83
2003-01-29 14:06:07 +00:00