Commit Graph

5478 Commits

Author SHA1 Message Date
drh
bfad7be78a Detect and report circularly defined views even if the views have the
columns defined in the CREATE VIEW statement.

FossilOrigin-Name: 9ab9c8c6d747647f8ade58c2c4812fc69a813368
2015-10-11 20:39:46 +00:00
drh
d12b636330 Improved substitution logic in the query flattener. Saves code space, and
(more importantly) works correctly with table-valued functions.

FossilOrigin-Name: 3d0bd95e977db50c314d33ec292f99e0539d7b4a
2015-10-11 19:46:59 +00:00
drh
64db184efa Fix a typo in the MSVC Makefile
FossilOrigin-Name: c8a12082380991781b5ecd2f479ec65600f4f695
2015-10-09 13:29:27 +00:00
drh
ce1d9f546b Add configure script options --enable-fts5 and --enable-json1. Automatically
search for -lm when using --enable-fts5.

FossilOrigin-Name: a0c44f1d46f1f31043d66f20c8dc0df53db15c30
2015-10-09 12:48:33 +00:00
drh
c306e08ad5 Json1 tests are working. Builds without FTS5 enabled. Still some problems
building with FTS5.

FossilOrigin-Name: 2928f8e87d2e5d121e6e7e5993cbb773bb2b0603
2015-10-08 23:37:00 +00:00
drh
1dcc97cd3a Adjustments to spellfix2.test so that it works reliably on mac.
FossilOrigin-Name: d591e860d3d7c61637b4b07989bf176cb337db2c
2015-10-07 16:14:18 +00:00
mistachkin
6418ffab82 Fix a typo in the previous check-in.
FossilOrigin-Name: 80027709c3ba2a8c9bda4d37779f65104be1045c
2015-10-07 04:20:34 +00:00
mistachkin
6bd7456edd When running tests on Tcl 8.6 under Windows, skip tests 'uri-1.12.*' due to a change in Tcl behavior related to NTFS ADS (alternate data streams).
FossilOrigin-Name: 8a0a2aa5a6df3d7b5995457b57f051e39d6cf9e9
2015-10-07 03:07:41 +00:00
drh
9f1ef45f6a Fix the LIMIT and OFFSET handling for UNION ALL queries that contain a
subquery with ORDER BY on the right-hand side.  Fix for ticket
[b65cb2c8d91f668584].

FossilOrigin-Name: 4b631364354068af95a01630469cb6fbfe8b52fd
2015-10-06 17:27:18 +00:00
dan
f24bebe37a Update fts3 so that expressions to the left and right of a NOT operator are balanced. This prevents relatively small expressions (a dozen terms or so) that are children of NOT operators from triggering the "expression tree is too large" error.
FossilOrigin-Name: d6b66cd7b89fbd964f798d160a34caac0ba7347a
2015-10-05 15:39:45 +00:00
drh
105865acf9 Add a corrupt database to test/fuzzdata3.db to validate the previous
check-in.

FossilOrigin-Name: e796c0efb6cf17444b53af75046daf7d8fa82f78
2015-09-30 14:30:19 +00:00
dan
e755e10a78 Clear the BTCF_ValidNKey flag when putting a cursor into REQUIRESEEK state. Fix for [1b266395].
FossilOrigin-Name: a6d5e4e8693bea3739c35fe9769ac9abfb9ed056
2015-09-30 12:59:12 +00:00
dan
e60856980a Add the sqlite3_index_info.idxFlags field, allowing xBestIndex() implementations to specify to SQLite that a strategy may visit at most one row. Add support for this to fts3/4. Omit the statement journal from virtual table UPDATE and DELETE operations that are guaranteed not to affect more than one row.
FossilOrigin-Name: a1d08fd3d0419da8c22355d48c6d83eed6fd7e07
2015-09-29 16:47:53 +00:00
dan
65c4f591be Ensure that the xSavepoint() virtual table method is correctly invoked if there are already open savepoints (or statement transactions) the first time a virtual table is written within a transaction.
FossilOrigin-Name: 77948b5eceab92a77c39d0864ac15ad453a76fd7
2015-09-29 16:41:23 +00:00
dan
354474ad6d Add tests for fts3 and onepass update/delete operations. Also fix a problem with onepass updates that do not affect any rows.
FossilOrigin-Name: 820c804468abff692742952de670c5d906a50956
2015-09-29 10:11:26 +00:00
dan
0f40037eee Also allow UPDATE on virtual tables to use the onepass strategy.
FossilOrigin-Name: 1aa27d706db9b2e21737ce4b94b47ecd12c2570f
2015-09-28 20:03:49 +00:00
dan
d943b27596 Update fts3 to use the onepass strategy for delete operations.
FossilOrigin-Name: fffab4f70f85eeb2acbb89534064a6e397c39384
2015-09-28 15:23:29 +00:00
drh
3169713be0 Add test cases to the ONEPASS optimization corruption problem fixed by the
previous check-in.

