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
drh
4305d10360 The {quote: SrcList} object was not being expanded correctly by a call to
sqliteSrcListAppend() if the {quote: SrcList} had previously been duplicated by
a call to sqliteSrcListDup().  Ticket #416. This check-in fixes that problem
by keeping a separate nAlloc field on {quote: SrcList}.  A similar change is made
to {quote: IdList} and {quote: ExprList} to avoid future problems. (CVS 1067)

FossilOrigin-Name: da6273255471673841fdcadc688aeac80722e130
2003-07-30 12:34:12 +00:00
drh
7b58daeafe Fix the LIMIT clause so that it applies to the entire query in a compound
query.  Prior to this change LIMITs on compound queries did not work at
all.  Ticket #393. (CVS 1058)

FossilOrigin-Name: 543479e3aed77976a0c689cf40811bf88353f706
2003-07-20 01:16:46 +00:00
drh
f26e09c87f Tighter binding of views, triggers, and indices to their respective
databases.  Ticket #323.  Much more testing needs to be done to the
sqliteFix...() routines in attach.c. (CVS 990)

FossilOrigin-Name: 7202d4f1a8853368954a967b7ccca9d8a6645a2e
2003-05-31 16:21:12 +00:00
drh
6a3ea0e6ef VDBE cursors numbers for tables in a join do not have to be consecutive.
This is one step on the road to fixing ticket #272. (CVS 947)

FossilOrigin-Name: be7aed2011b4af868b6a0c370c3d41354ae0cdf4
2003-05-02 14:32:12 +00:00
drh
e22a334b78 Update the authorizer API so that it reports the database that table and
indices belong to and so that it reports when actions are taken in response
to a trigger. (CVS 928)

FossilOrigin-Name: c675a5504138f34cae6def782b5d3add2c67d2bc
2003-04-22 20:30:37 +00:00
drh
7bdc0c1def Modify the optimizer so that it does not assume that functions are
constant. (CVS 920)

FossilOrigin-Name: 767f1af236d115e8388e1dcc28a4df1be48d6c85
2003-04-19 17:27:24 +00:00
drh
70ce3f0c58 Get triggers working on tables with INTEGER PRIMARY KEYs. Ticket #291.
This may also fix #159.  Still need to add tests so both bugs remain open
for the time being. (CVS 908)

FossilOrigin-Name: 0b996959b8d8bc2c82eab9cccc190befd0056505
2003-04-15 19:22:22 +00:00
drh
da93d238c2 Add the sqliteErrorMsg() function and use it to generate error message
text during parsing and code generation.  This simplifies the code
somewhat and makes it easier to handle names with a database prefix. (CVS 891)

FossilOrigin-Name: 1d3fc977211abdc7ba3fd51d661863e8ce5aef69
2003-03-31 02:12:46 +00:00
drh
d24cc427b7 Changes to the "sqlite" structure that allow simultaneous operations on
multiple database files.  Many regession tests pass - but not all of them.
Do not use this version except for debugging SQLite itself. (CVS 883)

FossilOrigin-Name: d2fb2bb50cf1e13feb90995079f291384abd6ba9
2003-03-27 12:51:24 +00:00
drh
113088ec68 Record the database name in addition to the table name for DELETE, INSERT,
and UPDATE statements. (CVS 879)

FossilOrigin-Name: a5d8fc95ee58dc3205a0bbbcadaa3b9c902a941b
2003-03-20 01:16:58 +00:00
drh
88eee38afd Allow double-quoted strings as string constants in the IN operator. As a
side-efffect, allow the GROUP BY clause to refer to columns by their integer
column number.  Ticket #237. (CVS 856)

FossilOrigin-Name: 187d9c405891e543fc706f8ddb41f3966a842214
2003-01-31 17:16:36 +00:00
drh
483750ba8a Better error messages on constraint violations. Additional tests and bug fixes
for the callback-free API. (CVS 854)

FossilOrigin-Name: ccc82f1ab4539a60ee5cc2625743c5389f9ccd8e
2003-01-29 18:46:51 +00:00
drh
fcb78a4900 Fix datatype reporting and collating sequence selection so that it works
correctly on views and with the UNION, EXCEPT, and INTERCEPT operators. (CVS 839)

FossilOrigin-Name: 71cc292dce59cf8224b205d1cdbff59ad12f1043
2003-01-18 20:11:05 +00:00
drh
77ad4e4133 More tests of the sqlite_set_authorizer() API together with fixes for bugs
that the new tests uncovered. (CVS 832)

FossilOrigin-Name: cc2ae781ac186f9ee1afacdc9117087421955369
2003-01-14 02:49:27 +00:00
drh
ed6c8671b3 Initial check-in of the code for the new sqlite_set_authorizer() API function.
The code is mostly untested at this point. (CVS 827)

FossilOrigin-Name: 52d5007f64d0af5286b2a0e1f0b9e53c86bece3f
2003-01-12 18:02:16 +00:00
drh
1f3e905cd0 Fix an assert that might fail if malloc() fails. (CVS 774)
FossilOrigin-Name: 8ad018944c3aa8f58e1c68b1fa634ef922d6476f
2002-10-31 00:09:39 +00:00
drh
6977fea801 Correctly handle column names and string constants in parentheses.
Fix for ticket #179. (CVS 770)

