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

860 Commits

Author SHA1 Message Date
drh
cec320fb0e Merge the "PRAGMA busy_timeout" change into trunk.
FossilOrigin-Name: 1a679a1ef3b4f2d898c8cd83432d2b4c12bd93fa
2012-09-27 12:11:25 +00:00
drh
de9a7b8a94 Add the ability to disable the covering-index-scan optimization at compile-time,
start-time, or at run-time.  Add test cases to check this configurability.

FossilOrigin-Name: ccb8ecc30c8e6c7760131250297c2e452bbac43b
2012-09-17 20:44:46 +00:00
drh
a371ace426 Change boolean fields in the Column object from unsigned characters into
bits in a single bit mask variable.

FossilOrigin-Name: 4163f5f194741bc2bdf141973912661c6aac70f1
2012-09-13 14:22:47 +00:00
mistachkin
5dac843233 Added sqlite3_errstr API to translate a result code to the corresponding error message.
FossilOrigin-Name: bf8a9ca5b58404112a8af666f5840b462b7bbfe1
2012-09-11 02:00:25 +00:00
drh
c0c7b5ee74 Have PRAGMA busy_timeout return 0 if the busy handler has been changed
or cancelled.

FossilOrigin-Name: 7be5bc36798d30f50658b70fc0bd31af897f3a87
2012-09-07 18:49:57 +00:00
drh
f360396c47 Add an experimental busy_timeout pragma to facilitate access to the
sqlite3_busy_timeout() interfaces for programmers that are working from
behind a language wrapper that does not expose that interface.

FossilOrigin-Name: 22ebc668516bc3dd5782d6d3d42dc7fd2eed7d79
2012-09-07 16:46:59 +00:00
drh
ed68801b20 Add the sqlite3_close_v2() interface (from the deferred-close branch) that
allows close operations to happen out-of-order in bindings to
garbage-collected langauges.

FossilOrigin-Name: fb8893abeefabe9de44e34dcf4327764481189f5
2012-06-21 15:51:42 +00:00
mistachkin
4104337270 Fix compiler warning.
FossilOrigin-Name: 37d9bc061d5ecfe37ccbd6f559986d7ae0449179
2012-06-15 20:42:43 +00:00
dan
0b8dcfa2bd Fix a problem preventing a shared in-memory database from being attached to a read-only connection.
FossilOrigin-Name: 7caca1939ce70d5b14ae8ca8ff6afb62f8aff361
2012-06-07 17:16:04 +00:00
drh
cc71645bf7 Merge the changes need to compile on WinRT into trunk.
FossilOrigin-Name: 61360ca6ca3448477d5c662d3642beef6dd2079e
2012-06-06 23:23:23 +00:00
drh
bae591a960 Merge the latest trunk changes into shared-schema branch. Also fix a C99-ism
in that branch.

FossilOrigin-Name: 42338e9e6979bb497823527f8f39e96f63623c59
2012-06-05 19:20:03 +00:00
drh
167cd6ab78 Revert sqlite3_close() to legacy behavior. Create a new sqlite3_close_v2()
interface that exhibits the deferred-close behavior.  This minimizes the
chance of breakage in legacy apps.

FossilOrigin-Name: c4b8621125ce77308b06692d92f70586b10055a9
2012-06-02 17:09:46 +00:00
drh
4245c405ea The sqlite3_close() interface returns SQLITE_OK even if there are outstanding
sqlite3_stmt and sqlite3_backup objects.  The connection becomes a zombie.
Resource deallocation is deferred until the last sqlite3_stmt or 
sqlite3_backup object closes.  This is intended to help SQLite play nicer
with garbage collectors.

FossilOrigin-Name: e276a02b7f54e804caa553dca99023416a415e1c
2012-06-02 14:32:21 +00:00
drh
9c67b2aae0 Add the mode=memory option to URI filenames, which when present forces the
database to be an in-memory database.  This enables named in-memory databases.

FossilOrigin-Name: 651520fa84ee0c488bef660bab9865500309d5e9
2012-05-28 13:58:00 +00:00
drh
4ab9d254e0 Only allow :memory: databases to share cache if there are created using a
URI filename.  This minimizes the risk of breakages in legacy applications
that have shared-cache enabled but also use :memory: databases which they
expect to keep separate.

FossilOrigin-Name: e3ad61e0308a8442c2bdb7cdb3465576cd39ed4a
2012-05-26 20:08:49 +00:00
drh
5efb314525 Avoid using sqlite3ResetAllSchemasOfConnection() purely for its side-effects.
FossilOrigin-Name: 5587c73badc07d3e01a7c5c5964e178b5112dd24
2012-05-16 01:24:34 +00:00
drh
81028a455d The former sqlite3ResetInternalSchema() routine was really two different
routines, selected by parameter, each with a confused mission.  So split
this routine up into three separate smaller routines, calling each
separately as needed.  Hopefully this will make further refactoring and
schema reset collateral damage containment easier.

