1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

500 Commits

Author SHA1 Message Date
drh
b27b7f5d3b More explicit type casting to silence VC++. (CVS 6006)
FossilOrigin-Name: 14e6d19c3157ccdce170e769d678c7f472dd3db2
2008-12-10 18:03:45 +00:00
danielk1977
62c14b3487 Changes to avoid "unused parameter" compiler warnings. (CVS 5921)
FossilOrigin-Name: 88134322c36b41304aaeef99c39b4ef5b495ca3b
2008-11-19 09:05:26 +00:00
drh
ad4a4b8047 The COMMIT command now works even if there are pending queries, as long
as the pending queries are reading and not writing the database. (CVS 5864)

FossilOrigin-Name: 51f04aaff2803487933b9dfcf39f27a249f18a98
2008-11-05 16:37:34 +00:00
danielk1977
d0ffa1e815 If sqlite3_column_value() is called to obtain a value with the MEM_Static flag set, clear it and set the MEM_Ephem flag before returning. Otherwise, if the value is passed to sqlite3_bind_value() or sqlite3_result_value(), sqlite may attempt to use the buffer after the statement has been finalized. This is not always valid, as MEM_Static only guarantees that a MEM.z buffer will be valid for the lifetime of the owner statement, not that it is actually a static buffer. (CVS 5812)
FossilOrigin-Name: b055bfc4e5268d8a66d6a4f5e8aec1285fe4b8e7
2008-10-13 10:37:49 +00:00
shane
eec556d3b7 Added SQLITE_OMIT_DEPRECATED compile time option to leave out deprecated functions. Updated test scripts to skip tests of deprecated functions if they are compiled out. (CVS 5808)
FossilOrigin-Name: ba3711acee6f4659bbf133a23d8f9f37e14d0f38
2008-10-12 00:27:53 +00:00
drh
d1d384888b Add the experimental sqlite3_stmt_status() interface. (CVS 5781)
FossilOrigin-Name: de473efb35ffdf9a8222a70a84dfd7d3198c87c1
2008-10-07 23:46:38 +00:00
drh
18472fa7b8 Remove the SQLITE_MUTEX_APPDEF compile-time option. The SQLITE_THREADSAFE=0
option always removes all mutex code.  For application-defined mutexes only,
use SQLITE_THREADSAFE=1 with SQLITE_MUTEX_NOOP=1.  Ticket #3421. (CVS 5779)

FossilOrigin-Name: 02a12eb1cfe9307c66556105a1a99d657cc01ab5
2008-10-07 15:25:48 +00:00
danielk1977
0bfbaa8aa5 Have sqlite3_bind_value() call sqlite3ApiExit() before returning. Otherwise the db->mallocFailed flag may not be cleared. (CVS 5777)
FossilOrigin-Name: 6b7c8d56403f6b9b88b8494c86f3d62e487cb2ac
2008-10-07 14:06:11 +00:00
drh
488e7b6323 In sqlite3_bind() interfaces, avoid acquiring the mutex until after the
statement handle has been validated.  Ticket #3418. (CVS 5768)

FossilOrigin-Name: 693503e241001271512f4ce3e8cc932ba6a3106c
2008-10-06 12:46:43 +00:00
shane
145834a44f Missing implementation for sqlite3TransferBindings(). (CVS 5675)
FossilOrigin-Name: 56d618957571f65e88375aad34a6e7dcf22508e1
2008-09-04 12:03:42 +00:00
danielk1977
67e3da7ad4 Fix the functionality associated with sqlite3_release_memory() and sqlite3_soft_heap_limit(). It is automatically disabled if the SQLITE_CONFIG_PAGECACHE option is used. (CVS 5576)
FossilOrigin-Name: d025866b09352b32a6d35b97144eaad2fafb7165
2008-08-21 12:19:44 +00:00
drh
c456e57af7 Do not allow indexing of any table whose name begins with "sqlite_".
Ticket #3284.  Improve handling of databases with malformed schemas -
just in case somebody has actually indexed a system table. (CVS 5553)

FossilOrigin-Name: 0e1d8d14a153483e65bd0246d23db2b823a122d1
2008-08-11 18:44:58 +00:00
drh
701bb3b4f0 Additional coverage testing. Fix a segfault following OOM in
sqltie3_load_extension(). (CVS 5523)

FossilOrigin-Name: f1e44eb323f05495cbae25113aebcc50d16b40df
2008-08-02 03:50:39 +00:00
drh
c890fec362 Bring test coverage up to 99%. (CVS 5522)
FossilOrigin-Name: 2cd6bae80984126023bcf479e5f3db5eaa5c4134
2008-08-01 20:10:08 +00:00
drh
633e6d57d9 Implement the "lookaside" memory allocation cache. Use of this cache makes
the speed1.test script run about 15% faster.  Added new interfaces to
control the cache. (CVS 5488)