FossilOrigin-Name: 3b68aa25c451b7c09ece457ac2b70a9a5d93508a
2002-10-22 23:38:04 +00:00
drh
8f619ccd3c Modify the build process so that the VDBE opcode numbers and the table
that contains the opcode names are both automatically generated. This makes
it much easier to create new VDBE opcodes. (CVS 746)

FossilOrigin-Name: eb54d455b0325d3be96daf6c220c4ee3e0da1a85
2002-09-08 00:04:50 +00:00
drh
4b59ab5e64 Change the way token memory is allocated in an effort to fix ticket #136.
There is now a memory leak when using views of views. (CVS 725)

FossilOrigin-Name: 22d8726e61eec0e53893f492cb2163824b87a23e
2002-08-24 18:24:51 +00:00
drh
491791a827 Fix for ticket #107: Fix a design defect in indices that was causing queries
to fail when using an index on a column containing an empty string.  This
fix is an incompatible file-format change. (CVS 681)

FossilOrigin-Name: 20d152fcddb4fa53556a9c93c7a869600a7c5183
2002-07-18 00:34:09 +00:00
drh
0c36cbe0c2 Fix for ticket #100: Correctly handle ON and USING clauses of JOINs within
a VIEW. (CVS 679)

FossilOrigin-Name: 93710f7ed7e1baa6acbf4bc32982e046f61ffa44
2002-07-16 02:05:43 +00:00
drh
2f2c01e51d Fix for ticket #92: Correct the sqliteExprCompare() function so that is takes
into account the iTable and iColumn fields of the Expr structure.  Otherwise,
"min(a)" and "min(b)" will compare equal to each other in views. (CVS 658)

FossilOrigin-Name: 85793a4f03250166c21007cab3525709592d0866
2002-07-02 13:05:04 +00:00
drh
a9f9d1c08b Add a few more tests and fix a few bugs that the tests uncovered. (CVS 652)
FossilOrigin-Name: 91c0db66c86facb21b5b522afadd83d91a488256
2002-06-29 02:20:08 +00:00
drh
3b167c7583 Additional test cases added. The following bug fixed: A segfault was occurring
if a VIEW consisted of a join with a USING clause. (CVS 651)

FossilOrigin-Name: 96515b813eb57e1f48c28d357d1f38639b2fdcfa
2002-06-28 12:18:47 +00:00
drh
b13632063d The datatype of the i-th column in the result set is given by the
azColName(argc+1+i) parameter to the callback. (CVS 647)

FossilOrigin-Name: bdb006b809feb0f29342eb5138c0884d34e95599
2002-06-26 02:45:03 +00:00
drh
c9b84a1fb1 This patch contains the beginnings of the data-typing infrastructure.
The new build-in TypeOf() function is added.  New opcodes for doing
pure text comparisons are added.  Most changes are disabled pending
the 2.6.0 release. (CVS 632)

FossilOrigin-Name: cbbc858d973c2d515c6a2464981316549a241b73
2002-06-20 11:36:48 +00:00
drh
8e2ca029a3 Add preliminary logic for the eventual move to having separate TEXT and
NUMTEXT datatypes.  Also change the version number to 2.5.0 in preparation
for an interim release. (CVS 625)

