drh
f2c135fabd
Refactor the sqlite3VdbeRecordCompare() routine used to compare btree records.
...
Create a couple of fast-track routines to handle the common cases of a string
with BINARY collation or integer values as the left-most column. This gives
a significant performance boost in common use.
FossilOrigin-Name: aec5473a750e412eb1e11e17bbafd760db086c86
2014-03-03 21:59:33 +00:00
drh
13a747e5e4
Fix a couple of harmless compiler warnings.
...
FossilOrigin-Name: fcf480cc630976b619aabd5f7fb7b09601a178fb
2014-03-03 21:46:55 +00:00
dan
9b8afef260
Avoid a buffer overread in vdbeCompareRecordInt() that might occur if the database is corrupt.
...
FossilOrigin-Name: 7c0b4381f0e6f33cb13299a915851d9431bf3850
2014-03-03 20:48:50 +00:00
drh
5668969a69
Fix a typo in a comment. No changes to code.
...
FossilOrigin-Name: 1f4991ab1676bf85599fc32068ceeddeb05f648c
2014-03-03 19:29:28 +00:00
drh
295aedf097
Fix compiler warnings.
...
FossilOrigin-Name: ba8993727e5752cbc92c7d78437e9e0510c899f7
2014-03-03 18:25:24 +00:00
dan
80b2f97234
Merge latest trunk changes.
...
FossilOrigin-Name: 1d60356462f111ed147aa865dd17a13511db6ab7
2014-03-03 17:48:03 +00:00
drh
6295524e3d
Change an OP_SCopy into an OP_Copy in a case where the destination might be
...
used after the source has changed.
FossilOrigin-Name: c0fa0c0e2de50d7eda19ab8862496b18eff93538
2014-03-03 17:36:39 +00:00
dan
dea63f24e1
Change the "explain_i" tcl test command so that xterm color codes are only added if the output is actually a terminal.
...
FossilOrigin-Name: 559835e54e0715f2b4d207d056199a8268af739e
2014-03-03 16:48:47 +00:00
drh
fcb44a89f2
Fix a harmless compiler warning.
...
FossilOrigin-Name: d7f6837e6997a4d5c0fd2d08b52887d691dd6f97
2014-03-03 15:13:27 +00:00
dan
900defa07a
Merge latest trunk changes.
...
FossilOrigin-Name: e00ed717fbe456010ec6c746490d7c3e9d94ec5a
2014-03-03 14:45:06 +00:00
dan
fbf0f0e1f6
Fix a segfault that can occur following an OOM error.
...
FossilOrigin-Name: 7fdd378d54754a3ffdc01c6c0a66cf6d5899a495
2014-03-03 14:20:30 +00:00
drh
f21fa489b1
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must
...
be used to free the string or blob. Add tighter invariant checks on Mem.
FossilOrigin-Name: e3f6c61e0333d4d237dcd2ba2e404f0a91ee5069
2014-03-03 00:12:39 +00:00
dan
7e065fcf7d
Merge trunk changes.
...
FossilOrigin-Name: 9c1747b5ded995e77fdab2fa9d334ec3c17c7c14
2014-03-01 19:45:23 +00:00
dan
3833e934d3
Remove the vdbeRecordCompareLargeHeader function. Fix some other details.
...
FossilOrigin-Name: 3861e853105cb8da344c7eebd2e455622b26395e
2014-03-01 19:44:56 +00:00
drh
c91b2fd310
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be
...
used to free the string or blob. Add tighter invariant checks on Mem.
FossilOrigin-Name: 44e1c33767cae3bf2cbd2238831fe67197009b43
2014-03-01 18:13:23 +00:00
drh
75fd054201
Factor the Mem invariant checker into a separate procedure (rather than a
...
macro) so that it can be more easily extended.
FossilOrigin-Name: 354699d50e7d251504a7b3d6fbec9e5bcf99557f
2014-03-01 16:24:44 +00:00
drh
defbd9dade
Add extra assert() statements trying to catch a Mem object in an inconsistent
...
state.
FossilOrigin-Name: 4aeb3ae435c78070232fef21a147fde4e1c5cd31
2014-03-01 14:45:18 +00:00
drh
efbf3b1a10
In the command-line shell add the (undocumented and unsupported) ".eqp"
...
command and -eqp command-line option, to cause EXPLAIN QUERY PLAN to be
run on each SQL statement as it is evaluated. Intended use is for analysis
of the query planner.
FossilOrigin-Name: e6ecf7337658624d664e1e71ba3fc527fd6578c1
2014-02-28 20:47:24 +00:00
drh
07901eb8c3
Provide an #ifdef in shell.c to work around issues when cross-compiling
...
from Ubuntu to windows.
FossilOrigin-Name: 0a3579d9b9d2a60bb85a9811bc7936edb88debae
2014-02-28 19:37:45 +00:00
dan
597515d70c
Update some test cases that deal with corrupt databases.
...
FossilOrigin-Name: 3a09f5605ac7c6e503eb10acfdc607010414d917
2014-02-28 18:39:51 +00:00
dan
063d4a041a
Minor tweak to vdbeRecordCompareInt().
...
FossilOrigin-Name: 284bde0ee20261737446eb8f5b6b36ad9bc3f355
2014-02-28 09:48:30 +00:00
dan
a6efad8a97
Merge in latest trunk changes.
...
FossilOrigin-Name: 8f30b09518d23c3f6cecd244a66ef918fdb55323
2014-02-27 20:52:26 +00:00
dan
3b9330f83c
Further changes to sqlite3VdbeRecordCompare().
...
FossilOrigin-Name: 570893740067a7caa952f259fa078cdf67017d71
2014-02-27 20:44:18 +00:00
drh
69b30abd59
A better way of handling the USE_SYSTEM_SQLITE #define in shell.c.
...
FossilOrigin-Name: 51ce713c6ee91bdf0126155334dcc800b3daa509
2014-02-27 15:11:52 +00:00
drh
c718190768
Add #defines to the command-line shell source code (shell.c) so that it
...
can be imported directly into other projects (ex: Fossil) and used without
editing.
FossilOrigin-Name: a6690400235705ecc0d1a60dacff6ad5fb1f944a
2014-02-27 15:04:13 +00:00
drh
7e4efaecad
More efficient removal of duplicates in recursive queries using the UNION
...
compound operator.
FossilOrigin-Name: 06c2db875e6cabd81c2a153b2fa4aba03eaed268
2014-02-26 21:35:31 +00:00
drh
3852b68edd
In the command-line shell for CSV import, if the lines are \r\n terminated
...
and the last field is blank, make sure an empty string and not a "\r" string
is imported.
FossilOrigin-Name: 9c2e7612cd137895e13ee872e668ce1216719d85
2014-02-26 13:53:34 +00:00
drh
434a93147c
Improved handling of constants and especially constant functions in the
...
ORDER BY clause of a query. Do not optimize out "ORDER BY random()".
Fix for ticket [65bdeb9739605cc2296].
FossilOrigin-Name: dca1945aeb3fb005263f9be00ee8e72b966ae303
2014-02-26 02:26:09 +00:00
drh
0baa035a1e
Do not allow temporary registers to be in use across an OP_Yield within a
...
co-routine. Fix for ticket [8c63ff0eca81a9132d8].
FossilOrigin-Name: 97a8c9733cba97c78e979dfd5c66610c23e90288
2014-02-25 21:55:16 +00:00
dan
1fed5dab0d
Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state.
...
FossilOrigin-Name: 85206e0bbac29adab52bef795f6d1479f2ae2c0e
2014-02-25 21:01:25 +00:00
drh
e8c1eba9a9
Also adjust the order of files in the amalgamation to ensure that
...
_FILE_OFFSET_BITS is defined before any #include, for QNX.
FossilOrigin-Name: 23001a85cd334090cf6c70d4d7e722a01f4f6899
2014-02-25 18:12:58 +00:00
drh
5e990bea51
QNX requires that _FILE_OFFSET_BITS be set prior to any system #include.
...
FossilOrigin-Name: 953cdd6adadfd46b51ad61d7939cecca154a02cb
2014-02-25 14:52:01 +00:00
mistachkin
151d05cd39
Fix several small style/consistency issues with the previous check-in.
...
FossilOrigin-Name: 2477b3a294beb35f806a38f3ebc008942ba01617
2014-02-24 21:42:33 +00:00
mistachkin
1925a2e6f8
Enhance testing support for the Win32 VFS dynamic extension loading facilities.
...
FossilOrigin-Name: 53081e7202fb55f792a78e73627466eb0200f11c
2014-02-24 21:20:25 +00:00
dan
98c91905c9
Close some stray connections in walro.test.
...
FossilOrigin-Name: d6746cabaa22429644c956a4b5fd91896376de2d
2014-02-24 19:49:36 +00:00
drh
9d41bc105d
In memsys5, initialize new allocations to non-zero bytes. Change the content
...
of freed allocations to prevent use after free. These changes in SQLITE_DEBUG
only.
FossilOrigin-Name: ba5f0a5599dece6d8f3dfe652800c28875c74a24
2014-02-24 19:07:51 +00:00
drh
15ab9418d9
Remove an unused variable from the VDBE_PROFILE compile-time option. Keep the
...
opcode count in an u32 instead of an int.
FossilOrigin-Name: 4df0ac9023d9261145a4425a508ba009a10276fc
2014-02-24 14:24:01 +00:00
drh
4d87aaed56
Fix the text of a comment used to generate VDBE opcode documentation so that
...
it omits symbols that can be mistaken for a hyperlink by the parser.
FossilOrigin-Name: b46d4e8923e6e367412bba7aeac07039bbcbabd1
2014-02-20 19:42:00 +00:00
drh
06280ee582
Fix a harmless shadowed-variable warning.
...
FossilOrigin-Name: 824029090d1c4c4c608f67dd197961eba29c039d
2014-02-20 19:32:38 +00:00
drh
4300c1ae3b
Make sure that the difference between two string pointers is passed into
...
sqlite3_mprintf() as type "int".
FossilOrigin-Name: d5d973fedcf5a2eea219f10e11ba3dacdd0593f0
2014-02-20 19:23:15 +00:00
drh
5655c549aa
Add the VdbeCoverageNeverTaken() macro, and comments that better describe how
...
the VDBE branch coverage measurement works. Add some tags to provide 100%
VDBE branch coverage.
FossilOrigin-Name: c1e94169dd8eb80b4d18c73be9f81585330d11ad
2014-02-19 19:14:34 +00:00
drh
3d77dee935
Add the SQLITE_NOTNULL P5 code for comparison operations - really a composite
...
of SQLITE_NULLEQ and SQLITE_JUMPIFNULL. This flag indicates that NULL operands
are not possible and raises and assert() if NULL operands are seen.
Also omit an unnecessary scan of the sqlite_sequence table when writing
into an AUTOINCREMENT table.
FossilOrigin-Name: d2c047f304848e49864ed8c216b48fd671fa3916
2014-02-19 14:20:49 +00:00
drh
c0bf493ea5
Make sure a multi-row VALUES clause works correctly in a compound SELECT.
...
FossilOrigin-Name: 85b355cfb40e8dbeb171980204ffad897184063f
2014-02-19 01:31:02 +00:00
drh
49d9ba6354
Tweaks in support of VDBE branch test coverage.
...
FossilOrigin-Name: b97825646996792d0a67b83f135658027c8569ca
2014-02-19 00:53:46 +00:00
drh
f4345e40a0
Fix VDBE branch accounting on comparison operators.
...
FossilOrigin-Name: b287520c9226f7a9fab98142f5c207bfe959cd7e
2014-02-18 11:31:59 +00:00
drh
7d1761059b
Add VdbeCoverage() and VdbeCoverageIf() macros for improved VDBE coverage
...
testing.
FossilOrigin-Name: b92d31a97d5fe4606d9ae1393c7f3e052f46bf5a
2014-02-18 03:07:12 +00:00
drh
552fd45441
Improvements to "NOT IN (SELECT ...)" processing. Only test for NULL values
...
on the RHS on the first iteration, then remember the result. There has been
logic to do this for year, but it didn't work right and ended up repeating
the NULL test on every iteration. This inefficiency was found using the
VDBE coverage testing tools.
FossilOrigin-Name: 915f6f1c7aab54583729e60bdc1565f25ecc6f74
2014-02-18 01:07:38 +00:00
drh
bb13813ed1
Merge in performance enhancements for INSERT operations, especially INSERTs
...
on tables that have no affinity columns or that have many indices or INSERTs
with content coming from a SELECT. Add the SQLITE_TESTCTRL_VDBE_COVERAGE
test control and the SQLITE_VDBE_COVERAGE compile-time option used for measure
coverage of branches in VDBE programs.
FossilOrigin-Name: a72687699ba2af2e7383be7371d4121750c7e34f
2014-02-17 23:52:13 +00:00
drh
688852ab15
Add logic to do test coverage measurements on the VDBE code.
...
FossilOrigin-Name: ce184c7bb16988641d37c908d9b3042456d4be3d
2014-02-17 22:40:43 +00:00
drh
8be09304b7
Add a test case for OP_SoftNull.
...
FossilOrigin-Name: f29d194e03d6bcc78bf883b77e591dbccada02f0
2014-02-17 15:40:19 +00:00