Commit Graph

12120 Commits

Author SHA1 Message Date
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
edb4ece65e Merge updates from trunk.
FossilOrigin-Name: 854d410ad3a2bb3af5465d933ac9535fe3f22bfe
2014-02-24 21:23:07 +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
mistachkin
5b4627e957 Better loadable extension handling in the Win32 VFS when compiled for Cygwin.
FossilOrigin-Name: 6676475c47558a52cb2632e92a541e13d143b2dc
2014-02-21 05:44:18 +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
drh
7591051a73 Merge the VDBE_PROFILE fixes from trunk.
FossilOrigin-Name: 2914e4191121004a3f564b1fbf1c235dcc595503
2014-02-17 15:36:39 +00:00
drh
57bf4a8eeb Avoid unnecessary calls to applyAffinity() during INSERT and UPDATE
operations, especially for table that have indices and tables for which
all columns have affinity "NONE".

FossilOrigin-Name: 35b4d6e938164fabaf30b504c54cfd9a69060cee
2014-02-17 14:59:22 +00:00
drh
2926f9694f Fix the VDBE_PROFILE logic. Add a script to process the output file.
FossilOrigin-Name: 7adb3da235c8c162c84f05ef4ccf1cc463805d5f
2014-02-17 01:13:28 +00:00
mistachkin
65acf373c9 Use the modern MinGW major version macro, not the deprecated one.
FossilOrigin-Name: 057c16ee9786efcad6372a29b02d743ff3d628ff
2014-02-16 19:20:00 +00:00
drh
05a86c5c0f Enhance the code generator for INSERT INTO ... SELECT so that the SELECT
generates output directly in the registers that INSERT INTO will be using,
in many cases, and OP_SCopy operations can thus be avoided.

FossilOrigin-Name: aa2d8b0e8154dd2f5e2c837dc11ab362b083495b
2014-02-16 01:55:49 +00:00
drh
cfc6ca4179 Seek past NULLs in a top-constrained search. Avoid checking for NULLs in
the body of the search.

FossilOrigin-Name: e07a32f30862acf3b322d4d8deb015846d6f8f5f
2014-02-14 23:49:13 +00:00
mistachkin
a7b3b63524 Better support for MinGW 4.x.
FossilOrigin-Name: e147230767383ed9f64085b613fd18508f74be21
2014-02-14 23:35:49 +00:00
drh
f78da0e6af Reduce the number of cases where it is necessary to check for NULL after
the loop terminating condition.

FossilOrigin-Name: 3c1ae447dec8fc2af1c5105134061717594ac0e0
2014-02-14 20:59:53 +00:00
drh
4a1d365903 Add OP_IdxGT and OP_IdxLE as distinct opcodes. Formerly these operations where
done using OP_IdxGE and OP_IdxLT with the P5 flag set.  But VDBE code is easier
to read with distinct opcode names.  Also change OP_SeekGe to OP_SeekGE, and
so forth, so that the capitalization is consistent.  The whole point of this
change is to improve the readability of VDBE listings.