FossilOrigin-Name: 05783a9db585c1ead42135252dca97d2bc6e2118
2002-06-17 17:07:19 +00:00
danielk1977
6f34903e85 Add RAISE() function, which allows more advanced flow-control in trigger programs (ticket #55) (CVS 614)
FossilOrigin-Name: d4a2fb10067203a0d49317db747759872e62927e
2002-06-11 02:25:40 +00:00
drh
d9e3093038 Fix for ticket #65: If an integer value is too big to be represented as a
32-bit integer, then treat it as a string. (CVS 611)

FossilOrigin-Name: ad9624798edbd6d0c4652fed3d74fe87498844ff
2002-06-09 01:16:01 +00:00
drh
bd790ee395 Fix a compiler warning. (CVS 604)
FossilOrigin-Name: 637ee587b5438c54ba2d8bd8fc15e584abb70946
2002-06-02 18:22:06 +00:00
drh
04738cb9ff Add the ability to parse FOREIGN KEYs. Foreign keys are still ignored,
but at least they now do not cause a syntax error. (CVS 603)

FossilOrigin-Name: 6fdcee3c99e994ef3ab83a0cc57344cdb16210df
2002-06-02 18:19:00 +00:00
drh
e4de1feb3e Enhance the ORDER BY clause so that an integer term means to sort by the
corresponding column. (CVS 602)

FossilOrigin-Name: 7acbf84b492202d8b5a05276a95b475027eb5f58
2002-06-02 16:09:01 +00:00
drh
f570f011eb Refinements to NULL processing: NULLs are indistinct for DISTINCT and UNION.
Multiplying a NULL by zero yields zero. In a CASE expression, a NULL comparison
is considered false, not NULL.  With these changes, NULLs in SQLite now work
the same as in PostgreSQL and in Oracle. (CVS 600)

FossilOrigin-Name: da61aa1d238539dff9c43fd9f464d311e28d669f
2002-05-31 15:51:25 +00:00
drh
461c281a2e Bug fix: bad code was generated for when the first operand of a CASE
was NULL. (CVS 598)

FossilOrigin-Name: 4debc8db929fdc201759ba211acdeadc4e30e8af
2002-05-30 02:35:11 +00:00
drh
f5905aa7be NULL values are distinct. A comparison involving a NULL is always false.
Operations on a NULL value yield a NULL result.  This change makes SQLite
operate more like the SQL spec, but it may break existing applications that
assumed the old behavior.  All the old tests pass but we still need to add
new tests to better verify the new behavior.  Fix for ticket #44. (CVS 589)

FossilOrigin-Name: 9051173742f1b0e15a809d12a0c9c98fd2c4614d
2002-05-26 20:54:33 +00:00
drh
ad3cab52fe Split the IdList structure into IdList and SrcList. SrcList is used to
represent a FROM clause and IdList is used for everything else.  This change
allows SrcList to grow to support outer joins without burdening the other
uses of IdList. (CVS 584)

FossilOrigin-Name: a167b71d8c27e870bc3079c6132e483bffc83298
2002-05-24 02:04:32 +00:00
drh
e4697f5e90 Fix some places where a malloc() failure would lead to a segfault. (CVS 580)
FossilOrigin-Name: 01ad352c3c82a86d9c94010cbc85d098b8fbc08a
2002-05-23 02:09:03 +00:00
drh
2398937b7f Double-quoted strings resolve to column names if possible. Single-quoted
strings continue to be interpreted as string literals. (CVS 576)

FossilOrigin-Name: 55e7d65496624c8e48673d8747f3123786bfedbc
2002-05-21 13:43:04 +00:00
danielk1977
f29ce55958 Style fixes to triggers code in various *.c files (partial fix to ticket #39) (CVS 571)
FossilOrigin-Name: 8a4195c7466962291a296e8f53034ea8cb25005f
2002-05-19 23:43:12 +00:00
danielk1977
c3f9bad209 Added FOR EACH ROW triggers functionality (CVS 562)
FossilOrigin-Name: 794bf67b6b36fce8854d5daff12f21dbb943240c
2002-05-15 08:30:12 +00:00
drh
0ac6589202 Fix for ticket #1: Implement the GLOB and LIKE operators as functions that
can be overridden.  This way, a developer can change the LIKE operator to
be case sensitive, for example. (CVS 537)

FossilOrigin-Name: 51572bf71774d7631c7083be90b806e621bc9bee
2002-04-20 14:24:41 +00:00
drh
17a7f8ddab Added support for CASE expressions - patches from Dan Kennedy. (CVS 437)
FossilOrigin-Name: 836b59d057c3fb4087b138c9bfbc03392ddfb89d
2002-03-24 13:13:27 +00:00
drh
094b2bbfc7 Fix bug in anonymous subquery in a join. Parser requires a semicolon or
end-of-input before executing. (CVS 429)

FossilOrigin-Name: c0e3f1c592f583a0659901743a368aff1927f1cb
2002-03-13 18:54:07 +00:00
drh
e684090012 Optimizations to the processing of integer comparisons. (CVS 420)
FossilOrigin-Name: b7a7dae919be0e4c35b1fe8cb24fa7359a4b1200
2002-03-06 03:08:25 +00:00
drh
417be79cd1 VIEWs are bound to tables when they are used, not when they are first
entered.  This works around the problem of what to do if a table is deleted
that a view refers to. (CVS 415)

FossilOrigin-Name: 6121e5ab9328c90c64d40ade3de73ad11d4aaf4e
2002-03-03 18:59:40 +00:00
drh
75148a27b4 Fix a memory leak in expression processing. (CVS 414)
FossilOrigin-Name: dfe431c9b70bc3a1bf5148826edce0846737e66b
2002-03-03 03:42:31 +00:00
drh
832508b7ea Subquery flattening is implemented and passes all regression tests.
We still need to add addition tests to the suite to further exercise
the flattener, however. (CVS 408)

FossilOrigin-Name: d5d3e79cc58da5bd315cc1fea1f7cbf46274da16
2002-03-02 17:04:07 +00:00
drh
89425d5e02 The new function code passes regression tests. (CVS 403)
FossilOrigin-Name: b00cf110b1cc671b7200a5ce8b9e704f660763c9
2002-02-28 03:04:48 +00:00
drh
f55f25f02f Fix the coredump. There are still problems in the test suite though. (CVS 402)
FossilOrigin-Name: 6af10cc53acc1ffa60de3f0d5880a6b72815404c
2002-02-28 01:46:11 +00:00
drh
0bce8354b4 Completely remove the old SQL function system and replace it with the
new user functions.  The code currently compiles but it coredumps on the
test suite.  Do not use in its present state. (CVS 400)

FossilOrigin-Name: 50797fee5066ec9ea23b720e5ab7e8fc8ccc1988
2002-02-28 00:41:10 +00:00