0
0
mirror of https://github.com/sqlite/sqlite.git synced 2024-11-21 19:29:09 +01:00
Commit Graph

29196 Commits

Author SHA1 Message Date
stephan
9491e6d9b1 Add the ability to build certain tools dynamically linked to libsqlite3 instead of embedding their own copy of sqlite3.c.
FossilOrigin-Name: 84bd96a6f10823992cf865245cb2c75b69921257122fde5909b303621e288d00
2024-11-19 20:23:01 +00:00
stephan
457d9384a2 Rename --link-tools-dynamically to --dynlink-tools, per discussion.
FossilOrigin-Name: 50b9f6fde44f9afda27e47badde6115ab6d9ccd5e22b446a8d8127499848815f
2024-11-19 20:21:40 +00:00
stephan
b81e11b25b Move the in-comment-code commentary about --with-debug, from [7b14309be4], into the --help text for that flag, where it's readily visible.
FossilOrigin-Name: c938e5d783b3f015b2a1b9f3711664b13497c4b71e4a890c65d6665539522ff8
2024-11-19 20:14:31 +00:00
stephan
c73b85c156 Get sqlite3_analyzer optionally linking against libsqlite3.so instead of embedding sqlite3.c. Patch mkccode.tcl to accept digits in its IFDEF/IFNDEF checks and sqlite3_analyzer.c.in to only include sqlite3.c if -DINCLUDE_SQLITE3_C is passed to mkccode.tcl.
FossilOrigin-Name: 80f3bf8c2ee31ba1ab9187d64d5dcbbf97a61845a21b036f89ea9133153575c0
2024-11-19 19:47:51 +00:00
stephan
d3aaf963a9 Merge trunk into this branch. Fix a small jimtcl/tclsh regex incompatibility in mkccode.tcl.
FossilOrigin-Name: 7fb3ebfec634e0508267049fddb2b513201dbefce4d378ca3ec261c5d8336d7f
2024-11-19 19:16:58 +00:00
drh
5608fb36ec Enhancements to tool/mkccode.tcl such that it recognizes -D command line
arguments and can use them in internal IFDEF and IFNDEF macros.  Update
the tool/sqlite3_analyzer.c.in script such that it omits the SQLite amalgamation
if -DSQLITE_ENABLE_DBSTAT_VTAB is defined.

FossilOrigin-Name: 7fec209290aa1a6dbbca8de154edaac5d8d0ce042bc0617d27fb2095c8d580f1
2024-11-19 18:26:47 +00:00
stephan
3cd93a0b67 Revert linking the shell to the dll for reasons explained in new makefile comments. Move the --with-debug configure flag into the developer options set and add commentary about why it should never be used for production builds.
FossilOrigin-Name: 7b14309be42be4204c4d30e9741d56d75ab8ec34686791d032612337fe1c4dcf
2024-11-19 17:41:13 +00:00
stephan
5ef61df185 Reformulate sqldiff deps and rules so that the target matches the resulting file name, to avoid rebuilding it on every make invocation. Apply the same treatment to the sqlite3 CLI shell.
FossilOrigin-Name: 9a17b83f859ef14629cb78d8c9af1b3f2493b0c8756bc2ebcf92f0872fb507c3
2024-11-19 16:40:49 +00:00
stephan
fbd9de1830 Initial configure support for linking certain binaries to libsqlite3.so instead of embedding it dynamically (which they typically do). This currently applies only to sqldiff, but support for adding the same for other tools is planned. This requires disabling the soname because setting it causes the build to link to whatever libsqlite3.so.0 is installed system-wide, so the soname now defaults to off.
FossilOrigin-Name: 9192c146e2898456a6b8ea43a6f02c0227ddce5b584374fbeb2d63bd2ecd5d8c
2024-11-19 15:20:47 +00:00
dan
fefc7b1bf7 Fix a problem handling OOM errors in fts3 that could occur when parsing multi-token strings.
FossilOrigin-Name: 4c4d1db00bd2c522165876dcf1606116a72525d9ffc891b266213704e25cde55
2024-11-19 11:58:32 +00:00
drh
ea206ad17b Reduce divergence from begin-concurrent.
FossilOrigin-Name: 84d41e9d04c62601e84621e8edb3b81abbacc366a6b5e7059f8b6796fade7ffa
2024-11-18 18:45:31 +00:00
drh
12599d566b Attempt to reduce divergence with the wal2 branch.
FossilOrigin-Name: e0d8f9916c2d899094b71af74f44e089a97db6d80f09eb80a5d8be733c1bf942
2024-11-18 17:05:45 +00:00
drh
5cad859f61 Attempt to reduce divergence with begin-concurrent.
FossilOrigin-Name: f783d90187fb326faa3d0244b30138b023c4a8483486f260b7a022a927c13f3a
2024-11-18 16:44:26 +00:00
stephan
0df847cc77 Remove the .POSIX entries from the makefiles because they cause portability problems rather than solve them.
FossilOrigin-Name: e1330ecf170436678c5c235557fb95b8acbf4fad62583edba4af03aff49afbc5
2024-11-18 14:15:08 +00:00
dan
de8aa17eb5 Fix a "applying zero offset to null pointer" usan error in the fts5 trigram tokenizer.
FossilOrigin-Name: 9b79b999d4192a3a250bf343825f61e9cb83203e4d94dcfa20c320d5f1386d69
2024-11-18 14:08:42 +00:00
drh
9c8235b1bd Fix minor problems in testrunner.tcl that pop up when the command-line arguments
are such that no tests are run.

