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

822 Commits

Author SHA1 Message Date
drh
7bd3c89114 Add two new static mutexes, SQLITE_MUTEX_STATIC_APP1 and _APP2, for use by
the application program.  First intended use is in test programs for the
memory allocation logic where one does not want to allocating a _FAST
or _RECURSIVE mutex since that would involve using the memory allocation
system under test.

FossilOrigin-Name: 13686035dd1cf67ad9c6d282ab13c3259e7273d1
2014-05-03 12:00:01 +00:00
drh
e9af1894e3 Merge recent trunk changes into the threads branch.
FossilOrigin-Name: 8729aa3e3ed1da2e15408ef8705cbe185cd2a5ac
2014-04-18 12:38:54 +00:00
drh
2cf4acbd9f Add the SQLITE_TESTCTRL_BYTEORDER test control to interrogate SQLite's notion
of the processor byte order and whether the byte order is known at compile-time
or determined at run-time.

FossilOrigin-Name: 9c6961967ae00e563ebe2859eaf2639a79f2cb01
2014-04-18 00:06:02 +00:00
dan
8930c2ab0c Fix an integer overflow problem in the sorter.
FossilOrigin-Name: 9d3351b8d713232133dad149c73fb2a27c72abb1
2014-04-03 16:25:29 +00:00
dan
b3f56fdb69 Add the SQLITE_MAX_WORKER_THREADS compile time option. And the SQLITE_CONFIG_WORKER_THREADS sqlite3_config() switch.
FossilOrigin-Name: 2774710df8cd2bfaca49888c69f1b01c0ddadf9a
2014-03-31 19:57:34 +00:00
drh
688852ab15 Add logic to do test coverage measurements on the VDBE code.
FossilOrigin-Name: ce184c7bb16988641d37c908d9b3042456d4be3d
2014-02-17 22:40:43 +00:00
drh
65a2aaa633 Add the ability for the authorizer callback to disallow recursive
queries.

FossilOrigin-Name: 9efc120a1548c03f3d8aabbadf1050ff2a119c31
2014-01-16 22:40:02 +00:00
drh
fe98081e18 Enhance sqlite3_randomness(N,P) such that it resets the internal PRNG
if N is less than 1.  Subsequent calls to sqlite3_randomness() will reinitialize
the internal PRNG by calling the xRandomness() method of the default VFS.

FossilOrigin-Name: a221aa82bb5496885fd0bf76e4601443799511de
2014-01-01 14:00:13 +00:00
drh
4a8ee3dfe2 Allow the SQLITE_DETERMINISTIC flag to be ORed into the preferred text encoding
of application-defined functions, to mark the function as deterministic.

FossilOrigin-Name: 5716fc2341ddd8cf64139e7168597f864da4e10b
2013-12-14 13:44:22 +00:00
dan
6f68f1640d Use SQLITE_FCNTL_SYNC instead of SQLITE_FCNTL_SYNC_OMITTED. Add documentation in for FCNTL_SYNC and FCNTL_COMMIT_PHASETWO.
FossilOrigin-Name: 46231af985a1a872d1dc3418591cbaacb0b7c249
2013-12-10 17:34:53 +00:00
dan
999cd08aae Modify the way some internal file-controls are invoked. In order to support multi-file transactions in the zipvfs extension.
FossilOrigin-Name: 32fb1784af4594161d954343e3787db702000a4d
2013-12-09 20:42:03 +00:00
drh
a9c19f935c Back out the new device capability. The determination of whether or not a
file has moved is now done strictly using a file-control.

FossilOrigin-Name: 9c59f5af7ac4908583fab85d37241f200c40f02d
2013-12-07 16:45:05 +00:00
drh
b959a017b6 Actually look at i-node numbers to determine whether or not the database
file has moved.

