dan
4979088506
Avoid attempting to mmap memory from an offset that is not a multiple of the system page size on systems with page sizes larger than 32KB.
...
FossilOrigin-Name: db7d62c8d58eb1e8654a762c9b199ae4e2759038
2014-03-24 11:23:17 +00:00
drh
323913c880
Avoid a possible use of an uninitialized variable following an I/O or OOM
...
error.
FossilOrigin-Name: 641408a1395bfc911ca619ef9e5f073b913d856b
2014-03-23 16:29:23 +00:00
drh
dbfca2b7f8
Clear the sort-order flags on the KeyInfo object associated with the
...
OP_Compare/OP_Jump of the block-sort logic, in order to make the OP_Jump
fully testable.
FossilOrigin-Name: 9b2838f23e5f52369eeb078f60bd231cc54362f8
2014-03-22 02:19:53 +00:00
drh
c83a6bed04
Increase the version number to 3.8.5.
...
FossilOrigin-Name: 9760879d086b61476890927f01806a93798d4eee
2014-03-22 01:52:17 +00:00
drh
59b8f2e108
Fix the ORDER BY optimization logic so that it will do a block-sort on
...
a partial DESC ORDER BY. This enhancement uncovered a memory leak in
pushUntoSorter() which is also fixed.
FossilOrigin-Name: c36f74611cf17ad2ff198a2ac2054d7ab451a72c
2014-03-22 00:27:14 +00:00
drh
9a4444778f
Add the ability to use indices for the first few terms of an ORDER BY clause,
...
then sort in batches to handle the later terms.
FossilOrigin-Name: fa06a6fed9f48322d9b89721799ba12c46efa898
2014-03-21 20:58:42 +00:00
drh
8e1ee88c88
Change the names of SRT_DistTable and SRT_Table used by CTE to more
...
meaningful SRT_DistFifo and SRT_Fifo, respectively. Simplify the
IgnorableOrderby() macro in the process.
FossilOrigin-Name: 45d8cc678d128f1dda6469864215a8ed9de4366a
2014-03-21 19:56:09 +00:00
dan
9afccba269
Avoid leaking memory in an obscure case where the flattener adds an ORDER BY clause to the recursive part of a recursive query.
...
FossilOrigin-Name: 1f413aca00015100224273480e1ce39a76bf93ab
2014-03-21 19:27:54 +00:00
drh
cc08fa48b8
Merge the OFFSET-on-query-without-FROM fix from trunk.
...
FossilOrigin-Name: 71e9ae72c272dc86720b2bfe719f57de437c400b
2014-03-21 18:45:19 +00:00
drh
a22a75e5ca
Fix the OFFSET clause so that it works correctly on queries that lack
...
a FROM clause. Ticket [07d6a0453d4ed8].
FossilOrigin-Name: 179ef81648b0ad557df78b7712f216b876b6fb65
2014-03-21 18:16:23 +00:00
drh
e99b9cdc70
New test case for block-sorting.
...
FossilOrigin-Name: e70cfa28aa393661ccc742ecd5e672d807bdd0a9
2014-03-21 15:24:07 +00:00
drh
f9f1bdb0c8
Merge trunk fixes for "x IN (?)" handling.
...
FossilOrigin-Name: eca35871c34374ca9189c7c9b6d490ac3c30357f
2014-03-20 20:56:49 +00:00
drh
5b1420e046
Remove a testcase() that is now always true due to the "x IN (?)" optimization.
...
Add an ALWAYS() around a conditional in the parser that cannot be false.
FossilOrigin-Name: d5a1530bdc7ace053d05d1a037551110021d3758
2014-03-20 19:04:56 +00:00
drh
8ad0de3f72
Fix the EXPLAIN indenter in the command-line shell to correctly
...
handle NextIfOpen and PrevIfOpen opcodes.
FossilOrigin-Name: 01944c53f5c129f48ce8842faaedcf5607dd381e
2014-03-20 18:45:27 +00:00
drh
fbb24d1092
The "x IN (?)" optimization in check-ins [2ff3b25f40] and [e68b427afb] is
...
incorrect, as demonstrated by the in4-5.1 test case in this check-in.
The "COLLATE binary" that was being added to the RHS of IN was overriding
the implicit collating sequence of the LHS. This change defines the EP_Generic
expression node property that blocks all affinity or collating sequence
information in the expression subtree and adds that property to the expression
taken from RHS of the IN operator.
FossilOrigin-Name: 2ea4a9f75f46eaa928ba17e9e91bc0432750d46d
2014-03-20 17:03:30 +00:00
drh
4ef7efad5e
Fix harmless compiler warnings.
...
FossilOrigin-Name: b1435f26b07b2208cfcca557f96342a5bd0d5328
2014-03-20 15:14:08 +00:00
drh
0a8d14261c
Previous check-in is not quite correct. "x IN (?)" is not exactly the same
...
as "x==?" do to collation and affinity issues. The correct converstion should
be to "x==(+? COLLATE binary)". The current check-in fixes this problem and
provides test cases. Ticket [e39d032577df69]
FossilOrigin-Name: 2ff3b25f40fd117c8a2da1d1a3625f6b167b7b16
2014-03-20 14:56:47 +00:00
drh
2b59b3a4c8
Convert expressions of the form "X IN (?)" with exactly one value on the
...
RHS of the IN into equality tests: "X=?". Add test cases to verify that
statements work correctly on this corner case.
Fix for ticket [e39d032577df6942].
FossilOrigin-Name: e68b427afbc82e201c64474117851aa4c9eb0c92
2014-03-20 13:26:47 +00:00
drh
0c8a934cb4
Fix an unnecessarily obtuse use of a bitmask flag.
...
FossilOrigin-Name: ca3140813198ab7ce470cf86334e55207f3461f9
2014-03-20 12:17:35 +00:00
dan
bc76063cd2
Add a test to ensure os_unix.c works with 64KiB OS pages.
...
FossilOrigin-Name: e3d2be3ba47cdaafd26347620ae3bc2813203f16
2014-03-20 09:42:09 +00:00
dan
781e34cde3
Add an experimental fix to avoid attempting to mmap memory from an offset that is not a multiple of the system page size on systems with page sizes larger than 32KB.
...
FossilOrigin-Name: 6f3a5c24d254fc6faf607b505bdef4a7aafc21af
2014-03-20 08:59:47 +00:00
drh
db1cc09c72
Merge the vdbesort.c optimization from trunk.
...
FossilOrigin-Name: e4bfffb988283c077778c60696be0d285ad66c3c
2014-03-19 23:42:51 +00:00
drh
6284db908a
Fix query planner weights associated with choosing block-sorting. Fix
...
block sorting of tables with collating functions. Fix various test cases.
All "veryquick" tests are now passing, though more tests need to be added.
FossilOrigin-Name: 01afbf97c0ff29667806e9a7c4d74ca717819de5
2014-03-19 23:24:49 +00:00
dan
344510e62b
Avoid some unnecessary calls to sqlite3VdbeRecordUnpack() that were being made when merging data from two or more temp files together in vdbesort.c
...
FossilOrigin-Name: 707ea170b3e26965b7e3982f7554d122d130b9a6
2014-03-19 20:01:25 +00:00
drh
65ea12cb4a
Make it possible for block-sort to use the OP_SorterOpen sorter in addition
...
to a generic OP_OpenEphemeral.
FossilOrigin-Name: 7ce2daafd39a117041bfdd0a7132e2764fe7a74b
2014-03-19 17:41:36 +00:00
drh
26d7e7c6b7
Fix a problem in the block-sort logic that can arise if the VDBE opcode
...
array is resized while the block-sort logic is being coded. "make test"
now runs to completion, though there are still 17 failures.
FossilOrigin-Name: 62f3a22050e0f11c789374f8a3785df0a84c24cb
2014-03-19 16:56:58 +00:00
drh
ba194369ad
Avoid reusing temporary registers in co-routines when doing
...
block-sorting.
FossilOrigin-Name: 463d921b519b08648a715e987c430f06b06bae84
2014-03-19 15:17:24 +00:00
drh
ea6c36e204
Make sure the where.c query planner never reports that the number of ORDER BY
...
terms that are satisfied by indices is negative.
FossilOrigin-Name: b186d8d15a10d5e8fcae9ae72e8624d71831f5bd
2014-03-19 14:30:55 +00:00
drh
079a307259
First attempt at getting block-sort to work. This is an incremental check-in.
...
There are many problems still to be worked out.
FossilOrigin-Name: 59742dd4c5259883850044d0938248b009ebd045
2014-03-19 14:10:55 +00:00
drh
ddba0c227e
Make the partial-ORDER-BY information in the query planner available to the
...
SELECT code generator. Still doesn't make a difference in the generated code.
FossilOrigin-Name: e258df236b7de70087c8227cb209080e55b9bf9c
2014-03-18 20:33:42 +00:00
drh
d2de861cbe
Adjust the query planner to keep track of the number of ORDER BY terms
...
satisfied. Still doesn't do anything with this information. Some tests
fail after this check-in, but all failures are believed to be benign. The
failures will be addressed at a later stage.
FossilOrigin-Name: 59d49b7fc49fa290e04a02653e7268c85836b27e
2014-03-18 18:59:07 +00:00
drh
0401acec91
Experiments with the optimization of ORDER BY and GROUP BY clauses.
...
FossilOrigin-Name: b150902579d708b454efd5f8750e26a816f7f1a6
2014-03-18 15:30:27 +00:00
drh
0e682099a1
Clean up some obsolete "register" declarations in printf.c.
...
FossilOrigin-Name: ecd9d3f9453be0bb8e312d8027fd1a9e55882f36
2014-03-17 15:06:57 +00:00
drh
a70a073b3f
Performance enhancements and size reduction for sqlite3VXPrintf()
...
FossilOrigin-Name: eb071eb58cf675bd6cd9dd46aed9d57fbb7a77e8
2014-03-17 14:24:27 +00:00
drh
18c7e40ca3
Fix a harmless compiler warning that crops up with SQLITE_MAX_MMAP_SIZE=0.
...
FossilOrigin-Name: 1277932b7e8bb36c7070ffafbf110a8e128c267b
2014-03-14 11:46:10 +00:00
dan
d88e521f59
Fix an obscure bug causing sqlite3_close() to fail if there are virtual tables on the disconnect list when it is called.
...
FossilOrigin-Name: 6504aa47a8ebb13827be017c4cb4b2dc3c4c55f4
2014-03-12 19:38:38 +00:00
dan
82d25da5b0
Changes to FTS to ensure that it does not access the database from within the xConnect method.
...
FossilOrigin-Name: c67a52c356416cc200f51f9168d942e78db11d34
2014-03-12 19:20:36 +00:00
dan
87af14a639
Prevent the rtree module from reading sqlite_stat1 data from the wrong database.
...
FossilOrigin-Name: 7ce03c1b5552d830300575c5b41a874db7a2ec77
2014-03-12 12:44:46 +00:00
drh
468108628c
Version 3.8.4.1
...
FossilOrigin-Name: 018d317b1257ce68a92908b05c9c7cf1494050d0
2014-03-11 15:27:36 +00:00
drh
8073c70b33
Update version number to 3.8.4.1
...
FossilOrigin-Name: 33f5694fa42d9a521ca081de4ddd1e9dc8952b16
2014-03-11 15:25:43 +00:00
dan
3afca7d18c
Add a test to see what happens if an rtree constructor encounters an SQLITE_BUSY error. No changes to code.
...
FossilOrigin-Name: 5527e23636eee192030f6a3c41628030b6c50bb8
2014-03-11 09:19:26 +00:00
drh
89212fb9f9
Adjustments to the cost computation for the skip-scan query plan, to take
...
into account the fact that a seek has to occur on each skip.
FossilOrigin-Name: 0769eebd028ce31375cf93509a1d3687f7b117eb
2014-03-10 20:12:31 +00:00
drh
b06a4ec1f0
Attempt to work around MSVC's treatment of __LINE__ as a non-constant value
...
in "Edit and Continue" mode by avoiding the use of __LINE__ when
SQLITE_VDBE_COVERAGE is not defined.
FossilOrigin-Name: 0a5318bc272b844e937cb1df3a07224034bc3450
2014-03-10 18:03:09 +00:00
drh
55aeee4b48
Version 3.8.4
...
FossilOrigin-Name: 530a1ee7dc2435f80960ce4710a3c2d2bfaaccc5
2014-03-10 12:20:37 +00:00
dan
b72cad14d0
Fix a bug causing "SELECT char()" to return SQLITE_NOMEM.
...
FossilOrigin-Name: ba39df9d4f7ffc6475ae0dc794f7d3f58c486de8
2014-03-08 19:07:03 +00:00
drh
f3ccc38a69
Improved comment on the pager.c PERSIST rollback journal delete logic
...
inside of hasHotJournal(). No changes to code.
FossilOrigin-Name: e5b17a9d07a35c9b44ff977ba81b93d745d26a11
2014-03-07 14:57:07 +00:00
mistachkin
eb443925ef
Revise change from the previous check-in to clarify the situation when handling open journal files, regardless of journal mode.
...
FossilOrigin-Name: 1c318ef3b76e9a9a5ff2f156a9acddfc1bda0949
2014-03-07 03:31:35 +00:00
mistachkin
8879481868
Avoid calling sqlite3OsDelete() on a file that is open, since this causes Windows to run *very* slowly. Comes up on error recovery in journal_mode=PERSIST.
...
FossilOrigin-Name: fdc651e2ec7a0babee669e24fd56632e7cd5f0e9
2014-03-07 02:29:56 +00:00
dan
f0ec2a5ea7
Do not run corruptH.test in mmap mode.
...
FossilOrigin-Name: c0d54b4e41cba84dc5934e0fcd03fe422fe5c92b
2014-03-06 18:16:45 +00:00
drh
fe70510aa7
Improved EXPLAIN indentation of a loop in the ANALYZE logic for STAT4.
...
Mark the not-found jump of a seek operation in that loop as never taken.
FossilOrigin-Name: 0a4200f95cf46ad620b9fd91f4444114a0c74730
2014-03-06 13:38:37 +00:00