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

554 Commits

Author SHA1 Message Date
drh
110daac9a1 Add compile-time option -DSQLITE_MIXED_ENDIAN_64BIT_FLOAT=1 that uses
mixed-endian doubles.  This is needed on ARM7 to make database file
formats compatible with all other processors.  Tickets #2278 and #2335. (CVS 3913)

FossilOrigin-Name: 2a178d0c7950c9d403c0bc43c2043de945fb24e0
2007-05-04 11:59:31 +00:00
danielk1977
dddbcdcc68 Add largely untested code for the incremental vacuum function. (CVS 3876)
FossilOrigin-Name: f6a6d2b8872c05089810b1e095f39011f3035408
2007-04-26 14:42:34 +00:00
danielk1977
a04a34ff1a Ensure sqlite3_finalize() can be called from within the xDisconnect() method of virtual tables. (CVS 3845)
FossilOrigin-Name: 8d6c3bfc4dfdd380a2915d778e256d3e49d22d72
2007-04-16 15:06:25 +00:00
drh
6c1426fd14 Get the column affinities right when processing an IN operator where
the right-hand side is a subquery with an ORDER BY clause.  Ticket #2295.
This bug has likely been present since version 3.0.0 and it has just now
been noticed, so it seems to be a obscure case. (CVS 3837)

FossilOrigin-Name: 4062ddf3c7f4fd150292304fa33ca76dc35571a1
2007-04-12 03:54:38 +00:00
drh
60218d2a0e The FOR EACH STATEMENT clause in a trigger is now a syntax error. It used
to be silently ignored.  STATEMENT is no longer a keyword. (CVS 3821)

FossilOrigin-Name: 8e2559b4da6329d7c21925d0850f7f91a3731975
2007-04-06 11:26:00 +00:00
drh
7c4ac0c555 Improvements to coverage testing. (CVS 3810)
FossilOrigin-Name: 38af156da83a8469080ddb75a9a286be33ff6bef
2007-04-05 11:25:58 +00:00
drh
38def05454 Increase test coverage by statically defining SQLITE_BIGENDIAN and related
macros for ix86 platforms.  Still a run-time test for other architectures.
Need to add additional cases to cover other popular processors. (CVS 3781)

FossilOrigin-Name: 476e7c3fcc69d8b21d161c758aaa5ef7163abb15
2007-03-31 15:27:59 +00:00
drh
e4d9081307 Change BtreeMoveto so that it can be biased to the right or to the center.
Use a right bias when appending and a center bias when searching.  This
gives about a 15% reduction in calls to sqlite3VdbeRecordCompare. (CVS 3741)

FossilOrigin-Name: ad4a6b1a91bcefd8a4c75e8dc99c1153c72c31a3
2007-03-29 05:51:49 +00:00
drh
72e8fa42f9 Correctly handle NULLs in IN operators. Ticket #2273.
The changes in where.c and in the WhereLevel.aInLoop structure are
not strictly necessary to fix this problem - they just make the code
easier to read.  Only the change in OP_Next/OP_Prev operator of vdbe.c
is required. (CVS 3735)

FossilOrigin-Name: 26348556d824c032851e409ac510cddb55c200bf
2007-03-28 14:30:06 +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
danielk1977
414834686c Changes for exclusive access mode. There are still some bugs. (CVS 3712)
FossilOrigin-Name: b6c700370be29db2b974f9abd719c3e56abf8058
2007-03-24 16:45:04 +00:00
danielk1977
34c68fbab6 Modify the behaviour of writable_schema to ignore schema parsing errors. (CVS 3686)
FossilOrigin-Name: a8d6d935fbe32a759a55c1ef90adda7fe534acc1
2007-03-14 15:37:04 +00:00
danielk1977
b4622b6075 Minor fixes so that testfixture builds without IO tracing enabled. (CVS 3668)
FossilOrigin-Name: 8d3829cdb35f41bc7a2e6f945e9aa83987513104
2007-03-02 06:24:19 +00:00
drh
602c237461 Additional I/O Tracing support. (CVS 3667)
FossilOrigin-Name: ed915f579a8e5b75681a9a6012b5041500cad36c
2007-03-01 00:29:13 +00:00
drh
b0603416dc Add the undocumented and experimental I/O tracing interface. This
interface is likely to change and may be completely abandoned in the
near future. (CVS 3665)

