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

13138 Commits

Author SHA1 Message Date
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
a956af67e1 Fix a compiler warning in sqlite3_compileoption_used().
FossilOrigin-Name: e9f9d84b223b69d36688cd7a4c7c696bfda8a1ad
2013-04-18 03:10:43 +00:00
drh
83b5bfc7d3 Do not suppress the ORDER BY clause on a virtual table query if an IN
constraint is used.  Fix for ticket [f69b96e3076e].  Testing done on
TH3 using cov1/where37.test.

FossilOrigin-Name: 61b2a7be3b9c04bf45bffa93a7d3a480fc5c947a
2013-04-18 02:55:54 +00:00
drh
7a411f441b In the command-line shell, allow a dot-command to occur after a
multi-line c-style comment.

FossilOrigin-Name: e2c94ab930f0e5a6dbe8cdd34ebb8cfeeedca56c
2013-04-17 17:33:17 +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
99b390827b Update the command-line shell to give an exit code of 0 when the ".quit"
command is run from the command-line.

FossilOrigin-Name: 467e218120d63d0f34c447f7324bac1364ac0eac
2013-04-17 12:19:48 +00:00
drh
d16d0bc58b Omit sqlite3_compileoption_used() entries that are not explicitly stated
on the compiler command-line, except keep SQLITE_THREADSAFE around so that
there is always at least one compilation option.

FossilOrigin-Name: 109d6767d2626741db1d15ed55e699ac3184a536
2013-04-16 18:24:34 +00:00
drh
50287f5c0c Remove the unused SQLITE_CURDIR macro.
FossilOrigin-Name: 16f7ba4afaa69f6150b4defd4ddf5800f5d23084
2013-04-16 14:58:52 +00:00
drh
0f2340132f Disable memory-mapped I/O when the codec is enabled.
FossilOrigin-Name: 340cca3079cd7aac2f51071435666e9e00ed8bd5
2013-04-16 14:52:47 +00:00
mistachkin
5824e05315 Expand scope of the SQLITE_MAX_MMAP_SIZE define for the Win32 VFS.
FossilOrigin-Name: f4b8faab45e217f227bd7ce65d4741754731b8cd
2013-04-15 20:08:27 +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
drh
a3a5bd9b62 Only consider AS names from the result set as candidates for resolving
identifiers in the WHERE clause if there are no other matches.  In the
ORDER BY clause, AS names take priority over any column names.
Candidate fix for ticket [2500cdb9be].

FossilOrigin-Name: ad53924dcadffb95c6497c46c228c67e8f5370e4
2013-04-13 19:59:58 +00:00
drh
8bc8bfcb05 Fix the xCheckReservedLock() method on the windows VFS so that it cannot return a false positive when two or more processes use it at the same time on the same file. Ticket [7ff3120e4fa54abb55]. Update to version 3.7.16.2.
FossilOrigin-Name: 67b3c0efa7d5e0cb7cc0fc7606ab3f26ea5419fd
2013-04-12 13:53:50 +00:00
drh
7f6e147a51 Increase the version number to 3.7.16.2 and cherrypick the
fix for ticket [7ff3120e4fa54abb55].  This check-in is a release
candidate.

FossilOrigin-Name: 86f26f9152988e47d7e1cfcca9eedf5e6265a225
2013-04-11 19:04:20 +00:00
drh
e82c6c39f4 Fix the xCheckReservedLock() method on the windows VFS so that it cannot
return a false positive when two or more processes use it at the same time
on the same file.  Ticket [7ff3120e4fa54abb55]

FossilOrigin-Name: dd3510bb20ade173c81c9874c05466011c8a249d
2013-04-11 18:28:55 +00:00
drh
ef8e986bde Fix pragma code generation so that it always outputs an OP_Trace opcode so
that pragmas are shown in sqlite3_trace() output.

FossilOrigin-Name: 663f04bd48bc6f302230a22bd22b82bde2353943
2013-04-11 13:26:18 +00:00
drh
fbc7e8845d Have the UNIX VFS issue warnings via sqlite3_log() if a database file is
renamed or unlinked or linked to more than one name while the file is open.

FossilOrigin-Name: e238dcf9189c029fbdcf89339e21d9cdd8fbf2c5
2013-04-11 01:16:15 +00:00
drh
d040e76442 Add new primary error codes SQLITE_NOTICE and SQLITE_WARNING for use with
sqlite3_log().  Add new extended error codes SQLITE_NOTICE_RECOVER_WAL and
SQLITE_NOTICE_RECOVER_ROLLBACK to use with sqlite3_log() messages that occur
on each recovery.

