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

13138 Commits

Author SHA1 Message Date
dan
373dc3bb3f Update ext/misc/zipfile.c to support creating and adding entries to existing
zip archives.

FossilOrigin-Name: 2dec2dec592c0726ebe87b841b9c8d493dea7074a99f278eb1bf0b744d658a9d
2017-12-29 20:19:03 +00:00
drh
c64487b9c8 Add support for the sqlite_unsupported_offset() SQL function if and only
if compiled using -DSQLITE_ENABLE_OFFSET_SQL_FUNC.  Use that definition
when compiling the command-line shell.

FossilOrigin-Name: 4f1f1f521ae6da96b899e10bfeff6bc1ab7a45de0705076febaae20b441f48c6
2017-12-29 17:21:21 +00:00
drh
092457b18c Change the function name to sqlite_unsupported_offset(X). Only enable the
function if compiled with -DSQLITE_ENABLE_OFFSET_SQL_FUNC.  The makefiles add
that definition to shell builds.

FossilOrigin-Name: 7a7f826e324b1a2c332e2f1d0740fd0babffcaca6275a798572f02ad367b99ab
2017-12-29 15:04:49 +00:00
drh
fe6d20e9f4 Enhance location(X) so that it works with indexes and WITHOUT ROWID tables.
The function might return an offset to the main table or to an index,
depending on whether the column X would be loaded from the main table or
from the index.

FossilOrigin-Name: dd94d6a880dfec4bddd247239b815b84964f804d24841e25f33f1d46a4b5274d
2017-12-29 14:33:54 +00:00
drh
7a8573bafa Merge recent enhancements from trunk.
FossilOrigin-Name: 6251e438f2a76170fd1e95aa512a46086ed88ab93b9b97a1dba97c4558689305
2017-12-29 13:35:09 +00:00
drh
e307e11d0a Omit all sqlite3_trace() output from the triggers associated with
foreign key constraints.

FossilOrigin-Name: fda08e3d10cc850664a356efdafcfc68187053849e1b00991b0b35d892a6776b
2017-12-27 21:30:34 +00:00
dan
b5090e4897 Improve the shell tool ".ar --list --verbose" command.
FossilOrigin-Name: b64681a644c419bb98d00980a6cb56ef5a0aff5ef5321955631f0b4c88aac283
2017-12-27 21:13:21 +00:00
drh
f259df5fc8 Show the text of individual statements within a trigger, as they
execute, as comments in the output from sqlite3_trace() and sqlite3_trace_v2().

FossilOrigin-Name: fe3d2b97d8945e6a9636472f77bcdc92cc5dda8b3e6e3a4fcbdd0a212ea5b9aa
2017-12-27 20:38:35 +00:00
drh
9b2e0435d2 Add and use the internal sqlite3DbSpanDup() interface.
FossilOrigin-Name: a8e1545cb7aacb6a26a8c92a3ad4a3d584d150c3a00d2828c8adbb1ee19fcb6d
2017-12-27 19:43:22 +00:00
drh
908cc6207f Merge recent enhancements from trunk.
FossilOrigin-Name: 76373091354f27577e5235e96cfaa4b31429a38d1e0e1d6e094c4cc323b92a0a
2017-12-27 19:27:26 +00:00
dan
5a78b81b1b Have the shell tool ".ar --list" and ".ar --extract" commands support zip
files. Currently the "-zip" switch is required.

FossilOrigin-Name: a532a0f6fd59e81086d46f09151ba7fb26725198231d902c71d0f95cb01dbe91
2017-12-27 18:54:11 +00:00
dan
9ebfaad25d Add new file ext/misc/zipfile.c, containing a virtual table for read-only
access to simple zip archives.

FossilOrigin-Name: 8e366b99b13d765d8bf000a7ec5919e582702e51dc07c27a746b6002898a2302
2017-12-26 20:39:58 +00:00
drh
4fb5c2dcc1 Merge bug fixes from trunk.
FossilOrigin-Name: d76e12066fa6950f877cbe33b1892e2b0afa948978815d5b9a90cde1fff8ec98
2017-12-26 18:14:53 +00:00
drh
0d9de99c5c Add support for measuring and reporting coverage of the parser state machine
using the SQLITE_TESTCTRL_PARSER_COVERAGE test-control.