FossilOrigin-Name: 2b1884dc14f9a04a04eebb3245fbe0daaff399eb
2013-12-07 12:29:22 +00:00
drh
3fee8a63c8 Only error out on a database file move when attempting to start a write
transaction.  Assume read transactions are still safe.  And make the error
SQLITE_READONLY_DBMOVED instead of SQLITE_IOERR_NODB.

FossilOrigin-Name: 28348f2ada98c616241a51aecb70b63e87e6ddbb
2013-12-06 17:23:38 +00:00
drh
1b1f30bb5e Add code to detect if the database file is moved or deleted out from under
SQLite and return an SQLITE_IOERR_NODB.

FossilOrigin-Name: 8759a8e4d83b163e315eff316cf163f6ea42f2bb
2013-12-06 15:37:35 +00:00
drh
09fe614372 Add a new sqlite3_test_control() that indicates that database files are
always well-formed.  Use this during testing to enable assert() statements
that prove conditions that are always true for well-formed databases.

FossilOrigin-Name: 15e4f63d1f3cbcd0aa789fd3e460cd6e4d3338f9
2013-11-29 15:06:27 +00:00
drh
9338642ca6 Update documentation of sqlite3_column() for clarity. Update evidence marks
on test cases.

FossilOrigin-Name: ec2d47a1db2349d5c9b4fe465506e0e347f77921
2013-11-27 19:17:49 +00:00
mistachkin
202ca3e06b Add SQLITE_CONFIG_WIN32_HEAPSIZE option to configure the maximum isolated heap size on Windows.
FossilOrigin-Name: 914e6c9d88828b66e8385c4a264702471faa34cf
2013-11-25 23:42:21 +00:00
mistachkin
af8641bd45 Clarify docs for the SQLITE_CONFIG_WIN32_HEAPSIZE option.
FossilOrigin-Name: 51e876074af4e34ba01ed122e3bcc042243c9e88
2013-11-25 21:49:04 +00:00
mistachkin
ac1f10458b Add experimental sqlite3_config option to control the native Win32 heap size.
FossilOrigin-Name: f09f11e94b5a7c2e51d99c3700d2acd2f3903de9
2013-11-23 00:27:29 +00:00
drh
2365bac1e2 Fix documentation typos. No changes to code.
FossilOrigin-Name: 7caeb09c52bde4649b02b339f611c8e30f6d1c68
2013-11-18 18:48:50 +00:00
drh
5d2f6c211e Add a comment to the sqlite3_index_info structure indicating that the new
field is only available in SQLite 3.8.2 or later.

FossilOrigin-Name: 239648f8ccf057eb05841ce65b108da53fdbf0a4
2013-11-11 23:26:34 +00:00
dan
a9f5815b67 Add a way for virtual tables to return the expected number of rows for a scan (not just the overall cost) to SQLite. Have the rtree module make use of this.
FossilOrigin-Name: 5a3cfd747a85480d215784817c3821d87ecfa2f7
2013-11-11 19:01:33 +00:00
drh
6c41b61f62 Updates to documentation on sqlite3_last_insert_rowid(). No changes to code.
FossilOrigin-Name: a4c5804efc63ff993e93f8a7b6acb6bb0a19dd3e
2013-11-09 21:19:12 +00:00
drh
d2fe3358cf Throw an error if AUTOINCREMENT appears in a WITHOUT ROWID table.
Updates to API documentation to discuss WITHOUT ROWID.

FossilOrigin-Name: b1abb2b078d1cb9ec5fbd7f98221914b93632e9f
2013-11-09 18:15:35 +00:00
drh
f9c8ce3ced Standardize the error messages generated by constraint failures to a format
of "$TYPE constraint failed: $DETAIL".  This involves many changes to the
expected output of test cases.

FossilOrigin-Name: 54b221929744b1bcdbcc2030fef2e510618afd41
2013-11-05 13:33:55 +00:00
drh
8f8b231239 Add the SQLITE_FCNTL_TRACE file control and generate it for OP_Trace
when compiled with SQLITE_USE_FCNTL_TRACE.  Update vfslog.c to make
use of the new file control.  Also update vfslog.c to log UNLOCK events
before the fact, rather than afterwards.