FossilOrigin-Name: 321ded32f67550e964cd64d61aa0cbc0029ce2fdee4588a46b01dbb5aa87150b
2024-11-18 13:29:16 +00:00
drh
bbc6e5c9b7 Make the --vfstrace output from the CLI go to the same output channel as
everything else.

FossilOrigin-Name: f71d4900205ae6ee41f849c4026d0fe4d6cf281dfc3bac8105fc8e242d128b67
2024-11-17 11:42:43 +00:00
stephan
f6fdf32553 buildtclext.tcl: add docs explaining the DESTDIR check and break out of the auto_path search loop early if the DESTDIR is not writable, rather than re-checking that repeatedly.
FossilOrigin-Name: d07be336eaeb9a5d56ac6e1b63f4d8e50d3ac236f5953cc178ef34542a7cd8fa
2024-11-17 09:49:53 +00:00
drh
70d390134c Call fflush() on ".echo" output from the shell, so that the output to
stdout is aligned with output to stderr.

FossilOrigin-Name: c38b9db3c4f71706a7d211424da64311e6e5daf64b224565a6d82d4b1a68e261
2024-11-16 18:54:46 +00:00
drh
18689b8fb2 Fix argument expansion in sqlite-tclsh on Windows such that if an argument
does not match a filename even after glob expansion, it is appended to the
argument list verbatim.

FossilOrigin-Name: cd942dce148c9d8f5a94cee61923aad8d1b732b807e004005f78323be30c02e7
2024-11-16 17:39:34 +00:00
stephan
50faa8d17e Handle DESTDIR at an earlier phase in buildtclext.tcl to account for the is-writable-dir check and to filter out //zipfs: dirs as (im)possible installation targets.
FossilOrigin-Name: d2e8c161a14fbbcc52c50dfd9274c9969e3c273e2cb7cbf2f865541af9f39ead
2024-11-16 17:09:55 +00:00
stephan
f6c7cc606e Add the --destdir flag to the tclextension-install makefile target.
FossilOrigin-Name: d1663cf05f7dcaafd479bacf083b6b774f34fd3db89012b49599d30817eb174f
2024-11-16 14:30:43 +00:00
stephan
d8f6222bee Add --destdir flag support to buildtclext.tcl, but do not yet add that to the makefile (so that this change can be cherrypicked to the 3.47 build).
FossilOrigin-Name: 67a3ca0c013b6a9da3b2c50ffc86b96b14454d1e45fa90d3b0a238488a783e79
2024-11-16 14:29:51 +00:00
stephan
4b24cb2a3a Rename tool/tclConfigShToTcl.sh to tool/tclConfigShToAutoDef.sh in the name of pedantic correctness.
FossilOrigin-Name: a7dd196d99ee7c75b92a03915f2b370e3f4c598eb8521b90af1cb5dd7f9ee49c
2024-11-16 10:42:33 +00:00
stephan
d676227f2c configure: tiny simplification of proj-assert.
FossilOrigin-Name: bfdc416b561937aa74483bf96c042e701e6f98997150f1f1a6b165cddd40d8d1
2024-11-16 09:00:31 +00:00
drh
178ce6287b Enhance the vfstrace extension such that the output can be controlled using
the "PRAGMA vfstrace('...');" statement.  See header comment on the source code
for details.

