1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00
Commit Graph

421 Commits

Author SHA1 Message Date
drh
51846b56ed Factor common code for generating index keys into a procedure. Other
speed improvements and bug fixes. (CVS 1487)

FossilOrigin-Name: 6661bb5f9c1692f94b8b7d900b6be07f027e6324
2004-05-28 16:00:21 +00:00
danielk1977
3cf8606395 Add some tests for the new API. Many more to come. (CVS 1462)
FossilOrigin-Name: d5659f2ee6788e0205fb5e03eeaf64e6c0aa9bed
2004-05-26 10:11:05 +00:00
danielk1977
22322fd42b Move the sqlite3_exec() function to legacy.c. (CVS 1455)
FossilOrigin-Name: 9385ad5ca82c82d9ef699102ca0b53661d02a052
2004-05-25 23:35:17 +00:00
drh
7cf6e4de35 Change opcode names and comments to better describe the operation of
the incrKey flag.  OP_MoveTo becomes OP_MoveGe. (CVS 1407)

FossilOrigin-Name: 8f249c45cbc77f4320798ff1a830b55e5c74888a
2004-05-19 14:56:55 +00:00
danielk1977
84ac9d02dd Fix many problems with manifest types and column affinity. Most things are
working now. (CVS 1392)

FossilOrigin-Name: a62872aacd544a1465b06e007153168663f3c83a
2004-05-18 09:58:06 +00:00
danielk1977
b4964b723c Omit the '\0' at the end of UTF-8 strings on disk (it is implied). Also
don't store the number of rows at the beginning of each table record. (CVS 1390)

FossilOrigin-Name: 202a470f2c1804a96e69f16709d1a92e405971f0
2004-05-18 01:23:38 +00:00
danielk1977
a37cdde042 More changes to support the manifest type model. A few things are currently
broken. (CVS 1385)

FossilOrigin-Name: a4af838f8d1b81ec6c8db97655c6876aca0738d9
2004-05-16 11:15:36 +00:00
danielk1977
3d68f03a96 Remove code dealing with old file formats. (CVS 1354)
FossilOrigin-Name: dfde112116b982017a5516590ff1780e8aa519ce
2004-05-11 07:11:51 +00:00
danielk1977
24b03fd055 Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1337)
FossilOrigin-Name: ba2ba24263a9e4d1b65b441295504a5da6380f33
2004-05-10 10:34:34 +00:00
danielk1977
4adee20fcb Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the
library links again. It doesn't work yet, due to changes in the btree layer
calling convention. (CVS 1324)

FossilOrigin-Name: 8af6474c49263ae26216dff9465b33f76b500cf4
2004-05-08 08:23:19 +00:00
drh
cd44690ad0 Refactor parts of write operations. (CVS 1268)
FossilOrigin-Name: 5b0147aece7785373e6f7439c32e5f58c6b12562
2004-02-24 01:05:31 +00:00
rdc
b0c374ffbb Fixed behaviour of last_insert_rowid() with triggers and add last_statement_change_count() function that works correctly with triggers. (CVS 1251)
FossilOrigin-Name: 3383413a53bff0fef0765144de3bb9a298a5bb5c
2004-02-20 22:53:38 +00:00
drh
d6502758b4 Remove the NullCallback opcode. Handle the empty_result_set pragma inside
the sqlite_exec() function. (CVS 1244)

FossilOrigin-Name: f72134852bf33d13fd2bc6f35251e4b33bc10fac
2004-02-16 03:44:01 +00:00
jplyon
8bc03a7acd coment typo (CVS 1190)
FossilOrigin-Name: 0d2683dc5ecb886ae9625484b51e65df49b3235d
2004-01-19 04:54:28 +00:00
drh
8bf8dc9208 Fix problems with TEMP indices that lead to corrupt databases. These
problems were discovered while working on ticket #317.  No sure yet if
that ticket is fixed. (CVS 981)

FossilOrigin-Name: 01398fb78bab7e5c6f439f2b743f26e82118468a
2003-05-17 17:35:10 +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
85e2096fb6 Report the correct authorization context in the authorization callback
when coding an INSTEAD OF trigger on an update or delete. (CVS 936)

FossilOrigin-Name: 67746833fc8de3afff80db413bd63a362bb28218
2003-04-25 17:52:11 +00:00
drh
5cf590c128 Fix some issues with INSTEAD OF triggers. (CVS 930)
FossilOrigin-Name: 206b17397b1d2b55179c935927ff1d8215728c32
2003-04-24 01:45:04 +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
a69d91681d Fix triggers to work in an ATTACHed database. Ticket #295. (CVS 915)
FossilOrigin-Name: 1e5e00fb73c308378efd034cb291caf338c9fe84
2003-04-17 22:57:53 +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
812d7a21dd Regression tests now work - except for some changes in error message
text.  The library is now safe to use for experimental work. (CVS 885)