FossilOrigin-Name: 007ca283892a66dd8b9e0dfece4f75d0d08a4300
2007-02-28 04:47:26 +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
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
e68fbe7978 Expand the cursor index in SrcList_item to 32-bits to accomodate really
huge VDBE programs resulting from deeply nested triggers.  This is an
interim fix until we rework triggers to use subroutines. (CVS 3640)

FossilOrigin-Name: 22769e2d37f4912ad388d2ed79f93571d0279fb8
2007-02-13 12:49:24 +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
c49de5d98c Make sure the IS NULL optimization introduced by check-in (3494) correctly
handles a LEFT JOIN where the a term from the right table of the join uses
an IS NULL constraint.  Ticket #2177.  This check-in also adds the new test
cases that were suppose to have been added with (3494) but which were
mistakenly omitted. (CVS 3595)

FossilOrigin-Name: 335863e4d16113fb9ecebce35d2db043771d98b1
2007-01-19 01:06:01 +00:00
drh
761df87ea5 Move the shared-library loading routines into the OS portability layer,
thus enabling the os_win.c code to handle the character encoding
confusion of win95/nt/ce.  Ticket #2023. (CVS 3541)

FossilOrigin-Name: a1bcc6de578992b28924c1cf974ea58251454e2d
2006-12-21 01:29:22 +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
b900aaf34a First cut at adding the sqlite3_prepare_v2() API. Test cases added, but
more testing would be useful.  Still need to update the documentation. (CVS 3506)

FossilOrigin-Name: f1efae9224170c9155afcf17ab3ee769a557b874
2006-11-09 00:24:53 +00:00
drh
ece3c728d0 Be sure to ignore PRAGMA encoding pragmas if the encoding has already been
set for a database.  Ticket #1987.  This patch also includes some cleanup
of the schema parser and initialization logic. (CVS 3436)

FossilOrigin-Name: dc797bf4fa96deabd9ceb6cc062b98d2ac49a574
2006-09-23 20:36:01 +00:00
drh
b7481e70c5 Add the sqlite3_overload_function() API - part of the virtual table
interface. (CVS 3426)

FossilOrigin-Name: aa7728f9f5b80dbb1b3db124f84b9166bf72bdd3
2006-09-16 21:45:14 +00:00
drh
4ac285a1c2 Add support for extended result codes - additional result information
carried in the higher bits of the integer return codes.  This must be
enabled using the sqlite3_extended_result_code() API.  Only a few extra
result codes are currently defined. (CVS 3422)

FossilOrigin-Name: ba579ddc4361fc6e8ea66f9385770d70dfe94751
2006-09-15 07:28:50 +00:00
drh
fdd48a76a6 Add support for IF EXISTS on CREATE/DROP TRIGGER/VIEW. Ticket #1899. (CVS 3406)
FossilOrigin-Name: e4fe736cfbbdc081581911a01690576034877b72
2006-09-11 23:45:48 +00:00
drh
189d4afaaf Do not call the xDisconnect method on a virtual table while xUpdate is
pending.  Instead, defer the xDisconnect until after xUpdate completes. (CVS 3387)

FossilOrigin-Name: 61148f4c36255c4ed3552f888fa75252b300589d
2006-09-02 20:57:52 +00:00
drh
1409be69aa Add the new experimental sqlite3_auto_extension() API. (CVS 3362)
FossilOrigin-Name: a85fc877eb8c92bbb79ac9b7fa91fb362f37cdf7
2006-08-23 20:07:20 +00:00
drh
15ca1df1bf More work toward getting sqlite3_interrupt() to work from separate
threads.  Ticket #1897. (CVS 3336)

FossilOrigin-Name: e431131d47481f9fc64c498e8934b10a96b0a931
2006-07-26 13:43:30 +00:00
drh
881feaa043 Initial attempt at making sqlite3_interrupt() work even when called from
a separate thread. (CVS 3335)