FossilOrigin-Name: b6bea903ac8e1717ed50b221d73bd0be061c7663
2014-02-14 15:13:36 +00:00
mistachkin
2953ba9e20 Revise how the Tcl system encoding is handled by the test suite.
FossilOrigin-Name: 9e573198e107f1b85ee37c52a10343d38968bda1
2014-02-14 00:25:03 +00:00
mistachkin
3f40d40ad9 Improvements to the makefile and README for MSVC.
FossilOrigin-Name: b22b61406899c2694dae984995d2484fdb8122f1
2014-02-13 21:57:48 +00:00
dan
dd973548f1 Ensure that if the "psow=0" URI option or FCNTL_POWERSAFE_OVERWRITE file-control is used to clear the power-safe overwrite flag, extra padding frames are added to the WAL file.
FossilOrigin-Name: 48c821fd97a8f03757c90560c37a46bd0843570e
2014-02-13 19:27:08 +00:00
drh
56e3767eb4 Change README to README.md and expand it. Remove unrelated and obsolete files.
FossilOrigin-Name: 18d4e258c45c32984b23d97b896a761eeef2dbdf
2014-02-13 19:10:24 +00:00
dan
e5b6ea797e Avoid passing a flags argument with the internal WAL_SYNC_TRANSACTIONS bit set when calling sqlite3OsSync().
FossilOrigin-Name: e3b79e920c298a39613631d689d1a2f182d00496
2014-02-13 18:46:59 +00:00
drh
962f9669b6 Update the tclconfig files to the latest from http://core.tcl.tk/tclconfig.
FossilOrigin-Name: b81ba7a4bc7e840fce25fc6801957a64f877ff60
2014-02-13 13:42:43 +00:00
drh
fe48599294 Minor simplifications to the "zeroPage()" routine in btree.c.
FossilOrigin-Name: cc8f10bcb206c9def69b06f26decf025b8d9119d
2014-02-12 23:52:16 +00:00
drh
e0670b6220 Remove the "rowid cache" that sought to remember the largest rowid for a
table and thereby speed up OP_NewRowid.  That cache was ineffective.
Removing it results in a performance increase of 0.4%, less memory usage,
and a slightly smaller library size.

FossilOrigin-Name: 56bc5ce8958c8e6250531b4052b905d7ac993db3
2014-02-12 21:31:12 +00:00
drh
784156f84c Make sure "rowid" columns are correctly resolved in joins between normal
tables and WITHOUT ROWID tables.  Fix for ticket [c34d0557f740c45070].

FossilOrigin-Name: 5d01426ddfb2d47c57f93f71378594e637424be0
2014-02-12 14:43:52 +00:00
drh
c5185cd845 Increase the version number to 3.8.4
FossilOrigin-Name: 0a8bcbbd4e11a60923736b2be9b1ce83ea2263fb
2014-02-11 16:24:34 +00:00
drh
39a3088dc4 Updates to the command-line shell. Simplify the banner message. Add the
".save" command as an alias for ".backup".  When starting with no arguments,
include a banner message warning that the database is transient and in-memory
and mention the ".open" command.

FossilOrigin-Name: f5ad1e1bf2828c5da70c1ff944d8212036142e6f
2014-02-11 16:22:18 +00:00
drh
aaa21b41e8 Fixes to the "editline" support in the command-line shell.
FossilOrigin-Name: 7989ce5f105657060a39be295255da8eff9ed56e
2014-02-11 14:37:51 +00:00
drh
7c3280649a Make sure that virtual WHERE-clause terms do not get transformed into real
terms when processing set of OR-connected terms.
Fix for ticket [4c86b126f22ad].

FossilOrigin-Name: c950d6c4117d076f871518e738cdf9e8c46a19fc
2014-02-11 01:50:29 +00:00
drh
a6e3a8c9d5 Fix a pointless conditional. Add a test case.
FossilOrigin-Name: 9367632dd7e4fec9197227e35b0627c2e81ebffc
2014-02-10 21:07:51 +00:00
drh
5c7976fe86 Add the ".save" command as an alias for ".backup". Improvements to the
way font changes are implemented on the in-memory database warning.

FossilOrigin-Name: fe284afe739c497e153ac2bc0275f7c9e862c824
2014-02-10 19:59:27 +00:00
drh
ba47ba76a5 On unix, make the "transient in-memory database" text bold, but not red.
Leave the text read on windows.

FossilOrigin-Name: c9eba2f7be468ae7fc843ffd5b09bd062ee311c3
2014-02-10 19:36:06 +00:00
drh
1247aa4e4a In the command-line shell, on the banner, warn about the use of a
transient in-memory database in bold red text.

FossilOrigin-Name: 0fbc0fcec1b3a67065fa0ebb49375bf675789edc
2014-02-10 19:27:05 +00:00
drh
8af9ad951d Fix the compound-select-to-subquery converter so that it works with the
new compound-select object linkage introduced as part of the fix
for ticket [31a19d11b97088296].

FossilOrigin-Name: 572d4be4db03ce4afe9ae70f148703c74e0d8de0
2014-02-10 18:56:05 +00:00
drh
b373591c5e Modify the command-line shell to print a warning when using an in-memory
database.