FossilOrigin-Name: 8a593e9c2d57e758739a7ef54fa40ca6a0071a9a
2003-03-27 13:50:00 +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
001bbcbb8f Modifications to the VDBE to support more than one database file. (CVS 878)
FossilOrigin-Name: 875da9eed981bfa27b98e95025f9fdbed74b4098
2003-03-19 03:14:00 +00:00
drh
e5f9c6442f Revise the sqlite_set_authorizer API to provide more detailed information
about the SQL statement being authorized.  Only partially tested so far. (CVS 830)

FossilOrigin-Name: 45de93f913a18026a45de6254963dbcd1b0f1a19
2003-01-13 23:27:31 +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
836faa4843 Remove the ColumnCount opcode, which had become a no-op. (CVS 821)
FossilOrigin-Name: 86deb12d68026913d181f9498144fa56445899f2
2003-01-11 13:30:57 +00:00
drh
cabb081971 Do not put a write lock on the main database file when writing to a temporary
table. (CVS 750)

FossilOrigin-Name: 3f253afe15d4f7392555f340a41d780d1248087f
2002-09-14 13:47:32 +00:00
drh
26b3e1bc06 Fix an assertion failure that occurs when attempting to delete all rows of
a table while the "count_changes" pragma is turned on.  Up the version number
to 2.6.1. (CVS 690)

FossilOrigin-Name: 612df004017b241651074ee859096dd0ee5062b8
2002-07-19 18:52:40 +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
38640e15af All the code is now in place for SQLite to distinguish between NUMERIC and
TEXT datatypes.  Still need to turn on the new code and test it. (CVS 659)

FossilOrigin-Name: b4737a16c997a6c139d616211fb6bc4b0fae181c
2002-07-05 21:42:36 +00:00
drh
e31847449e The query optimizer now attempts to satisfy an ORDER BY clause using
an index.  Sorting is still used if there are no suitable indices. (CVS 628)

FossilOrigin-Name: f09e19b43ef61073713cf32282c90ea666229eba
2002-06-19 14:27:05 +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
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
07d6e3a74c Partial fix for ticket #49. The correct result is computed, but now we have
a memory leak.  I'm not sure if the memory leak was pre-existing or a result
of this change. (CVS 581)

FossilOrigin-Name: 4d27ee411902a197cd72416ca9da9197d3f87f13
2002-05-23 12:50:18 +00:00
drh
c977f7f596 Additional code cleanup resulting from a review of the new trigger code. (CVS 572)
FossilOrigin-Name: 37dbdd551e88440933066133ec9cc1e10b03fc1a
2002-05-21 11:38:11 +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
drh
9adf9ac4e4 Remove all tabs from the beginning of source code lines. Replace tabs with
the appropriate number of spaces. (CVS 565)

FossilOrigin-Name: 690f9a163173c4c7af7e8e92e942cee4184c7974
2002-05-15 11:44:13 +00:00
danielk1977
c3f9bad209 Added FOR EACH ROW triggers functionality (CVS 562)
FossilOrigin-Name: 794bf67b6b36fce8854d5daff12f21dbb943240c
2002-05-15 08:30:12 +00:00
drh
c8d30ac109 Fix for bug #15: Add the sqlite_changes() API function for retrieving the
number of rows that changed in the previous operation. (CVS 526)

FossilOrigin-Name: 6e71493b9dc77d508c3ce90562766789e87e6d80
2002-04-12 10:08:59 +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
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
a76b5dfca6 Code to implement CREATE VIEW is in place. A quick smoke test shows that
it works, but there are probably still many bugs. (CVS 387)

FossilOrigin-Name: 39fed2df11382b9855d518502a6c2ca200fa66b8
2002-02-23 02:32:10 +00:00
drh
1c92853dac Change to five conflict resolution algorithms: ROLLBACK, ABORT, FAIL,
IGNORE, and REPLACE.  This checkin is code only.  Documentation and
tests are still needed.  Also, ABORT is not fully implemented. (CVS 360)

FossilOrigin-Name: d0e7cf4a83e6abad7129bed356b7492dddaff474
2002-01-31 15:54:21 +00:00
drh
0ca3e24b2e The new ON CONFLICT logic is in and passes the legacy tests. But the
new capabilities have not been tested and are likely broken. (CVS 356)

FossilOrigin-Name: ac8a4189e2a0c41161ee359db25de94435420368
2002-01-29 23:07:02 +00:00
drh
9cfcf5d4f6 Beginning to insert the infrastructure for ON CONFLICT clauses. (CVS 355)
FossilOrigin-Name: e00a9ff8f99dd58f7cb19a6195fac21f4c8b4af9
2002-01-29 18:41:24 +00:00
drh
a2e00042a1 The right-hand side of an AS in a SELECT can be used within expressions of
the WHERE, ORDER BY, GROUP BY, and/or HAVING clauses. (CVS 350)

FossilOrigin-Name: 3684beab0f8a71ebdf453871bbde7a9ab1f65385
2002-01-22 03:13:42 +00:00
drh
4a32431ce7 Added support for the INTEGER PRIMARY KEY column type. (CVS 333)
FossilOrigin-Name: 236a54d289e858a1e0505a20d907a2a40c01b521
2001-12-21 14:30:42 +00:00