FossilOrigin-Name: e48f9697e9fea339e150ddc32940760027dd07d9
2008-07-28 19:34:53 +00:00
drh
80cc85b3c2 Error messages from virtual tables store on the sqlite3_vtab->zErrMsg field
are reported back up to the application interface and memory is reclaimed. (CVS 5466)

FossilOrigin-Name: 4a9dd5e782a363e93d4705fa3671bc6cf0bb5a33
2008-07-23 21:07:25 +00:00
drh
bb5a9c3eea Add the sqlite3_next_stmt() interface, including test cases. (CVS 5243)
FossilOrigin-Name: 565a530896b40790287eeaad709edd51980fbddf
2008-06-19 02:52:25 +00:00
danielk1977
59f8c08ecc Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234)
FossilOrigin-Name: 5059644c4bc5f6679afd939e0bc26080f42a9918
2008-06-18 17:09:10 +00:00
danielk1977
1e740c6f88 Check that the encoding of values passed to sqlite3_bind_value() matches that of the database. (CVS 5138)
FossilOrigin-Name: e94a2883060b9ef59809ff4de9525d897d95546c
2008-05-16 15:24:58 +00:00
danielk1977
822a51628f Add more version tags to files that lack them. Ticket #3120. (CVS 5137)
FossilOrigin-Name: 81a8c70ed7a86abf286706fdbc251f31c9c53382
2008-05-16 04:51:54 +00:00
drh
7297d1f070 Do not clear the error code or error message in sqlite3_clear_bindings().
Ticket #3063. (CVS 5111)

FossilOrigin-Name: 069f4560107246fdc31e1f15c3ad7d3dae2b9ad8
2008-05-09 14:39:44 +00:00
drh
26e4a8b11d Fix more compiler warnings. (CVS 5074)
FossilOrigin-Name: 59568844e774dbe89fd20bbc8f49a3665cc54717
2008-05-01 17:16:52 +00:00
danielk1977
65710b151f Free Mem.z buffers when a vdbe statement is reset. (CVS 5002)
FossilOrigin-Name: 0bedbe092aa3079dc49157a9bcaa7716b00e0bdb
2008-04-14 15:15:22 +00:00
rse
867780aea2 add three missing initializers (CVS 4935)
FossilOrigin-Name: f45f0593cf5dd8c0172b13c300a4a9393540e0d7
2008-03-29 12:39:39 +00:00
danielk1977
5f09613545 Changes to the Mem structure to reduce the frequency of freeing and reallocating the dynamic buffer. (CVS 4928)
FossilOrigin-Name: d0bf73d81453da1d8e602e0445064d9f5e348063
2008-03-28 15:44:09 +00:00
danielk1977
dfb316d432 Changes to delay freeing buffers associated with vdbe memory cells until either sqlite3_finalize() or sqlite3_release_memory() is called. (CVS 4922)
FossilOrigin-Name: 8c2f69521f13bc24cf005520efbe0589eeadd763
2008-03-26 18:34:43 +00:00
drh
3f913576e5 Add the SQLITE_OMIT_DECLTYPE compile-time option. Remove more code when
SQLITE_ENABLE_COLUMN_METADATA is not defined. (CVS 4906)

FossilOrigin-Name: 8ef26646cff9be75c584a9abfcfffcfdb49b3969
2008-03-22 01:07:17 +00:00
drh
bb4957f858 Initial implementation of per-connection limits and the sqlite3_limit() API.
The sqllimits1.test script crashes.  SQLITE_LIMIT_PAGE_COUNT and
SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897)

FossilOrigin-Name: 60c77882b2de9f6a45f8bd87c9c6a0cc613f8373
2008-03-20 14:03:29 +00:00
drh
fa4a4b9159 Add a new interface, sqlite3_context_db_handle(), that returns the database
connection pointer for an application-defined function. (CVS 4889)

FossilOrigin-Name: 54c55cae556af5a16c0ce8be1a96d2932db80ad8
2008-03-19 21:45:51 +00:00
danielk1977
a7a8e14bf2 Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783)
FossilOrigin-Name: 990237e27e417aff3dbf05784b716c21f3761a3a
2008-02-13 18:25:27 +00:00
drh
69544ec9cb Add the sqlite3_result_error_code() application interface. Use it in the
ATTACH function so that a failed attach returns a proper error code.
Ticket #2914. (CVS 4775)

FossilOrigin-Name: c24616204307936d03d39d2ef0fe6856113f6977
2008-02-06 14:11:34 +00:00
drh
7e8b848a60 Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when
compiling without -DSQLITE_DEBUG=1. (CVS 4744)

FossilOrigin-Name: 5375ad6b4b652f388469b0ce4e8e78b3f49169bd
2008-01-23 03:03:05 +00:00
drh
643167ff21 Add the fault injector module in fault.c. Use it as a basis for memory
allocation failure testing. (CVS 4742)

FossilOrigin-Name: 1a335e180183b414fcc3510ce28b98b21cd134a6
2008-01-22 21:30:53 +00:00
drh
949f9cd565 The sqlite3_trace() callback now prints a message as each trigger fires
within a statement. (CVS 4709)