FossilOrigin-Name: 1253a872dbf48656d4efd588ab61223a5ac550d9b2b932249d6ba585276ba573
2017-12-26 18:04:23 +00:00
drh
02a43f6def Faster and smaller implementation of sqlite3AtoF() based on a suggestion
from Cezary H. Noweta.

FossilOrigin-Name: fd2e0e7a770c2ce9355068aad1024c3d2861c104fd3be304a91c55ca742155fa
2017-12-26 14:46:20 +00:00
drh
5060a67c4d Fix an assertion fault on a syntax error input caused by check-in
[6b2ff26c25bb9da3].  Problem discovered by OSSFuzz.

FossilOrigin-Name: 90d6e4f10d3055a776d24854c442a2a68e726af8fc382cdb6241a834082e4c4c
2017-12-25 13:43:54 +00:00
drh
512795dfea Fix a NULL pointer dereference after a syntax error that can occur as a
result of check-in [6b2ff26c25bb9da3] yesterday.  This problem was
discovered by the OSSFuzz.

FossilOrigin-Name: d49afb8f9804e96662d1e3cadc4c6643908706d848a53d5ed019919c98f2ccba
2017-12-24 18:56:28 +00:00
drh
d3f5d6110b Grammar changes: the sclp non-terminal should always be followed by a scanpt.
FossilOrigin-Name: 74a0181fc016fb0b7934188cfcc2ec26c689f0d33cc42453875f4392b7240d3a
2017-12-24 17:01:54 +00:00
drh
1be266ba08 Remove the ExprSpan object. Instead, keep track of the test of subphrases in
the parse using the "scanpt" non-terminal.

FossilOrigin-Name: 3eab7bdc44e0878b83dc86f27058a40c2ffafeacadc566f03693f6dc7e40a504
2017-12-24 00:18:47 +00:00
drh
60ba57d9c5 Merge enhancements from trunk.
FossilOrigin-Name: 150f07fec1e6d1fc0601820d717d8712fc513fe0d4bed67c8679eb51bca30d53
2017-12-23 18:34:49 +00:00
drh
88a921ce60 Simplification to the error handling logic in the extension loader.
FossilOrigin-Name: 07c773148d8db185fa54991df09298b64f4fef28879e6c9395759265e8183977
2017-12-23 14:39:36 +00:00
drh
ab42a2fe8e Improve the error message that comes back when sqlite3_load_extension()
fails because the named file exists but is not a valid shared library.

FossilOrigin-Name: 05fee1a21ea398f1e4d6f1cf361657eff25ed6cd8f85ab398262dcfd30da57e9
2017-12-23 13:55:43 +00:00
drh
755b0fd358 Move the generation of output column names earlier in the case of a
CREATE TABLE AS.  This is a fix for ticket [3b4450072511e62] and a
continuation of check-in [ade7ddf1998190b2b63] that fixes cases of
ticket [de3403bf5ae5f72ed6] that were missed previously.

FossilOrigin-Name: 6b2ff26c25bb9da344add79c93fb3e49fa034a89b38ef56e08e18d21de61f707
2017-12-23 12:33:40 +00:00
drh
07859486c6 Add a SELECTTRACE() macro to indicate when column names are assigned to
a SELECT statement.  This helps with debugging for tickets like
[de3403bf5ae5f72e] and [3b4450072511e621].

FossilOrigin-Name: 8f194008c3aaa4ef287200e37bc5278ba9c377a7091ee3f95bad66513226b083
2017-12-23 11:51:40 +00:00
drh
5a699a01ca In the sqlite3TreeViewExprList() routine, show the "AS" alias name for
each expression in the list, if it exists.

