Commit Graph

9894 Commits

Author SHA1 Message Date
drh 9a9705de5c Do not send the extra ";" and "\000" tokens to the parser if a prior error
has occurred.

FossilOrigin-Name: 9aa70ddf2ca6044634560a801b43df121384eb64
2015-04-25 00:32:30 +00:00
drh 41148f83c4 Fix a faulty assert() in the "AS" alias resolution logic of the parser.
FossilOrigin-Name: b5e43602833249aa4b73337bf85b7f308450dab6
2015-04-23 13:37:05 +00:00
drh 00808deed0 Improvement to "ID" formatting on the ".selecttrace 0x1ff" debugging function.
FossilOrigin-Name: 01c50cee37bfaddfecdda014728c35a1be1d991a
2015-04-23 13:00:42 +00:00
drh 1cb50c880e Alternative fix for the double-initialization of type and collating sequence
problem that leaves the estimated table size intact.

FossilOrigin-Name: 623ddbdbf48d26dac58c593bcb9e7b184334ddfc
2015-04-21 17:17:47 +00:00
drh dfb5e1cbc6 Make sure the datatype and collating sequence of transients tables are
not initialized more than once.  Otherwise a memory leak results.

FossilOrigin-Name: 9e6beda2c8d879e438ee933e658f860d6eb42a20
2015-04-21 17:07:01 +00:00
dan 464083544e Ensure that tables names are dequoted exactly once by the trigger logic.
FossilOrigin-Name: 9d887b92f8086961e045f8acb9ee7a443796d411
2015-04-21 16:38:49 +00:00
drh be360e1ed1 Fix a memory leak in the SELECT code generator tracing logic (code that is
omitted in non-debugging builds).

FossilOrigin-Name: b623ebd859dcb1d99398aa9953f6b113bad26304
2015-04-21 16:09:07 +00:00
dan 4b79bde7a2 Fix an obscure problem with "INSERT INTO tbl(cols) SELECT" statements where the SELECT is a compound with an ORDER BY and "cols" is a strict subset of tbl's columns.
FossilOrigin-Name: 718d5d0eab045a874107e078a857226a80ab912d
2015-04-21 15:49:04 +00:00
drh 7c052da54d Change an assert() in the aggregate query code generator into a testcase().
FossilOrigin-Name: d1e6bc918b0c8e0701f5e15afb91b84a9004231b
2015-04-21 15:16:48 +00:00
drh b6b676ea7c Fix some identifier name de-quoting issues in the foreign key and trigger logic.
FossilOrigin-Name: 59e92bd9521f1e8315a9a7e7fd3d63b0c75eaf0e
2015-04-21 03:13:47 +00:00
drh 0f517ea8d4 Make sure the whereSplit() routine in the query planner is not confused
by the likely() operator.

FossilOrigin-Name: 588db14ffb4b0e8e76d511b7b1541db3ec78836a
2015-04-21 02:12:13 +00:00
mistachkin 76f6a130a9 Enable compilation and VSIX package creation with the Visual Studio 2015 CTP.
FossilOrigin-Name: 03b725a768290e3c7b31f1ba3310532fd7dc05cd
2015-04-21 00:23:38 +00:00
dan 4eed05347c Fix a memory leak caused by duplicate entries in the sqlite_stat1 table.
FossilOrigin-Name: 2f58c8c9722fffc486610f9e6b08178d53a56b64
2015-04-20 15:13:08 +00:00
drh cef2584335 Fix an obscure memory leak in sqlite3Stat4ProbeFree()
FossilOrigin-Name: c72abbe2c1735f3d563c6672616b2918b6209922
2015-04-20 13:59:18 +00:00
drh b496a8f547 Add an ALWAYS() around a new branch that was made unreachable by an even
newer change.

FossilOrigin-Name: 592c010478fba7410424f011a62e019c826f1ac3
2015-04-20 01:13:33 +00:00
mistachkin 19b887e4ec Fix another harmless compiler warning.
FossilOrigin-Name: 5ae853aaebaee76c9265061984185f74c10c4c8b
2015-04-19 23:48:10 +00:00
mistachkin 0311b622c4 Merge updates from trunk.
FossilOrigin-Name: 59d1a3bb6050a812c4eb0d25ac53327081b9efed
2015-04-19 23:40:55 +00:00
drh 542a176d5e Fix an off-by-one assert() in the virtual table argument tokenizer.
FossilOrigin-Name: c83052e48bbae0f45db2a44155b4e5482ee4a901
2015-04-19 23:11:10 +00:00
drh 992590be1c Fix a broken assert() and comparison for INSERT INTO ... SELECT when the
SELECT uses an unknown collating sequence.

