drh
d4305ca61c
Enhancements to the comments on sqlite3FindInIndex(). No code changes.
...
FossilOrigin-Name: b1a4c394995eb90b3fb43ab204704bda03799303
2012-09-18 17:08:33 +00:00
drh
e1a022e48b
Make sure the KeyInfo.aSortOrder array is always allocated so that we never
...
have to test for KeyInfo.aSortOrder==0 in performance-critical loops.
FossilOrigin-Name: 45793f0b844fee7445bc9269b403f89a58f77150
2012-09-17 17:16:53 +00:00
drh
fb0a60819b
Merge the nested aggregate query enhancements into trunk.
...
FossilOrigin-Name: d4cd6017c9875947a05b1dc36538d4272fb18739
2012-08-24 01:07:52 +00:00
drh
ed551b95a4
Add test cases and fix bugs associated with the previous check-in
...
enhancements to nested aggregate subquery processing.
FossilOrigin-Name: 00b1dc71be4c3420730b5f7840af824ea86165e7
2012-08-23 19:46:11 +00:00
drh
030796df8d
Further improvements to the processing of nested aggregate queries.
...
FossilOrigin-Name: 3c3ffa901f5ce8a523028ff15563ce3e0f55a641
2012-08-23 16:18:10 +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
bbabe19767
Mark and always-true conditional as such. Add the fuzz-oss1.test test module.
...
FossilOrigin-Name: bdc01fd0fa0c15efbb32bf18527c71e3e4dc48ed
2012-05-21 21:20:57 +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
d5a336ef58
Fix harmless compiler warnings (unused parameter warnings) in the aggregate
...
query analyzer.
FossilOrigin-Name: 2d43562084316ec180a4c2cfc3fee08d58432204
2012-04-19 15:49:19 +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
5fb52caadf
Do more aggressive optimization of the AND operator where one side or the
...
other is always false.
FossilOrigin-Name: f9a7e179cbbeeab5e57bbf392bef89750215546b
2012-03-31 02:34:35 +00:00
drh
4e245a4c35
Fix compiler warnings on GCC and MSVC and fix a C89-ism that
...
broke the build for MSVC.
FossilOrigin-Name: b451c0f97f0abe78ebe6c62ff489ec1ad8a1f767
2012-03-30 00:00:36 +00:00
drh
31ec740a3d
Fix the typeof() and length() optimization so that it works for aggregates
...
as well as scalar queries.
FossilOrigin-Name: bc18215a8a660442db6ddeeda4a88df0acffe0f7
2012-03-28 02:43:20 +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
6c5351589c
Simplified array allocation in the IdList and AggInfo objects.
...
FossilOrigin-Name: 25df2a7458d025bc00380b4a0893637639f9f0d4
2012-02-02 03:38:30 +00:00
drh
d872bb180c
Remove the nAlloc field from the ExprList object.
...
FossilOrigin-Name: 5963de303a9106b446a9423aa838bfdf6bc1e7f3
2012-02-02 01:58:08 +00:00
drh
4b3ac73c2f
Minor cleanups of the compound-subquery flattening logic. New test cases
...
added for joins the compound subquery.
FossilOrigin-Name: 5061d85ff934db3c217c97acbbbed3286d9e02aa
2011-12-10 23:18:32 +00:00
drh
678a9aa7bd
Import the experimental parse-tree explainer, with fixes, from the
...
tree-explain branch.
FossilOrigin-Name: bcbc7152d49107afa926c8950360c61a6cf3d244
2011-12-10 15:55:01 +00:00
drh
a5eec8c8c3
Merge the latest trunk changes into tree-explain branch.
...
FossilOrigin-Name: 1a360da0f8314f232c224c71829646bc7558892b
2011-12-10 14:44:31 +00:00
drh
b8475df809
Make no assumptions about the initial state of VDBE registers.
...
FossilOrigin-Name: 521d72bdf67b4b1972331307345a18c231a6e1d6
2011-12-09 16:21:19 +00:00
dan
1d8cb21fdb
Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442].
...
FossilOrigin-Name: 557c69055a300b4082830b5f4803091dca1c3140
2011-12-09 13:24:16 +00:00
drh
04b8342b83
More compact notation for the parse-tree view.
...
FossilOrigin-Name: 0eb3f8b1e3a196811fb54a5e2645debe6119610a
2011-12-07 15:33:14 +00:00
drh
23b1b37229
Cherrypick the [7e5b56b1c6] fix for the sqlite3SelectDup() routine
...
into trunk.
FossilOrigin-Name: 7fc535090ca3416706dff4abce10ac2d7f775e02
2011-12-07 01:55:51 +00:00
drh
e7e6a54504
Bug fix in sqlite3SelectDup(). Make sure the pNext pointer is valid.
...
FossilOrigin-Name: 7e5b56b1c602d4adfd4496a9c877f3b685b2d360
2011-12-07 01:47:27 +00:00
drh
a84203a074
Improvements to the data-structure explain subsystem. Most queries now
...
give a reasonably detailed graph of their parse tree.
FossilOrigin-Name: 0aa7d3d2346bdddcc4e1e25ee26d13c8594885e5
2011-12-07 01:23:51 +00:00
drh
7e02e5e6b5
Begin adding the data-structure explaining subsystem. All is contained within
...
FossilOrigin-Name: 79ae51c5b1b20ed0a425a87e65a32a096a80b7e1
2011-12-06 19:44:51 +00:00
drh
cdc6955716
Do not reuse temp registers originally allocated to a subroutine within
...
the main body of the program logic, since if the subroutine is called
while the reused temp registers are in use, their values will get clobbered.
Candidate fix for ticket [3a77c9714e63330]
FossilOrigin-Name: 092d53315e50be42b51ef7b3069c82c32a129b6a
2011-12-06 13:24:59 +00:00
drh
b07028f71c
Add assert() statements and eliminate needless variable assignments in order
...
to get the clang scan-build utility to report zero problems against the
SQLite core. Clang's static analysis did find one real problem - but it was
in the command-line shell, not in the SQLite core.
FossilOrigin-Name: 60fee9574b0125705787e33c16f116cf188c8323
2011-10-14 21:49:18 +00:00
drh
6b93c9ae24
Make sure the query optimizer for aggregate queries knows that expressions
...
(x='a') and (x='A') are different. Ticket [fa7bf5ec94801e7e]
FossilOrigin-Name: e43da426e66e6b63d5ed9610a6308aba0089313b
2011-10-13 15:35:52 +00:00
drh
dfd2d9f6c9
Fix a problem with SQLITE_OMIT_TRACE that was introduced by the recent
...
OP_Once change.
FossilOrigin-Name: 96be3f7b59b3ed4703b907e29db629df34b2b56f
2011-09-16 22:10:57 +00:00
drh
48f2d3b10a
Add the new OP_Once opcode. Use it to clean up and simplify various
...
one-time initialization sections in the code, including the fix for
ticket [002caede898ae].
FossilOrigin-Name: 7f00552b739fad79517b042a6ed61abe743a917b
2011-09-16 01:34:43 +00:00
drh
5b6a9ed495
Materialize subqueries using a subroutine and invoke that subroutine
...
prior to each use of the subqueries manifestation. Fix for
ticket [002caede898aee4]
FossilOrigin-Name: 4b8357ee3c4ccdbd34e0cd077efd84cca677f496
2011-09-15 23:58:14 +00:00
dan
5134d1357e
Instead of a temporary b-tree, use a linked-list and merge-sort to sort records in main memory in vdbesort.c.
...
FossilOrigin-Name: 7769fb988d9be0f2d8129aaac19620ac88f9b4a6
2011-09-02 10:31:11 +00:00
dan
da79cf0cc9
Fix for [54844eea3f]: Do not create automatic indexes on correlated sub-queries.
...
FossilOrigin-Name: 9f14fa56ba31afe3de8b0cf26ed09573a2cc2283
2011-07-08 16:10:54 +00:00
drh
04e9eeadc6
Avoid unnecessary duplication of SQL parameter names.
...
FossilOrigin-Name: e704e8690ae35decc9769a45cf8d519ccad8b79d
2011-06-01 19:16:06 +00:00
drh
124c0b49a1
Refactor the SQL parameter processing so that parameter names for values
...
that are optimized out of the prepare statement are not forgotten.
FossilOrigin-Name: b3aaf715b60b8a338cc6c92dad1ead4a3f7146a3
2011-06-01 18:15:55 +00:00
drh
8d129422ed
Fix the P4_TRANSIENT constant so that it works correct - so that it really
...
makes a copy of the string for the P4 argument. Use P4_TRANSIENT wherever
appropriate. Change P4_STATICs of schema names to P4_TRANSIENT.
FossilOrigin-Name: bf664b206bf6f5c1941da1986dfe2c0d1831d5e4
2011-04-05 12:25:19 +00:00
drh
d50ffc416f
Fix additional cases of possible signed integer overflow, especially with
...
regard to negation.
FossilOrigin-Name: 2d5800bd8cfc7d7f5578a71b1aeaa74b2ec4b372
2011-03-08 02:38:28 +00:00
drh
158b9cb965
Fix all known instances of signed-integer overflow. Within SQL expressions,
...
integer overflow now forces coercion to floating point. The shift operators
work with any integer right-hand operand with negative values reversing
the direction of the shift.
FossilOrigin-Name: abf21394124a0af46f072793718964cee2ce55d0
2011-03-05 20:59:46 +00:00
drh
cfd654bf2a
Fix an instance of signed arithmetic overflow and an one bit-shift overflow.
...
Mark six other signed arithmetic overflow locations that need fixing.
FossilOrigin-Name: 04abab71ecd52f6070b9f84781a3df3d6dba7722
2011-03-05 13:54:15 +00:00
drh
cd92e84d07
Remove a no-op code path from sqlite3ExprIsInteger(). Replace it with an
...
assert() that proves it always does nothing.
FossilOrigin-Name: 7af66d1bd53fd5973281646511e4e1d3b16601a3
2011-02-17 15:58:20 +00:00
drh
84e30ca0ed
Prevent a segfault when automatic indices try to use a column with an
...
unknown collating function. Ticket [77aa3b1e6592582e38605d36]. This
check-in also removes some stray \r characters unrelated to the problem.
FossilOrigin-Name: f01030a0df4f94f886ab209ee8766b095da28c1e
2011-02-10 17:46:14 +00:00
shaneh
bb201344cf
Make sure code *compiles* with each OMIT and ENABLE option. Mostly changes to test modules.
...
FossilOrigin-Name: 7cc515edc9cade2bc6c74699b3e4153bf2b74ebb
2011-02-09 19:55:20 +00:00
drh
f58ee7f1aa
Add the ability to disable constant factoring using sqlite3_test_control().
...
Add a TCL interface to this new capability and add tests cases to the TCL
test scripts to actually use the new capability.
FossilOrigin-Name: ad8bc68197f2b47435149c3dbc035f4e7210fc76
2010-12-06 21:06:09 +00:00
drh
ef4c059843
Back out part of the previous change that was not really necessary in order
...
to fix [80ba201079ea60], and which in fact serves no useful purpose.
FossilOrigin-Name: fa9eef865f2f399870305bef82296db25e5b3e90
2010-12-06 18:59:13 +00:00
drh
48b5b041d1
Initialize all constants at the very beginning of a prepared statement.
...
Do not allow constant initialization to occur once control flow has a chance
to diverge, to avoid the possibility of having uninitialized registers.
Ticket [80ba201079ea60807].
FossilOrigin-Name: c5c53152d68218bb5e7f922271dd7c50da2361c1
2010-12-06 18:50:32 +00:00
dan
4a07e3db27
Further enhancements and fixes for explain query plan.
...
FossilOrigin-Name: 73c93f5a2a32ee8c5d07c9ba33b2641e72626627
2010-11-09 14:48:59 +00:00
dan
2b359bdbe4
Enforce the MAX_EXPR_DEPTH limit while building expression trees during SQL parsing.
...
FossilOrigin-Name: 2625eee0cb7f22dba61459b689e33a03ecebb6da
2010-10-28 11:31:23 +00:00
shaneh
5f1d6b616e
Changes to remove sqlite3FitsIn64Bits().
...
FossilOrigin-Name: 43fef1cab6315f837782ea601d5a2aeb9843ab3c
2010-09-30 16:51:25 +00:00
drh
9339da1f22
Rework the text to numeric conversion routines so that they work with either
...
UTF8 or UTF16 and do not require a NULL terminator. This allowed text to
numeric conversion without reallocating the string.
FossilOrigin-Name: 14eed3a0e0a45c6f2904a3a134aa27c159916f7b
2010-09-30 00:50:49 +00:00