drh
bf539c4d5c
Begin an experimental refactoring to estimate the average number of bytes
...
in table and index rows and to use that information in query planner.
Begin by renaming WhereCost to LogEst and making that type and its
conversion routines available outside of where.c.
FossilOrigin-Name: 66c4a251d61582b47d5cbe50cbca160a9209bd06
2013-10-05 18:16:02 +00:00
drh
6919b07556
In the index_list pragma, make sure the "r" column is the same on output
...
as it was on input in the sqlite_stat1 table.
FossilOrigin-Name: de78250ad2a6210dd4f03045248f7192d64427f2
2013-10-05 02:56:25 +00:00
drh
03e1754e31
Merge trunk changes.
...
FossilOrigin-Name: c6ac80ed8d5240dd30783d62d9f133e159809dec
2013-10-04 20:39:44 +00:00
drh
d3037a4123
Further refinements of the index scanning speed logic.
...
FossilOrigin-Name: e5d9371da92b4cc2c1df177cf40e0ced4d4c7421
2013-10-04 18:29:25 +00:00
dan
5988572876
If an "INSERT INTO ... SELECT" can use the xfer optimization, pass the OPFLAG_BULKCSR hint to btree cursors used to update indices. This results in a tighter key packing.
...
FossilOrigin-Name: 087af29ee2e1572f8668dd0152a14d7f9796a530
2013-10-04 18:17:18 +00:00
drh
fdaac671b8
Improved estimates of the relative speed of index scans based on declared
...
datatypes of columns in the table. Add "r" column to PRAGMA index_info,
showing the estimated relative scan rate.
FossilOrigin-Name: 07462bb6059f023c22a6c84a4a02afbd84e69255
2013-10-04 15:30:21 +00:00
drh
d9e3cad2f8
Progress toward using the iScanRatio information on indices. Many tests
...
are still failing.
FossilOrigin-Name: 6c352edbba85a15ca356b5e131f4b3b2723d1774
2013-10-04 02:36:19 +00:00
drh
5f33f37580
Make sure the count(*) optimization works correctly even when partial
...
indices are present. Ticket [a5c8ed66cae].
FossilOrigin-Name: 9f2f4c0a50808910ad01c8c4352367f25747be08
2013-10-04 00:00:12 +00:00
drh
c28c4e5009
Experimental branch allowing different postulated scan rates for each index.
...
FossilOrigin-Name: d59d97b0a8d70dc31d45db61bbc11ebb5375a224
2013-10-03 19:21:41 +00:00
drh
d100f6912d
The sqlite3FixInit() routine cannot fail. So change the return type from "int"
...
to "void".
FossilOrigin-Name: 500c5932fe3f5fcd0940522f7839d581c555e0eb
2013-10-03 15:39:44 +00:00
drh
f63936e805
Rework the PRAGMA implementation to only call sqlite3ReadSchema() from a single
...
place, based on a flag in the pragma table, rather than separately from each
case which needs the schema.
FossilOrigin-Name: 8338232a111be16d6c2ab57176d0a23a001f02ad
2013-10-03 14:08:07 +00:00
dan
46539d7cfa
Return an error if an attempt is made to create a trigger with an SQL variable embedded within it. If such a variable reference is found within a trigger definition loaded from the sqlite_master table, silently replace it with a NULL.
...
FossilOrigin-Name: f35f6ae3da77dbdf5f7a4a9927475659fc6e0ca6
2013-10-03 12:29:38 +00:00
drh
582d47d27a
Remove unnecessary memset() calls from test code.
...
FossilOrigin-Name: eec3187bc68ddebdbc2113f77c7f5cd32e9be61f
2013-10-03 11:27:56 +00:00
drh
e75fb06146
Bring some file format comments in btreeInt.h up to date.
...
FossilOrigin-Name: 012d54d0d2b40888d08915082592ba75d70891c1
2013-10-01 20:29:30 +00:00
drh
4384e98e6e
Change the ".dump" command in the command-line shell so that it COMMITs
...
if there are database corruption errors but invokes ROLLBACK on any other
kind of error.
FossilOrigin-Name: 473234632ff7617680ab151076153f5c1088e55b
2013-10-01 15:30:05 +00:00
drh
24b7fe9004
Fix a minor typo in a comment in where.c.
...
FossilOrigin-Name: 9c9fa151e9a3bdab0264c08b66cbcc89d61bfca5
2013-09-30 19:33:06 +00:00
drh
8b8d28dd5a
Update and modernize an obsolete comment associated with VACUUM. No
...
changes to code.
FossilOrigin-Name: 94c914e3fa632f88a0d0c14537f81aa46759e2be
2013-09-30 11:01:28 +00:00
dan
5d1dcff095
Obtain the required shared-cache write-lock when executing "DELETE FROM tbl" statements. Fix for [1e1321ee98].
...
FossilOrigin-Name: 1f8f4fdf3ff2b8de27e167a44a19b0f479f5ee1a
2013-09-26 15:21:16 +00:00
dan
56c517aa5f
Fix a faulty assert() in sqlite3BtreeBeginTrans() that may fail in shared-cache mode.
...
FossilOrigin-Name: 1e1321ee985370c2b7e5bd64286bb4d7704b5a30
2013-09-26 11:04:33 +00:00
mistachkin
bbff218016
Merge updates from trunk.
...
FossilOrigin-Name: 435ce3b3fc0cffb4d7e6f2694c3100066e19f9ed
2013-09-24 19:07:48 +00:00
drh
7fa2092571
Clear the current time value on prepared statements when the prepared statement
...
is reset.
FossilOrigin-Name: cebd6fc551d26aea0f28cd7d25338fe0b72aae88
2013-09-17 23:36:33 +00:00
mistachkin
dcf31a14bf
Readability improvements to the Win32 RC file.
...
FossilOrigin-Name: e64590625774228b5602a66cfb087cf74e2b438b
2013-09-16 20:46:34 +00:00
mistachkin
e62d373031
Minor consistency fixes to the Win32 RC file.
...
FossilOrigin-Name: 619c5211b91aef98794e2e0a6f03832619fc83c0
2013-09-16 19:27:36 +00:00
drh
95a7b3e36d
The date and time functions use the exact same notion of "now" for every
...
invocation within the same call to sqlite3_step().
FossilOrigin-Name: daf6ba413cb3cb6065774ba07495eab4a28b49b0
2013-09-16 12:57:19 +00:00
mistachkin
b8af6a285c
Fix Windows SDK compiler warning.
...
FossilOrigin-Name: d5fc3f1dabc7227230dcabdd808357f63432357b
2013-09-13 23:27:39 +00:00
drh
77ff23f9c7
Fix the "const" qualifiers on the pragma name table.
...
FossilOrigin-Name: b74e6be818fa7d19f1af6d86ad1d2ecba334b01b
2013-09-13 21:03:45 +00:00
drh
55e85ca5f5
Add the soft_heap_limit pragma.
...
FossilOrigin-Name: c326356f9a18bff5cf36bd59331e2cc207e349fa
2013-09-13 21:01:56 +00:00
drh
d49c358e39
Tweak the new PRAGMA name parser to achieve full branch test coverage.
...
FossilOrigin-Name: c82e05c4b8e000684d95ac8417afaef5e4d633e6
2013-09-13 19:00:06 +00:00
drh
aecd80215c
Remove one unreachable branch and add asserts() to dupedExprStructSize().
...
New asserts verify that removed branch is unused and that constants that are
ORed together in the output do not overlap.
FossilOrigin-Name: 86ad358b5a7567857f2f998fbb8266b7de9ec87e
2013-09-13 18:15:15 +00:00
drh
a496fa7c02
Adjust the query planner to take into account WHERE clause terms that do not
...
drive indices. Add the unlikely() and likelihood() functions used to give
hints to the query planner about the selectivity of WHERE clause terms.
FossilOrigin-Name: bc446449a19171c0fa0681973b06bc80d3c0517f
2013-09-13 17:47:57 +00:00
drh
9ccd8659ff
Change the PRAGMA parser to use a binary search for the pragma name.
...
Also: Minor performance enhancement to sqlite3DbFree() and to the
token dequoter.
FossilOrigin-Name: 870c030b4e1854e6e0d39907fadbd82774c16f56
2013-09-13 16:36:46 +00:00
drh
ebb6a65d16
Refactor the ExprSetIrreducible() macro into ExprSetVVAProperty(*,EP_NoReduce).
...
This is a naming change only. The logic is the same.
FossilOrigin-Name: 695aee46e9bdf15159ab52db7f522b30c91aed0f
2013-09-12 23:42:22 +00:00
drh
6e1b167454
Fix typo in a macro name: "GlogUpperToLower" should be "GlobUpperToLower"
...
FossilOrigin-Name: 73634ca463f46027bfa8ea23f18abaa530460e24
2013-09-12 23:12:08 +00:00
drh
a4c3c87e3d
Merge in the Expr.flags expansion to 32-bits. Use an extra bit to help
...
optimize the sqlite3ExprSkipCollate() routine.
FossilOrigin-Name: 4c84d1b4c20f18921dd705bf67e8225975b83e86
2013-09-12 17:29:25 +00:00
drh
c5cd124900
Increase the number of bits available in Expr.flags. Other tweaks aimed at
...
making expression processing more robust.
FossilOrigin-Name: 579a512538528cf4bb4381ba393c5d9e7310086b
2013-09-12 16:50:49 +00:00
mistachkin
a9cb5be49a
For error log messages generated by the Win32 native allocator, make sure the correct format specifier is used for the value returned by GetLastError().
...
FossilOrigin-Name: 75a8a8c1b39725d36db627536d0c69401f8e0815
2013-09-12 02:09:05 +00:00
mistachkin
36ca5359dc
Fix a couple more harmless compiler warnings.
...
FossilOrigin-Name: 59708674f66e06c9c31c1a24f2f1c51f0bf4fa3e
2013-09-12 01:47:57 +00:00
drh
4a1f4ff53b
Remove two obsolete fields from the sqlite3 object.
...
FossilOrigin-Name: 117fa5fbc9bed1a7b982c8ddc21b7e228905ccb4
2013-09-12 01:33:53 +00:00
mistachkin
61b7060c4f
Fix harmless compiler warning.
...
FossilOrigin-Name: 2b510614dc6d878bd49eb428f167014f7f2e2568
2013-09-12 00:54:59 +00:00
drh
7d9e7d8287
Improvements to likelihood processing so that commuting an unindexed term in
...
the WHERE clause does not change the query plan.
FossilOrigin-Name: 6e6bded055cdbc902731687c86d92c39a3ba5904
2013-09-11 17:39:09 +00:00
drh
09328c00d6
Additional unlikely() test cases. Logic tweaks to support test coverage.
...
FossilOrigin-Name: 5d00cce74a7aefaf30022ae971ab1e0451e0ad6e
2013-09-11 14:34:58 +00:00
drh
aae0f9e462
Change the name of the two-argument unlikely() function to likelihood().
...
Add test cases.
FossilOrigin-Name: 29a359b8d7f90e6fa2b28ce2a112284fd3870494
2013-09-11 11:38:58 +00:00
drh
abfa6d52ed
Tweaks to the index selection logic.
...
FossilOrigin-Name: 52d52688644f635a50a60ff17b160f3affa8fa6c
2013-09-11 03:53:22 +00:00
drh
36fabb6297
Merge trunk fixes into the unlikely-func branch.
...
FossilOrigin-Name: a51d751553b14aa26912c516f60727551deb8e60
2013-09-10 01:53:18 +00:00
drh
1d2b3c1f8a
Deterministically initialize the PRNG used as a tie-breaker in the ANALYZE
...
command, so that the analysis is always the same given the same database.
This simplifies testing.
FossilOrigin-Name: 48ed8b565b84c8fa7898c2f9817c01f7e9c9182e
2013-09-10 01:41:25 +00:00
drh
0259bc3da2
Make sure that the transitive constraint optimization does not cause
...
WHERE clause terms to be disabled prematurely. We are unable to find a test
case that fails because of this, but it seems prudent to make this
preventative change nevertheless.
FossilOrigin-Name: d6e361d7fb8013d616af91ef2c10038c97d1be5f
2013-09-09 19:37:46 +00:00
drh
add5ce303f
Continuing refinements of the logic to take WHERE clause terms not used for
...
indexing into account when computing the number of output rows from each
table.
FossilOrigin-Name: b65dc53415f42d8402d0ec7f4bedf59d7b39b486
2013-09-07 00:29:06 +00:00
mistachkin
9a5cbbc4a5
Merge updates from trunk.
...
FossilOrigin-Name: 8922be1a3e0269552e12b87fe1e5141c38a8d3f8
2013-09-06 22:27:55 +00:00
mistachkin
9a5b271908
When converting from a BLOB value in the tointeger() and toreal() SQL functions, make sure that endianness of the machine does not matter.
...
FossilOrigin-Name: 94c4cdc50d2753c859e494d53cebd09edd2e5663
2013-09-06 20:30:53 +00:00
drh
fde1e6bc37
Enhance the plan solver to take into account the number of output rows when
...
computing the set of paths to retain for the next cycle.
FossilOrigin-Name: 1a46a7242313da96420985fa52e1de3f84533e5b
2013-09-06 17:45:42 +00:00