FossilOrigin-Name: aa0c3493d3647d7efe527067e9fcccefda8e3008
2012-05-15 18:28:27 +00:00
dan
bba02a95d9 When a connection disconnects from a shared-cache database, only delete the in-memory schema if there are no other connections.
FossilOrigin-Name: 46f4eb5430d7bc9a339cdf7124ff4bd518eaa39b
2012-05-15 17:15:34 +00:00
mistachkin
9917a71da0 Merge updates from trunk.
FossilOrigin-Name: 4ab1ffd45d4c25368b9b393a3336068b747d8b22
2012-03-19 23:32:26 +00:00
mistachkin
86f89871b0 Add SQLITE_OMIT_SHUTDOWN_DIRECTORIES compile-time option to disable clearing the sqlite3_data_directory and sqlite3_temp_directory variables during sqlite3_shutdown. Also, only clear the variables if the heap was actually shutdown.
FossilOrigin-Name: 1ae9f9e4f730eccbc0fc3408de1ac3c4be931e01
2012-03-18 01:32:44 +00:00
mistachkin
e4c46aaccd Reset the sqlite3_data_directory and sqlite3_temp_directory variables when the sqlite3_shutdown function is called since they may refer to memory allocated by the heap subsystem that was just shutdown.
FossilOrigin-Name: cd70bc4b788b947d47a7a7158c27028160df06bd
2012-03-16 10:28:40 +00:00
drh
421377e67a Add the sqlite3_db_readonly() interface. This is still tentative, pending
a closer look at other ideas to accomplish the same thing.

FossilOrigin-Name: 254f99ea9ff1534948bdb179e69ab0c940c87ec1
2012-03-15 21:28:54 +00:00
mistachkin
a112d140ae Add experimental support for resolving relative database file paths using a fixed user-defined directory.
FossilOrigin-Name: 7354ae8fd3eccee2cf9f6501da5b1a014c31556f
2012-03-14 00:44:01 +00:00
drh
cd565fd118 Fix a typo in the header comment of sqlite3_commit_hook().
FossilOrigin-Name: 3784d1475b49f24e4a51450edc94aee66fd48fe4
2012-03-01 21:30:44 +00:00
drh
21021a5cbf Add the new SQLITE_ABORT_ROLLBACK extended error code to be returned for
statements that are cancelled due to a rollback.

FossilOrigin-Name: 549f4fd00d8325c10099b100e5202b77ee1d83ad
2012-02-13 17:01:51 +00:00
drh
0f198a7409 Change the ROLLBACK command so that pending statements to not block it. The
pending statements instead return SQLITE_ABORT upon next access.  Note: This
causes separate shared-cache connections in read_uncommitted mode to abort as
well.

FossilOrigin-Name: 9b66c79e054c8a109d1ee8d35fed1c42814c330d
2012-02-13 16:43:16 +00:00
drh
38d9c612ed Futher pedantic fixes to the sqlite3_uri_boolean() interface.
FossilOrigin-Name: 77b3430de69e23ba3feda3d618fe4880dd465023
2012-01-31 14:24:47 +00:00
drh
5dc2bcda7e Make sure large negative arguments to PRAGMA cache_size do not cause
32-bit signed integer overflow.  Also correct a requirements mark.

FossilOrigin-Name: 17c30634a71051158f8d37fd51b3c2a125ad8bd2
2012-01-02 15:45:12 +00:00
drh
b8a45bbdb8 Fix typos in comments. No changes to code.
FossilOrigin-Name: 6827338ecbe43e28da88d919851ebffde9f6d398
2011-12-31 21:51:55 +00:00
dan
d9bb3a9749 Hold the database handle mutex for the duration of sqlite3_db_release_memory().
FossilOrigin-Name: eeaf2988004ff5343be60ab4ba2f809f76c94b51
2011-12-30 11:43:59 +00:00
drh
9291372094 Add interfaces sqlite3_uri_boolean() and sqlite3_uri_int64() which are
wrappers around sqlite3_uri_parameter() combined with internal routines for
converting strings to booleans and 64-bit integers.

FossilOrigin-Name: 83d26b9a9115eadac9e59a33d608bca0ab2519e3
2011-12-23 00:07:33 +00:00
drh
a60ef3d570 Merge the nx-devkit changes into trunk. This includes the new
SQLITE_FCNTL_VFSNAME file-control.

FossilOrigin-Name: da118e02c0576ce16f7a26663f59413316223d55
2011-12-14 18:33:13 +00:00
drh
c7f946297a Change the SQLITE_EXTRA_INIT routine to take a single argument which is a
pointer to a string.  Call SQLITE_EXTRA_INIT with a NULL argument.
Fixes to multiplexor to treat the VFS properly in corner cases.  Fix the
initialization of multiplex3.test.