FossilOrigin-Name: 90e9deae4a2bf63308a212226314aa7838c161d9
2014-02-10 16:13:42 +00:00
drh
60830e3c53 Improvements to a "Synopsis:" comment in the VDBE engine.
FossilOrigin-Name: 0dfa7ee9157ea6b1c745732d6c3fcd066cf4f849
2014-02-10 15:56:34 +00:00
drh
53a6eb3f3c Faster implementation for sqlite3MulInt64().
FossilOrigin-Name: 010c48f671e909cb406f3716102a0032bc72a592
2014-02-10 12:59:15 +00:00
drh
1b27b8c0a0 Faster and smaller implementation of sqlite3_value_type().
FossilOrigin-Name: 5708bc24b8cab623b833121183042b43e5a7021b
2014-02-10 03:21:57 +00:00
drh
5574e3f456 Add a compound-query test to the speedtest1 test program.
FossilOrigin-Name: 532995759114ab7a7cba18cc9d8820d78eb1a96e
2014-02-09 23:59:28 +00:00
drh
d227a291b2 Use the WITH clause to help resolve names for SELECT statements on the left
of a compound query.  Proposed fix for ticket [31a19d11b97088296a].

FossilOrigin-Name: 67bfd59d9087a987f15f6148efa1ff104983e1fb
2014-02-09 18:02:09 +00:00
drh
fa46bfbbc5 Add the Mandelbrot Set testcase to the "cte" testset of speedtest1.
FossilOrigin-Name: 56febbeb575a298ae8839b3a59711150ceb9999d
2014-02-09 00:52:53 +00:00
drh
c47548057d Add a new "testset" to the speedtest1 program: The sudoku solver.
FossilOrigin-Name: 4677ef2f8a726573c48ee2e532c00a68308dd7e1
2014-02-09 00:18:21 +00:00
drh
5f61229504 Do away with the "multi-register pseudo-table" abstration. Instead, just
use an OP_SCopy to load results directory from the result registers of
the co-routine.

FossilOrigin-Name: 1e64dd782a126f48d78c43a664844a41d0e6334e
2014-02-08 23:20:32 +00:00
drh
826af37865 Change the OP_Found opcode so that it expands zero-blobs prior to comparing
them.  Fix for ticket [fccbde530a6583b]

FossilOrigin-Name: e2303d1b0c17b6e7494fb7db8264f4c2ac193723
2014-02-08 19:12:21 +00:00
drh
c0740cebeb Fix a harmless compiler warning in VS2013.
FossilOrigin-Name: 83116ee3e0f2b9110c70a4f73a9badc9c2a56f28
2014-02-08 13:24:04 +00:00
drh
04d0bcd533 Fix a harmless compiler warning in VS2013.
FossilOrigin-Name: 35f2793db5eb58484554477a23f8320843ebcd71
2014-02-08 13:22:36 +00:00
drh
725de29a2d Tweaks to the generated VDBE code to make it a little easier to follow.
FossilOrigin-Name: 129217ee91782ec77ff82661753ae5bee8ca99d0
2014-02-08 13:12:19 +00:00
drh
e0e261a473 Enable constant expression factoring even if no tables are read and no
transaction is started.

FossilOrigin-Name: a45b87713c0afca2be2ace9500513620a024c0a2
2014-02-08 04:24:37 +00:00
drh
aceb31b120 Change the OP_Trace opcode to OP_Init and give it the ability to jump to the
initialization code at the bottom of the program, thus avoiding the need for
an extra OP_Goto.

FossilOrigin-Name: 192dea97316144f15f6dd0eabff08a0bf9ef203e
2014-02-08 01:40:27 +00:00
drh
642364a48b Add opcodes OP_InitCoroutine and OP_EndCoroutine. Use these to remove the
need for separate boolean registers to record when a co-routine has finished.

