drh
3c03afd3f5
When running a CREATE TABLE AS, make the initial temporary sqlite_master entry
...
for the new table a real record rather than a NULL, in case the query after
the AS actually tries to read the sqlite_master table.
Fix for ticket [acd12990885d9276].
FossilOrigin-Name: 4a18d8bd4cc66eb08c6198cdf6e14f1bce0ec05a
2015-09-09 13:28:06 +00:00
drh
a46a4a63de
Enhance the DBSTAT virtual table with a new hidden table "schema" that if
...
set will cause the table to report on the specified schema rather than on
"main". Also: Fix a faulty assert in sqlite3_context_db_handle().
FossilOrigin-Name: 6beb512c7a3c3649b56f0df1ca77855535a87ba7
2015-09-08 21:12:53 +00:00
drh
b4d472f609
Eponymous virtual tables exist in the "main" schema only. Enforce this rule.
...
FossilOrigin-Name: 06f90bb274c4bb0c30585024c8d365d43c4162f2
2015-09-08 20:26:09 +00:00
drh
ae2a4084a2
Fix an unreachable branch in the new parse automaton.
...
FossilOrigin-Name: e9d604b4306a86faae315ac3cba59bf07d1b665c
2015-09-07 20:02:39 +00:00
drh
a248a722cf
Change the parser engine so that it (once again) waits for a lookahead token
...
before reducing, even in a SHIFTREDUCE action.
FossilOrigin-Name: 2c17a1358353a0845b039283be79353f033e2491
2015-09-07 19:52:55 +00:00
drh
3bd48ab213
For the Lemon-generated parser, add a new action type SHIFTREDUCE and use it
...
to further compress the parser tables and improve parser performance.
FossilOrigin-Name: 531c3974b3d586c1989cde905b2fb4681239a570
2015-09-07 18:23:37 +00:00
drh
2d64034bc2
Improved memory barrier that should work with MinGW on older versions of
...
Windows.
FossilOrigin-Name: 47dc24bd1e8f76eb17ba53a883b8984b3e1b2934
2015-09-06 10:31:37 +00:00
drh
6081c1dbdf
Add a memory barrier to the mutex initialization logic, try to work around
...
an issue reported by WebKit.
FossilOrigin-Name: 11a9a786ec06403addb47f5c6fb142b382fae522
2015-09-06 02:51:04 +00:00
drh
0b8d255c37
Omit all use of Expr nodes for TK_AS, as those nodes no longer served a useful
...
purpose and in fact interferred with the query planner.
FossilOrigin-Name: 7ab0b258eabfcfb7f1b0bd1b12e166d2f267823d
2015-09-05 22:36:07 +00:00
drh
28b9e0fc05
Fix an unreachable conditional in the WHERE clause analysis logic.
...
FossilOrigin-Name: 24924a58197e558a9e8800cc5c91dc8fb32f3557
2015-09-05 19:21:00 +00:00
drh
e3a7307e2d
Get STAT4 range scan estimates work again when the bounds are determined
...
by date/time functions.
FossilOrigin-Name: d2761357a0496ec1e590c7c9e397c5b5c904f91a
2015-09-05 19:07:08 +00:00
drh
aac39e1ded
Merge trunk enhancements, and espeically the fix for allowing strings
...
as column identifers in CREATE INDEX statements.
FossilOrigin-Name: 5ff855293865c244ac632c630e8e7e8d7c05a5f6
2015-09-04 13:02:21 +00:00
drh
edb04ed946
Continue to support the (broken) legacy syntax of allowing strings for
...
column names in CREATE INDEX statements and in UNIQUE and PRIMARY KEY
constraints.
FossilOrigin-Name: 3d3df79bfaf9dbc7aa711c08a19d2f6dbe744b32
2015-09-04 12:54:01 +00:00
drh
92af02c939
Simplification of the LRU list handling in pcache1.
...
FossilOrigin-Name: 05a3a2cd140587265b5427d23c93c5be1f39e199
2015-09-04 04:31:56 +00:00
drh
95a0b37156
Change the pcache module to keep track of the total number of references to
...
all pages rather than the number of pages references, for a performance
improvement and size reduction.
FossilOrigin-Name: f00a9e1e998c4bd249a45444dc2d71a7e4903b8b
2015-09-03 20:43:55 +00:00
drh
98c5f8795a
A simple optimization and size reduction in sqlite3PagerAcquire().
...
FossilOrigin-Name: 618d8dd4ff44cce10cc4688a2134715ff66cc562
2015-09-03 18:20:10 +00:00
drh
c98a4cc8b6
Change the Pager.hasBeenUsed flag into Pager.hasHeldSharedLock in order to
...
take it off the critical path in sqlite3PagerAcquire().
FossilOrigin-Name: b79096be7cb02aae2f303db33a8bf19e69204374
2015-09-03 17:54:32 +00:00
drh
6b86881788
Merge recent trunk enhancements.
...
FossilOrigin-Name: 6a513c05850949900f396c7a61accb97cc6d2af5
2015-09-03 14:48:25 +00:00
drh
163c29c5f3
Merge enhancements from trunk.
...
FossilOrigin-Name: 25ee3000e94d60d8c1d7b980f416dcc33eb11105
2015-09-03 14:39:33 +00:00
drh
34de0c8c5e
Merge enhancements from trunk.
...
FossilOrigin-Name: 1ab10cbf27245961b40eda1ce70f35646f0a9966
2015-09-03 14:18:12 +00:00
drh
076e85f59c
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help
...
with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto()
to just sqlite3VdbeGoto().
FossilOrigin-Name: 847387ec8e6fef283899578fb232b2c23b00ee5b
2015-09-03 13:46:12 +00:00
drh
7cc023c7fa
Factor out and simplify code in pragma.c for pragmas that return a single
...
row with a single column that is an integer or text value.
FossilOrigin-Name: d7f4bdf594e93c848f46901637861c8eed4c34df
2015-09-03 04:28:25 +00:00
drh
b460e52a83
For PRAGMAs, factor out the code that sets the result set column names into
...
a subroutine.
FossilOrigin-Name: 0ea6e5c9fc6b1dd1174c09097be5bf291da4e6c7
2015-09-03 03:29:51 +00:00
drh
2a8f671244
Optimizations to the printf formatter.
...
FossilOrigin-Name: a3b35ddeca8f459e81105ab6477f3c5afb9b96d5
2015-09-02 21:00:48 +00:00
drh
0ff287fb01
Add and use the sqlite3VdbeChangeOpcode() routine. Simplify the implementation
...
of the other sqlite3VdbeChange*() routines.
FossilOrigin-Name: 0a5b00e493efae58252f9fc7bde5a469645942d5
2015-09-02 18:40:33 +00:00
drh
2991ba050b
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for
...
sqlite3VdbeAddOp2(v,OP_Goto,0,i).
FossilOrigin-Name: be78f413df1b0d874b44a866ef6bf17543d7e8a2
2015-09-02 18:19:00 +00:00
drh
ef41dfe5b1
Change sqlite3_sql() so that it always returns the SQL text of the prepared
...
statement, if the text is available, even if the the prepared statement was
generated using sqlite3_prepare() instead of sqlite3_prepare_v2(). Also
include some minor comment fixes and code simplifications.
FossilOrigin-Name: 2f5472cfda6c72e75b9cf7b7481612465c1a5e6a
2015-09-02 17:55:12 +00:00
drh
2ed0d809a6
Small simplification to the EXPLAIN QUERY PLAN logic.
...
FossilOrigin-Name: d1592d201afea20cb2ca94fe2bf5ae031bd29ede
2015-09-02 16:51:37 +00:00
drh
d37bea5bdc
Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places
...
for better performance and a smaller footprint.
FossilOrigin-Name: 82355e41084387fa11b7b531e4d660dd3b4cd984
2015-09-02 15:37:50 +00:00
drh
4ef299a32c
The sqlite3_memory_alarm() interface has been deprecated and undocumented
...
for almost 8 years (since version 3.5.3). Change it into a no-op.
FossilOrigin-Name: 5d3f5df4da9f40d5897b5c23b2ea9333fc18ac2c
2015-09-02 14:56:56 +00:00
drh
02bf8b45b7
Very minor optimizations in the unix VFS.
...
FossilOrigin-Name: 6db3ff45bc15ece29cb2c7a736e5c6d005dde200
2015-09-01 23:51:53 +00:00
drh
59a5364cf9
Performance improvement in sqlite3VarintLen().
...
FossilOrigin-Name: adf9fefb00ae1dbb07a921c6796cb0a9505c6d19
2015-09-01 22:29:07 +00:00
drh
054bbabc76
Small size reduction and performance increase in sqlite3DbMallocSize().
...
FossilOrigin-Name: 8a80967f849eed002a701235ed7fb406099d566e
2015-09-01 20:09:33 +00:00
drh
3c0c43191a
Reduce the number of calls to sqlite3BeginBenignMalloc().
...
FossilOrigin-Name: 0bee6583665782fac5d9e82bdf19b6f07e7bd03f
2015-09-01 19:51:37 +00:00
drh
5969c657ae
Merge recent enhancements from trunk.
...
FossilOrigin-Name: cb77236673e30af1e8749d984dedecc8f901b255
2015-09-01 18:52:35 +00:00
drh
4970d4032e
Merge enhancements from trunk.
...
FossilOrigin-Name: 29570a604806e2a60a8eef7eaf1dce022d2a7004
2015-09-01 18:31:19 +00:00
drh
a7f910b549
Rename SQLITE_FUNC_VARYING to SQLITE_FUNC_SLOCHNG - a more descriptive name
...
for what that bit means.
FossilOrigin-Name: ff5137a6dd8cb2a9b629b3a244f52665e9c9ebce
2015-09-01 13:17:17 +00:00
drh
7d3d9daea2
Remove unreachable branches.
...
FossilOrigin-Name: fd4da2318cc032d7c355376e440d4a05d7ab8793
2015-09-01 00:42:52 +00:00
drh
8b57642259
Fix a bug in error reporting when a UNIQUE index on expressions fails its
...
uniqueness test.
FossilOrigin-Name: 5a2c0e90a1933545b4768d91d8f7c42c8f391019
2015-08-31 23:09:42 +00:00
drh
03bf26d90d
Not only date/time functions, but also functions like sqlite_version() and
...
changes() need to be prohibited from use inside of indexes.
FossilOrigin-Name: 487131303980f15dd5e1b6695b4f29efda229eb8
2015-08-31 21:16:36 +00:00
drh
8492653c37
Always assume that indexed expressions can generate a NULL. Get
...
indexed expressions working for the case of two or more expressions in
the same index.
FossilOrigin-Name: cc60321a67bf9f169c090b47afb505f589a6925e
2015-08-31 19:38:42 +00:00
drh
390b88a448
Case should not be significant when comparing function names.
...
FossilOrigin-Name: e2f1caf117b0a9632d52246717ab202852982339
2015-08-31 18:13:01 +00:00
drh
1d85e405e6
Make the distinction between truly deterministic functions and date/time
...
functions which only return the same answer for a single query. Only truly
deterministic functions are allowed in indexes. Add new expression index
test cases.
FossilOrigin-Name: c77554b5c42327106a7b90334e9cc3c07b007c76
2015-08-31 17:34:41 +00:00
drh
47991425cb
Improved analysis and usage of indexed expressions in the query planner.
...
FossilOrigin-Name: f8893696387cba9d293a05a68dc38228077b3dc5
2015-08-31 15:58:06 +00:00
drh
087f83b662
Merge the latest enhancements from trunk.
...
FossilOrigin-Name: 7bde6d4d8cf05e1beb9bdf20b85760dc3e7a76c9
2015-08-31 14:27:29 +00:00
drh
3be094df69
Link the json1 extension into the command-line shell by default.
...
FossilOrigin-Name: 2e8e239cec5a12ac81cf62c0fbe94fb5713c31b1
2015-08-29 19:03:33 +00:00
drh
d29759288e
Fix the build with -DSQLITE_OMIT_VIRTUALTABLE.
...
FossilOrigin-Name: 752918def7231f7846b3e985c9953a1cc825ab6b
2015-08-29 17:22:33 +00:00
dan
8f9ea2dc70
Merge latest trunk into this branch.
...
FossilOrigin-Name: ab93024da7bd577d8850b417aff8597a8b3807fc
2015-08-28 15:50:24 +00:00
drh
31a5d34283
Fix the OR-optimization so that it always ignores subplans that do not use an index.
...
FossilOrigin-Name: cf452028d1be2c5578a07f6e21b4d8b613373eb8
2015-08-27 23:42:43 +00:00
drh
2dc292930d
Fix the OR-optimization so that it always ignores subplans that do not
...
use an index.
FossilOrigin-Name: 66f92a16866e5825363636b9cc4b8f9b29d9e84d
2015-08-27 23:18:55 +00:00