FossilOrigin-Name: 5c14d447055bb337428eb1fe0a2934abee381829
2015-09-28 15:08:28 +00:00
drh
32498f1321 Fix a memory leak that can occur following a syntax error in CREATE VIEW.
FossilOrigin-Name: f4704035a6134f702c00110358e36f1579e2ea78
2015-09-26 11:15:44 +00:00
drh
68391acd5f Fix PRAGMA integrity_check so that it works with a UNIQUE index over
expressions.

FossilOrigin-Name: 113181cec4db418b07640d6b1967923992efd71a
2015-09-25 20:49:16 +00:00
drh
2679f14fd9 Report an error if the number of named columns in a VIEW is different
from the number of result columns in the SELECT statement that implements
the VIEW.

FossilOrigin-Name: 6e4ac0be2de1a16fcbb2a314504122ad95aa257e
2015-09-25 13:42:55 +00:00
drh
dae26fe518 Enhance the query planner so that it is able to use indexed expressions
to help fulfill an ORDER BY clause.

FossilOrigin-Name: 668fc1ebaf426f9eed3ed7865e41f1023dafebfb
2015-09-24 18:47:59 +00:00
drh
c5de2d0a05 Make sure joins work correctly when both sides of the join are connected
using indexed expressions.

FossilOrigin-Name: c2fcb03299f2872d7f97a540ea145519f8b2e5cc
2015-09-24 12:19:17 +00:00
drh
7269443281 Correctly handle the case of a WHERE-clause term with indexed expressions on
both sides of the == sign.

FossilOrigin-Name: d9b716a6bd6145b2e7733c04d86227df777cd473
2015-09-24 11:26:45 +00:00
drh
b7601461e0 Fix a JSON1 test case so that it works on builds that omit virtual tables.
FossilOrigin-Name: a4444c0f662058bdd5267e616c31cef828bc1fc5
2015-09-24 11:06:26 +00:00
drh
64ff56f91a Capture AFL-generated fuzz tests for json1.c into the test/fuzzdata4.db file.
FossilOrigin-Name: 10a214fdb3c13b25e0bdd15c975c21c8890c47ee
2015-09-23 11:59:50 +00:00
drh
f27cd1f3aa Do not allow a comma at the end of a JSON array or object.
FossilOrigin-Name: 7c7a3f3e9bc2f7a7334d8d6eae183d83f22097be
2015-09-23 01:10:29 +00:00
drh
40e0e0dbe7 Add the --export-sql and --export-db options to the fuzzcheck utility program.
FossilOrigin-Name: 760af4455115669b934c3115d45cffe89c085faf
2015-09-22 18:51:17 +00:00
drh
9cdd1029e5 Fix a typo in the --help screen of the fuzzcheck utility.
FossilOrigin-Name: b6ae61fe3b3de3aa296b3e56cd2ec425a5141c73
2015-09-22 17:46:11 +00:00
drh
8cb0c83cce Fix json_set() so that it can overwrite a value that was previously overwritten
during the same call.

FossilOrigin-Name: 0f16041647993975c316203c7e11f06e27640136
2015-09-22 00:21:03 +00:00
drh
6230212f4a Do not allow table-valued function syntax to be used on a view.
FossilOrigin-Name: 97cfe346e140e42a604375551f8168276bdbea11
2015-09-19 20:27:08 +00:00
drh
dc38495715 Fix a memory leak in json1.c that could occur after misuse of json_object().
FossilOrigin-Name: 394b81b11f261a9b179a034bc2a2d2dff0765e3b
2015-09-19 18:54:39 +00:00
drh
d7f2beab86 Include json1.c in fuzzcheck and fuzzershell.
FossilOrigin-Name: c4b68eff7f8f5402a9abf378157767b1c96a6101
2015-09-19 14:32:51 +00:00
drh
4977ccf143 Fix an off-by-one error (really off-by-2 in this case) in the buffer
resize logic of json1.

