Commit Graph

4746 Commits

Author SHA1 Message Date
dan
f6296cafc5 Add a missing call to "test_sqlite3_log" to multiplex.test.
FossilOrigin-Name: 0708f9df23a325349f658741358c5994b5c4c873
2014-07-31 18:14:37 +00:00
dan
e8559837e6 Fix a leaked statement handle in pager2.test.
FossilOrigin-Name: 47457b0488abcbec2137abf706c1d677563b9ea5
2014-07-31 17:35:40 +00:00
drh
a1a8298c2e Add the "eForce" parameter to the sqlite3_multiplex_shutdown() entry point
in test_multiplex.c.  Shutdown is forced if true.  Shutdown is not done if
there are pending database connections and eForce is false, but an error log
entry is made instead.

FossilOrigin-Name: c7303d0139f7e7f4fa7060b52942e6c6c6d4b622
2014-07-30 15:43:05 +00:00
drh
ac50232d0f Ensure that the correct number of columns in a UNIQUE index are checked for
uniqueness, regardless of whether or not the original table has a ROWID or
if the columns are NOT NULL, etc.  Ticket [9a6daf340df99ba93c].

FossilOrigin-Name: 6b785e92f279cb65746834d5cd25594fd3333342
2014-07-30 13:56:48 +00:00
drh
c4747f2314 Add support for hexadecimal integer literals in the parser.
FossilOrigin-Name: f8f79f28785db716b10c3bc9d6652b98253fd125
2014-07-24 12:19:41 +00:00
drh
6976c2123b In the command-line shell, in CSV output mode, terminate rows with CRNL but
do not expand NL characters in data into CRNL.  Provide the extra -newline
command-line option and the extra argument to .separator to designate an
alternative newline character sequence for CSV output.

FossilOrigin-Name: 16c8ce10e1530731441e6c4538691b71564684ed
2014-07-24 12:09:47 +00:00
mistachkin
3b9fab1cb9 Enhancements to the hex literal tests.
FossilOrigin-Name: a3cc027fa7ca41da23ecd0770a075a48416af020
2014-07-23 19:04:25 +00:00
drh
9296c18a50 Change the hex literal processing so that only the SQL parser understands
hex literals.  Casting and coercing string literals into numeric values does
not understand hexadecimal integers.  This preserves backwards compatibility.
Also:  Throw an error on any hex literal that is too big to fit into 64 bits.

FossilOrigin-Name: 6c6f0de59bf96b79c8ace8c9bfe48c7a6a306a50
2014-07-23 13:40:49 +00:00
drh
5ec659cfcb Casting hex literals directly from string to float always results in a
positive number.

FossilOrigin-Name: 4b86ccdf4f4eb4339a5706e10ad24f01b6c3939e
2014-07-23 02:07:11 +00:00
drh
d35588dc21 Reformatting a few test cases for clarity.
FossilOrigin-Name: 7e1bbacb11a4689b69856450125cae3d045307af
2014-07-23 01:59:47 +00:00
drh
fce4da1b73 Test cases for hex literals.
FossilOrigin-Name: 19054339c47448bcdfd1f7be35daa3826c409077
2014-07-23 01:56:32 +00:00
drh
a45fdc7b1e The optimization of check-in [b67a6e33f2] does not work (it generates
incorrect VDBE code) if an OR term is AND-ed with a constant expression.
So back that optimization out and add a test case to make sure it does not
get added back in.

FossilOrigin-Name: eed754fe93644f4df082eac0c0a7ffc5c78ccd10
2014-07-22 19:14:42 +00:00
drh
25df48d967 Enhance the sqlite_stat1.stat parsing to allow additional text parameters
at the end.  Unrecognized parameters are silently ignored.

FossilOrigin-Name: ca2a5a2c770fa94cd8db1b1b241ede058a7c58e2
2014-07-22 14:58:12 +00:00
drh
358406fc57 Expire prepared statements after running ANALYZE.
FossilOrigin-Name: b083a961f8ac3a6158e822574d73cd63e3103b09
2014-07-22 14:42:16 +00:00
dan
857745c089 Update the sqlite3_stmt_busy() function so that it correctly returns true for "ROLLBACK" statements that have been stepped but not yet reset.
FossilOrigin-Name: 61cee3c0678f5abd9131a29ab946a5e71f55643e
2014-07-19 17:57:10 +00:00
drh
71607c77c8 SQLite has long accepted some unadvertised and non-standard join syntax.
Add a test to ensure that future versions continue to accept this non-standard
syntax, to avoid breaking legacy applications that use the undefined syntax.

