1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-08 03:22:21 +03:00
Commit Graph

448 Commits

Author SHA1 Message Date
danielk1977
edaaec223c Fix an obscure memory leak in the SQL compiler.. (CVS 4070)
FossilOrigin-Name: d4ab94288b1e3d3d069ccc75d0fc2fbe6c1383c5
2007-06-15 16:37:29 +00:00
drh
0a168377ad Fix the query optimizer so that it correctly handles constant expressions
in the ON clause of a LEFT JOIN.  Ticket #2403. (CVS 4049)

FossilOrigin-Name: 46fdd195483787eef209a9b8ad108eba147be6fa
2007-06-08 00:20:47 +00:00
danielk1977
c9cf901d8c Add some extra tests for malloc failure during expression parsing and execution using fuzzily generated SQL. (CVS 4043)
FossilOrigin-Name: 7522d2fb3204d107b8b4816d7f39c88741f20230
2007-05-30 10:36:47 +00:00
danielk1977
bcbb04e501 Consider explicit collate clauses when matching WHERE constraints to indices. Fix for #2391. (CVS 4040)
FossilOrigin-Name: f9a95e92dfaaa61ec0a44b9b7017b07929c94d26
2007-05-29 12:11:29 +00:00
danielk1977
15d7982ad8 A fix for queries that used correlated, compound sub-queries in the HAVING clause. Also update fuzz.test some more. (CVS 4001)
FossilOrigin-Name: da0c1ab4deedd2b952a43b3af6962a9403f8c9ee
2007-05-15 07:00:34 +00:00
drh
4f07e5fbdf Remove terms with operator TK_AS from the expression tree. Ticket #2356. (CVS 3991)
FossilOrigin-Name: 5627ff74be9242418434a06fe5c104d1f9128cab
2007-05-14 11:34:46 +00:00
danielk1977
cdbd8eff21 Bugfixes for assert() failures found by fuzz.test. (CVS 3986)
FossilOrigin-Name: 2e80736d57fde55b112864d8b198a9a2fe0eaa38
2007-05-12 06:11:12 +00:00
drh
4e05c83bc3 Additional parsing bugs fixed. (CVS 3981)
FossilOrigin-Name: d12a8924c6083cdff14990b4fd036ca386c2e34a
2007-05-11 01:44:50 +00:00
drh
db83f8231f Make sure that the REGISTER token generates a valid Expr. REGISTER will
cause the tokenizer to abort, but the parser might do several reduce
actions prior to that abort and those reduce actions sometimes need a
valid Expr. (CVS 3980)

FossilOrigin-Name: d146f01a02579339c5dc86bbe59f246bd6c05c63
2007-05-11 00:20:08 +00:00
danielk1977
fc9760654a Add code to enforce the MAX_EXPR_DEPTH limit. (CVS 3968)
FossilOrigin-Name: 2c9c94a24d52a1c9f5d1b32cbdff794a2dd74126
2007-05-10 10:46:56 +00:00
danielk1977
832b2664e6 Add further test cases for compile time limits. (CVS 3963)
FossilOrigin-Name: 9bf2c594a48a4661700f0833562ee2b3ff7b761c
2007-05-09 11:37:22 +00:00
danielk1977
b4fc679463 Fix a null-pointer dereference that follows a malloc() failure introduced in (3954). (CVS 3956)
FossilOrigin-Name: 251ba1981e32fb80818965ffe1ef455069e88abd
2007-05-08 18:04:46 +00:00
danielk1977
7a15a4beef Add a few more tests to sqllimit1.test. (CVS 3954)
FossilOrigin-Name: eeee6b71e5643511320cbe15bafa170cfd02877f
2007-05-08 17:54:43 +00:00
drh
5ffb3ac844 Fix a && where & was intended. This is a real problem, but it would be
very difficult to devise a test case where it might lead to an unexpected
result.  Ticket #2306. (CVS 3856)

FossilOrigin-Name: 7f9f0444ed1a85ed682b604fded535bff5be1535
2007-04-18 17:07:57 +00:00
drh
94ccde58d0 Match ORDER BY terms to columns using names in compound queries. Make sure
this works for subqueries, especially in the right-hand side of an IN
operator. Ticket #2296. (CVS 3842)

FossilOrigin-Name: cfc6f933dc60ca88ae848f7f0c402e820437c2ff
2007-04-13 16:06:32 +00:00
drh
cf64372910 More strict aliasing fixes. The single source file library now runs
successfully with -fstrict-alias. (CVS 3725)

FossilOrigin-Name: c8a8a189a82500aab501e9949f5b197c0b80b3a9
2007-03-27 13:36:37 +00:00
drh
4f0c587819 Modify sources to that they can be combined into a single sqlite3.c source
file.  Eliminate all type-pruned pointer warnings. (CVS 3722)

