Commit Graph

20786 Commits

Author SHA1 Message Date
drh 9148defa61 Enhance the error message for "foreign key mismatch" to include the names of
the child and parent tables.  Begin adding test cases for 
PRAGMA foreign_key_check.  Make sure PRAGMA foreign_key_check gets all
necessary table locks.

FossilOrigin-Name: 0f9963526c299757ff95c153fb05a67cddb6af28
2012-12-17 20:40:39 +00:00
drh 613028b34e "PRAGMA foreign_key_check" with no argument checks the foreign keys on all
tables.

FossilOrigin-Name: 57d47423a65d183cb1efcb95b28cb143e788b953
2012-12-17 18:43:02 +00:00
drh a7c2f3e760 Fix an issue with child keys that are not INTEGER PRIMARY KEY
referencing INTEGER PRIMARY KEY in the parent.

FossilOrigin-Name: 603b695bf094b9da905f877a13dcb134463db92a
2012-12-17 18:05:54 +00:00
drh 6c5b915fcb Prototype for PRAGMA that checks all foreign key constraints on a table.
FossilOrigin-Name: 01c980e9bbdf82e0b37667b6403c19ed8c73ee62
2012-12-17 16:46:37 +00:00
drh 6d42097622 Optimize IN operators in the WHERE clause of queries using virtual tables.
FossilOrigin-Name: 3d65c70343196b8f69c5293e7703839846fade85
2012-12-14 17:54:38 +00:00
drh d03025327e Remove an unreachable branch. Improvements to comments.
FossilOrigin-Name: d2fb7619b063b329b6d7ba9a16a7290e5d868f23
2012-12-14 17:48:08 +00:00
drh 03597ef6e2 Merge in all the trunk changes that have occurred since this branch was
opened.

FossilOrigin-Name: 6d507e4de924e2f4556ea4a03ee0fa7d647bf8bb
2012-12-14 15:54:05 +00:00
drh e40ed78c1c Fix the virtual table IN optimizer so that it work even if the virtual table
implementation leaves the sqlite3_index_info.aConstraintUsage[].omit flag
clear for an equality constraint that it intends to use.

FossilOrigin-Name: d6e045f89c5a4b500b1da7ea1224b132909bafc6
2012-12-14 15:36:17 +00:00
drh b3256037ff Generalize the min/max optimization so that if an appropriate index exists,
the index it can be used by any aggregate query that contains only a single
max() or min() and does not contain a GROUP BY clause.

FossilOrigin-Name: 52e755943f87354febe214e5dc3b423a1e38ba80
2012-12-13 18:57:31 +00:00
drh 92f76572e0 Increase the version number to 3.7.16 in advance of adding new features
for the next release.

FossilOrigin-Name: 8bcf5f51d8a6ea47ba4eb8de001d7a30e0a5f2c3
2012-12-13 18:51:53 +00:00
dan 4ac391fc05 Attempt to further generalize the min/max optimization so that, if an appropriate index exists, it can be used by any aggregate query that contains only a single aggregate of the form max(colname) or min(colname) and does not contain a GROUP BY clause.
FossilOrigin-Name: 7280e14cd8f55896451847b432171e8750a07c81
2012-12-13 16:37:10 +00:00
drh 32055c2499 Allow the error message from "PRAGMA integrity_check" to be longer than
20,000 bytes.

FossilOrigin-Name: 120c82d56ecb574f46db01679317b8062d8779ed
2012-12-12 14:30:03 +00:00
dan 2d6381865d Version 3.7.15
FossilOrigin-Name: cd0b37c52658bfdf992b1e3dc467bae1835a94ae
version-3.7.15
2012-12-12 13:36:53 +00:00
drh 6949784cc4 Update requirements marks and test cases for multi-VALUE INSERT and to fix
typos in requirements text.

FossilOrigin-Name: 81d9ee0f0df7f283e69ba1c2845339ea3318cd66
2012-12-11 19:40:03 +00:00
drh 39ac5de6c5 Fix a typo in a comment that is used to generate
documentation.  No changes to code.

FossilOrigin-Name: e38adb60a7952ca9e28e496b4e4658c724a368d2
2012-12-11 19:10:37 +00:00
drh be707b396a When an arithmetic operation with two integer operands must give a
floating-point answer due to overflow, make sure the answer is not
rounded back to integer by affinity.

