]>
git.ipfire.org Git - thirdparty/sqlite.git/log
stephan [Thu, 17 Aug 2023 09:49:53 +0000 (09:49 +0000)]
Add SQLITE_EXTRA_AUTOEXT, similar to SQLITE_EXTRA_INIT but adds a builtin auto-extension provided by the client. Suggestion from [forum:
00829394c74a670f | forum post
00829394c74a670f ].
FossilOrigin-Name:
423e77277a61d7febf4c3fc737981fa22a82b5c774a8ada5375a01a0611535b2
drh [Wed, 16 Aug 2023 17:23:42 +0000 (17:23 +0000)]
Refinements to instructions on compiling for Windows.
FossilOrigin-Name:
d543c36c35f71c5f0a7ebf6f496feca40d16566d0c5b2c2ba205ff43437ffcd1
drh [Wed, 16 Aug 2023 17:12:26 +0000 (17:12 +0000)]
Improved instructions on how to build SQLite on Windows 11 and similar.
FossilOrigin-Name:
0f6b2b33736ee07f17f3a4e5f077bb4d0e2481c8f81251b8ce6b78510f372237
drh [Wed, 16 Aug 2023 15:27:49 +0000 (15:27 +0000)]
Make sqlite3_stmt_explain() accessible to loadable extensions.
FossilOrigin-Name:
a237a31ff4a7cd3dc744af1e1ebb9466e42eebafa31c1b5c0027cbaee9babc9b
drh [Wed, 16 Aug 2023 15:10:07 +0000 (15:10 +0000)]
Mix the current process ID into the randomness used for generating
temporary filenames on Windows.
FossilOrigin-Name:
775a36ee093df4b5f7529a43eeaee9d5a9a943ad5ed8ae03bc74e459e87ba438
dan [Wed, 16 Aug 2023 14:18:53 +0000 (14:18 +0000)]
Update testrunner.tcl to use environment variable %NUMBER_OF_PROCESSES% when running under tclsh on windows. Also modify the internal database schema used by testrunner.tcl to be compatible with old versions of SQLite.
FossilOrigin-Name:
6542ed3b9e028c44aca504eadca843ee9b2ba08f5f650523238dd1253f7e221b
dan [Wed, 16 Aug 2023 13:55:38 +0000 (13:55 +0000)]
Fix test script problem preventing veryquick.test from running.
FossilOrigin-Name:
e73886574042108eb31641d0820c273c10b83fbf08ac6cb52d3e4c27830e2c23
stephan [Tue, 15 Aug 2023 21:44:22 +0000 (21:44 +0000)]
Cherrypick [
00ac653562a6 ] to remove stray JNI debug output. No functional changes.
FossilOrigin-Name:
e12d70f38c0ed5c0abf9a1e30ce4db59a4426e1e8cb1f8f07834fc1bedfcc65a
stephan [Tue, 15 Aug 2023 20:57:42 +0000 (20:57 +0000)]
Cherrypick [
653ed92dc391 ] (went to wrong branch). Doc change only, no code changes.
FossilOrigin-Name:
79a14457f0067814e7c33de709e2f9e19ab880d3eebbcb6f9fcce52a4720ecac
dan [Tue, 15 Aug 2023 18:52:25 +0000 (18:52 +0000)]
Update testrunner.tcl to make it easier to add things like mdevtest.
FossilOrigin-Name:
a531b71c4fd64fff6008876af825107ebc403f80dcb95273a05936ff6587b7aa
drh [Tue, 15 Aug 2023 18:08:14 +0000 (18:08 +0000)]
Improve the portability of the src-verify.c tool on Windows.
FossilOrigin-Name:
4068d94acd042a0a9887fba8ba38fa94c6f41a6d3c7a61d5514a57f613b3d278
dan [Tue, 15 Aug 2023 14:53:49 +0000 (14:53 +0000)]
drh [Tue, 15 Aug 2023 12:27:27 +0000 (12:27 +0000)]
Use a dodgy substitute if the INFINITY macro is not available. See
[forum:/forumpost/
8e66e19bb9 |forumpost
8e66e19bb9 ].
FossilOrigin-Name:
4ae72c896761df5cd37c98ca3eeee7d4c6af3e4ccf74edd88ff902ef38f0765b
drh [Tue, 15 Aug 2023 11:58:22 +0000 (11:58 +0000)]
Fix the PRAGMA case_sensitive_like command so that the LIKE function continues
to be innocuous after the PRAGMA.
[forum:/forumpost/
925dc9f67804c540 |Forum post
925dc9f67804c540 ].
FossilOrigin-Name:
84c268c34cba7207a90dad2a8e972ce90c85304e91f4933c76963822ad1ae48b
dan [Tue, 15 Aug 2023 10:57:08 +0000 (10:57 +0000)]
Fix an off-by-one error causing a buffer overread in test2.c.
FossilOrigin-Name:
e1edf95ecc8f6840fd62abe83121fddeab7413c316b2e20b60fd3b2c8fdd4dca
drh [Mon, 14 Aug 2023 19:10:48 +0000 (19:10 +0000)]
Fix the autoconf makefile for the CLI such that it disables double-quoted
strings by default, as all other builds of the CLI do.
[forum:/forumpost/
9794b6aaa5 |forum post
9794b6aaa5 ].
FossilOrigin-Name:
85fd4f0ef41a883448f16d55b7f8bd5c7b1d9c89a3d7d9bcae9c2744ed843099
dan [Mon, 14 Aug 2023 18:21:56 +0000 (18:21 +0000)]
Fix a problem in sqlite3_snapshot_recover() introduced by the [
8a6b0c24937e855b ] merge.
FossilOrigin-Name:
c2577eb0a4a627c65d675f1446514843486092be9cb271b682793a0107e496cd
drh [Mon, 14 Aug 2023 13:33:19 +0000 (13:33 +0000)]
Change the name of the ".binary" command in the CLI to ".crnl". The sense of
the setting is inverted. The original ".binary" still works for backwards
compatibility but is now undocumented. ".crnl" is also undocumented on machines
where it is a no-op (all machines other than Windows).
[forum:/forumpost/
8bd0b0fbdbc12477 |forum thread
8bd0b0fbdbc12477 ]
FossilOrigin-Name:
544de2da09cd7b9bbb6cb4c52bb22325ace3391fca00c6a43847bfc158032b66
drh [Mon, 14 Aug 2023 12:20:44 +0000 (12:20 +0000)]
Fix harmless compiler warnings reported by MSVC.
FossilOrigin-Name:
391e21bb6e0b2f4632972b6617a3a18192f88deb29eee5bc060846468e624b21
drh [Mon, 14 Aug 2023 12:05:38 +0000 (12:05 +0000)]
stephan [Sun, 13 Aug 2023 10:22:15 +0000 (10:22 +0000)]
stephan [Sat, 12 Aug 2023 21:39:18 +0000 (21:39 +0000)]
Merge the Java Native Interface (JNI) binding into trunk.
FossilOrigin-Name:
48b13edcec6935bf125b265b41a3e6f7b2407afff89d5b4daa2939e3c5679ca0
stephan [Sat, 12 Aug 2023 21:08:41 +0000 (21:08 +0000)]
Update wasm's push-testing rule to exclude files which were recently removed from the build.
FossilOrigin-Name:
0a6930a7ff8f8c6ca244d1d654532f3d2a02d77ef67c6cae0c53092743d59ea6
stephan [Sat, 12 Aug 2023 20:50:29 +0000 (20:50 +0000)]
Correct JNI .jar rules to only include *.java/class files, not *.* (*~ files).
FossilOrigin-Name:
1ba7754045a009d9c94b23ac76b9bb8d9c9cb24d42dcdf1203ee75ac85765d3e
dan [Sat, 12 Aug 2023 19:58:47 +0000 (19:58 +0000)]
Fix the mdevtest target so that it works with msvc.
FossilOrigin-Name:
01f49448cd0cfe3af499aedfe887b7b0be4f1ab09cd5a16119ddafb32b107708
dan [Sat, 12 Aug 2023 19:25:26 +0000 (19:25 +0000)]
Fix testrunner.tcl so that it restarts itself using [testfixture] if its current interpreter does not support [package require sqlite3].
FossilOrigin-Name:
408be98dddf500f2d6c9049703997836d80d156d86cf297f664175a107f7331e
dan [Sat, 12 Aug 2023 18:23:38 +0000 (18:23 +0000)]
Have the mdevtest target support the OPTS variable on unix.
FossilOrigin-Name:
940f58d9b944d3344b40a4bc020842d9b6703685c9c51f4010e265afd98608ff
dan [Sat, 12 Aug 2023 17:36:57 +0000 (17:36 +0000)]
Add "mdevtest" target to makefiles. Equivalent to running "devtest" on both debug and non-debug builds.
FossilOrigin-Name:
af354fbc0be06d5792a1e712ec4e9cec4c6cb4521335aa31f8f51ca5c94499ae
stephan [Sat, 12 Aug 2023 15:37:53 +0000 (15:37 +0000)]
stephan [Sat, 12 Aug 2023 15:09:09 +0000 (15:09 +0000)]
Further simplifications in the interface of the OutputPointer family of Java classes.
FossilOrigin-Name:
962c3e0de2d64ab8a2bcf1a19f9c4224df3d15a41ac9f9b29da685be95c4ef7a
stephan [Sat, 12 Aug 2023 10:39:26 +0000 (10:39 +0000)]
Tweaks and docs for the OutputPointer family of Java classes.
FossilOrigin-Name:
265c8fd0d4d425054f6bf7e9cb607ad2e0e46189f16c3014f7fdf9b650085497
stephan [Sat, 12 Aug 2023 10:27:08 +0000 (10:27 +0000)]
stephan [Sat, 12 Aug 2023 10:06:59 +0000 (10:06 +0000)]
stephan [Fri, 11 Aug 2023 22:40:06 +0000 (22:40 +0000)]
Modernize the sqlite3 shell man page a bit, per [forum:
d9aa201dee553bb2 |forum request].
FossilOrigin-Name:
3bc0693c4633f545f09dbee702e25354504b20836373a068447e6c61cb2ebd79
stephan [Fri, 11 Aug 2023 21:25:33 +0000 (21:25 +0000)]
stephan [Fri, 11 Aug 2023 21:24:08 +0000 (21:24 +0000)]
stephan [Fri, 11 Aug 2023 20:32:40 +0000 (20:32 +0000)]
Fix a makefile deps problem which caused ext/jni build to fail if sqlite3.c/h were not created beforehand.
FossilOrigin-Name:
101de670774f63757180282763730aa53e70198bd7a674c27e6044632d39d22a
dan [Fri, 11 Aug 2023 19:31:51 +0000 (19:31 +0000)]
If SQLITE_USE_SEH is defined, handle structured-exceptions thrown by MSVC builds if the *-shm file mapping is accessed after it becomes invalid for some reason.
FossilOrigin-Name:
8a6b0c24937e855b710f97b4aea973eff53e6d43e1182842731547aa4b37db2a
stephan [Fri, 11 Aug 2023 18:59:57 +0000 (18:59 +0000)]
Minor SQLTester test tweaks and have 'make tester' include the out-of-tree tests if they are found.
FossilOrigin-Name:
6c8538d83495ce65dbd7417263b3b06dbbb2a649e9a61a743911944599d75ffc
stephan [Fri, 11 Aug 2023 18:04:53 +0000 (18:04 +0000)]
Bind sqlite3_sql() and sqlite3_expanded_sql() to JNI. Start marking C-side functions which would need explicit mutex support if we remove 'synchronized' from their Java entry points (but there are many more left to mark).
FossilOrigin-Name:
c7fb32d1ef30d34449c3289c384ce33317c770927534af20d4b96fa385da40bc
stephan [Fri, 11 Aug 2023 17:45:23 +0000 (17:45 +0000)]
Add a doc link for the new sqlite3_js_posix_create_file().
FossilOrigin-Name:
0d7aac45b8e7078cc80757e12d6f0b2584f2b0b184dacc2348ad3519978e5bf9
stephan [Fri, 11 Aug 2023 17:38:17 +0000 (17:38 +0000)]
Add sqlite3.capi.sqlite3_js_posix_create_file() and oo1.OpfsDb.importDb() as alternatives for the newly-deprecated sqlite3_js_vfs_create_file().
FossilOrigin-Name:
da6eaf8d8258f3e2c8633fd7faf4e90c3307b5c60bd8b69c626b3c82b19dbdef
stephan [Fri, 11 Aug 2023 14:31:20 +0000 (14:31 +0000)]
Deprecate sqlite3_js_vfs_create_file() because, it was discovered today, its out-of-scope use of the sqlite3_vfs, sqlite3_file, and sqlite3_io_methods APIs triggers unresolvable assertions in the core when built with SQLITE_DEBUG.
FossilOrigin-Name:
f3647a3ac8eca8c821b0b1e403da7bfb0feabd0eb5ee83709cd4956dfc56a492
drh [Fri, 11 Aug 2023 11:30:43 +0000 (11:30 +0000)]
Provide the -DSQLITE_LEGACY_JSON_VALID compile-time option to restore the
(incorrect) legacy behavior of json_valid(NULL).
FossilOrigin-Name:
00bc9f1b573d683829bf5eb301606c38d6a60fba957d8edaf59116c02cc650bf
drh [Fri, 11 Aug 2023 11:24:44 +0000 (11:24 +0000)]
Fix bug in the test case for the previous check-in.
FossilOrigin-Name:
c5daae88612607aa7a8b13b021cf586fc66e8bcd1fa9d948a860c881b7247761
drh [Fri, 11 Aug 2023 11:12:46 +0000 (11:12 +0000)]
Up until version 3.42.0, there was a bug in json_valid() such that it would
return False (0) for a NULL input. That bug is fixed in 3.42.0. This
check-in adds a compile-time option -DSQLITE_LEGACY_JSON_VALID that restores
the old buggy behavior for applications that depend on it.
FossilOrigin-Name:
15c2eadbff8e732cca45d6c3771d1fcea5aab2127e87f2a611b41ccfef4d1a0d
stephan [Thu, 10 Aug 2023 21:50:52 +0000 (21:50 +0000)]
Mark _all_ JNI binding funcs as synchronized so that Java can lock them and protect our global-state access. The alternative is writing a mountain of C-side code to do the same thing.
FossilOrigin-Name:
afe190a940441de9bef8835c2dc6d278f861a772c3b7c7a2d399b2eabd4872e3
stephan [Thu, 10 Aug 2023 21:29:59 +0000 (21:29 +0000)]
Work around jdk8 and jdk19 mangling the C name of sqlite3_db_config() differently. Correct the variadic arg handling of the JNI-side subset of sqlite3_db_config() options.
FossilOrigin-Name:
746894c3c043c47f8b4c231de8921df81c5d0634260d299359bea73132dc7867
stephan [Thu, 10 Aug 2023 20:52:14 +0000 (20:52 +0000)]
Add a working dist zip file for the JNI bits.
FossilOrigin-Name:
d6a4d212ceba662470d8957b6a8d7075d18a84bd0d3e13ce7adcab03604fc3b7
stephan [Thu, 10 Aug 2023 18:57:37 +0000 (18:57 +0000)]
Initial pass at 'make dist' rules for the JNI bundle, but they still need a bare-bones, posix-make-compatible makefile to include in the bundle.
FossilOrigin-Name:
ff54e66a4d43f2f0f8b25ded970779e6760865a05346e09b39607bb035b02bd7
drh [Thu, 10 Aug 2023 18:50:00 +0000 (18:50 +0000)]
New testcase() macro in the tokenizer, to better document its behavior.
FossilOrigin-Name:
b2fdac0b151864eb2aa79f0b0ee60f9c6d9f3eb8c7626605eac17a02a8cf59bc
stephan [Thu, 10 Aug 2023 17:39:26 +0000 (17:39 +0000)]
Merge trunk into jni branch for the newly-relocated version-info tool.
FossilOrigin-Name:
cc8e8cba67c0dcfb9b416041a19456cf5248d909f3efb6fee707a5950be4f374
stephan [Thu, 10 Aug 2023 17:32:37 +0000 (17:32 +0000)]
Move ext/wasm/version-info.c to tool/ for re-use in build other dist bundles.
FossilOrigin-Name:
4b0871fd367b6d9706e892aa13f64604967f5e3ba92381960f73aeabd3d23f84
dan [Thu, 10 Aug 2023 17:07:34 +0000 (17:07 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
3ed89c344fcb3b7ee8b764d95144643e42e053e1116150d6eda8355fbd6669df
stephan [Thu, 10 Aug 2023 16:42:22 +0000 (16:42 +0000)]
Add SQLTester --keep-going flag to allow it to continue to the next script after an error.
FossilOrigin-Name:
4d635f781b55ed9011bdf07ee6bed2d004b1c2ebba76aa110e26d8fe3152a733
stephan [Thu, 10 Aug 2023 13:10:25 +0000 (13:10 +0000)]
Document that auto-extensions registered via JNI will fail if they open a db (to avoid triggering an endless loop in the auto-extensions). Discover the hard way that JDKv19 creates different mangled JNI names for some functions than JDKv8. Start reformatting much of the JNI API decls in prep for making them even longer.
FossilOrigin-Name:
99c0941f1c006622932a9cca12661f354f363a6c8a2b5675ea66149e0a9eb927
stephan [Thu, 10 Aug 2023 12:36:40 +0000 (12:36 +0000)]
Resolve two assertions in the auto-extension JNI which were triggered via new SQLTester infrastructure. Move SQLTester's db-init SQL injection into an auto-extension.
FossilOrigin-Name:
2952906c30bc2b7987f2c39837d56bd121f5817dc094e6ccdb6d4eea5e9b8d17
stephan [Thu, 10 Aug 2023 11:15:20 +0000 (11:15 +0000)]
Make test completion status more visible at a glance on modern terminals.
FossilOrigin-Name:
a4e96c306c4c270f417243e7923d7e6c4f860528dd67990dfd8d9768a6c4873f
stephan [Thu, 10 Aug 2023 11:04:46 +0000 (11:04 +0000)]
Disable REQUIRED_PROPERTIES handling in SQLTester, per /chat. Scripts with that directive are now skipped.
FossilOrigin-Name:
ddc534cb25b59faf18a860a51f2dd41a1a73963aeb541b9553301fe784608393
stephan [Thu, 10 Aug 2023 10:58:55 +0000 (10:58 +0000)]
Add a visual indicator (emoji) to TestScript verbose messages, dependent on the message's level of verbosity.
FossilOrigin-Name:
dc323d3894f2d53470cd8be261632267fa3d2af73500acfa1e9adbfa53b771fd
stephan [Thu, 10 Aug 2023 10:44:53 +0000 (10:44 +0000)]
Add the current --testcase name to SQLTester --verbose output.
FossilOrigin-Name:
f87367402b25adf30f35ab75aa5efc495230d4a83f2fc10b99734c3f3f593840
stephan [Thu, 10 Aug 2023 10:34:50 +0000 (10:34 +0000)]
More SQLTester docs. Add --verbosity command to help zoom in on script areas while debugging. Spice up test-start/end output with some emoji.
FossilOrigin-Name:
8dd08021496f504c23945ecc2bbe1e4a13109fdd03457ca6269b4cb1cc4cd04c
stephan [Thu, 10 Aug 2023 05:25:13 +0000 (05:25 +0000)]
Give DbException the option of closing the db to simplify error handling in one case.
FossilOrigin-Name:
908c9a44505422a3a15bef3a174d8b931863bc9c74485311a0e62cfec30087bd
stephan [Thu, 10 Aug 2023 05:14:22 +0000 (05:14 +0000)]
Initial version of REQUIRED_PROPERTIES support for SQLTester, with TEMPSTORE_(FILE/MEM) and RECURSIVE_TRIGGERS options.
FossilOrigin-Name:
48d16c9d2fe5f54b09004b4f09759c4e2ad247ae84130feb557951e32f48976a
stephan [Thu, 10 Aug 2023 04:24:12 +0000 (04:24 +0000)]
stephan [Thu, 10 Aug 2023 02:09:12 +0000 (02:09 +0000)]
Change the SQLite3Jni API annotations to use SOURCE retention (used only at compile-time).
FossilOrigin-Name:
3c3fea6bf284721ac376e2ab5a757cf30245dd39264aaf98a8d6cd5575484275
stephan [Thu, 10 Aug 2023 01:44:48 +0000 (01:44 +0000)]
Move all of the SQLTester code into a single file, since it's only got 1 public class. Remove 'public' from many methods which don't need it. Add more documentation to it.
FossilOrigin-Name:
2815d676951abdab674c374fd903486ea5796f8ee4cb338d41f19693419f8471
stephan [Thu, 10 Aug 2023 01:19:40 +0000 (01:19 +0000)]
Defer static JNI-side init of SQLTester until main() is called so that its auto-extensions do not leak over to clients of the main library.
FossilOrigin-Name:
e461fdd53bd3212bee24ec5f5d5c234011ab30f3f67e115de9f85fdb760e3848
stephan [Thu, 10 Aug 2023 01:05:28 +0000 (01:05 +0000)]
stephan [Thu, 10 Aug 2023 01:03:19 +0000 (01:03 +0000)]
stephan [Thu, 10 Aug 2023 00:58:48 +0000 (00:58 +0000)]
stephan [Thu, 10 Aug 2023 00:34:38 +0000 (00:34 +0000)]
Replace the SQLTester infrastructure with a line-oriented, non-regex-heavy parser. Add --column-names command.
FossilOrigin-Name:
88863908ee2059c2d18a095cbd91f41674c7b0d0a8864ec21715a5317054df4d
stephan [Wed, 9 Aug 2023 23:47:14 +0000 (23:47 +0000)]
Port the SQLTester 'v1' commands to the 'v2' evaluation bits. Still TODO is swapping out v1 with these separate impls.
FossilOrigin-Name:
0cf57e5b0f90779e450e9db1ca009610df5e6f4487337d49017636bde3bb02d6
stephan [Wed, 9 Aug 2023 22:30:10 +0000 (22:30 +0000)]
Correct REQUIRED_PROPERTIES handling to not fail if there are no properties.
FossilOrigin-Name:
7a19bef4f572a90fb7896b9360f9c72b052955ca9b0549be870b2b245c1f1b2b
stephan [Wed, 9 Aug 2023 22:18:22 +0000 (22:18 +0000)]
More for the SQLTester rework. Can read input and dispatch commands, but only --print is currently implemented.
FossilOrigin-Name:
4fa2ad33edbcef393dd98dbf90586ad8f32ec0beab02f197c8038a44be86c314
stephan [Wed, 9 Aug 2023 19:51:39 +0000 (19:51 +0000)]
Initial sketches of a line-by-line parser for SQLTester to overcome its compatibility shortcomings. Far from complete.
FossilOrigin-Name:
43534cd042499c1bef44ca5c4a8305a710d99e70e8b0adce6df50c6a1f0402b9
stephan [Wed, 9 Aug 2023 18:25:50 +0000 (18:25 +0000)]
Adapt TestScript to skip REQUIRED_PROPERTIES, per [
7a07863e082664da ], and improve a couple of adject reasons-for-skipping messages.
FossilOrigin-Name:
f937097e9b22a6c78c242cbf00c71bdc57f04b1b9a15ae24058bc2813c99688c
drh [Wed, 9 Aug 2023 17:47:34 +0000 (17:47 +0000)]
Add an extra constraint to the test-script-interpreter.md spec.
FossilOrigin-Name:
7a07863e082664da2efcf4ecd36785d2583abbda12526cdb643cf1aa0568292e
stephan [Wed, 9 Aug 2023 17:23:52 +0000 (17:23 +0000)]
SQLTester --result command: do not double-{}-wrap error messages and do not throw on db error.
FossilOrigin-Name:
f7be20f5a62f8970f957e5c3a1d1c6536995df5c078dbac34a44f09682e43945
stephan [Wed, 9 Aug 2023 17:04:58 +0000 (17:04 +0000)]
Move the test command body's trim() back into the TestScript class (to simplify Command-level code) but do it after double-verbose has had the chance to emit it as-is (so that debug output is not mangled by the trim).
FossilOrigin-Name:
f15ecb68f7ca129478336b462508d2c40ea052b4040facefdbc67b13e6aea99d
stephan [Wed, 9 Aug 2023 16:56:42 +0000 (16:56 +0000)]
Tweak the SQLTester --verbose and double-verbose output a bit for legibility.
FossilOrigin-Name:
46b79afaafda40cb1f920cc96600adf11e8c688184c9559a08eb86776ccf3663
stephan [Wed, 9 Aug 2023 16:29:07 +0000 (16:29 +0000)]
Strip --oom commands from SQLTester input since (A) we can't currently do anything with them and (B) they can appear as body content of --testcase commands and the current parser cannot deal with that. If --verbose is provided once, emit the name and args of each command as it's run. If --verbose is used twice or more, also emit the command's body text, if any.
FossilOrigin-Name:
0770e8467d4bb9490d9ed6e8a20766ffee7049cc3667db6d036c13fccbb6f3ab
stephan [Wed, 9 Aug 2023 16:03:12 +0000 (16:03 +0000)]
Update the definition of "special characters" for the SQLTester and correct the code to match it.
FossilOrigin-Name:
217f6e0c9c09c576b09ea59fce085a53d1a133927046102b4d00fd58109efc93
stephan [Wed, 9 Aug 2023 15:46:55 +0000 (15:46 +0000)]
Extend TestScript to be able to report why it should be skipped. Expand the test-skipping rules to account for the current spec doc. Add the {} empty-string case to the spec doc.
FossilOrigin-Name:
4fcc8cb0cc2bbc0da71bdb99dacfdec54814af4c0e4c37619bad6a8e5fa62937
stephan [Wed, 9 Aug 2023 14:47:01 +0000 (14:47 +0000)]
stephan [Wed, 9 Aug 2023 14:43:54 +0000 (14:43 +0000)]
stephan [Wed, 9 Aug 2023 14:24:22 +0000 (14:24 +0000)]
Implement the SQLTester's result escaping rules.
FossilOrigin-Name:
61bb950873a1ec45a71b15a0ab5128a50417c4ecdd7d5bd9add0c18afcbadf34
stephan [Wed, 9 Aug 2023 13:51:50 +0000 (13:51 +0000)]
Add --json and --json-block SQLTester commands.
FossilOrigin-Name:
478129d901824e675d86494044f73c313532e9f80e7ee6f425474df8237a82f5
stephan [Wed, 9 Aug 2023 13:16:10 +0000 (13:16 +0000)]
stephan [Wed, 9 Aug 2023 12:05:17 +0000 (12:05 +0000)]
Clean up the SQLTester output a bit by using the module name, instead of filename, where appropriate.
FossilOrigin-Name:
5323e4fd254274cc527af7536c622b786394599c68eca2da6c7fc641727dbdb2
stephan [Wed, 9 Aug 2023 11:10:48 +0000 (11:10 +0000)]
Document SQLTester's --print command and add some argument validation to it.
FossilOrigin-Name:
ab9c945bb0b4210b3f47e6341f150f8a7cc45f9e4e4c2247e91d2528ed4772a6
stephan [Wed, 9 Aug 2023 11:05:43 +0000 (11:05 +0000)]
Rework how SQLTester's Command objects are dispatched and how TestScript stores its command entries.
FossilOrigin-Name:
f929f1f7f70181813f74562614f3f2aa29e65590560e3fce1677b8b176e3c6de
stephan [Wed, 9 Aug 2023 09:56:37 +0000 (09:56 +0000)]
Some minor tweaks in SQLTester in prep for larger refactoring.
FossilOrigin-Name:
1d93f93ac9708839e62d2f1b489adc5d47ff290c2d5aef4dd56be4e1e46c81b2
stephan [Tue, 8 Aug 2023 22:10:27 +0000 (22:10 +0000)]
Remove the current-statement tracking from the JNI internals because it will break down in the face of client-side mixed-mode native/java code, e.g. in cases like SQLTester. This makes tracing of sqlite3_stmt a micron slower but also reliably correct.
FossilOrigin-Name:
4c0ec89dca00a9199d1e36768c034aa5eff03b13b5e015cf580f160dc4f141ad
stephan [Tue, 8 Aug 2023 21:22:56 +0000 (21:22 +0000)]
Adapt JNI build to be buildable with or without SQLTester.
FossilOrigin-Name:
adae7d78692af73e770a9cc0a4264ab32ecc18a5c0deb64f3c1e790d959bab43
stephan [Tue, 8 Aug 2023 21:05:39 +0000 (21:05 +0000)]
Add SQLTester dup() and dup_count() UDFs. Correct arg handling of the --run command.
FossilOrigin-Name:
0dba3073f44685a51a5db7ff8886295fe04dfd43f69cbf53ad3d5afce741076b
stephan [Tue, 8 Aug 2023 20:41:29 +0000 (20:41 +0000)]
Correct --result arg count check and add infrastructure to let us add custom C-side behavior to SQLTester via an auto extension.
FossilOrigin-Name:
bb8321702eea52fa9d42987a4b053b32d8eba15580a39d7831cd8d6f1ceb62bf
stephan [Tue, 8 Aug 2023 20:15:42 +0000 (20:15 +0000)]
If SQLTester now treats a no-args --result as comparing against an empty string.
FossilOrigin-Name:
49005ca5cc191c52279bc7fdb45d95eeb6f8e344f78ce9dbd97aac814bc21202
stephan [Tue, 8 Aug 2023 20:02:10 +0000 (20:02 +0000)]
Add glob/notglob commands to SQLTester and complete the interrupted-midway impls of the strglob() and strlike() JNI bindings.
FossilOrigin-Name:
4ba98ec0bf24c31cce498031cb3727e09f928f54ec13c76fec50e439e0f2ba15
stephan [Tue, 8 Aug 2023 19:20:12 +0000 (19:20 +0000)]
When SQLTester hits an unknown command, emit a warning and skip the rest of that script instead of aborting the whole run, per /chat discussion. Reduce verbosity a bit.
FossilOrigin-Name:
3e78d22d04e6ac2606bfc5ce250a4c3b39a2062e14011ca0a8a0a85491efbfde