FossilOrigin-Name: 96105d33597765c23dbd490b3aa0c2273731d1970d7041720e9f043dbe3517b3
2024-11-15 20:39:41 +00:00
stephan
1adf87592f In the interest of minimizing downstream disruption, set the soname of libsqlite3.so to (by default) its legacy value of libsqlite3.so.0 and unconditionally create (or replace) a symlink with that name at install-time, in addition to the newer-named symlinks.
FossilOrigin-Name: 0773677b553e032e992266c6c75e10565729238df3ef52b56602a92cf651bea7
2024-11-15 19:42:49 +00:00
stephan
e69b4d757e Generic auto.def cleanups. No functional differences.
FossilOrigin-Name: 02aceb8c138b5b8f38c75aa0792efa12f14b002083df6141cf56ea0602d3174b
2024-11-15 16:35:24 +00:00
stephan
48c8447574 buildtclext.tcl: work around a case, reported in [forum:0683a49cb02f31a1|forum post 0683a49cb0], in which package maintainers edit their copy of tclConfig.sh to change the TCL_SHLIB_LD command.
FossilOrigin-Name: e24a3efec8c168b69d665ab20e8d715210208e6cf291ac93549fdd175a9009d6
2024-11-15 15:31:13 +00:00
stephan
2eb9605e81 configure: add optional pkg-config support for detecting ICU.
FossilOrigin-Name: 3e5b8077c6c6ce72ecab3110eb45943b9765372df789088982dbd6046a7c2523
2024-11-15 10:53:57 +00:00
stephan
ece4bf60ff When checking pkg-config for ICU support use icu-io instead of icu-uc, as that contains all requires libs on Linux and BSD.
FossilOrigin-Name: 6ca457542e1dceac2d68fe3d29ff1f0beb31a77ca3073bd7d8a6c62faabcdc1d
2024-11-15 10:47:11 +00:00
stephan
aa85c8c854 configure script doc additions for the ICU feature check.
FossilOrigin-Name: 1925a68fc2323f0788aac9c3c2bb3005182eb3286037bc383181b6aa150d4270
2024-11-15 10:12:03 +00:00
stephan
75ed9f819f An experiment in optionally using pkg-config to determine the libs to link in for ICU support, but its ldflags is missing one required lib on both Linux and OpenBSD. Keeping this for later reference, as it demonstrates how to use pkg-config from autosetup.
FossilOrigin-Name: 09caa94c9e846f9b3669b3f1acbb26b24b8bfcc9e512f17ea074dd92745c2597
2024-11-15 10:07:57 +00:00
stephan
f121ffbde3 Fix typo in the handling of the new --dev flag which caused it to set the --debug flag instead of the --with-debug flag (the former is for autosetup's internal use).
FossilOrigin-Name: 81202d2ab5963fdcf20555b6d0b31cc955ac27f1cd87656faea5c0611c9a2ee8
2024-11-14 19:34:28 +00:00
stephan
009601d534 Remove $prefix/include from the default -I path because it can cause the build to pick up an unintended copy of sqlite3.h. Extend the ICU configure support (the origin of -I$prefix/include) to enable fetching the -I path from icu-config and apply it only to those objects which need it.
FossilOrigin-Name: f778dfdd6d6a4975c903d8ca0ebfb4fa917d543289136ea0ab740cb47d2510c1
2024-11-14 19:25:23 +00:00
drh
59c80e0533 Add new makefile target "sqlite3d" (where the "d" means either "development" or
"debug") that always uses separate source files, regardless of the 
--disable-amalgmation setting.

FossilOrigin-Name: 91da205beb7e5cab7a76be98e4cfddc4fb4c07022825ea645bc97f331c6bcdaa
2024-11-14 19:06:00 +00:00
stephan
c096d6add6 Add --enable-dev configure flag which sets various other flags.
FossilOrigin-Name: ea79c363a42484357ac4ac3422f3466e5bc5cb56e5b2a06a3dc4ec90fea1c190
2024-11-14 17:52:59 +00:00
stephan
17e7e16b3b Remove unused sqlite_cfg.h.in from the build.
FossilOrigin-Name: bba54e26de56ddf804990f5cd9a1978a14580f06c5771a79803907013df8491e
2024-11-14 16:06:36 +00:00
stephan
98be43ed73 Fix a state makefile dependency which refered to the now-removed sqlite_cfg.h.in.
FossilOrigin-Name: 9a726b4be8ddd4b388478024a0952cfd4f0b9f665ab69119a6de0b996ac72216
2024-11-14 16:00:45 +00:00
drh
ea13658566 Remove some obsolete macros from the CLI.
FossilOrigin-Name: 5c4eb625709eda24b11a0437b150a60fc1497c136a4a2ab2b9d559d893dd397a
2024-11-14 15:55:19 +00:00
stephan
752df4c49b Remove unused sqlite_cfg.h.in (sqlite_cfg.h gets generated without an input template).
FossilOrigin-Name: 6148f2d39237a85edb399e5c2beb305dccd99ca8c0cf143e8c2ddc0fc1d9e916
2024-11-14 15:25:05 +00:00
dan
c87d7bede0 Fix a problem with window functions min() and max() when used with a FILTER clause. Forum post [forum:/forumpost/e9126d554a | e9126d554a].
FossilOrigin-Name: d15fb0f75e64bbfdb8df0c0d0358aafbbd7d5e2048df676dafe1abd5e9917f2a
2024-11-14 14:38:16 +00:00
stephan
f154cef8f2 Document the if block at the end of sqlite-check-tcl.
FossilOrigin-Name: 6bfd09408b9a51c0cbdb28f901a79c9774da755294d7eb67d88e4c42c5652830
2024-11-14 12:23:05 +00:00
stephan
3b56698541 configure: avoid performing multiple checks for -lm on behalf of --enable-fts4 and --enable-fts5.
FossilOrigin-Name: 6940caa192fa0cc84dbd24191a940aec96c304c68e60ead8f239e85d093e01e0
2024-11-14 12:09:09 +00:00
drh
104ab7e81f Enhance the vfstrace.c extension to show symbolic names for the various
SHM locks.

FossilOrigin-Name: c0dd7de8f1e8eb745a8beff086d8b40b289c2dd75fe099a86ccc2bd0581f5e9a
2024-11-13 18:23:18 +00:00
drh
26c080a04b Fix a memory leak in the ".dump" command of the CLI that can occur if an
error other than database corruption is seen while trying to query the
database.

FossilOrigin-Name: 2560cc7072c923f534a5de1e15d2b0dd4ac5faf0a8876d9e3bf9804345585444
2024-11-13 18:04:49 +00:00
drh
31c160ab8f Add the test/fork-test.c test program.
FossilOrigin-Name: 0611e2b0cf3f33c28cc9ff6c5da7ebba2033bcbda5b1072a30021a3e1fb4e738
2024-11-13 16:08:02 +00:00
drh
1b37bc0e66 Add the SQLITE_FCNTL_NULL_IO file-control.
FossilOrigin-Name: f0e917fcf51b59f8ccfe5b9341937341d0e6016eb275d6c33dcb10b0b301a9da
2024-11-13 14:58:35 +00:00
drh
92e9fa6fe8 Ensure that the sqlite3_index_info.idxStr string coming back from FTS5
is always zero-terminated, even if the xBestIndex call fails with an
SQLITE_CONSTRAINT error.

FossilOrigin-Name: a4e976a030851357049e672bbc0ff66d9cc152b3d5f8e03fff36a7c6f060a755
2024-11-12 13:37:00 +00:00
drh
7b32f84ebf Clarify the documentation to make it clear that rows inserted by a
CREATE TABLE AS SELECT statement are not counted by sqlite3_count64().
[forum:/forumpost/1e6cde5648|Forum post 1e6cde5648].

FossilOrigin-Name: 5c5982e3937acdcda43d6c5b46a95b82bc1839c3558a4b9ae9022384e0f13f04
2024-11-11 21:11:02 +00:00