FossilOrigin-Name: be7d2c5482c41baf000d7fb5dccc31b974e91064
2013-04-10 23:48:37 +00:00
drh
56282a5bc7 Add the sqlite3_strglob() interface.
FossilOrigin-Name: 41d6ff32a6dd1311dc3aabe5156335a64a886919
2013-04-10 16:13:38 +00:00
drh
ab755ac81a Change the rollback journal so that it invokes sqlite3_log() make a record
of a recovery, just as the WAL journal does.

FossilOrigin-Name: 7cd3f6cd3a39ed1c4bbf9e3508824150632c5bd9
2013-04-09 18:36:36 +00:00
drh
6e0b6d52da Add extra #ifndef statements in os_unix.c and os_win.c to make sure the
memory mapped I/O really is disabled when SQLITE_DISABLE_MMAP is set.

FossilOrigin-Name: c1e2523c9051782569291fff998140f7e0b70b6d
2013-04-09 16:19:20 +00:00
drh
188d488409 Disable the use of memory-mapped I/O if the SQLITE_DISABLE_MMAP macro is
defined.  Automatically define this macro for OpenBSD and QNX.  Other
systems are likely to be added to the disabled list over time.

FossilOrigin-Name: 8a4314a398c6c6efb25e6993c826b7e60d9bb1f9
2013-04-08 20:47:49 +00:00
dan
bcb8a868ce Handle the case in os_unix.c where SQLITE_FCNTL_MMAP_LIMIT requests that the mmap limit be set to a value smaller than the current mapping.
FossilOrigin-Name: 360473493ec1a7094a2b1c5436f3b70914a6dfdd
2013-04-08 15:30:41 +00:00
dan
fbfe388d31 Fix an incorrect type cast in an assignment in vdbe.c.
FossilOrigin-Name: 320b5295da57023399c7b9eed82eae40cf619803
2013-04-08 10:38:57 +00:00
drh
60625313b0 Increase the default SQLITE_MAX_SCHEMA_RETRY to 50. Make sure that macro
covers every case where a prepared statement might need to be reprepared due
to a schema change.  The sqlite3_exec() interface now uses 
sqlite3_prepare_v2().

FossilOrigin-Name: c1d7304c80c4a6244c8a9f6fad1eebd0f339c724
2013-04-06 18:06:51 +00:00
dan
d7a558a9fb Improve the code coverage of "permutations.test coverage-pager".
FossilOrigin-Name: b095e2cdb61ca8487255687f58fb1024d40f3986
2013-04-05 20:40:43 +00:00
drh
67f7c780f3 Updates to the file-control documentation. No changes to code.
FossilOrigin-Name: 51fab480d0487107709e6c9e00bc0512b82ef1aa
2013-04-04 01:54:10 +00:00
drh
a478b3fa80 Try to use mmap() to speed access to the database file on windows, linux,
and mac.

FossilOrigin-Name: fff2be60779571c8fb89158db976ec3755e9a223
2013-04-04 00:40:17 +00:00
drh
b0a8ea046a Release resources prior to bailing out of the btreeCreateTable() routine
following an OOM error.

FossilOrigin-Name: b2a72be9bab77f050bef75477a278a6294d3e854
2013-04-03 21:23:28 +00:00
drh
370c9f498d Remove an unreachable branch in the direct blob I/O logic of btree.c.
FossilOrigin-Name: f97d7274f48e3bb98ed17eae11abb55064134874
2013-04-03 20:04:04 +00:00
drh
716d6d2da7 Fix a bug in the detection of iOS when setting the default mmap_limit.
FossilOrigin-Name: ac1432b3a8e968be4cbc138b4a35f34187c0c36f
2013-04-03 13:38:46 +00:00
drh
34f7490311 Change the mmap_limit pragma to report the new limit, or to report the
existing limit if called with no arguments.  Report the default mmap_limit
as part of PRAGMA compile_options.  Set the default mmmap_limit to 0 for
all systems other than linux, mac, windows, and solaris.