FossilOrigin-Name: 0b832e218ec12b0eb559e407d80aba6709e2ea85
2007-03-26 22:05:01 +00:00
drh
7f906d63ff Clarify the use of loop variables in a expr.c. (CVS 3683)
FossilOrigin-Name: e20e76f6d8578f4faab0b101b6d4deb2a8987454
2007-03-12 23:48:52 +00:00
drh
d40aab0ea8 Add comments to sqlite3ExprCompare() to clarify its operation. Ticket #2216. (CVS 3663)
FossilOrigin-Name: fba0a1e50820677081bc7cf01f97bf953065f7c4
2007-02-24 15:29:03 +00:00
drh
dd73521bc2 Additional tests and some improvements to the INSERT transfer
optimization.  More testing is needed. (CVS 3661)

FossilOrigin-Name: 830985814345f71ba2def3c206e36aabe9e1ee7c
2007-02-24 13:53:05 +00:00
drh
945498f3f2 Make sure that integer values are converted to real when pulled from
a REAL table column by GROUP BY.  Ticket #2251.  Also make sure default
values are correctly expanded.  There may be other places in the code
where this issue comes up - we need to look further. (CVS 3659)

FossilOrigin-Name: e11bbf174c5a2fa75e3d1dd450c8b2a18f40e4da
2007-02-24 11:52:52 +00:00
drh
de087bd5ed Clarify the documentation on how comparisons occur in an IN operator.
Fix the comparison operators when both sides of an IN operator are
expressions (ticket #2248).
Changes to main.mk for adding FTS2 into the standard build also
got mixed in with this check-in by mistake. (CVS 3656)

FossilOrigin-Name: da81725ca1cd894b3f2d734767e10cc0dc329566
2007-02-23 03:00:44 +00:00
danielk1977
0817d0dfc2 Use OP_VColumn instead of OP_Column when querying virtual tables for values to save in aggregate context records. #2230. (CVS 3644)
FossilOrigin-Name: cb78f7cb0f0bf0c799a929fd6ea30f25e2a7b5d0
2007-02-14 09:19:36 +00:00
drh
ec41ddac37 Explicit collations always override implicit collations. This is
backwards compatible since SQLite has not previously supported
explicit collations. Need to add tests of this new behavior. (CVS 3633)

FossilOrigin-Name: 3638823a629164e4158f76d03ff2cea1eab34e9d
2007-02-07 13:09:45 +00:00
drh
a34001c9a3 Minor tweaks to collating sequences. We'll hold of making major changes
until 3.4.0, since we'll likely end up with some minor technical
imcompatibilities. (CVS 3626)

FossilOrigin-Name: 9740aa95a3f848fc663c88263a911fbc76ada243
2007-02-02 12:44:37 +00:00
drh
8b4c40d8ac First cut at adding the COLLATE operator. Regression tests pass (or at least
the quick set does) and a few new tests have been added.  But many more
tests are needed.  Rules for combining collations need to be worked out. (CVS 3624)

FossilOrigin-Name: 85cca7cd252d46ba71d302a89bc67c56146ec552
2007-02-01 23:02:45 +00:00
drh
ca83ac51b3 Allow up to 64 tables in a join (the number of bits in a long long int).
The old limit was 32 tables. (CVS 3622)

FossilOrigin-Name: 505dce8f4e8717341e04f49f6f382719c3c704f1
2007-02-01 01:40:44 +00:00
drh
89c69d00bd Fix for ticket #2141. (CVS 3552)
FossilOrigin-Name: 70f5f3b85f30bbec0ddc59ba364e1229c09ed636
2007-01-04 01:20:28 +00:00
drh
61dfc31d80 Query optimizer enhancement: In "FROM a,b,c left join d" allow the C table
to be reordered with A and B.  This used to be the case but the capability
was removed by (3203) and (3052) in response to ticket #1652.  This change
restores the capability. (CVS 3529)

FossilOrigin-Name: 7393c81b8cb9d4344ae744de9eabcb3af64f1db8
2006-12-16 16:25:15 +00:00
drh
2fca7fef28 Fix a typo in the OMIT_AUTORIZATION in expr.c. (CVS 3518)
FossilOrigin-Name: 3dea7fbefdadb269e58ae76bb9a7281c96d8b15b
2006-11-23 11:59:13 +00:00
drh
b8b1421963 Documentation updates for the new SQLITE_FUNCTION authorization. (CVS 3366)
FossilOrigin-Name: e029637e54e190c89206725a99e1ee7db6c23804
2006-08-24 15:18:25 +00:00
drh
5169bbc6a3 Enhance the sqlite3_set_authorizer() callback so that it provides callbacks
on each SQL function that is invoked. (CVS 3365)

FossilOrigin-Name: 4547c81f7da29b1490c6eba8d9c333218c5cb88f
2006-08-24 14:59:45 +00:00
drh
206f3d96d1 Prevent memory leak and possible NULL pointer deference after malloc
failure.  Ticket #1886. (CVS 3329)

FossilOrigin-Name: b1f326e6959ef3be11f772e80f5ab6dd65b2d065
2006-07-11 13:15:08 +00:00
drh
a43fa22771 Better comment to describe the confusing operand reversal for infix
functions. (CVS 3325)

FossilOrigin-Name: 30dfb9bf2131370fe57e000495f5c292d392a010
2006-07-08 18:41:37 +00:00
drh
6a03a1c5f7 For infix functions (LIKE, GLOB, REGEXP, and MATCH) treat the left
operand as the first argument for the purposes of virtual table
function overloading, even though the left operand is really the
the second argument. (CVS 3324)

FossilOrigin-Name: 6e98373ca11c9d476f4c6b1841c6e006b7a49f29
2006-07-08 18:34:59 +00:00
drh
b7f6f68f3a Allow virtual table implementations to overload function that use
a column of the virtual table as their first argument.  Untested. (CVS 3322)

FossilOrigin-Name: 12cc7af4b6b8b4f1a43d962fbafde8cba683a907
2006-07-08 17:06:43 +00:00
drh
4cbdda9e27 Added code to INSERT, DELETE and UPDATE virtual tables. The new code is
mostly untested. (CVS 3248)

FossilOrigin-Name: 32c97b884b104d120db3c0a87f5eab28f36851f8
2006-06-14 19:00:20 +00:00
danielk1977
7dabaa126a Bugfixes: Fix a segfault introduced as part of the new vtab code, deallocate memory in the Destroy() method of the echo module. (CVS 3221)
FossilOrigin-Name: f9ea9704755eee3fd29af7a47be1d41620be8835
2006-06-13 04:11:43 +00:00
drh
a967e88645 Progress toward getting the virtual-table code generator to work. (CVS 3220)
FossilOrigin-Name: 3532f1340f939b0231c1d82a7b2d186cb096fb29
2006-06-13 01:04:52 +00:00
drh
b9bb7c187e Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211)
FossilOrigin-Name: 898ec36b4102aaa03979f8f5c510936e57e2ae48
2006-06-11 23:41:55 +00:00
drh
8159a35f46 Fix type coercion rules for the IN operator. Ticket #1821. (CVS 3188)
FossilOrigin-Name: 6e5a49762166a942e1b2c3beae8a30c07187eb10
2006-05-23 23:22:29 +00:00
drh
f8875400e4 Miscellaneous code cleanup. (CVS 3143)
FossilOrigin-Name: 8f60139f688903f0e635b0a904ab9ca401fbe71f
2006-03-17 13:56:34 +00:00
drh
43617e9ab9 Code changes resulting from Coverity analysis.
http://scan.coverity.com/  Found 1 potential segfault in sqlite3_mprintf().
Also 2 failures to fclose() following a malloc() failure.  And lots of
cases where unnecessary conditionals could be removed from the code. (CVS 3126)