FossilOrigin-Name: 824dde7fc48dbca6d6c956c4eb79bbfa2d139ee5
2014-07-18 17:39:48 +00:00
dan
43fbe5e2c9 Add another test to verify that SQLite is using stat4 data for composite primary keys on WITHOUT ROWID tables.
FossilOrigin-Name: 0df1fe72f8271abc86cd552027d938c910f90967
2014-07-01 15:22:11 +00:00
dan
39caccf83d Ensure that all fields are loaded from the stat4 table for records that correspond to indexes on WITHOUT ROWID tables with composite primary keys.
FossilOrigin-Name: 21981e35062cc6b30e9576786cbf55265a7a4d41
2014-07-01 11:54:02 +00:00
drh
855f63908f Attempt to use STAT4 information to estimate the selectivity of WHERE clause
terms when using the skip-scan optimization.

FossilOrigin-Name: d09ca6d5efad3e4cfa93a4dc711e6ba6079d4b4b
2014-06-30 19:07:58 +00:00
dan
fd984b8114 Fix a problem in where.c with using the stat4 sample data of an index on a WITHOUT ROWID table.
FossilOrigin-Name: 053a210e3169732c58f84cb54c9b6f6df3a8f4ea
2014-06-30 18:02:20 +00:00
dan
39129ce8d9 Fix where.c so that the primary key values appended to every index entry on a WITHOUT ROWID table may be used when useful.
FossilOrigin-Name: 6624a61d16e47ad691c4195ca8a1d68b7348118d
2014-06-30 15:23:57 +00:00
dan
6696ba3eab Add an OOM fault injection test for the new code on this branch.
FossilOrigin-Name: c96de490ac77dd23c108004b95152cce4922fe27
2014-06-28 19:06:49 +00:00
dan
8e9028d0f8 Add further tests to skipscan5.test.
FossilOrigin-Name: 4b8230e8fe93e73a615a46708aed5fa3557b6228
2014-06-28 17:35:15 +00:00
dan
fa8874542c Fix a problem with using stat4 samples of type text when estimating the rows visited by a range-query/skip-scan loop.
FossilOrigin-Name: dfb09db6d412f3bc2a71bda393813783580dbad1
2014-06-28 15:26:10 +00:00
dan
4364dc5ea6 Merge fixes from trunk with this branch.
FossilOrigin-Name: 6af219d1b83ec54b3fb4ad4e6216d9ad9ea0fc70
2014-06-28 14:25:32 +00:00
dan
4e42ba4a35 Fix a couple of problems in estimating the number of rows visited by a range query that uses a skip-scan.
FossilOrigin-Name: 219736f54dcd1448af3400e699f1c20755ac6876
2014-06-27 20:14:25 +00:00
mistachkin
5d24951865 Add some more IN operator tests.
FossilOrigin-Name: fb32e374b75b160e7b535e732ced6c34dbb513eb
2014-06-26 22:17:21 +00:00
mistachkin
9bec6fb3ef Revise the affinity returned for expressions flagged as 'generic'. Fix for [9a8b09f8e6].
FossilOrigin-Name: 92f7ad43dbfe4e02490df2f932c3c74fb89064d6
2014-06-26 21:28:21 +00:00
drh
f9944b5053 Prevent an automatic index from taking the place of a declared index.
FossilOrigin-Name: 0a52bddd9db49b2b79fc24888b50023d0fe74f7b
2014-06-18 15:11:54 +00:00
drh
dabe36d9dd Prevent an automatic index from taking the place of a declared index.
FossilOrigin-Name: 4ece839d445ff578a449a339ab579a32e64c9d28
2014-06-17 20:16:43 +00:00
drh
03202a97f8 Add the likely() function for symmetry with unlikely(). The likely(X)
function means the same thing as likelihood(X,0.9375).

FossilOrigin-Name: 38965484199153e3e5b999f5196c1d66e5296f60
2014-06-17 16:11:28 +00:00
drh
2daa64cd63 Add the autoindex2.test testing module.
FossilOrigin-Name: ffe3fea47b8ba8ec4557f68243ef3ef5aac00dfd
2014-06-17 13:23:36 +00:00
drh
6b7ff748a1 Allow an automatic index on a WHERE constraint where the RHS is does not
reference another table as long as the RHS is not a constant.