FossilOrigin-Name: d2a027372a5a6efc0f9b6f605093d865ae1c6788
2015-09-19 11:57:26 +00:00
drh
4cbc54b042 Do not allow rowid in a UNIQUE or PRIMARY KEY constraint. (This restores the
same behavior exhibited by all prior releases.)

FossilOrigin-Name: b1278301e37220a075c1bae88c0fcca2ef7a7d5c
2015-09-19 03:07:30 +00:00
drh
e63e8a6c78 Fix a crash that can occur with a skip-scan on an index with
expressions when SQLITE_ENABLE_EXPLAIN_COMMENTS is defined.

FossilOrigin-Name: 25f34cb9b576a2d4250a06a7dbf88010b1c11675
2015-09-18 18:09:28 +00:00
drh
e5c61f81c3 Adjustments to the spellfix2.test module so that it works reliably on
windows.

FossilOrigin-Name: 09a313fb7f2c16b0253a439edb901a7bb201d7d3
2015-09-18 15:38:07 +00:00
drh
bec9d65da4 Adjust two test cases so that they conform to the current code.
FossilOrigin-Name: 228e3d7c8f37c722aee3b589bdd5cfaa4b1f6f03
2015-09-18 15:35:16 +00:00
drh
59de9c0080 Fix sqlilimits.test module so that it knows that the SELECT in a CREATE VIEW
is not checked until the view is actually used.

FossilOrigin-Name: acf5d87f9456a1d0d69fe0ebc753211e1be07eaf
2015-09-18 15:13:29 +00:00
dan
ad41f5eda3 Ensure that "PRAGMA integrity_check" reports an error if the free-list count header field contains a value smaller than the actual number of pages on the database free-list.
FossilOrigin-Name: 26f64986d1ed59c554a7cb9e00e86a7f148f1fc6
2015-09-18 14:45:01 +00:00
drh
3a84411fc4 Fix the orderby9.test case so that it works with 32-bit versions of TCL
FossilOrigin-Name: 4b6af7743034546a407a3e4722645945a4efc8a1
2015-09-18 14:42:48 +00:00
drh
9df5ad58bb Remove a test made obsolete by the ONEPASS DELETE optimization.
FossilOrigin-Name: c88b62c28cc7ac31b93f7df0c732e0bb6ca24f65
2015-09-18 14:22:34 +00:00
dan
2e8f5517f7 Avoid passing (signed char) values directly to isspace(), isalnum() or isdigit() in json1.c. Cast the value to (unsigned char) first.
FossilOrigin-Name: 6713e35b8a8c997aa2717e86ce6dcd63bb993477
2015-09-17 17:21:09 +00:00
drh
d9dfeb575e Add a "flush" to force incremental output to releasetest-out.txt while running
the test/releasetest.tcl. script.

FossilOrigin-Name: 0f3de2d337a3113dbd0765aa5545bb586b780121
2015-09-16 17:46:11 +00:00
dan
f0ee1d3c12 Experimental change to use a single-pass approach for DELETE statements on non-virtual tables that do not fire triggers or require foriegn-key processing.
FossilOrigin-Name: eaeb2b80f6f8f83679c8323a81bb39570ec946fe
2015-09-12 19:26:11 +00:00
drh
b3366b99c8 Update evidence marks due to wording changes in requirements text. No
changes to code.

FossilOrigin-Name: 86781093bdb4c4fdedd228cb1c8961db48a483bb
2015-09-11 20:54:44 +00:00
drh
e98b6fab47 More test cases in test/json102.test corresponding to new examples in the
json1 documentation.

FossilOrigin-Name: f599a42e190b4b89d74055402143c5487985cd90
2015-09-11 15:32:33 +00:00
drh
12b3b89542 Updates to the sqlite3_value_subtype() and sqlite3_result_subtype()
documentation and to test cases for json1 dealing with those interfaces.

FossilOrigin-Name: d6cadbe9fefce9a7af6b2d0cb83362f967d7d89a
2015-09-11 01:22:41 +00:00
drh
f5ddb9c214 Take out the goofy '$$' path syntax. Instead, use subtypes to communicate when
a string is JSON.  Add the json() function that validates and minifies the
JSON and sets the appropriate subtype.

FossilOrigin-Name: 8a80d6459e246ec1b38325e1cbd1e862157138b3
2015-09-11 00:06:41 +00:00
drh
bcdf78a61c Experimental implementation of sqlite3_result_subtype() and
sqlite3_value_subtype() interfaces.

FossilOrigin-Name: 7b5be299c617a3d3ed327ed30ef0a66a62c85b1f
2015-09-10 20:34:56 +00:00