FossilOrigin-Name: 5a88b6a7aef3a0d5380e19eee2ee38439cc9b08b
2014-02-07 22:21:07 +00:00
drh
dddf6978d2 Fix redundant definitions of _LARGE_FILE and _LARGEFILE_SOURCE.
FossilOrigin-Name: 4043d879795bfad55af35e9cb48e0a42eb4087ae
2014-02-07 19:33:31 +00:00
drh
a198f2b55d In the TCL bindings, make sure Tcl_AppendResult() is always terminated
by "(char*)0" and not just "0".

FossilOrigin-Name: ea4d23d1c0df4fde2e532daa081888712f465884
2014-02-07 19:26:13 +00:00
drh
ed71a839fd Change the OP_InitCoroutine instruction to jump over the co-routine
implementation.

FossilOrigin-Name: a522f364a6b8ca6f69c353b30609a2166f6e94cf
2014-02-07 19:18:10 +00:00
drh
81cf13ec7b Get rid of the OP_Undef and OP_IsUndef opcodes in favor of higher-level
OP_InitCoroutine and OP_EndCoroutine.

FossilOrigin-Name: 1ec0e9dd4b26d9f597adc8e062317d4866c5a6a6
2014-02-07 18:27:53 +00:00
drh
a5750cfe01 Add the OP_Undef and OP_IsUndef opcodes. With these, use the first register
in the result register range as the flag to indicate EOF on an INSERT from
a SELECT, rather than allocating a separate boolean register for that task.

FossilOrigin-Name: 6fb7448550f28a3c93053e125faeaf11de1011d0
2014-02-07 13:20:31 +00:00
mistachkin
21a919f630 More comment updates. No changes to code.
FossilOrigin-Name: be24fbc22106e508975e316abe0471edd3833291
2014-02-07 03:28:02 +00:00
drh
0fd613542c Update comments in vdbe.c. No changes to code.
FossilOrigin-Name: 1122b410de68a3c79b4c719a3a4cc4dc6a5bb39d
2014-02-07 02:29:45 +00:00
drh
b22f7c831f Delete the OP_VerifySchema opcode. Enhance OP_Transaction to do the schema
version checks that OP_VerifySchema used to do.

FossilOrigin-Name: 2f3376ebf13df44e6acf27cb1f07172cd8b34033
2014-02-06 23:56:27 +00:00
drh
0211d8bca4 Change the spellfix1 virtual table to deterministically names its shadow
tables.

FossilOrigin-Name: 5219cdfc56ec3e1cd645ae6443ba72ce0df0339a
2014-02-06 13:18:51 +00:00
drh
4bbcf10617 Add additional error messages and a progress spinner to the ".clone" command.
FossilOrigin-Name: dd0db3f0cef1be46cea16d4e61ea3348b3b3bd3e
2014-02-06 02:46:08 +00:00
mistachkin
e31ae90100 Rename the '.repair' shell command to '.clone'.
FossilOrigin-Name: 4f9d95624ae4e123f83c835b5940f64d4a47be0d
2014-02-06 01:15:29 +00:00
drh
3350ce95f7 Add the ".repair" command to the command-line shell.
FossilOrigin-Name: d1dfadea87ecf18eeb6d2f21769deaa97473ca0e
2014-02-06 00:49:12 +00:00
mistachkin
5dfd3d9080 In the Win32 VFS, the winSysInfo variable should be static.
FossilOrigin-Name: 4a4dd371a72b7d475185923bebb4cd9bd83e1bd9
2014-02-05 11:05:47 +00:00
drh
e08ecad58a Do not mark the ephemeral tables used to hold the RHS of IN clauses as
unordered because the NGQP will use those ephemeral tables to help order the
output.  This is not an issue for standard SQLite since ephemeral tables
there are always ordered, regardless of the hint.  It only affects systems
that substitute an alternative storage engine.

FossilOrigin-Name: f2504089df0bf4011864e67825b37f6aa3d03458
2014-02-04 23:45:45 +00:00
drh
ee06c99b49 Remove the SF_Materialize flag from the SELECT object as it does not
accomplish anything useful.

FossilOrigin-Name: 65d5dcddbd34dfb2733a7a908c7c652ce2d610fe
2014-02-04 20:46:41 +00:00
drh
7df89c8c8a Rearrange fields in the Parse object for a tighter packing, resulting in
an 8% size reduction on x64.