FossilOrigin-Name: e73ac0cbac257d2d2b28e51423e30d7449b6c7b5
2015-04-19 22:41:22 +00:00
drh 7520996965 Silently ignore parser stack overflow when parsing a malformed schema in
PRAGMA writable_schema mode.

FossilOrigin-Name: 2cb37b959c66b5ae3535ab81ba14a4ebf9732df7
2015-04-19 22:31:45 +00:00
drh 5f1d2fa4d2 Fix another assert() that is not true if the database schema is corrupt.
FossilOrigin-Name: bc97cec6338b16a4e9b1a9457d01bb7fe462934d
2015-04-19 21:59:19 +00:00
mistachkin 8e18922f12 Fix harmless compiler warnings seen with MSVC 2015.
FossilOrigin-Name: d05becd873a03a366843a34e7f4c732dd8f88c86
2015-04-19 21:43:16 +00:00
drh 33c59ecafb Fix a faulty assert in the schema parsing logic.
FossilOrigin-Name: b1ed949584a2526c04952b98c3aa283427f45e10
2015-04-19 20:39:17 +00:00
drh d0c7305313 Fix a potential NULL pointer deference on a corrupt database schema.
FossilOrigin-Name: dc61b292d8eaf422ca8a2b18f1caccef1a5389fd
2015-04-19 19:21:19 +00:00
drh a21f78b93f Bring comments on the INSERT code generator up-to-date. Fix the INSERT code
generator so that it correctly handles inserts from a SELECT into a virtual
table with non-terminal hidden columns.

FossilOrigin-Name: 4ac81fac6c6302c042be3df493a41630b733fff0
2015-04-19 18:32:43 +00:00
drh 816070cf5c The sqlite3_trace() callback does not try to expand parameters in statements
that have no parameter.

FossilOrigin-Name: 917e3c36293a1bf052a16116c93e5037ed712f96
2015-04-18 19:20:14 +00:00
drh 7088d50109 Fix an incorrect assert() statement in the CREATE INDEX code generator.
FossilOrigin-Name: 2eed41fda068f2cbac55e63d7c1875ddaa331508
2015-04-18 17:43:29 +00:00
dan ea8562edce Ensure that if a "ROLLBACK TO" statement is used to rollback (but not close) theoutermost transaction, the xRollbackTo() method of any virtual tables involved in the transaction is invoked.
FossilOrigin-Name: e98d481d84ef31b6ed154f14deae9b261f722616
2015-04-18 16:25:54 +00:00
drh 935f2e7074 Disregard leading zeros when converting strings to 32-bit integers.
FossilOrigin-Name: 691cc201e135a01c4cc4057be7e5d99285ab392d
2015-04-18 04:45:00 +00:00
drh c982844097 Fix an incorrect assert() in the sqlite3_trace() logic.
FossilOrigin-Name: eabde33997b5b2ffc0067930305d6fed5951a234
2015-04-18 00:22:17 +00:00
drh 7693c42f1a In the expression-tree comparison routine, do not compiler Expr.iColumn
and Expr.iTable for TK_STRING expressions.

FossilOrigin-Name: b67bb16c72c3e015ea82665ada9b5d3289ef6fb2
2015-04-17 19:41:37 +00:00
drh 7b4da150da Always resolve symbols in all ORDER BY clauses of a compound-SELECT, even
illegal ORDER BY clauses.

FossilOrigin-Name: 6c39ef73d5899eabdb46db50c2b00c2d8381a41a
2015-04-17 18:52:37 +00:00
drh 97ab32bcd3 Remove unnecessary parser error count increments. Let the sqlite3ErrorMsg()
take care of doing that.