FossilOrigin-Name: 58acc2a8b38c5f13175c191697b4d2b663db1872
2014-06-17 09:00:54 +00:00
mistachkin
6fe0338ca9 Fix CSV import issue, reported via the mailing list, in the shell when the file to be imported ends with an empty line.
FossilOrigin-Name: fc918f7d332b8f7cabc79a0f1586bd6760d14d40
2014-06-16 22:45:28 +00:00
drh
a2412c1613 Fix the extension01.test script so that it works on windows. Fix a
harmless compiler warning in the fileio extension.

FossilOrigin-Name: baf95a190907d05a847ae8b6a3dd60625c2a078a
2014-06-16 12:51:56 +00:00
drh
51ed298364 Add test cases for the fileio extension.
FossilOrigin-Name: 8634333127c4d868d3ec27e88b5818f6479774f3
2014-06-16 12:44:32 +00:00
drh
69e9782f23 Add a test case to ensure that estLog() works for negative numbers.
FossilOrigin-Name: 813469d98519b609669a004b7b604af78ef40c02
2014-06-06 20:49:19 +00:00
dan
33b7bcb319 Fix a problem that was causing the FTS4 integrity-check command to fail if the table had one or more "notindexed" columns.
FossilOrigin-Name: 7123bb2605216396f65db5d156431b3613f313b5
2014-06-05 11:15:56 +00:00
drh
d0dc5d4984 Avoid closing a pseudo-table associated with sorting in a co-routine since
that pseudo-table might be used again in an outer loop.

FossilOrigin-Name: 6d81805298ea882f5fee99504d5a95f1a762a90b
2014-06-03 14:42:34 +00:00
dan
5a0b8b124b Add a test to double-check that [1cbe7a0883] did not affect anything.
FossilOrigin-Name: c6b512a724aebcd084aad2a80d020b95773b3012
2014-06-03 11:32:38 +00:00
drh
974db61d9d Fix a typo in a requirements mark comment in a test script. No changes to
code.

FossilOrigin-Name: 75ff459b06e1a5c180d316d227ce2f73c99a1f52
2014-06-02 18:24:55 +00:00
drh
2504c6c632 Fix the query planner so that it once again knows that queries without a
FROM clause will never return more than one row and hence do not require
sorting.

FossilOrigin-Name: 9f18b303cd1bc5779d82669884f802c7889b4947
2014-06-02 11:26:33 +00:00
dan
5f43812af8 Add the "valgrind-nolookaside" permutation to permutations.test.
FossilOrigin-Name: 8e8472d9b689d128eb11d3111e009161cf4580f7
2014-06-02 09:39:24 +00:00
mistachkin
110e0ebe6d Revise locking retry semantics in Win32 VFS to abort early if the file handle is reported as invalid.
FossilOrigin-Name: a4df4a5b34111f755ffd9ee6f089ff05d03ebc7a
2014-05-30 21:01:41 +00:00
mistachkin
ff9fcd5a14 Add extra checking of the database extended error code.
FossilOrigin-Name: f2906c44519d76db5bc36013369ae498b80655a8
2014-05-30 16:54:09 +00:00
mistachkin
6b98d67b2b Add tests for the invalid file handle detection logic in the winLock() function.
FossilOrigin-Name: ed5a9eb4f30a395bc641e79254217c7d7cf0aa5d
2014-05-30 16:42:35 +00:00
drh
c2ce0bea88 Improvements to error messages for errors in the dot-commands of the
command-line shell.  Add the ".once" command.  The output of ".help"
now goes to the designated output channel.

FossilOrigin-Name: 48dce821a07ac29da6ce05e92cf3f6e52b6eb388
2014-05-29 12:36:14 +00:00
dan
3b21f6d62d Add an extra test to verify that the FTS notindexed option is working.
FossilOrigin-Name: c461c0fe051d33cc8b4fede4eca13cd71f28126a
2014-05-28 10:00:38 +00:00
dan
c2070c7d96 Add a test to whereI.test that uses a multi-column PK.
FossilOrigin-Name: aa183e60929bdbbcea3c436dd8cc674fc44ad09a
2014-05-27 11:42:23 +00:00
dan
f97dad8849 Enable the OR optimization for WITHOUT ROWID tables. Use a temp table instead of the RowSet object to track the rows that have already been included in the result set.
FossilOrigin-Name: 2c7e277bbebd5c93dec53d381d9737909d40d846
2014-05-26 20:06:45 +00:00