FossilOrigin-Name: 3e1a3f68d7457ff708222a3448404b593f018fc2
2014-02-04 15:55:25 +00:00
drh
fe21a796f7 Performance optimizations in sqlite3PcacheFetch().
FossilOrigin-Name: b60cc11ef775c23a2245d9e7a00dab34013f3ccb
2014-02-03 17:04:29 +00:00
drh
e39a732ce2 Provide hints to the btree layer Next and Previous primitives to let them
know if they can be no-ops if the underlying index is unique.

FossilOrigin-Name: 6c643e45c274e755dc5a1a65673df79261c774be
2014-02-03 14:04:11 +00:00
drh
6645370e5b Version 3.8.3
FossilOrigin-Name: e816dd924619db5f766de6df74ea2194f3e3b538
2014-02-03 13:52:03 +00:00
drh
dd31490e02 Minor change to TEA extension docs in an attempt to make links work correctly.
FossilOrigin-Name: af3c775e5d6a399bfc985a5dae27451908766546
2014-02-03 13:49:40 +00:00
drh
d49c545968 Update the "sqlite3.1" unix manpage document.
FossilOrigin-Name: 21ce9e3a53aed62fbe075b0dbed9faa00218aadc
2014-01-31 11:50:20 +00:00
mistachkin
a3fdec7172 Minor change to TEA extension docs in an attempt to make links work correctly.
FossilOrigin-Name: 492585c8208457120dde24f5fbf4db7e4e10ae73
2014-01-31 06:35:37 +00:00
drh
bb44b3de39 Update evidence marks on SELECT tests. Comment changes only.
No changes to code or tests.

FossilOrigin-Name: 1973d80e474cb95d053e04415b22154897d4d710
2014-01-30 17:47:02 +00:00
drh
9a2555f538 Fix requirements marks only. No changes to code or tests.
FossilOrigin-Name: 4a34378b9b02e463081729186dcb9b0404dbcd06
2014-01-30 15:03:50 +00:00
drh
a88aca5442 Update a requirement mark and add some additional test cases to cover
the requirement associated with ORDER BY and LIMIT on compound SELECT
statements.

FossilOrigin-Name: 8560091e85f2f99a24810648868bf2e081c32698
2014-01-30 14:10:00 +00:00
mistachkin
b8e59bcb86 Enhance the MSVC makefile for better debugging symbol support.
FossilOrigin-Name: c9bef0f29a5a7f04914d80e58105104babd4168c
2014-01-30 12:45:32 +00:00
dan
81a034b62b Do not run test script mmapfault.test as part of the "inmemory_journal" permutation test.
FossilOrigin-Name: b222b61a98dc1f3c2c48ea06efe7d82d9fcf4d75
2014-01-30 12:16:23 +00:00
mistachkin
b04275121c Enhance the MSVC makefile for better debugging symbol support.
FossilOrigin-Name: c723ec2784d6b60c9781a435c84800b2bc7818d5
2014-01-30 11:12:52 +00:00
drh
ec2da85412 Make sure that sqlite3SelectDup() initializes the nSelectRow of the
duplicate Select object.

FossilOrigin-Name: 5bb29b82109224a2ad02920658fabd8fb0f27b3f
2014-01-29 01:46:12 +00:00
drh
db718d8a3b Fix harmless compiler warnings in the showdb utility program.
FossilOrigin-Name: 27c27daa3324b7c9323acfb972330367630bb64e
2014-01-28 20:36:22 +00:00
drh
4d06798e56 Fix a potential over-size and hence undefined shift operation.
FossilOrigin-Name: 6379b0729521146bc4ec27a9924492c7dc1d8a31
2014-01-28 18:53:29 +00:00
dan
9c2552f2e8 Minor bugfix in main.c so that the library builds with SQLITE_OMIT_WSD defined.
FossilOrigin-Name: 5e3b9ecc7b2b2e50952de819b99bafdb7b9ff59e
2014-01-28 17:49:13 +00:00
dan
705a48758a Fix a couple of problems with new test scripts causing the permutations test to fail.
FossilOrigin-Name: 48d736c0ee1ac0879bd12d2f1901f208e87e538a
2014-01-27 16:35:15 +00:00
drh
a820c05aa0 Update some requirements marks to conform with improvements
in the documentation.