FossilOrigin-Name: e801f35a96d861a1e5f223655af4c8a6a7e356bc
2013-10-18 20:03:43 +00:00
drh
cf9fca4629 Identify requirements text in the SQLITE_CONFIG_ documentation. Fix a typo
(a duplicated word) in part of that documentation.  Add some requirements
marks for DETACH to the test scripts.  No code changes.

FossilOrigin-Name: 1be0a3adaba2914c65c46fbebc4906ae4e70f899
2013-10-11 23:37:57 +00:00
mistachkin
d95a3d3527 Add support for Cygwin when handling temporary file names. Improve error codes and diagnostic messages for temporary file name handling on Windows. Rename winConvertUtf8Filename to winConvertFromUtf8Filename. Improve placement and comments for forward function declarations.
FossilOrigin-Name: a411df725153119acb3bcf44fb71deecaa307887
2013-08-30 21:52:38 +00:00
drh
3b449ee481 Add a guard #ifndef to test_intarray.h to prevent harm if it is #included
more than once.  Add a comment on the closing #endif of the guards on
sqlite3.h and test_multiplex.h.

FossilOrigin-Name: 0ad83ceb79767738bd06a28840cf84da0464ab4f
2013-08-07 14:18:45 +00:00
drh
0b22101b2f Fix typos in documentation for SQLITE_DBSTATUS_DEFERRED_FKS .
No changes to code.

FossilOrigin-Name: f3efbfcd515ad6ac833f4b26391dcc44603a96e8
2013-08-02 13:31:31 +00:00
mistachkin
16a2e7a053 Use a new error code to represent a failure to get the configured temporary directory on Windows.
FossilOrigin-Name: c93d891b03c626b9ed01ed5ef2f246b2d4a40a64
2013-07-31 22:27:16 +00:00
drh
0d1961e91c Enhance the progress handler so that it keeps track of the number of VDBE
cycles across sqlite3_step() calls and issues callbacks when the cumulative
instruction count reaches threshold.

FossilOrigin-Name: 4698a82ef855a8e56163622283fb25317d7efdc4
2013-07-25 16:27:51 +00:00
drh
6b75329ae1 Improved documentation for sqlite3_set_auxdata().
Ticket [406d3b2ef91c].

FossilOrigin-Name: 62465ecba7431e1d71e17a61f1af7dc65fe4fe97
2013-07-18 18:45:53 +00:00
drh
b8c068329d Documentation changes to warn that sqlite3_set_auxdata() might call the
destructor even before it returns.  Also fix the regexp extension to deal
with that case.  Ticket [406d3b2ef91c].

FossilOrigin-Name: 7acc8cd32d593a473c9e9adaf323220a7a46480a
2013-07-18 14:16:48 +00:00
drh
425e27db12 Add the sqlite3_cancel_auto_extension(X) interface which will undo a prior
call to sqlite3_auto_extension(X).

FossilOrigin-Name: cdce87eb889a43dafcc560d5f97ab517d0266860
2013-07-15 17:02:28 +00:00
drh
a95882ff39 Change the description of how sqlite3_progress_handler() works so that
the N parameter is "approximate".  This aligns with the current implementation.
This is a documentation change only.  No changes to code.

FossilOrigin-Name: 7d829bdea3adcda50fbe930acb4e1ce73fd874e6
2013-07-11 19:04:23 +00:00
drh
648e264342 Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS
value for sqlite3_db_status().  This is a cherry-pick of a sequence of five
checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70].

FossilOrigin-Name: 527121ac3cdc96ac33ad975c227a6685a2f7e999
2013-07-11 15:03:32 +00:00
drh
8d56e2059c Issue the new SQLITE_WARNING_AUTOINDEX warning on the SQLite log whenever
an automatic index is created.