FossilOrigin-Name: bd7aeeb691fee69dd6a562138a7aba8e8e192272
2012-12-10 22:19:14 +00:00
dan b136e902ad Modify releasetest.tcl so that it runs the "checksymbols" test on a build without SQLITE_DEBUG defined. If SQLITE_DEBUG is defined, the sqlite3WhereTrace variable causes the test to fail.
FossilOrigin-Name: 75e545a9e2614fae7db86ecfb84e41ecbe4097ba
2012-12-10 10:22:48 +00:00
dan de7ced37fe Remove a reference to JumpOnce from a comment in vdbe.c. No code changes.
FossilOrigin-Name: ee662c039d67f118008485d95603c5a43fcac75f
2012-12-10 09:08:17 +00:00
drh bd36911f4d Pull the latest trunk changes into the sessions branch, and in particular
the collating-sequence refactorization.

FossilOrigin-Name: 4f6d69ae94671df92b976525f75404c01270fef9
2012-12-08 23:37:22 +00:00
drh 04229acebc Factor some work out of the index loop of the bestBtreeIndex() routine for
a small performance increase.

FossilOrigin-Name: 92c9ab56b1c67b9468bec57ab1d2c483a69a2810
2012-12-08 22:14:29 +00:00
drh 468ef9a87e Refactor collating-sequence handling as a fix for ticket [71e333e7d2e642].
The Expr.pColl field is removed from the Expr object.  The COLLATE operator
now becomes a separate instance of Expr in the expression tree.  The code
generator looks up the correct collating function as needed, rather than
referring to Expr.pColl.

FossilOrigin-Name: 8542e6180d4321d45b34f33e481658908ce1430d
2012-12-08 21:51:24 +00:00
drh 261d8a51e2 Adjustments to the collating-sequence refactoring to facilitate full-coverage
testing and to fix some minor issues found by TH3.

FossilOrigin-Name: cdbfa664839a409589ec7cebfc9111235d2f3b38
2012-12-08 21:36:26 +00:00
drh fb76f5a00c Make sure WHERE clause constraints A=B and B=A work the same even with
COLLATE clauses.

FossilOrigin-Name: b3f53668115f0a12a01167c2a75eecc735416024
2012-12-08 14:16:47 +00:00
drh 0ca10dfbed Fix the header comment on the OP_Compare operator.
FossilOrigin-Name: 2722f4074fd8d189b7bd2b9107484b66500e5e9b
2012-12-08 13:26:23 +00:00
drh 2d8e920339 Duplicating check constraint expressions prior to code generation is no
longer required, and so it is removed.

FossilOrigin-Name: 1a9db8dc2f3c5cb089801d56122cdf5c3a618163
2012-12-08 04:10:44 +00:00
drh 580c8c1816 Veryquick passes all tests now.
FossilOrigin-Name: 7b96115e81deab0aa0472839cf787ba3f2fc64a7
2012-12-08 03:34:04 +00:00
drh d91eba9673 Recognize TK_COLLATE operators that have been transformed into TK_REGISTER.
Skip both TK_COLLATE and TK_AS operators when looking for the top of an
expression.

FossilOrigin-Name: f66c1db2965054f38125218202b6a6ec62d57666
2012-12-08 00:52:14 +00:00
drh 85d641f948 Improved error messages when column integers in an ORDER BY clause are
out of range.

FossilOrigin-Name: bd960d937f8d6521c8ec4b7bd8a77a498dd432d4
2012-12-07 23:23:53 +00:00
drh 8e049633aa For an ORDER BY on a compound SELECT, take the collating sequence from the
left-most term of the compound.

FossilOrigin-Name: 8e724b383da1314909c9a05e9d941a26a9f50b95
2012-12-07 23:10:40 +00:00
drh 62a66e7034 Do not report missing collating functions while parsing the schema.
Also remove a stray comment.

FossilOrigin-Name: e313edca0472f07e9b872b92120d80b4bc177328
2012-12-07 22:54:41 +00:00
drh 953f7611da Fix a long-standing issue with the distinct-as-aggregate optimization that
only expressed when the new collating-sequence logic is turned on.

FossilOrigin-Name: 0aaf52a339808386984c30cca0c0c35ac2e70e7e
2012-12-07 22:18:54 +00:00
drh bd13d34b08 Fix the processing of ORDER BY clauses with COLLATE terms on compound
queries.  52 veryquick test failures remain.

