drh
953f7611da
Fix a long-standing issue with the distinct-as-aggregate optimization that
...
only expressed when the new collating-sequence logic is turned on.
FossilOrigin-Name: 0aaf52a339808386984c30cca0c0c35ac2e70e7e
2012-12-07 22:18:54 +00:00
drh
0a8a406e9b
Some errors in veryquick resolved. Many more to go.
...
FossilOrigin-Name: 972443b4eb282d45507da06c75e2cd46dd72326b
2012-12-07 18:38:16 +00:00
drh
ae80ddea9f
Remove the Expr.pColl field and compute the collating sequence as it is needed.
...
This fixes the test script "shared9.test", though there is still a memory leak.
And there are other problems. Consider this a work-in-progress.
FossilOrigin-Name: fd011cb22f2d899d94ec7ce22641d7a8f5e19972
2012-12-06 21:16:43 +00:00
drh
e6f1e760d5
Remove obsolete comments from the definition of the CollSeq object.
...
FossilOrigin-Name: 7b6951016f5bf4c21f843f09769ba176c709e785
2012-12-06 01:03:15 +00:00
dan
3de0f18476
If the atomic-write property is enabled, a transaction may be committed in journal_mode=DELETE mode without ever actually creating a journal file on disk. In this case, do not attempt to unlink() the journal file when committing the transaction.
...
FossilOrigin-Name: 11aa47b0a837858b644c304638e1cbbf482de2f0
2012-12-05 10:01:35 +00:00
dan
ac45593931
Add an option to register global hooks used for logging all SQL executed by an application.
...
FossilOrigin-Name: cd501bbccf3e62b002317592cc331770b32c129a
2012-11-26 19:50:41 +00:00
drh
782d68a4cd
Try to take into account the cost of inner loops when selecting which table
...
of a join to use for the outer loop.
FossilOrigin-Name: 942556342a332b04a11169bb04f387d741ef9488
2012-11-09 17:59:26 +00:00
drh
a575967793
Make it possible to disable the subquery-by-coroutine optimization using
...
sqlite3_test_control(). Remove an always-false conditional.
FossilOrigin-Name: 564631f3e45f8f8a8db69f1e0df0d1dadbad8a2c
2012-10-30 14:39:12 +00:00
drh
21172c4cc0
Add an optimization that attempts to run a subquery as a coroutine rather
...
than manifesting it into a temporary table.
FossilOrigin-Name: 7af3acbbd49a2114fcdada9ec907c68ba9b053bd
2012-10-30 00:29:07 +00:00
dan
06a2d82566
Move a couple of WAL-related function declarations in sqliteInt.h and pager.h into "#ifndef SQLITE_OMIT_WAL" blocks. Otherwise, the amalgamation fails to build using some compilers with SQLITE_OMIT_WAL (static function declared but not defined).
...
FossilOrigin-Name: f7437153b90b25a1b77294a0f8d1b0bd4bd08c08
2012-10-10 09:46:29 +00:00
dan
aedf9ee73a
Merge the shared-cache related fixes from the shared-cache-fix branch to the trunk.
...
FossilOrigin-Name: 698ec7769d4feea1782401479c61ce67d2113fd4
2012-10-05 17:44:51 +00:00
drh
79e72a50aa
Consolidate all occurrences of the "no such collation sequence" error message
...
into a single spot.
FossilOrigin-Name: 8ea67522fb03134f355ecb776b70c6917241cab2
2012-10-05 14:43:40 +00:00
dan
41fb5cd103
Shared-cache mode fixes for views and virtual tables.
...
FossilOrigin-Name: 2b370dea704b59262c604af0efcef5660b194454
2012-10-04 19:33:00 +00:00
drh
a9e3fc05f5
Fix some corner case behavior in the new ORDER BY optimization logic.
...
Remove the SQLITE_OrderByIdx bit from the
SQLITE_TESTCTRL_OPTIMIZATIONS mask, since enabling it caused many
TH3 tests to fail when the NO_OPT configuration parameter was engaged,
and since there really isn't any need to turn that optimization off.
The SQLITE_OrderByIdxJoin bit remains.
FossilOrigin-Name: 98b633717a1c9a08f6a1d00bc6bc891564ae7e9b
2012-09-27 23:27:23 +00:00
drh
7e5418e4a4
Add more bits to the bit vector that is used to disable optimizations for
...
built-in test. Add specific bit patterns to disable ORDER BY using an
index in general and for joins. Use macros to test for bits in the
disabled-optimization bit vector, in order to make the code clearer.
FossilOrigin-Name: d2fcba1e143beca8c45724d2108870657c269e17
2012-09-27 15:05:54 +00:00
drh
46c35f9b20
Further refactoring of the ORDER BY related query-planning logic in order
...
to make it easier to extend to support optimizing out ORDER BY on joins.
No actual behavior changes, yet.
FossilOrigin-Name: 96496ddae12a239b30a1fc997fbea43e3a75bfe7
2012-09-26 23:17:01 +00:00
drh
46ec5b63e2
Change the internal sqlite3WhereBegin() to report that the ORDER BY clause
...
is satisfied by indices using the WhereInfo.nOBSat field of the returned
structure.
FossilOrigin-Name: 22989f3588531efd555cc29d6c576e7a34b7edc4
2012-09-24 15:30:54 +00:00
drh
e8e4af7697
Consolidate more of the DISTINCT processing logic into a single spot in the
...
code. Reduce the number of OP_Column operations needed to perform a
WHERE_DISTINCT_ORDERED.
FossilOrigin-Name: 79e922f7ae29bbe06d639d648fbd72523cf9a28e
2012-09-21 00:04:28 +00:00
drh
634d81dee0
Continuing incremental enhancements of SELECT code generation:
...
Remove the Select.affinity field. Use SelectDest.affSdst instead.
FossilOrigin-Name: cf40b7b5ebdacc3215d769aadacce8c9e7e9dfbb
2012-09-20 15:41:31 +00:00
drh
2c79733f3c
Refactoring of DISTINCT code. Change the name of the local variable
...
"distinct" to "distinctTab". Generate cleaner code w/o unnecessary P4
and P5 values on the OP_Null for WHERE_DISTINCT_ORDERED.
FossilOrigin-Name: 0cda241a2bcb3c6f2ae6c48f522780bc4eddfc02
2012-09-20 14:26:22 +00:00
drh
ae651d614e
Add comments to the WHERE_DISTINCT_* macros. No changes to code.
...
FossilOrigin-Name: 82320501904f65030622a67836ba30f412169056
2012-09-19 17:31:15 +00:00
drh
de9a7b8a94
Add the ability to disable the covering-index-scan optimization at compile-time,
...
start-time, or at run-time. Add test cases to check this configurability.
FossilOrigin-Name: ccb8ecc30c8e6c7760131250297c2e452bbac43b
2012-09-17 20:44:46 +00:00
drh
f4af1089ab
Remove obsolete bits from the bitvector that defines disabled optimizations
...
in the SQLITE_TESTCTRL_OPTIMIZATIONS verb of sqlite3_test_control().
FossilOrigin-Name: 4c21ee2d26466f83dec525153e2b1506bd956701
2012-09-17 19:12:39 +00:00
drh
4261096124
Remove an unnecessary parameter from sqlite3Utf8Read() resulting in a slight
...
performance increase.
FossilOrigin-Name: 8b962c94a2f829f71efdd0ca770469b02feea3e1
2012-09-17 18:56:32 +00:00
drh
5f08526937
Factor out the code that generates a co-routine for evaluating the SELECT
...
on the RHS of an INSERT statement so that the same code can potentially
be reused in other places.
FossilOrigin-Name: a93ee09cdc15987848bf9023e69892ce9a5f989e
2012-09-15 13:29:23 +00:00
drh
6ec6549158
Improved alignment of fields in the Expr object gives an 8-byte size
...
reduction on 64-bit machines.
FossilOrigin-Name: 6b252a0d1a78db7bf2d650bafc214ea4064eef9e
2012-09-13 19:59:09 +00:00
drh
d815f17dab
Reduce the size of the Table object by 16 bytes on 64-bit machines, mostly
...
by avoiding intermixing pointer fields with integer fields.
FossilOrigin-Name: 1cb9aedfcf81f0086fa741cb29a062ee87724a5e
2012-09-13 14:42:43 +00:00
drh
a371ace426
Change boolean fields in the Column object from unsigned characters into
...
bits in a single bit mask variable.
FossilOrigin-Name: 4163f5f194741bc2bdf141973912661c6aac70f1
2012-09-13 14:22:47 +00:00
mistachkin
d5578433ff
Fix all known instances of 'repeated the' style typos in comments. No changes to code.
...
FossilOrigin-Name: 9b19b847533f944f289d93dcdba29c0d67bf251c
2012-08-25 10:01:29 +00:00
drh
d40e208726
Move field WhereLevel.pCovidx inside the union to WhereLevel.u.pCovidx.
...
FossilOrigin-Name: b722143d075979ba3d92b7b29e576ce2307187d1
2012-08-24 23:24:15 +00:00
dan
0efb72c969
Fix a problem to do with multi-or queries and automatic indexes.
...
FossilOrigin-Name: a3e26038a1d9f3331239f777c67d1920d904aab0
2012-08-24 18:44:56 +00:00
dan
bfca6a4066
Experimental change to support the covering index optimization for queries with OR terms in the WHERE clause that search a single index more than once.
...
FossilOrigin-Name: 1dc8c7c741a82bb98a07f3fdb8142d8bc8d8a98b
2012-08-24 10:52:35 +00:00
drh
030796df8d
Further improvements to the processing of nested aggregate queries.
...
FossilOrigin-Name: 3c3ffa901f5ce8a523028ff15563ce3e0f55a641
2012-08-23 16:18:10 +00:00
dan
428c218c90
When reusing pages as part of creating a new index, allocate the leaves from each free-list trunk page in ascending order, instead of trying to maximize localization for each individual allocation. This increases the chance that pages will be written to disk in ascending order by a large CREATE INDEX statement, improving overall performance.
...
FossilOrigin-Name: d045f8b2d44e388d8c4549ff02d4ca7eff4e2038
2012-08-06 18:50:11 +00:00
drh
2b596da8b7
Refactor field names in the SelectDest object to make them distinct and easier
...
to grep for.
FossilOrigin-Name: b589f1efb3907a68058bf2ee981dca126d083e83
2012-07-23 21:43:19 +00:00
drh
ed68801b20
Add the sqlite3_close_v2() interface (from the deferred-close branch) that
...
allows close operations to happen out-of-order in bindings to
garbage-collected langauges.
FossilOrigin-Name: fb8893abeefabe9de44e34dcf4327764481189f5
2012-06-21 15:51:42 +00:00
mistachkin
20b1ff0760
Fix spelling typo.
...
FossilOrigin-Name: 6131a0002fea5d6f3b416a63a466bf2b69d1e12d
2012-06-21 15:12:30 +00:00
drh
d1b0afc30c
Fix the SQLITE_ZERO_MALLOC compile-time option so that it works on windows.
...
FossilOrigin-Name: b80bc52f8964569f948c5671e9d58e4d199a08dc
2012-06-21 14:25:17 +00:00
drh
bae591a960
Merge the latest trunk changes into shared-schema branch. Also fix a C99-ism
...
in that branch.
FossilOrigin-Name: 42338e9e6979bb497823527f8f39e96f63623c59
2012-06-05 19:20:03 +00:00
drh
4245c405ea
The sqlite3_close() interface returns SQLITE_OK even if there are outstanding
...
sqlite3_stmt and sqlite3_backup objects. The connection becomes a zombie.
Resource deallocation is deferred until the last sqlite3_stmt or
sqlite3_backup object closes. This is intended to help SQLite play nicer
with garbage collectors.
FossilOrigin-Name: e276a02b7f54e804caa553dca99023416a415e1c
2012-06-02 14:32:21 +00:00
drh
1b28b89319
Link the NDEBUG macro to SQLITE_DEBUG so that when SQLITE_DEBUG is defined,
...
NDEBUG is automatically undefined an dwhen SQLITE_DEBUG is undefined
NDEBUG is automatically defined.
FossilOrigin-Name: 07935d10d341fe6265cfd3b09e2c4ef4005c4826
2012-05-29 19:25:20 +00:00
drh
3a8c4be7d4
Candidate fix for the nested aggregate query problem of ticket
...
[c2ad16f997ee9c8e].
FossilOrigin-Name: f3dd1fafd4718558de1f06139419a8c560d727f5
2012-05-21 20:13:39 +00:00
drh
a51009b251
Convert the NameContext object from using u8 booleans to using individual
...
bits in a single u8 as its booleans. This change might become a basis for
a fix for [c2ad16f997ee9c].
FossilOrigin-Name: 722260969306778029b738402f22e3c154dd77a1
2012-05-21 19:11:25 +00:00
drh
81028a455d
The former sqlite3ResetInternalSchema() routine was really two different
...
routines, selected by parameter, each with a confused mission. So split
this routine up into three separate smaller routines, calling each
separately as needed. Hopefully this will make further refactoring and
schema reset collateral damage containment easier.
FossilOrigin-Name: aa0c3493d3647d7efe527067e9fcccefda8e3008
2012-05-15 18:28:27 +00:00
dan
bba02a95d9
When a connection disconnects from a shared-cache database, only delete the in-memory schema if there are no other connections.
...
FossilOrigin-Name: 46f4eb5430d7bc9a339cdf7124ff4bd518eaa39b
2012-05-15 17:15:34 +00:00
drh
374fdce485
Improved handling of aggregate subqueries within an aggregate query.
...
FossilOrigin-Name: 430bb59d798286a86c351de92c429345f016b3f0
2012-04-17 16:38:53 +00:00
drh
89d5d6a2a7
Fix the application-defined function logic so that functions with a variable
...
number of parameters can be replaced or deleted correctly. Also refactor
some of the function-finder code for clarity of presentation.
FossilOrigin-Name: 09d5581c81fb6a9bf6a369d0abf5ef6b54637576
2012-04-07 00:09:21 +00:00
drh
f68686ae52
When a named CHECK constraint fails, include the name of the constraint
...
in the error message.
FossilOrigin-Name: 1b75f301affac654bee24fa247046ea0782d3c4d
2012-03-30 15:48:48 +00:00
drh
a748fdcc43
Evaluate typeof(X) and length(Y) where X is any column and Y is a blob column
...
without actually loading X and Y from disk.
FossilOrigin-Name: b899dbeb60752843287e2c6ad3577e1d00f0d587
2012-03-28 01:34:47 +00:00
drh
421377e67a
Add the sqlite3_db_readonly() interface. This is still tentative, pending
...
a closer look at other ideas to accomplish the same thing.
FossilOrigin-Name: 254f99ea9ff1534948bdb179e69ab0c940c87ec1
2012-03-15 21:28:54 +00:00