FossilOrigin-Name: 8e65b9132530e46c62bd1352bfc2e9c29f57af5f
2011-12-13 18:22:38 +00:00
drh
1cdf011da3 Merge the nx-devkit changes into trunk.
FossilOrigin-Name: 03a70c3dae8d912fccd9d72c575dc372b198d238
2011-12-13 15:37:12 +00:00
drh
e5077c1211 When an sqlite3_auto_extension() function fails, report back its actual
error code, not the generic SQLITE_ERROR.

FossilOrigin-Name: ce55f250f56fa3a1ca864f81e9e86f911b981490
2011-12-13 04:08:36 +00:00
drh
9797706c04 Add a compile-time shutdown procedure to be called by sqlite3_shutdown()
to undo the effects of the compile-time initialization procedure.

FossilOrigin-Name: c2ed86f5945662a4ddcdc7b303df3f64fb3bf17d
2011-12-13 01:34:21 +00:00
drh
678a9aa7bd Import the experimental parse-tree explainer, with fixes, from the
tree-explain branch.

FossilOrigin-Name: bcbc7152d49107afa926c8950360c61a6cf3d244
2011-12-10 15:55:01 +00:00
drh
7e02e5e6b5 Begin adding the data-structure explaining subsystem. All is contained within
FossilOrigin-Name: 79ae51c5b1b20ed0a425a87e65a32a096a80b7e1
2011-12-06 19:44:51 +00:00
drh
4dd65e0f0c Removed the unused "type" field from the CollSeq (collating sequence) object.
FossilOrigin-Name: ab89b047e82efdf59ed91a38b5195341a3743cbf
2011-11-29 14:46:56 +00:00
drh
283829cb20 Add the sqlite3_db_filename() interface.
FossilOrigin-Name: 93a947989b57959aacc37007a143fdf3921793ab
2011-11-17 00:56:20 +00:00
drh
09419b4bae Add the sqlite3_db_release_memory() interface and the shrink_memory pragma.
FossilOrigin-Name: 3f58e7c8895d1252eff56282c08b1a6f1194452c
2011-11-16 19:29:17 +00:00
drh
61a4bd5c6c Follow-on to the previous check-in to prevent a division by zero if the
lookahead slot size is something goofy like 6 on a 32-bit machine.

FossilOrigin-Name: 6bda711f93e753dd0be8d896a007b3f7b5064787
2011-11-10 02:39:28 +00:00
drh
8225d66be6 Use sqlite3MallocSize() to get the actual size of the memory allocation
used for lookaside cache and increase the size of the cache to use the
full allocation.

FossilOrigin-Name: 0e53ecad9468d0a13d155a4462551d4c234a7d5c
2011-11-10 02:24:11 +00:00
drh
e73c91496f Minor changes needed to restore full branch test coverage.
FossilOrigin-Name: bc10a753579b65ba4604867204b7b3d8383f3ac7
2011-11-09 16:12:24 +00:00
dan
22e21ff4fc Experimental change to the pcache interface to allow page buffers to be allocated separately from their associated container structures.
FossilOrigin-Name: c275c9d323cb1dccb031b199d413ac3a0b244fea
2011-11-08 20:08:44 +00:00
drh
30ddce6ff4 Added the tool/warnings-clang.sh script. Changes so that there are no
warnings with either gcc or clang even including FTS4 and RTREE and
both with and without SQLITE_THREADSAFE=0.

FossilOrigin-Name: 39408702a989f907261c298bf0947f3e68bd10fe
2011-10-15 00:16:30 +00:00
drh
b07028f71c Add assert() statements and eliminate needless variable assignments in order
to get the clang scan-build utility to report zero problems against the
SQLite core.  Clang's static analysis did find one real problem - but it was
in the command-line shell, not in the SQLite core.

FossilOrigin-Name: 60fee9574b0125705787e33c16f116cf188c8323
2011-10-14 21:49:18 +00:00
drh
cb5e4dbf4e The sqlite3_overload_function() interface returns an error if it is unable
to create the overload function.  Ticket [20f9d4fbbff3a3]

FossilOrigin-Name: d5b6b374c5225d21c386fb3d6507d3938296e759
2011-10-12 23:49:49 +00:00
drh
e4cf0b3106 Add the SQLITE_EXTRA_INIT macro.
FossilOrigin-Name: a3220f36c164dd2edf085c07ea08d617d8438812
2011-08-25 00:14:41 +00:00
dan
c17d696c14 Return an error if localtime_r() fails within one of the date/time functions. Fix for [bd484a090c].
FossilOrigin-Name: 76ae8257efc1df6e20ce5718d4824adbbde423ec
2011-06-21 12:47:30 +00:00