FossilOrigin-Name: 2d9f1327fe79e40435ce1e2594d7cd9a5aea0ef2
2013-04-03 13:09:18 +00:00
dan
6c96946475 Remove the restriction on using xFetch to load the root pages of tables and indexes. It appears to have been based on a misconception.
FossilOrigin-Name: 5b082efead488a2fccc18171e640e0aa5252d1d0
2013-04-03 11:52:16 +00:00
dan
f7679ad19e When moving a page to make way for the root page of a new table or index in an auto-vacuum database, save the positions of any cursors that may be holding xFetch references to the page being moved.
FossilOrigin-Name: 9d9b1da54a555e8fb6037d63d1952458c12956d2
2013-04-03 11:38:36 +00:00
dan
227a1c482c In btree.c, save the positions of other cursors open on the same table when writing via an incremental blob handle. Otherwise, they may be left holding an out-of-date xFetch page reference.
FossilOrigin-Name: 3f09fba18f7e61e21381ffea13c31b968efd7d77
2013-04-03 11:17:39 +00:00
drh
2b8246e3e2 Initialize the mmap_limit of temporary files to the configured mmap_limit.
FossilOrigin-Name: 24bab7596bb7385981a5d331df5eeb05353547f7
2013-04-03 10:50:02 +00:00
drh
7e36962e6c Make use of xFetch, if it is available when doing a VACUUM or a backup.
FossilOrigin-Name: 83bc37af07857960c11275891f853a358dcbbf05
2013-04-03 03:53:15 +00:00
drh
7d9f3943ba Add the -mmap option to the command-line shell, for setting the default
mmap_limit.

FossilOrigin-Name: fc30d06c94c8212abb0477fb4cec4520d05bea34
2013-04-03 01:26:54 +00:00
drh
85830a70c2 Fix the unix driver to check defined(_BSD_SOURCE) rather than just the plain
_BSD_SOURCE macro.  This fixes the build for OpenBSD.

FossilOrigin-Name: 1dd42ef4144ee08fb4ee1676d934a56a0e34bac2
2013-04-03 00:42:01 +00:00
dan
48ccef8059 Fix a resource leak in os_unix.c.
FossilOrigin-Name: b29cda03fe4e8d8f5b5acbbea2d69f284a2bdf23
2013-04-02 20:55:01 +00:00
mistachkin
a9d79ae95d Add assert to the Windows VFS pertaining to the size of the SIZE_T type.
FossilOrigin-Name: 4eeea58354e21797ca1f4dc4ea785d0330381f0b
2013-04-02 20:13:04 +00:00
dan
d409792838 Change an assert in pager.c to acknowledge that it is possible for sqlite3PagerRollback() to return SQLITE_CORRUPT.
FossilOrigin-Name: d641d3d20d80fdb86d91de31fcf2eb5ca3c5c715
2013-04-02 18:31:29 +00:00
drh
a2c16c084a Fix the build for Mac.
FossilOrigin-Name: d36ce0bbad58445c983597ee93438fe07b659cdc
2013-04-02 18:25:04 +00:00
drh
07fa864d15 Fix a faulty assert() in the os_win.c VFS.
FossilOrigin-Name: fd6ee54969322203c02ce9bd8744e095faf6a69c
2013-04-02 14:37:40 +00:00
drh
936c6d7e9e If the SQLITE_TRACE_SIZE_LIMIT compile-time parameter is set to a positive
integer then limit the expansion of strings and blobs in trace output to
approximately that many bytes.

FossilOrigin-Name: e5b710849dd66673ba0e0d935b103cb29abfcc4b
2013-04-02 13:56:53 +00:00
dan
4ff7bc45c6 Add test cases for errors in mmap() or mremap() is os_unix.c.
FossilOrigin-Name: 3098a3c1e7305033904a496ef534cb312a876fab
2013-04-02 12:04:09 +00:00
drh
a3a2b3bdc0 Proposed template preprocessor magic for activating mmap only on platforms
where we know it works.

FossilOrigin-Name: d96272f031102514b02bd839aac9e37618872200
2013-04-02 10:29:13 +00:00
drh
6d81449fc6 Reorder two conditions to make coverage testing easier.
FossilOrigin-Name: 793ba4e996426522eeaa86589a9e974fa1fc1522
2013-04-02 01:45:10 +00:00
drh
092d993cb7 Remove an unreachable condition from pager.c.
FossilOrigin-Name: 3628e86bf131cb205f08a4b299d84007cd6b25c3
2013-04-02 00:41:18 +00:00