FossilOrigin-Name: 5efd854fe21470336ba4140294b6c90ef39af32e103b92c664438d7485c50f9a
2017-12-22 19:53:02 +00:00
drh
efc88d020c Modify the new sqlite3_vtab_collation() interface so that it takes a
pointer to the sqlite3_index_info object passed into xBestIndex rather than
an sqlite3 connection pointer, which the xBestIndex method might not have
access to.

FossilOrigin-Name: 5c1fe6666019147a26480b5db1bf2f474a5d072c234c736f16ed5d2a9a040b3f
2017-12-22 00:52:50 +00:00
drh
ef7231b865 Fix SQLITE_DBCONFIG_TRIGGER_EQP so that it works even if SQLITE_DEBUG is
not defined.

FossilOrigin-Name: afbbfff72002089fa73b5473cc98360df14288d489e93e667332d6e884ef60da
2017-12-21 21:41:13 +00:00
drh
ada7045eab Add the ".eqp trigger" option to the ".eqp" command in the command-line
shell.  Implemented using the new SQLITE_DBCONFIG_TRIGGER_EQP control.

FossilOrigin-Name: 2c51644a12a638d89e4f7cc3fd561236ce424f2d4e1db31f1e8388f77add02b8
2017-12-21 21:02:27 +00:00
dan
2e1ea57f8b Add the ".expert" command to the shell tool's ".help" output.
FossilOrigin-Name: fc6193af5d216b4066fbc47e75a7d0538fd5fda40b94ee15e2ff4037ea89221b
2017-12-21 18:55:24 +00:00
drh
36e31c6915 Change the name of SQLITE_DBCONFIG_FULL_EQP to be SQLITE_DBCONFIG_TRIGGER_EQP
(which we can do without breaking compatibility because the former name has
not yet appeared in an official release) and streamline its implementation.

FossilOrigin-Name: fffc7685d19f78ec322a4e834ad727af20a17e2e1c35680e4b1c4162c4786f60
2017-12-21 18:23:26 +00:00
drh
3c5d285762 Add the SQLITE_DBCONFIG_MAX preprocessor macro which will always be equal to
the largest SQLITE_DECONFIG value.

FossilOrigin-Name: 95d4103348d14f9d4c3fee30bd1d882f717b047b2b92f8fef52bec4878281907
2017-12-21 14:46:11 +00:00
drh
fafd6fbb49 Add the experimental ".expert" command to the sqlite3.exe shell.
FossilOrigin-Name: 0821bae7afefed98102c81104b4a477e81816bb1f43353c80865411771e3c5a7
2017-12-21 02:17:02 +00:00
dan
e42e1bc594 Fix crash in sqlite3_vtab_collation() when called for an IS NOT NULL
constraint.

FossilOrigin-Name: ad38d2c4f073705c02c7b38675e8ae86fe4a794d54eb796e7ed51a905824d5f5
2017-12-19 18:56:28 +00:00
dan
43efc18669 Experimentally add the SQLite expert functionality to the shell tool.
FossilOrigin-Name: 51068dbaeaef13bb80af8126b8c4f3a454dee63de5127d706db50bf789533e60
2017-12-19 17:42:13 +00:00
drh
2fc865c115 Add an experimental location(X) SQL function that attempt to return the
location of the payload within the database for the record that contains
column X.  location(X) returns NULL if X is not an ordinary table column or
if SQLite cannot figure out the location because it is using a covering index.

FossilOrigin-Name: 51be9558164301c5dd4df23ab8b3e67de0b522f8d36f79f3d84d45d3dc2a83a4
2017-12-16 20:20:37 +00:00
dan
11546779b7 Merge latest trunk changes into this branch.
FossilOrigin-Name: d5b597b52a1213cdf382d96f4df3535727be0852b25bafd12bbef54da946c5f2
2017-12-16 19:16:24 +00:00
dan
d1b51d4955 Do not use the compress() and uncompress() functions in ext/misc/compress.c -
they are not quite compatible with the spec. Instead use new functions in
ext/misc/sqlar.c.