FossilOrigin-Name: e510e6dd9d6261f33b853af3b32d155b9d6b63b3
2006-03-06 20:55:46 +00:00
drh
41714d6f83 Allow WHERE clause terms on the left table of a LEFT OUTER JOIN to
contain aggregate subqueries.  Ticket #1697. (CVS 3117)

FossilOrigin-Name: a286e54e26f9a364127649eeea160d5fa8928faf
2006-03-02 04:44:23 +00:00
danielk1977
1787ccabed Fix the origin APIs so that they correctly handle views and subqueries that cannot be flattened. (CVS 3072)
FossilOrigin-Name: 5e8611e13de08d704cea6c9c4466c3af842a7a1a
2006-02-10 07:07:14 +00:00
drh
afa5f68091 Fix bug with CHECK constraints contain an IN operator. Ticket #1645. (CVS 3035)
FossilOrigin-Name: 944df310ce8d32798135c70becee7845676520ae
2006-01-30 14:36:59 +00:00
danielk1977
f011300000 Rename some variables to avoid hiding others. Also add "static" to two function signatures that were missing it. (CVS 3024)
FossilOrigin-Name: d86f18a4277ebffb644ba2e574e0b697c8bbf8e4
2006-01-24 12:09:17 +00:00
danielk1977
4b202ae2a5 Improve coverage of expr.c and btree.c slightly. (CVS 2992)
FossilOrigin-Name: cc2e8e87cfd474b4dc6833ee0c38e2cd2dd3a494
2006-01-23 05:50:58 +00:00
danielk1977
9e12800dec Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972)
FossilOrigin-Name: ac090f2ab3b5a792c2fdf897e10060f263e0d408
2006-01-18 16:51:35 +00:00
danielk1977
e725929686 Minor modification to restoreOrClearCursorPosition() to improve efficiency. Do not allocate the extra 8-bytes if memory-management is not enabled. (CVS 2936)
FossilOrigin-Name: dd705955429d847af85ffaf248976bcd1d861852
2006-01-13 06:33:23 +00:00