FossilOrigin-Name: be1acb610f7e594b417dd8409b7a7aa8f3af5f77
2014-01-27 15:02:07 +00:00
dan
d0879bad42 Fix a problem in pagerfault.test causing an assert() to fail.
FossilOrigin-Name: ba8d2d507f82e2baaceadcf7ac6d71bb91f7e06b
2014-01-27 14:19:22 +00:00
drh
729677720d Fix (harmless) duplicate variable declaration.
FossilOrigin-Name: 94ed9bc4207873e0f3f8114009002f56d5aff359
2014-01-27 13:58:58 +00:00
dan
abfe034692 Fix some problems in test scripts. No code changes.
FossilOrigin-Name: 08acfc65877e207f1a62d31a14afb4add20c4c35
2014-01-27 08:48:10 +00:00
dan
b68b97789e Fix a problem causing SQLITE_OMIT_COMPOUND_SELECT builds to fail.
FossilOrigin-Name: b30db0ac3096b43d55a6da40cafc7de569082bf8
2014-01-25 12:16:53 +00:00
drh
693e671936 Fixes for various clang warnings.
FossilOrigin-Name: 87bf60637e5863c54c5e2d05aaaca0835b7aace8
2014-01-24 22:58:00 +00:00
dan
53bed45ecb Select collation sequences for ORDER BY expressions attached to recursive CTEs in the same way as they are selected for other compound SELECT statements.
FossilOrigin-Name: 9554519c126c5e714421a82fd2e8aa9b19e11493
2014-01-24 20:37:18 +00:00
mistachkin
6ef5e12e1f Fix harmless compiler warnings in the Tcl interface.
FossilOrigin-Name: 35bc81f5ad4503c0db03127ba3c2ee4ce5227448
2014-01-24 17:03:55 +00:00
dan
05d3dc29c5 Add test cases for LIMIT and ORDER BY on recursive CTEs.
FossilOrigin-Name: 67d6c42d44cb191368ce20f553b32fcb14bfc4d7
2014-01-24 16:57:42 +00:00
drh
dc3bb0deb2 Use an unsigned integer to accumulate the string hash. Avoids compiler
warnings.

FossilOrigin-Name: b1824344ea4918a13abbda4a3b7134d35fd867c4
2014-01-24 16:36:18 +00:00
drh
9e2c7ae1b0 Add a few more CTE test cases to closure.test.
FossilOrigin-Name: 1b6405d9788c1bb89761b2bcdce560a5020ff503
2014-01-24 15:42:51 +00:00
drh
3c2aeae16e Add test cases that compare the performance of the transitive_closure
virtual table again common table expressions for walking a tree.

FossilOrigin-Name: 9a23f020e8ed0e7a1ad227b4ab379fdf5e2de222
2014-01-24 14:37:44 +00:00
drh
b090352b5a Add test cases showing the use of ORDER BY on a recursive query to control
depth-first versus breath-first search of a tree.

FossilOrigin-Name: 83b0b2916589db0184435dbd4c304387f393ed60
2014-01-24 11:16:01 +00:00
dan
afcf9bd806 Modifications to test files to omit any tests that intentionally access out-of-bounds locations in clang -fsanitize=address builds.
FossilOrigin-Name: f4a701d55f5c4e1e62ed64b779ad4fff89dd31b7
2014-01-23 14:44:08 +00:00
dan
cfe24586a8 Avoid an extra seek when inserting records into the epheremal index used to ensure that rows returned by UNION recursive queries are unique.
FossilOrigin-Name: 72c4b3f07a3faacb5b62d5bc374b4e125a0bd8b3
2014-01-22 19:23:30 +00:00
drh
edf83d1e3d Fix harmless compiler warnings.
FossilOrigin-Name: dea2ca6a159d5dcfd8deceedf1c2a73fb4ac1cfc
2014-01-22 18:31:27 +00:00
drh
953dfa4e60 Change the WITH RECURSIVE implementation to use a queue instead of a pair of
tables.  Add support for ORDER BY, LIMIT, and OFFSET on recursive queries.

