dan
c45f24b281
Fix an uninitialized variable causing a problem during fts5 table initialization.
...
FossilOrigin-Name: a14fa876f0eb66028e302b908967cc4a05ede9fc
2014-08-09 18:22:59 +00:00
dan
b191db8390
Use multiple memory allocations for a single Fts5Structure object. This is probably less efficient but much easier to get right.
...
FossilOrigin-Name: 2821825f7a481755a333dcdcad780b3e24448f20
2014-08-09 18:02:27 +00:00
drh
e8a537eea7
Update requirements marks. No changes to code.
...
FossilOrigin-Name: 7556bd9aa5db1b9cd92d0e48effcda9fe96f3128
2014-08-08 18:26:20 +00:00
drh
ee5141de47
Improvements to the way the query planner handles sorting costs, so that
...
very large sorting costs do not overwhelm the loop costs.
FossilOrigin-Name: bdaa6947371a60a31b6a13267b0ba6e46df2a8ce
2014-08-08 17:49:55 +00:00
dan
e2c278513d
Fix a buffer overrun in the previous commit.
...
FossilOrigin-Name: 43c59c85436dc8001c81f4aac7f5231b13d741cb
2014-08-08 17:25:33 +00:00
dan
50ae31e6f6
Because SQLite internally calculates query plan costs using a logarithmic scale, very large estimated sorting costs can cause all other estimated costs to be rounded down to zero. In these cases break ties between plans with the same total cost by comparing the costs with sorting excluded. This is an alternative fix for the same problem as addressed by [2af630c572].
...
FossilOrigin-Name: 299b9570279ded7158d22349ef93384286a5c755
2014-08-08 16:52:28 +00:00
drh
3c19bbea0a
The SQLITE_IOERR_BLOCKED extended error code is not longer used, so remove
...
assert() statements and documentation for that error code. Also make other
documentation improvements.
FossilOrigin-Name: 36b7c5cefcad6bad044806092593c84876fee8bc
2014-08-08 15:38:11 +00:00
drh
1d8ba02445
Reworking the documentation on integer result codes. This is a comment
...
and documentation change only. There are no changes to code.
FossilOrigin-Name: 54f1df7b63166f14b2f0d5955c546820e5cbdec9
2014-08-08 12:51:42 +00:00
drh
b562f63c1b
When the estimated sorting cost overwhelms the estimated lookup cost, ensure
...
that lookup costs are still taken into account when selecting a lookup
algorithm.
FossilOrigin-Name: 2af630c5720a4d71f22a952af29346a09bd8dfd0
2014-08-07 20:42:33 +00:00
drh
f2a90306ca
Clarify the computation of compatible isOrdered by in the plan solver of
...
the query planner.
FossilOrigin-Name: b5e8fd575a80334160de0aac8084ed5cd28816a5
2014-08-07 20:37:01 +00:00
drh
b28ce65f45
Remove the extraneous debugging printf() from the previous check-in.
...
FossilOrigin-Name: 8f04d2c0084afa6381e78847c9aa296498d448cb
2014-08-07 20:25:37 +00:00
dan
1d3ed1f46a
Add "segment promotion" to fts5. This prevents the FTS index from growing indefinitely as data is added and deleted.
...
FossilOrigin-Name: ba359d78e166d78e0dc89e3c63a9a41e9ffea989
2014-08-07 18:47:33 +00:00
drh
ddef5dc044
When the estimated cost to do a sort overwhelms the estimated cost to do
...
individual table lookups, make sure that the table lookup costs are still
taken into consideration when selecting the lookup algorithm.
FossilOrigin-Name: ec5d84ba69c100d9565425ed74040a49e410ea03
2014-08-07 16:50:00 +00:00
dan
d90aab8f94
Avoid writing delete markers to the oldest segment in an FTS index.
...
FossilOrigin-Name: 1baeb1cee61d9c56c718b50af034a24f1018a322
2014-08-06 20:04:14 +00:00
drh
858b638d1f
A couple more harmless compiler warnings eliminated.
...
FossilOrigin-Name: bcf6d775f90f4d1ba018a1b965f2f710df130f01
2014-08-06 18:50:51 +00:00
drh
e8f2c9dc71
Fix two more harmless compiler warnings. Make sure the fts3_unicode2.c file
...
is in sync with mkunicode.tcl.
FossilOrigin-Name: a2a60307ea68a3230952a56cb65369ba0a208967
2014-08-06 17:49:13 +00:00
dan
7b71fbaf93
Add support for savepoints to fts5.
...
FossilOrigin-Name: 3b19eba042bb2eeb1be60f8d58ebaa0a045d6a5c
2014-08-06 16:30:21 +00:00
drh
5402710b0b
Fix harmless compiler warnings. In the command-line shell, report if the
...
".system" command returns a non-zero result.
FossilOrigin-Name: 1202e9771f6d699dbf5268368108a3527d06d799
2014-08-06 14:36:53 +00:00
drh
73472e38ce
Merge the second InterlockedCompareExchange() fix from trunk.
...
FossilOrigin-Name: 69018967f6e38521dd9b0fa9ce05c9b947635335
2014-08-06 12:00:08 +00:00
drh
ede7ae31f1
Fix an obsolete comment in the func.c source file. No changes to code.
...
FossilOrigin-Name: 5c6bb57d90bad32785d6d9cdf110a825bbc5ec73
2014-08-06 11:58:40 +00:00
drh
2abe6a281c
On the windows VFS, do not try to make InterlockedCompareExchange an
...
overloadable function, since sometimes it is a macro.
FossilOrigin-Name: ab1a751e1304749bef5bc5c833f9abed8950f7d0
2014-08-06 11:57:54 +00:00
drh
0894993e88
Fix an obsolete comment in the func.c source file. No changes to code.
...
FossilOrigin-Name: 7a145c9409e70b92946534eb44c2e205f7309897
2014-08-06 11:49:31 +00:00
drh
6a3d6085ad
Merge in the fix for the InterlockedCompareExchange() build issue.
...
FossilOrigin-Name: 091aa5f1047f0ec984a69ab1f356c1960813b77b
2014-08-06 03:16:56 +00:00
mistachkin
17835a5443
In the Win32 VFS, work around InterlockedCompareExchange() being a macro on some platforms (e.g. x64).
...
FossilOrigin-Name: 7be244ce129d6502f3a3e3f3e8a1dd61ef71d878
2014-08-06 03:06:01 +00:00
drh
da2e5862d1
Merge all recent changes from trunk.
...
FossilOrigin-Name: a353a8515fb2eff86042d0c33e39772f4d04e0b3
2014-08-06 02:03:35 +00:00
drh
58c4cbe152
Merge the latest 3.8.6 beta changes from trunk.
...
FossilOrigin-Name: 68a6d5e2f43702c78057ae2f2a7345c981d24e17
2014-08-06 01:25:47 +00:00
drh
bc5cf3813e
Fix typos in the opcode documentation. Comment changes only. No changes
...
to code.
FossilOrigin-Name: 717245d48714c08156c9b7636aaa6c3a402bad66
2014-08-06 01:08:07 +00:00
drh
0c4de2d96d
A simpler fix for ticket [3a88d85f36704eebe1] - one that uses less code.
...
The error message is not quite as good, but as this error has apparently
not previously occurred in over 8 years of heavy use, that is not seen as
a serious problem.
FossilOrigin-Name: 0ad1ed8ef0b5fb5d8db44479373b2b93d8fcfd66
2014-08-06 00:29:06 +00:00
drh
1cfc9aa993
Ensure that aggregate functions are not used when evaluating a default
...
value for a table column.
Candidate fix for ticket [3a88d85f36704eebe134f7].
FossilOrigin-Name: 29ba812825bf06ef230f2480bba0579653f0a52d
2014-08-05 21:31:08 +00:00
dan
192d413e95
Use doclist indexes for AND queries as well as phrases.
...
FossilOrigin-Name: 5d38e6edc40ef188fbf96505073797036aa6783a
2014-08-05 19:35:20 +00:00
drh
42191f6248
Add the ability to evaluate IN operators as a sequence of comparisons as
...
an alternative to the long-standing algorithm of building a lookup table.
Use the new implementation in circumstances where it is likely to be faster,
such as when the RHS of the IN changes between successive evaluations.
FossilOrigin-Name: 952868216854e8355edf57af62bd1a6bcb70ce61
2014-08-05 19:16:22 +00:00
dan
d5997d80cb
Use doclist-indexes with "ORDER BY rowid ASC" fts5 queries as well.
...
FossilOrigin-Name: d028ba6589f3122b635474c2683c0f93d5bc6c7c
2014-08-05 19:00:22 +00:00
drh
2c5e35ffd1
Rename the internal Schema.flags field to Schema.schemaFlags.
...
FossilOrigin-Name: 5ae80b3c8f032528359c8c762505ce24da8db96f
2014-08-05 11:04:21 +00:00
drh
4336b0e64a
Improved VdbeCoverage() macros. A few minor simplifications to generated
...
VDBE code.
FossilOrigin-Name: 01f60027ad1841051fa493a646141445f8971357
2014-08-05 00:53:51 +00:00
drh
2c3ea0694f
Part of the change in the previous check-in was incorrect and can result
...
in an incorrect UPDATE for WITHOUT ROWID tables. This check-in fixes the
problem.
FossilOrigin-Name: ee5f6eae57a656d09a4b3f7fbef664b2c696ddb4
2014-08-04 21:26:58 +00:00
dan
9a67058a63
Fix fts5_index.c to use doclist-indexes when possible. Only some cases work so far.
...
FossilOrigin-Name: 90b82d3ef613b2915e0e280dc1d2e5a2b617d59c
2014-08-04 20:07:40 +00:00
drh
7248a8b2b9
Further enhancements to IN-operator processing.
...
FossilOrigin-Name: 7fdf26da1d2f40b80f9e44ff6f5af22ace8f95f3
2014-08-04 18:50:54 +00:00
drh
a976979b6e
Refinements to the enhanced IN-operator logic.
...
FossilOrigin-Name: 92ba2821468ecbfac2469161d81c873de67b2243
2014-08-04 16:39:39 +00:00
drh
bb53ecb1db
Enhancements to the code generator for the IN operator that result in much
...
faster queries in some cases, for example when the RHS of the IN operator
changes for each row of a large table scan.
FossilOrigin-Name: 436e884215e2b33ca3fbb555362237b12827c07a
2014-08-02 21:03:33 +00:00
dan
9af0705e84
Start changing things to use doclist indexes as required. code is not activated yet.
...
FossilOrigin-Name: b8864da95db2c0e611116304d607e35a86c9247d
2014-08-02 20:49:36 +00:00
mistachkin
16d511a664
Remove (newly) incorrect preprocessor check to fix build on WinRT.
...
FossilOrigin-Name: ba7826542908eac2e14789d183d0b3e35b143fed
2014-08-02 20:44:13 +00:00
drh
4c259e9f40
A better comment on the generated code for the NULL-in-RHS-of-IN detection
...
logic.
FossilOrigin-Name: 9bc1c730a366e75b760b58e7a343d39165b2a469
2014-08-01 21:12:35 +00:00
drh
6be515ebe0
Improved detection and handling of NULL values on the RHS of a IN operator.
...
FossilOrigin-Name: 468e730036edac22cfeb9ea3515aa16e6bcd6650
2014-08-01 21:00:53 +00:00
dan
ff31da03e5
Add a special case to the integrity-check code to check that the final integer in a doclist index is as expected.
...
FossilOrigin-Name: c98934155cb48adfda57bd0fd1b950226d45f67a
2014-08-01 20:13:49 +00:00
dan
d34742901d
Have the fts5 integrity-check verify that doclist indexes match the contents of the leaf pages that they index.
...
FossilOrigin-Name: 37a7d3035eb4bbad7e32fe550321ac9fae611a57
2014-08-01 19:27:07 +00:00
drh
e21a6e1dfe
Remove an unnecessary OP_Null in the IN-operator logic. Attempt to clarify
...
comments explaining the IN-operator code, though it is not clear that the
comments are correct even yet - more work to be done.
FossilOrigin-Name: c11e55fabbc718cb324ecd3540453c25db98f50c
2014-08-01 18:00:24 +00:00
drh
5c3e9cf9de
Clean up the IN operator code generation logic to make it easier to reason
...
about. In the process, improve code generation to omit some unused OP_Null
operations.
FossilOrigin-Name: 7c6fbcfe6ed5739e8e4639b7b123fbf9828cbfc0
2014-08-01 15:51:36 +00:00
drh
e80c9b9ad5
The idea of coding IN operator with a short list on the RHS as an OR expression
...
turns out to be helpful. If the list is of length 1 or 2, the OR expression
is very slightly faster, but the ephemeral table approach is clearly better for
all list lengths greater than 2. Better to keep the code simple.
FossilOrigin-Name: e13175d3579e1045165bab091b3b28951d691704
2014-08-01 15:34:36 +00:00
drh
3a85625d87
Begin making changes to the IN operator in an attempt to make it run faster
...
and to make the code easier to understand.
FossilOrigin-Name: ee0fd6aaf94cda1dce3fe752bfe3b0f83e0043f1
2014-08-01 14:46:57 +00:00
dan
a29284d65f
Add "doclist index" records to the database. These are to make navigating within very large doclists faster. They are not yet used by queries.
...
FossilOrigin-Name: 89377421ff69f2450364987afe781b6d8bcbf087
2014-08-01 11:16:25 +00:00