FossilOrigin-Name: 3f3b0f683af2fbee83811536f6bef770ff919385
2015-04-17 18:22:53 +00:00
drh c50c8f4043 Remove an ALWAYS() that turns out to be false when there is a semantic
error on a compound SELECT.

FossilOrigin-Name: ad67a67c03078a2bc65d28f2b880b29bf02067c1
2015-04-17 16:12:03 +00:00
drh d99d28361e Ensure that semantic SQL errors are always reported back up to the syntax
parser.  Also:  Improve the defense against invalid PRAGMA synchronous settings.

FossilOrigin-Name: 7aeade9a07f29bf26e50394042ea18d0121fe7a3
2015-04-17 15:58:33 +00:00
drh b8289a8b00 Fix a faulty assert() in sqlite3SelectNew().
FossilOrigin-Name: 620d19c3b462f5c4763ebd26513321431f21dd72
2015-04-17 15:16:58 +00:00
drh e318a7f84c Restrict the scope of a local-use function in the parser.
FossilOrigin-Name: cd6598f47480a6189df3e4283231833fd246d7fb
2015-04-16 23:04:17 +00:00
drh a33b68364b Use a heap rather than a bitmap for cell coverage and overlap testing on
btree pages in PRAGMA integrity_check.

FossilOrigin-Name: e94b2ef2242d716379a35dba3d2df1ac512c8d30
2015-04-16 21:57:37 +00:00
drh f3151f0a0d Fix a couple of unreachable branches.
FossilOrigin-Name: 8f391dffcfe068d48f854784648610d8a86f6bc8
2015-04-16 20:27:09 +00:00
drh ab4e7f3337 Make sure all cursors are closed when returning from a VDBE subprogram that
implements a foreign-key construct.

FossilOrigin-Name: d04d354d8e423961c3091b6ebcfbbbf10d3ecb04
2015-04-16 18:11:50 +00:00
drh 6dc4148547 Fix the VDBE so that it always uses the original opcode for profiling and
debugging even after the pOp pointer has been updated due to a jump.

FossilOrigin-Name: 647495cf12b656f6a2f028dc1fb459d667153cf2
2015-04-16 17:31:02 +00:00
drh a276e3fd4d Fix a faulty assert() in the compound-SELECT code generator.
FossilOrigin-Name: 10715b05f2201a63dca317f99ce39d3ce182e182
2015-04-16 16:22:27 +00:00
drh 59ac655d02 Silently ignore requests to change the PRAGMA synchronous setting to an
illegal integer value, rather than raising an assertion.

FossilOrigin-Name: e0a88176fcfbed7b554a036948261a332c920053
2015-04-16 16:04:39 +00:00
drh e06874eaa1 Make sure errors in coding triggers are propagated back up to the parser.
FossilOrigin-Name: 928f973ca9adc7933015b2fb6b6fcb8e3154cb9c
2015-04-16 15:47:06 +00:00
drh 9569f60e18 Add the --backslash option to the command-line shell for testing purposes.
FossilOrigin-Name: dd96211e8022365637286b146120cc5db44a9923
2015-04-16 15:05:04 +00:00
drh 6736618a8f Fix a faulty assert() in the compound select code generator.
FossilOrigin-Name: 9d336be1b16aa9bd5c9e4132bb645874993c7d96
2015-04-16 14:33:35 +00:00
drh 772460fd4c Improvements to the way VALUES clauses are parsed.
FossilOrigin-Name: ec5a493ad27593ca78899b3001630c1898b940ff
2015-04-16 14:13:12 +00:00
drh 67731a97a2 Use a heap instead of a bitmap for cell overlap and coverage testing of
btree pages in PRAGMA integrity_check.

FossilOrigin-Name: 5619c959bf7babb19fd8ba8b228be7f090fe0ce3
2015-04-16 11:56:03 +00:00
dan 5b1c07e7fb Ensure the sqlite3Select() routine always returns non-zero if an error has occurred.
FossilOrigin-Name: b51028ed2f57f4245a7ebd9bdb99d1bcfaf1a01b
2015-04-16 07:19:23 +00:00
drh 22ecef5c20 When parsing the schema, ignore any SQL that does not begin with "CREATE".
FossilOrigin-Name: d3c00d61581c8ba6dce5618391432d3af8d324d4
2015-04-16 00:26:03 +00:00