FossilOrigin-Name: 49654453ad157693414c1f86fa3afa0918acffd4
2012-12-07 21:02:47 +00:00
drh 7a66da1395 Many more tests are passing. Only about 100 failures remain in veryquick.
FossilOrigin-Name: f9fa7581c0371fe0feb4e97487741ade18595810
2012-12-07 20:31:11 +00:00
dan 4b2f358938 Ensure the VerifyCookie sub-routine has been run before the database is accessed in an obscure case. Fix for ticket [d6b36be38].
FossilOrigin-Name: 2d5f37c99a9e5377409697f5392a1ca55970964e
2012-12-07 19:28:26 +00:00
drh 0a8a406e9b Some errors in veryquick resolved. Many more to go.
FossilOrigin-Name: 972443b4eb282d45507da06c75e2cd46dd72326b
2012-12-07 18:38:16 +00:00
drh 4b17cf5855 Veryquick now row to completion without segfaulting or asserting. But there
are still lots of errors.

FossilOrigin-Name: 7fafab12e4c0c832c421975f8329c3214403d281
2012-12-07 14:02:14 +00:00
dan bac19cf904 Do not run test file malloc3.test as part of the inmemory_journal permutation. Explanation is in a comment at the top of malloc3.test.
FossilOrigin-Name: df1827b19e47724b62fdf6fbedfd4e61add343d3
2012-12-07 10:55:19 +00:00
mistachkin 88be0144fb Spelling and header fixes for the async extension.
FossilOrigin-Name: 930ba85262b76e8b1555bcfe4637135c27e04d58
2012-12-07 09:08:42 +00:00
mistachkin 46af59e96c In the async VFS, treat the new error code SQLITE_IOERR_DELETE_NOENT as success for xDelete.
FossilOrigin-Name: c507ca4a8eb255923ff32001a1903dc85960f485
2012-12-06 23:16:58 +00:00
drh ae80ddea9f Remove the Expr.pColl field and compute the collating sequence as it is needed.
This fixes the test script "shared9.test", though there is still a memory leak.
And there are other problems.  Consider this a work-in-progress.

FossilOrigin-Name: fd011cb22f2d899d94ec7ce22641d7a8f5e19972
2012-12-06 21:16:43 +00:00
dan fd4d47053d Merge the constant-refactoring-in-triggers branch with the trunk.
FossilOrigin-Name: 79ef8e3c7798dfdf37359ac816e886a43ba9d98d
2012-12-06 19:41:44 +00:00
dan f78baafe41 Apply the same restrictions on constant refactoring to statements within a trigger program as top-level statements. Candidate fix for [ae3c5670b6].
FossilOrigin-Name: 0c31a46801746191d1a53332d75beda880fe1fd7
2012-12-06 19:37:22 +00:00
drh 696b33e622 Add the SQLITE_FCNTL_TEMPFILENAME file control that asks the underlying VFS
to return a new temporary filename.  Per request from NSS team at Mozilla.

FossilOrigin-Name: 1a63b1d5fa5d79f96eddbda6d94bc10248863710
2012-12-06 19:01:42 +00:00
drh 74358f0c77 Add a test case that demonstrates ticket [71e333e7d2e642].
FossilOrigin-Name: cc6e0785df3c2342376351e19ba7dba7b8d2f6a3
2012-12-06 15:15:15 +00:00
mistachkin 48dd9deffe For the sqlite3-all.c target, use backslashes when calling the splitter script via the MSVC makefile.
FossilOrigin-Name: d507648d820cfea70e17f3d21c35c932a2d20367
2012-12-06 04:33:13 +00:00
mistachkin f44d4b41bd Bring the ancient malloc3.test file closer into relevance with the latest core code.
FossilOrigin-Name: 9793a21c13a1188383b4be64df86629f196ca330
2012-12-06 04:19:24 +00:00
drh 0590552811 Stop using the TCL_LIBS configuration variable when linking with Tcl.
Remove superfluous 'rm' command from the "clean" target.

FossilOrigin-Name: 1551277208048cb24887928f2f971e47a942c849
2012-12-06 02:56:05 +00:00
drh e6f1e760d5 Remove obsolete comments from the definition of the CollSeq object.
FossilOrigin-Name: 7b6951016f5bf4c21f843f09769ba176c709e785
2012-12-06 01:03:15 +00:00
mistachkin f344a5e70e Stop using the TCL_LIBS configuration variable when linking with Tcl. Remove superfluous 'rm' command.
FossilOrigin-Name: e1feab9834fe829d43ae895cc575ad269a36668c
2012-12-06 00:16:51 +00:00
dan e825831ee4 Disable a couple of tests in where.test when running the "no_optimization" permutation.
FossilOrigin-Name: 5e961e37c5357776bcb44c473cb5ee4b59561f07
2012-12-05 19:04:32 +00:00