FossilOrigin-Name: 338826ef3f8a209b14f8d42370855cab9ac9ed45
2013-06-28 23:55:45 +00:00
dan
f73819af05 Add extended error code SQLITE_BUSY_SNAPSHOT - returned in WAL mode when a read-transaction cannot be upgraded to a write-transaction because it is reading from a snapshot other than the most recently committed.
FossilOrigin-Name: 361c22969aa75340ed696e00e3dc5d17d5493bee
2013-06-27 11:46:27 +00:00
drh
bf159fa21b Add a new (experimental) sqlite3_stmt_status() verb that returns the number
of VM steps.

FossilOrigin-Name: f1366bab737a3ac2ea20a0ec014cc306d7ded8a5
2013-06-25 22:01:22 +00:00
drh
ee0231ef52 Updates to the Codec interface to support codecs on attached databases and
to allow rekeying in the middle of a transaction.  These changes are only 
applicable if SQLite is compiled with SQLITE_HAS_CODEC.

FossilOrigin-Name: d5b084e9d8cfe9c0c339aca076d472bb50aa764c
2013-05-29 17:48:28 +00:00
drh
9a1eccb621 Update the documentation to explain that when the 3rd parameter to
sqlite3_bind_text() and friends is NULL the result is to bind a NULL
SQL value.  Ticket [19b44e35753ba]

FossilOrigin-Name: bd92de0e8d922b96513c5d431493800dda7e7562
2013-04-30 14:25:32 +00:00
drh
a13090fee9 Fix a formatting typo in a comment. No changes to code.
FossilOrigin-Name: 7a97226ffe174349e7113340f5354c4e44bd9738
2013-04-26 19:33:34 +00:00
drh
9ea88b2b48 Update documentation with new hyperlinks. No changes to code.
FossilOrigin-Name: 640eb54ad6aac9bc7109cba167389a9bcec3f21e
2013-04-26 15:55:57 +00:00
drh
b9830a1454 Enhanced documentation for the SQLITE_CONFIG_SQLLOG mechanism and the
test_sqllog.c demonstration file.  No changes to code.

FossilOrigin-Name: 206caf21f6f6963aa38a9aa0f6ea11c7230bb726
2013-04-22 13:51:09 +00:00
drh
c288e442e3 Experiments in making loadable extensions easier to program. The
shared library filename tries various operating-system specific extensions
if the bare library name does not work.  And the entry point is derived
from the filename is the legacy entry point name "sqlite3_extension_init"
is not found.

FossilOrigin-Name: 6cfa1d73d79b9f0be8157f0a37c264dd95b031c8
2013-04-18 22:56:42 +00:00
drh
4670f6d5f6 Improvements to some of the comments that are used to render documentation
concerning loadable extensions.  No changes to code.

FossilOrigin-Name: 76f4e31245fd1676a4520a2f7488bca6eb981e4a
2013-04-17 14:04:52 +00:00
drh
9b4c59fa1b Refactoring the mmap interface. The controlling pragma is now "mmap_size"
instead of "mmap_limit".  Also change SQLITE_CONFIG_MMAP_LIMIT and
SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and
SQLITE_FCNTL_MMAP_SIZE, respecctively.  
The default mmap_size is now always 0, meaning that
memory mapped I/O is off by default.  There is a new compile-time option
SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size.
Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic
and causes it to be omitted from the build.  An extra argument is added
to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE
at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we 
know that it does not work, meaning that it cannot be turned on by mistake
on those platforms.

FossilOrigin-Name: ea1404a10abd7f68e1f8e0708c8a3199d1f79665
2013-04-15 17:03:42 +00:00
drh
a1710cc2ea Fix a formatting typo in a comment. No changes to code.
FossilOrigin-Name: 3412424990c93d2978e819e6099811f1cdde316d
2013-04-15 13:10:30 +00:00