FossilOrigin-Name: 35fd67d7a0c55797eb460e3bd02c96afe619f026
2006-07-26 01:39:30 +00:00
drh
76fe8032c1 By default, new databases are now created in the legacy file format - the
format that ignores DESC on indices.  If you want descending indices, you
must either recompile with -DSQLITE_DEFAULT_FILE_FORMAT=4 or issue
"PRAGMA legacy_file_format=OFF" prior to creating the first table in the
database. (CVS 3330)

FossilOrigin-Name: 65b60f05ce49ff127bf5044f96db36caf1fa0106
2006-07-11 14:17:51 +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
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
c2e87a3e85 The ability to load extensions is turned off by default. It must be
enabled by calling sqlite3_enable_load_extension() before it will work.
This prevents security problems in legacy applications.  Ticket #1863. (CVS 3311)

FossilOrigin-Name: 4692319ccf28b0ebe64d5c5d189f444034fe0cb2
2006-06-27 15:16:14 +00:00
drh
69dab1d33f Changes to build successfully with -DSQLITE_OMIT_LOAD_EXTENSION=1 (CVS 3310)
FossilOrigin-Name: 783369e870df9d189fc75c98fa574fe4fc9843d0
2006-06-27 14:37:20 +00:00
drh
6d209d8b0d Cache and reuse virtual table index information in the optimizer.
Improved diagnostics for virtual table index selection. (CVS 3300)

FossilOrigin-Name: 28413cf2b3f0e6f294e1f3c59fcce135b65c294f
2006-06-27 01:54:26 +00:00
drh
28dd479c48 Publish APIs sqlite3_malloc() and sqlite3_realloc() that use the OS-layer
memory allocator.  Convert sqlite3_free() and sqlite3_mprintf() to also
use the OS-layer memory allocator. (CVS 3298)

FossilOrigin-Name: 85a66a25e97471d3c459c8da6a96990b0537dc7d
2006-06-26 21:35:44 +00:00
drh
1914619ae7 Remove the sqlite3_module.zName field which was used only for debugging. (CVS 3297)
FossilOrigin-Name: 74a3961f39b9a045518835b20940471ac97bca66
2006-06-26 19:10:32 +00:00
danielk1977
33b3933c15 Ensure whitespace specified as part of a virtual table constructor argument is correctly passed to the constructor function. (CVS 3290)
FossilOrigin-Name: 4630e11d9a697a7fa29a0a1bbca91da4ad2bde7b
2006-06-24 08:51:05 +00:00
danielk1977
be71889703 Add tests and fixes for handling malloc() failures related to the virtual table feature. (CVS 3285)
FossilOrigin-Name: 5d1d907189ff3ca7afada83033280cf258984ac0
2006-06-23 08:05:19 +00:00
drh
707205d188 Clear a compiler warning by adding a prototype to sqliteInt.h. (CVS 3266)
FossilOrigin-Name: ca541ef3c464c5627596a48ee7f1ec40948cf65d
2006-06-17 10:44:42 +00:00
drh
9c41938ff8 Rework the way UPDATE works for virtual tables. (CVS 3262)
FossilOrigin-Name: 2119e7bf5577350e4e1236ea729568085620a826
2006-06-16 21:13:21 +00:00
danielk1977
f9e7dda7ef Add code to invoke the virtual table transaction interface. Untested at this point. (CVS 3261)
FossilOrigin-Name: 6125140228e09cad2029a48e92aa0123d3daecfb
2006-06-16 16:08:53 +00:00
danielk1977
f1a381e7fc Add some tests (and fixes) for virtual tables and the authorization callback. Still more to come. (CVS 3260)
FossilOrigin-Name: 9497c66e5533ec143d0efda4a419e4bdf922ae8c
2006-06-16 08:01:02 +00:00
danielk1977
d1ab1ba5ed Add void* argument to sqlite3_create_module to replace sqlite3_module.pAux. (CVS 3251)
FossilOrigin-Name: 470a3a0b20775be1226fb4d477c798d8da2d5708
2006-06-15 04:28:13 +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