dan
7fa0631ece
Fix a problem causing an inaccurate stat4-based estimate for the number of rows visited by a range scan.
...
FossilOrigin-Name: 052d89b554a947b7e420b7feb6650f5069b7cefa
2014-08-28 16:01:31 +00:00
dan
54ae4e3179
Add a missing ticket number to a comment in index7.test.
...
FossilOrigin-Name: d8b1c4336145d436241863c3525530e24a24799b
2014-08-27 17:48:15 +00:00
dan
0829169f1e
When determining whether or not a partial index is usable, do not assume that the cursor number assigned to each table in the query is the same as its index in the FROM clause. Fix for ticket [98d973b8f5].
...
FossilOrigin-Name: fcebca166f15431764b82a8b267f11d28386e975
2014-08-27 17:37:20 +00:00
drh
21b0e73354
Test cases added for using unary "+" and CAST operators on the RHS of range
...
constraints and verifying that STAT3/4 can use those constraints.
FossilOrigin-Name: 42505e5a810832442699ca54a46637c50e7f9e71
2014-08-25 20:21:07 +00:00
drh
4169e430a2
Allow CAST expressions and unary "+" operators to be used in the DEFAULT
...
argument of an ALTER TABLE ADD COLUMN and to be understand on the RHS of
range constraints interpreted by STAT3/4. This involves a rewrite of the
implementation of the CAST operator.
FossilOrigin-Name: 91d8a8d0b792ea5c4fe68fd9caaf3345eddea486
2014-08-25 20:11:52 +00:00
dan
f741e0491e
In cases where stat4 data is available but cannot be used because the rhs of a range constraint is too complex a expression, fall back to using the default estimates for number of rows scanned.
...
FossilOrigin-Name: e06dc6f0c35f87c44292c71677111b74f073a5c4
2014-08-25 18:29:38 +00:00
drh
5ab567078a
Enhance the spellfix extension with the ability to specify a rowid when
...
inserting new rows.
FossilOrigin-Name: 369c480cda6fa66394b995346bbf51f3298446e1
2014-08-22 11:11:30 +00:00
drh
f3f69ac942
Enhancements to skip-scan such that it is operable when a middle column of
...
an index is skipped while the left-most column is constrained in the WHERE
clause.
FossilOrigin-Name: bc985caa7816f1f873ad8e4467c5278399f315ce
2014-08-20 23:38:07 +00:00
drh
dfd1547b48
Modify the memsubsys1-3.1.4 test so that it does not fail arbitrarily due
...
to variations in the behavior of system malloc().
FossilOrigin-Name: d280157da0b5275f3e3c875d2dcfb9998d374ac0
2014-08-19 23:04:49 +00:00
drh
2c7946a485
Make sure the sqlite3_trace() callback is invoked, even if the prepared
...
statement was marked "expired" before it ever entered sqlite3_step().
Ticket [11d5aa455e0d98f3c1e6a08].
FossilOrigin-Name: 0d4d3df4bc5e75ce1543b5539a1e9e279d2a062f
2014-08-19 20:27:40 +00:00
dan
f216e324f9
Fix an assert that can fail if the database file is corrupted.
...
FossilOrigin-Name: 3f45b8192dad7fb1f027cbaa694046e3c1b3e278
2014-08-14 19:53:37 +00:00
dan
299b24688a
Fix where9.test so that it works with the "no_optimization" permutation.
...
FossilOrigin-Name: d46adf9d8f741838b9c30f915231d6a3986c3591
2014-08-12 20:13:22 +00:00
dan
d79d27aeda
Run a test with TEST_REALLOC_STRESS and OMIT_LOOKASIDE defined as part of releasetest.tcl on Linux/x86-64.
...
FossilOrigin-Name: a1baf3a7b177728cdfcd6d9345a0d6bf0a8887c0
2014-08-12 14:06:13 +00:00
dan
76ccd89d13
If SQLITE_TEST_REALLOC_STRESS is defined, extend the op-code array used by virtual-machine programs by one element at a time, instead of doubling its size with each realloc().
...
FossilOrigin-Name: 4c291827224b84487a38e7ccba2edabc0f15b5ba
2014-08-12 13:38:52 +00:00
dan
793bd861fe
Add a test to ensure that the problem fixed by [a179e41e40] does not recur.
...
FossilOrigin-Name: 31356f2cae26278660e6bd360ad35e57261d977c
2014-08-12 09:36:08 +00:00
drh
9f959b07de
Add a few more requirements tests.
...
FossilOrigin-Name: b5652439d5d770f0edeb80c8f55fa7cc515482e3
2014-08-11 17:37:27 +00:00
drh
ddb17cae38
Updates to evidence marks and requirements. No changes to code.
...
FossilOrigin-Name: 62d38308b519a5362f559b296a0cf1acccf8f673
2014-08-11 15:54:11 +00:00
drh
e8a537eea7
Update requirements marks. No changes to code.
...
FossilOrigin-Name: 7556bd9aa5db1b9cd92d0e48effcda9fe96f3128
2014-08-08 18:26:20 +00:00
drh
ddef5dc044
When the estimated cost to do a sort overwhelms the estimated cost to do
...
individual table lookups, make sure that the table lookup costs are still
taken into consideration when selecting the lookup algorithm.
FossilOrigin-Name: ec5d84ba69c100d9565425ed74040a49e410ea03
2014-08-07 16:50:00 +00:00
drh
0c4de2d96d
A simpler fix for ticket [3a88d85f36704eebe1] - one that uses less code.
...
The error message is not quite as good, but as this error has apparently
not previously occurred in over 8 years of heavy use, that is not seen as
a serious problem.
FossilOrigin-Name: 0ad1ed8ef0b5fb5d8db44479373b2b93d8fcfd66
2014-08-06 00:29:06 +00:00
drh
1cfc9aa993
Ensure that aggregate functions are not used when evaluating a default
...
value for a table column.
Candidate fix for ticket [3a88d85f36704eebe134f7].
FossilOrigin-Name: 29ba812825bf06ef230f2480bba0579653f0a52d
2014-08-05 21:31:08 +00:00
drh
bb53ecb1db
Enhancements to the code generator for the IN operator that result in much
...
faster queries in some cases, for example when the RHS of the IN operator
changes for each row of a large table scan.
FossilOrigin-Name: 436e884215e2b33ca3fbb555362237b12827c07a
2014-08-02 21:03:33 +00:00
drh
cefc87fca5
Enhance the PRAGMA integrity_check command to detect UNIQUE and NOT NULL
...
constraint violations.
FossilOrigin-Name: 9abcf2698c09f4f6a44a68e74f9f6b538f3253d6
2014-08-01 01:40:33 +00:00
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