drh
2409f8a112
When estimating the cost of an index scan, factor in the cost savings of
...
being able to use the index to evaluate some WHERE clause terms without
having to do a table lookup.
FossilOrigin-Name: a59b5622f7cc6e502d71aabc12c053582cd03609
2016-07-27 18:27:02 +00:00
dan
d9ed09d47b
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: d4f3d52c5a11fc7ad7e8cad76361edbcef13a12f
2016-07-26 18:15:35 +00:00
drh
5d513ba08c
If both MEMSYS3 and MEMSYS5 are enabled, than automatically disable MEMSYS3.
...
FossilOrigin-Name: ccc22e14dc5d910d632807f49484be54dc2fde83
2016-07-25 11:57:21 +00:00
dan
ba00e30a3a
Allow vector IN(SELECT ...) expressions to use an index if either all the indexed columns are declared NOT NULL or if there is no difference between the expression evaluating to 0 and NULL (as in a WHERE clause).
...
FossilOrigin-Name: e2fd6f49b1b145bec09c581cc982b89429643ae9
2016-07-23 20:24:06 +00:00
drh
fca760c841
Add the sqlite3_expanded_sql() interface. Refinements to the
...
sqlite3_trace_v2() interface to make it more useful.
FossilOrigin-Name: 99ee7ee58d45b29a0000492306ddc0b90563ff51
2016-07-14 01:09:08 +00:00
drh
3d2a529df6
First cut at implementing the new sqlite3_trace_v2() interface.
...
FossilOrigin-Name: cb0062feb018f52689938a58cb76886d431c33f0
2016-07-13 22:55:01 +00:00
dan
71c57db099
Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch.
...
FossilOrigin-Name: b2204215b231202aef7a218411cc2ddaecf28f35
2016-07-09 20:23:55 +00:00
drh
43f58d6a17
Fix various internal #defines to conform to new C-language naming restrictions,
...
specifically that private-use macros names must not begin with "_".
FossilOrigin-Name: 5471aca0158851d3fb0a2517306917536deb38bb
2016-07-09 16:14:45 +00:00
drh
6b92288119
Fix a typo in a comment on the SrcList object.
...
FossilOrigin-Name: 48b555c42de1cbc031fb6c2c93ef170e491c7d76
2016-06-16 11:16:53 +00:00
drh
4d249e6128
Enhance "PRAGMA table_info" to that it provides information about eponymous
...
virtual tables.
FossilOrigin-Name: 53a1e5d51304cb3de700c1807a2c945a40240576
2016-06-10 22:49:01 +00:00
drh
62340f8498
An experimental branch with code that allows virtual tables to be declared
...
as WITHOUT ROWID tables. This might be useful for virtual tables that model
external data sources that do not have a convenient way of computing a unique
rowid. The current check-in almost works, but there are still serious issues.
FossilOrigin-Name: 49638f180e26477974cacc69b79e0be0a5e18b29
2016-05-31 21:18:15 +00:00
drh
d711e52229
Appears to work now. Needs test cases, more comments, and code optimization.
...
FossilOrigin-Name: 990fe50c9182f74c9b54a12602c4c30d891273e6
2016-05-19 22:40:04 +00:00
drh
a536df4e7f
In a query with both ORDER BY and LIMIT, if the inner loop satisfies the
...
ORDER BY then try to cut short each invocation of the inner loop once the
LIMIT has been satisfied. This check-in is a partial implementation only.
FossilOrigin-Name: 852d1eda6ecca1171f6ed800b06f5b4854672002
2016-05-19 22:13:37 +00:00
drh
bc5eac00c2
Fixup comments on wctrlFlags value definitions.
...
FossilOrigin-Name: 58b516e8c0b00a41bc0364eab267bc2ecb9efeff
2016-05-19 19:31:30 +00:00
drh
ce943bc834
Clean up the WHERE_* macros used for the wctrlFlags parameter on the
...
sqlite3WhereBegin() interface, freeing up some bits to be used for other things.
FossilOrigin-Name: d01305841da94b2d47e32744802f69525bf590df
2016-05-19 18:56:33 +00:00
drh
15efecef6c
Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface.
...
FossilOrigin-Name: 915416d15f43c4e1d3afa8121bb6fa09f9f67e30
2016-05-18 21:01:27 +00:00
drh
5f65ff277d
Disable ALWAYS and NEVER when compiled with SQLITE_MUTATION_TEST.
...
FossilOrigin-Name: 24d9fbc1d0f99b90577ecd6edcd3bc1abc76633f
2016-05-12 19:17:09 +00:00
drh
a72a15e45a
Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface.
...
FossilOrigin-Name: da94a6e0ebacad8f235dcd653a25474327f26137
2016-05-09 19:58:56 +00:00
drh
87f8f1ac69
For DELETE operations, make sure that seeks on the main table are not
...
deferred, since if they are and none of the indexes reference columns of
the table, the seek might never occur until the OP_Delete opcode, which is
too late. Fix for ticket [16c9801ceba49].
FossilOrigin-Name: 93a2bace5704f7ecad56541a6b3e06a88f7f393f
2016-05-06 16:49:54 +00:00
drh
bcf6884afd
In the WHERE generator, when building code for a DELETE operation, make sure
...
that seeks to the main table are not deferred.
This is a better fix for the [16c9801ceba49] bug than the previous.
FossilOrigin-Name: 150dd09ebd7b17234a79e1811a0fae8b0a7a40d5
2016-05-06 16:06:59 +00:00
drh
91da707280
Only disable the one-pass DELETE optimization if the WHERE clause contains
...
a correlated subquery. Uncorrelated subqueries are allowed. This is a
refinement of check-in [3f221f592a9a1] that is the fix for
ticket [dc6ebeda9396087].
FossilOrigin-Name: aae389692a2ed2cc92151d51fb2cd5a16921c469
2016-05-04 14:45:30 +00:00
drh
396794f0ee
Comment changes only: Add several optimization marks in rowset.c. Add
...
a header comment that explains what the various special comments mean.
FossilOrigin-Name: 8cdbe89ac6c22d632f677eb293111b3dbae7d6c1
2016-04-28 20:11:12 +00:00
drh
191dd06195
Revert sqlite3_enable_load_extension() to its original long-standing behavior.
...
Add SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION which will enable only the C-API and
leave the SQL function disabled.
FossilOrigin-Name: b2ae5bfa32e608625bd177907596df3dbc2212e1
2016-04-21 01:30:09 +00:00
drh
497116007e
Add the SF_HasAgg constant (currently unused). Also enhance the comments on
...
many other constant definitions to detail constraints on their values.
FossilOrigin-Name: 7b7a69d098f7581a43b818c251717c2450b797de
2016-04-14 16:40:13 +00:00
drh
244b9d6ec6
Performance optimization to sqlite3Dequote() and its callers.
...
FossilOrigin-Name: 9efe2265b1e70172778d333c5b9d9a76095427ab
2016-04-11 19:01:08 +00:00
drh
bea119cdeb
Performance optimizations in the column cache of the code generator, and
...
especially the sqlite3ExprCacheRemove() routine.
FossilOrigin-Name: e35b345cf858018ae0c07f79725f8d58062168db
2016-04-11 18:15:37 +00:00
drh
08de4f7933
Factor out the common operation of setting the Expr.x.pSelect field of an
...
Expr object into a subroutine.
FossilOrigin-Name: 6a5cceee486c5e3625556e4c7076ff90e9d8fa43
2016-04-11 01:06:47 +00:00
drh
ed06a131da
Carry table column types through into VIEW definitions, where possible.
...
FossilOrigin-Name: fb555c3c2af7f5e62ff839658f4fba7b645d3a68
2016-04-05 20:59:12 +00:00
drh
c556f3c33f
Simplifications and clarification to update callback handling in the
...
OP_Delete and OP_Insert opcodes.
FossilOrigin-Name: 47887ef89ed60ddb869d65e0957c1c4b2115f169
2016-03-30 15:30:07 +00:00
drh
565d64014b
Merge the beta changes into sessions.
...
FossilOrigin-Name: beb5ea1439995fb8ab112451a8ffcc08fe42d0c4
2016-03-24 14:34:26 +00:00
drh
d7564865ad
The sqlite3_column_decltype() routine should return NULL, not an empty string,
...
if the column has no declared type.
FossilOrigin-Name: 605eba4a756e7185119088e2242f82691d078b01
2016-03-22 20:05:09 +00:00
drh
3bfa7e82b6
Create the "uptr" typedef (the same as uintptr_t when available) and use it
...
to cast pointers before comparison.
FossilOrigin-Name: 2484cc0c3ffc8834a155f89af1581bd07d453a90
2016-03-22 14:37:59 +00:00
drh
13969f5af0
Fix harmless compiler warnings.
...
FossilOrigin-Name: 25d776e4523aefeec007943fe29aa17c23ccb301
2016-03-21 22:28:51 +00:00
drh
dbf8a16cb3
Merge 3.12.0 beta changes from trunk.
...
FossilOrigin-Name: 3296a0ceedef43c2790f0b36471f91138a575243
2016-03-21 15:32:19 +00:00
drh
b7c9659db3
Merge updates from trunk.
...
FossilOrigin-Name: 86ab8643969bd2e51a257d80da9316c668437f7b
2016-03-21 10:49:49 +00:00
drh
bb9b5f2608
Fix a register allocation bug in the VDBE code generator for
...
PRAGMA integrity_check;
FossilOrigin-Name: 88439a866b3b16ad7c308ebe59198662a05e7eeb
2016-03-19 00:35:02 +00:00
drh
1b9f2141a7
Experimental implementation of the sqlite3_system_errno() interface.
...
FossilOrigin-Name: 6782c87b3722fbd09684a5b1e5df05247956f1c6
2016-03-17 16:01:23 +00:00
drh
47e1842e5b
Merge all recent enhancements from trunk.
...
FossilOrigin-Name: 6a7ee04b0ddac36a87d5ed2ac89a53e537f4d5a3
2016-03-16 01:16:30 +00:00
dan
ba22f84cc2
Update this branch with latest trunk changes.
...
FossilOrigin-Name: 249cd361b840913794b7cd2f2d42777dcd547a60
2016-03-15 09:42:39 +00:00
drh
7c621fb967
Automatically disable SQLITE_ENABLE_EXPLAIN_COMMENTS if SQLITE_OMIT_EXPLAIN
...
is defined.
FossilOrigin-Name: 8d4b6b2b519a80f831d64345ac26db825b0e2ebe
2016-03-09 13:39:43 +00:00
dan
85a18faff9
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: 59caca4387e97231834a3bffdbed8636be4e8e19
2016-03-09 08:08:51 +00:00
drh
33b104af08
Drop support for SQLITE_EXTRA_DURABLE. The new SQLITE_DEFAULT_SYNCHRONOUS
...
compile-time option is a more general replacement.
FossilOrigin-Name: f6d3156ba9af1da517dd77c1df03fa7869888463
2016-03-08 16:07:59 +00:00
drh
c2ae2073d9
Make the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS
...
values zero-based to agree with PRAGMA synchronous.
FossilOrigin-Name: 592d2104361500e5002783ba329a2609389c57b9
2016-03-08 15:30:01 +00:00
drh
50a1a5aaca
Add compile-time options SQLITE_DEFAULT_SYNCHRONOUS and
...
SQLITE_DEFAULT_WAL_SYNCHRONOUS used to specify the default synchronous
settings for all database connections.
FossilOrigin-Name: 1fefa967aa93372d232b96b1e0232b7b855d6d00
2016-03-08 14:40:11 +00:00
drh
8426e36c8f
Add the ALLBITS macro as a shorthand for "(Bitmask)(-1)".
...
FossilOrigin-Name: 91bd619d27e4d91510a187bbb88de961a31c8a2e
2016-03-08 01:32:30 +00:00
drh
c5c67abb9a
Merge the virtual table query planner enhancement, the RTREE cost estimate
...
fix, and the statement journal spill delay enhancement from trunk.
FossilOrigin-Name: 17fd8f3cf0ec565e08403dc8e10a1cffc2bbe165
2016-03-07 17:49:17 +00:00
drh
8c71a98ce1
Add the SQLITE_CONFIG_STMTJRNL_SPILL option for sqlite3_config().
...
FossilOrigin-Name: b6c4202432dc96f8f1740f52d0bf872116357fcc
2016-03-07 17:37:37 +00:00
drh
14bfd99143
Fix an incorrect #ifdef on sqlite3LogEstToInt().
...
FossilOrigin-Name: dca7b23354a6b08c926b6ed3f7345d942a409862
2016-03-05 14:00:09 +00:00
drh
2606aca80f
Merge recent enhancements from trunk. Default page size is 4096. Writes
...
to statement journals are avoided.
FossilOrigin-Name: 456df3365e2df60e34762f2024bb551538b3f72b
2016-03-04 16:42:43 +00:00
drh
ff6b826631
Get in-memory subjournals working for builds without SQLITE_ENABLE_ATOMIC_WRITE.
...
FossilOrigin-Name: b5378dcea53d4cd1744d13ddee5e50869607b771
2016-03-04 00:13:29 +00:00