FossilOrigin-Name: b6cea42006910d590373e8f9e296d7672edb114b
2014-01-22 18:16:27 +00:00
drh
aa9ce7078a Add support for LIMIT and OFFSET in a recursive query.
FossilOrigin-Name: 1945484e6b9769c1943f750f5b09860417fb190a
2014-01-22 18:07:04 +00:00
dan
a8a0617e06 Update the spellfix virtual table to optimize queries of the form "SELECT ... FROM tbl WHERE rowid=?".
FossilOrigin-Name: a0ba55ff0596c5f15e9cdb254c68ef50df2dfaad
2014-01-22 17:43:16 +00:00
drh
fe1c6bb9c2 Get ORDER BY working for recursive queries.
FossilOrigin-Name: 37b343b01841b338954ddfa9b76d92aa50037aec
2014-01-22 17:28:35 +00:00
drh
781def29c7 Add new SelectDest codes, SRT_Queue and SRT_DistQueue in anticipation of adding
ORDER BY support on recursive queries.  Factor out the recursive query
code generator into a separate procedure.

FossilOrigin-Name: 3eb5f9f8d6ac1ee145cb4119087c516f66fe1456
2014-01-22 13:35:53 +00:00
dan
41028151be Fix a typo in a comment. No changes to code or tests.
FossilOrigin-Name: cceacc0e79c4e54682daddf2056c6bb8e88d9484
2014-01-22 10:22:25 +00:00
drh
340309fd69 Remove an unnecessary parameter from selectInnerLoop(). Clean up comments.
FossilOrigin-Name: 5e6c4a55f6df30da9dbaa8170f3223613cc86f65
2014-01-22 00:23:49 +00:00
drh
e73f059093 Change the recursive common table expression algorithm to use a queue instead
of a pair of tables.  Runs about 25% faster on the sudoku solver query. 
The OP_SwapCursors opcode is no longer required.  The current implementation
uses just a fifo, but the plan is to change it into a queue that will support 
ORDER BY and LIMIT in a recursive query.

FossilOrigin-Name: b2671e1133d2f1fbd36e7cd4b86d6cc7b528aa97
2014-01-21 22:25:45 +00:00
dan
8561c81ed6 Remove the undocumented requirement for applications that use an SQLITE_ENABLE_SQLLOG build to define a sqlite3_init_sqllog() function.
FossilOrigin-Name: 5e43bf013253921e4dfbe71de11ee7ed4b3e7eae
2014-01-21 15:04:47 +00:00
dan
a4ff825095 In where.c, do not allocate space in sqlite3_index_info structures for the internal WHERE clause "terms" generated to record column equivalencies.
FossilOrigin-Name: 7d9e22187daaa3160b875a1df17b924969bf718e
2014-01-20 19:55:33 +00:00
dan
7df42aba12 Handle a few obscure problems that could manifest if a database corrupted in a certain way was written by a connection in the middle of a SELECT statement on the same db.
FossilOrigin-Name: eba8a564e62f84a9620008beead80081fe90a1b7
2014-01-20 18:25:44 +00:00
drh
c25e2ebc01 Remove an unused #define and add an assert(), both associated with WITH logic.
FossilOrigin-Name: a06235e0f6aa1e8fefa3f2873ee035eac9dac750
2014-01-20 14:58:55 +00:00
dan
7f3068aa83 Do not run the tests in with2.test with SQLITE_OMIT_CTE builds.
FossilOrigin-Name: 8a973912e98c9b1bb9d3f914527d35c1e7f2011a
2014-01-20 14:17:08 +00:00
drh
717c09c4a9 Add a sudoku solver to the recursive query tests in with1.test.
FossilOrigin-Name: 679eff8759aa25368b977c0d26b78a9fcd9486f5
2014-01-18 18:33:44 +00:00