FossilOrigin-Name: 110c000d86bd4a0b4b946c62d11a435426b02d16
2008-01-12 21:35:57 +00:00
danielk1977
2dca4ac1d3 Change the VdbeOp.p4 union to include specific pointer types for the various values of VdbeOp.p4type. (CVS 4667)
FossilOrigin-Name: 7e8330c8044dc7718e720dbd33f6e2fe970ead77
2008-01-03 11:50:29 +00:00
drh
66a5167b47 Refactoring the VM. The P3 parameter is changed to P4. A P5 parameter is
added (though not currently used.)  Add routines sqlite3VdbeAddOpX() where
X is one of 0, 1, 2, 3, or 4. (CVS 4660)

FossilOrigin-Name: 027875e4d4c4bd7686dc880c6917a968049b2fec
2008-01-03 00:01:23 +00:00
drh
d4e70ebd6f Begin setting a foundation on which to convert the VM from a stack-based
to a register-based machine.  Everything is still mostly stack based with
this check-in.  This change merely begins adding infrastructure to support
a register-based architecture. (CVS 4652)

FossilOrigin-Name: 051ec01f2799e095516015f2ef0180e50fac387c
2008-01-02 00:34:36 +00:00
danielk1977
a185ddbfba Return SQLITE_MISUSE instead of crashing if NULL is (incorrectly) passed to sqlite3_step(). Ticket #2773. (CVS 4545)
FossilOrigin-Name: 3bfee76fa6191c6e3aaa4632949b53253c612f36
2007-11-15 16:04:15 +00:00
danielk1977
8e556520e9 Modify the Tcl interface to use sqlite3_prepare_v2(). (CVS 4542)
FossilOrigin-Name: 7bb00c7df672cb8988121f30e3bbdea9ad951603
2007-11-13 10:30:24 +00:00
danielk1977
d949fd3b34 Use malloc to obtain space for sqlite3_aggregate_context(). Ticket #2751. (CVS 4524)
FossilOrigin-Name: bf75058f5777ce4b03f2287406805236470f70d0
2007-11-05 12:46:04 +00:00
drh
f1bfe9a8bd Reorder some tests at the beginning of sqlite3_step() to work around
misuse by python.  Ticket #2732. (CVS 4492)

FossilOrigin-Name: e8d591e8c369794921a4acbba5b17fddca730ee7
2007-10-17 01:44:20 +00:00
danielk1977
26783a58e2 Use the DbMalloc() and DbRealloc() functions more consistently. (CVS 4323)
FossilOrigin-Name: c790c234c369c6b7610e67dcaaa9eee347df729c
2007-08-29 14:06:22 +00:00
danielk1977
a1644fd863 Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321)
FossilOrigin-Name: e38ef81b85feb5bff2ad8448f3438ff0ab36571e
2007-08-29 12:31:25 +00:00
drh
153c62c461 The win32 driver compiles but does not yet work well. Many bugs
fixed. (CVS 4282)

FossilOrigin-Name: 3a68fcddfa9184e4b310ce0a21312c54b9462ec8
2007-08-24 03:51:33 +00:00
drh
27641703cc A complete run of quick.test with mutex debugging enabled. (CVS 4266)
FossilOrigin-Name: 783e07d561d1f5509de9475f3b9f38315f247002
2007-08-22 02:56:42 +00:00
drh
86f8c197dd Reenable the memory management logic. The quick.test script now runs with
SQLITE_MEMDEBUG and SQLITE_ENABLE_MEMORY_MANAGEMENT. 7 minor errors. (CVS 4265)

FossilOrigin-Name: 1914044b8832041f13b20ead613bd13725425d7a
2007-08-22 00:39:19 +00:00
drh
32bc3f6e01 All mutexing and locking appears to be in place. Now we just have to
test it and make it all work. (CVS 4264)

FossilOrigin-Name: 0f7941aef976aa4f3be3e0046edd1ae042e5d9a3
2007-08-21 20:25:39 +00:00
drh
b21c8cd4f6 The sqlite3_value object now carries an sqlite3* pointer to use for
recording malloc failures.  This eliminates the need to pass sqlite3*
pointers into many internal interfaces.  Also added more mutexing. (CVS 4263)

FossilOrigin-Name: 9287276191a582c1cf7cf6b71d8399727d8e534d
2007-08-21 19:33:56 +00:00
drh
e30f442622 Adding more thread locking code. This is an incremental check-in. (CVS 4262)
FossilOrigin-Name: 7428732b1fa04b83eda0a3539834693ef351313e
2007-08-21 16:15:55 +00:00
drh
605264d2d8 Readded the sqlite3_open_v2() interface. No test cases yet.
Additional progress toward adding mutexes to all interfaces. (CVS 4261)

FossilOrigin-Name: 3787563e90d7210d349ee36484c3f008c955552e
2007-08-21 15:13:19 +00:00