FossilOrigin-Name: 7652b3c2374084047b6c1da3e525e0cac34fe220597f81e793bc4fd9f33358da
2017-12-16 19:11:26 +00:00
dan
ac15e2d7cc Have the writefile() function optionally set the modification-time of the
files it writes or creates. And many small fixes to the new code on this
branch.

FossilOrigin-Name: 7b51269caebe1492885fe9b965892f49a3f8bdb1d666b0203d594c30f9e83938
2017-12-14 19:15:07 +00:00
dan
0d0547fec6 Improve error and usage messages output by the shell ".ar" command.
FossilOrigin-Name: b9d2d5d97291bf3d1392232e3705cca89dc7b918db2b08067b2b013ea39320e0
2017-12-14 15:40:42 +00:00
dan
7d935ab46d Merge latest trunk changes into this branch.
FossilOrigin-Name: 803156cba8b056a1cb8d1bb186a57454afe72341abe7de1dfe529234c3415cd2
2017-12-14 13:55:01 +00:00
drh
84a6c85c64 In valueFromExpr() only generate a OOM fault if there have been now prior
faults.

FossilOrigin-Name: 3765aaf712998af5ffb6bc680a0c1419f2b5deb47ecbc1835ba5879127c4dbe3
2017-12-13 23:47:55 +00:00
drh
258dfe48cf An improved way of generating the SQLITE_READONLY_DIRECTORY error.
The error message submitted to sqlite3_log() is still correct this way.

FossilOrigin-Name: 1c0aa919ee429cd194820ec9c54084563f39e63fd399b23f859fc6703b429b15
2017-12-13 20:35:34 +00:00
dan
06741a3c9b Add the shell tool ".ar --update" command.
FossilOrigin-Name: 825e3c037b03fc09d581aeda0193ff1d4062404414c7354cb649f99aa9022d25
2017-12-13 20:17:18 +00:00
dan
3f67ddf8f2 Add support for the "--list" command. And for arguments to the "--extract"
command.

FossilOrigin-Name: 32c4fa2552bb0fa7d7d143108457efae7a756d6cb14b1d59312e56efac3b2656
2017-12-13 20:04:53 +00:00
drh
a803a2cd98 New result code SQLITE_READONLY_DIRECTORY is returned when an attempt is
made to write on a database file that is in a read-only directory and hence
the journal file could not be created.  This situation formerly returned
SQLITE_CANTOPEN, which less helpful.

FossilOrigin-Name: 3ec73c38f878d73d278fce99ba10c708dcc475835774f1e17769ff7315be6d7c
2017-12-13 20:02:29 +00:00
drh
472e41ea16 Correctly invalidate a column cache line when it is overwritten with NULL.
Fix for ticket [123c9ba32130a6c9d432].

FossilOrigin-Name: 65754dc3b830ef9482655d2e93c2cd4acaa7a8715a58d8309955d04378541f89
2017-12-13 18:01:52 +00:00
drh
37874b5f74 Minor enhancement to two assert() statements in the default VFSes.
FossilOrigin-Name: 9cede8a83ca4cd88d504050115e1e89e7b3d3cd3cb2ffb5b8961e311a23ff5e2
2017-12-13 10:11:09 +00:00
dan
ece4b0c172 Add tests and fixes for the shell ".ar" command -f option.
FossilOrigin-Name: 1a9867973c9d6675fa5254fdd74f36004707a98a91593a188033cf5a49cc7a0b
2017-12-12 20:28:36 +00:00
dan
d4b56e5901 Add support for parsing options in non-traditional tar form to the ".ar"
command. Have writefile() attempt to create any missing path components. And
not to throw an exception if it is called to create a directory that already
exists.

FossilOrigin-Name: 38dbeb1e777aa7ec742aa27002ad4dcee28af520dc43de96e5c56c39f16574ff
2017-12-12 20:04:59 +00:00
dan
1ad3f61b81 Enhance virtual table "fsdir" in ext/misc/fileio.c. Add support for "-C" to
the shell command's ".ar c" command.

FossilOrigin-Name: 0394889afed2479773af594e2d9659cf58b8959004ebcdeaff8e08e5dae684ef
2017-12-11 20:22:02 +00:00