drh
8be8924901
Fix a potential call to strlen() with a null argument in the command-line shell
...
following an OOM error. [forum:/forumpost/9c4f2ebe22|forum post 9c4f2ebe22].
FossilOrigin-Name: b6413a6dff8ac9b7088b1381afbbbf799e376455d11786530cc5fc825747ab53
2022-10-17 16:09:33 +00:00
drh
ce4b0fdf8a
Make use of alloca() in wherePathSolver() when SQLITE_USE_ALLOCA is defined.
...
FossilOrigin-Name: 45752471521f8d4a6cad4bce40f907018acd403ffd3b8170020c34e4e0b6b91b
2022-10-17 10:15:41 +00:00
drh
135c9ff6f7
Remove a use of alloca() that does more harm than good.
...
FossilOrigin-Name: 2ab3cf4d71b23a4c0b69f977828d82df7bbc080c29ae189e0d78d38efee50c96
2022-10-17 09:56:51 +00:00
dan
879164ed74
Fix a problem with using the push-down optimization on compound SELECTs where component SELECTs use different collation sequences. dbsqlfuzz 11516f050100243e5a845f5a2b48a90ed2efaf2e.
...
FossilOrigin-Name: ed14863dd72e35fa3a23320c3d5a8166515faea39a555c28a27b2d35e701eac4
2022-10-14 19:30:34 +00:00
drh
0388f17988
Add missing initializer from the extension loader. Fix for
...
check-in [d6d449978245b4fa].
FossilOrigin-Name: 565d74c36f2dd4612860c7ee561682c50db28cfa5384346528292019dbfdf86c
2022-10-14 19:21:12 +00:00
dan
2bc4a6cad0
Fix a problem in the LIKE and GLOB operators that may occur when the character immediately following a "%" or "*" wildcard is U+80. Reported by [forum:61bf7ccbdf].
...
FossilOrigin-Name: 2da677c45b643482eec39e4db7079c772760bc966dc71bf6c01658cc468f5823
2022-10-14 15:10:36 +00:00
drh
921acff927
Optimize the IS NULL and IS NOT NULL operators so that they avoid loading
...
large strings or blobs off of disk if all it needs to know is whether or
not the string or blob is NULL.
FossilOrigin-Name: cb94350185f555c333b628ee846c47bcc9df5f76bb82de569b8322f30dbbe1bc
2022-10-13 15:09:44 +00:00
drh
eddfa9840e
Improvements to the description of the OPFLAG_TYPEOFARG option to OP_Column.
...
FossilOrigin-Name: 5e9c67ba18b701aabbb0546acdfc532c9e8f0d27fb0a2c899415a5c47096c90b
2022-10-13 14:54:32 +00:00
drh
bd1c634546
Adjust the implementation of sqlite3VdbeTypeofColumn() to make it easier
...
to test (and slightly smaller).
FossilOrigin-Name: 79fdd021df256c6a2b9973fd6bf8e52ffaaf4d369d40489b8395ac97880b1325
2022-10-13 14:35:20 +00:00
drh
7ca4af6a9f
Fix a typo in the documentation of the OP_Column opcode.
...
[forum:/forumpost/a2b5bd6d43|Forum post a2b5bd6d43].
FossilOrigin-Name: 043e76e6166da5cf8e213cce46aaccb1f910e1fdbdb5556576eafb81b3bc5faa
2022-10-13 14:01:11 +00:00
drh
e995d2c226
Proposed optimization to the IS NULL and NOT NULL operators that avoids
...
loading the entire content of larges strings and BLOBs. Response to
[forum:/info/3c08d4715dc05b00|forum post 3c08d4715dc05b00].
FossilOrigin-Name: 45f171565442f9fd6574fb93ae7abe83c168b20be68af42531bc55571450d3ab
2022-10-13 12:47:33 +00:00
stephan
7be51f5897
Merge trunk into fiddle-opfs as a preliminary step for a clean merge in the other direction.
...
FossilOrigin-Name: 5e1848ce384a78fe5dfa1b5c1b2acb9c2fac34a8f0ba6c652e0541dcf24e9027
2022-10-12 16:35:22 +00:00
drh
47996ea7c4
Add the sqlite3_value_encoding() interface.
...
FossilOrigin-Name: d6d449978245b4fa66c152132da468eea7977eab4d1fe53bb2fe3ef543d8030f
2022-10-12 12:49:29 +00:00
drh
c2777abc2d
Enhance the OP_IsType opcode so that it is slightly smaller and faster and
...
so that it works correctly with invalid serial-type codes 10 and 11.
FossilOrigin-Name: 846f863e0d55eb7e78c8d355bbbcd73e1946d0ba566c2cb31683cde5f4353d1b
2022-10-11 13:57:55 +00:00
drh
7d23d157bb
Improved the ability of the CLI to handle very long input lines.
...
Potentially a fix for the bug reported by
[forum:/forumpost/fa4bb2941a|forum post fa4bb2941a].
FossilOrigin-Name: d0e107ee00101f42b4c9bf372625311d04b83c96a4a9caacac866ea03d8e7fa4
2022-10-11 12:02:42 +00:00
drh
c9ef12f62b
Code clean-up for the integrity_check enhancement.
...
FossilOrigin-Name: a140173102febe9ef8064ee9b95bee489db54caba149e577d69e4d75161bf390
2022-10-10 21:21:04 +00:00
drh
db6940ab45
Fix corner-case bugs in the new integrity_check logic. All tests pass now.
...
FossilOrigin-Name: dbab9d52a842085da67f5d0b8e96c665adc16331accf380b4c234e9b05bdb7fb
2022-10-10 19:38:01 +00:00
drh
49d77ee642
An attempt to enhance PRAGMA integrity check so that it does data type
...
checking on non-STRICT tables. Specifically: (1) Columns with TEXT affinity
should not contain numeric values, and (2) columns with numeric affinity should
not contain text values that can be converted to numeric.
FossilOrigin-Name: 8b1e7f0524637728cebe81c7d3ff8ad8a5a55782eac6409b425dad538024f596
2022-10-10 18:25:05 +00:00
drh
005c9d8295
Improved detection of database corrupting when moving pages on an
...
autovacuumed database when creating a new btree.
dbsqlfuzz 9a55397eae13cec64aebf1fd35489c3a90bdaac5
FossilOrigin-Name: 327965bc71023d9380a9d6805062659108dab4bfcd386b7aba813754f270d33a
2022-10-10 12:02:53 +00:00
stephan
d35b5587df
Refactor os_kv.c so that the kvvfs read/write/delete methods can be swapped out at runtime by JS implementations. This eliminates the kvvfs dependency on Emscripten. Checkin part 1 of 2, to account for cherrypicking.
...
FossilOrigin-Name: ea370b9b05f7ed7eaa154ba58019f6642217eabc18517e721567adf948d93980
2022-10-09 13:19:27 +00:00
drh
211a1a7281
When casting an odd-length BLOB into a TEXT with encoding UTF16, omit the
...
last byte. dbsqlfuzz c5df68b5bbdf6c9f3c1851e41e88f49ac05c9969
FossilOrigin-Name: 1e2796b3741a4c0b966e6c01a7d62dea8de9d1f4bededea3d7ba7004dabc2ffe
2022-10-08 17:27:05 +00:00
dan
73c586bcbf
Fix a problem causing the seek-scan optimization to skip over valid rows that could occur when it is used with expressions of the form (a IN (?,?..) AND b >= ?). dbsqlfuzz ab1db6dc0efb04cba1cd3431ee6da4894fdc4520.
...
FossilOrigin-Name: 63d9efe277759d4daa29794846b60c6f55491496618f423f61468df72d0a4633
2022-10-07 18:57:15 +00:00
drh
8a2254fa1f
Improved tracing output for showing all registers used by the
...
OP_SeekGE opcode. This applies to debugging builds only.
FossilOrigin-Name: 0aa6dee7f72279114a47cbb69fdbda0b916a2c365f7a147946869f167bd018b7
2022-10-07 15:55:35 +00:00
dan
73ac958c74
Fix a problem that occurred when using a bloom filter to optimize an (ipk = ?) lookup in the case where the RHS of the expression is a TEXT value. First reported by [forum:/forumpost/f61a8b7053|forum post f61a8b7053].
...
FossilOrigin-Name: 8e14c351b29bb434ac4e2510681e95716424a73e340d39feff4919f0431c2e00
2022-10-06 14:10:11 +00:00
drh
2eca06141f
Attempt to clarify the operation of the xLock and xUnlock VFS I/O methods.
...
Assert() statements added to prove that they behave as the documentation says.
FossilOrigin-Name: 3efa811251d4510a074231a1e0b667783cc5f90777466b9dcae675cd9892b423
2022-10-04 14:50:46 +00:00
drh
a4b2f41938
Change the name of the autoconf-generated configuration file from "config.h"
...
to "sqlite_cfg.h" to work around a bug in a dependency checker, reported
in [https://twitter.com/josecastillo/status/1577136108097314816 |a tweet from Jose Castillo].
FossilOrigin-Name: 897e187cad981126fc5f6ea8e382e937825af10b0c9589b0a23b9fbaa4ca58b8
2022-10-04 10:35:10 +00:00
stephan
4b074692f4
Omit WAL mode from the wasm build.
...
FossilOrigin-Name: 88efe2a62b81e5ee9119f54204e397fda59666a327158c7b7c972e84a716869e
2022-10-03 18:05:27 +00:00
stephan
a4c357f94c
Reimplement fiddle_reset_db() so that it works with all VFSes.
...
FossilOrigin-Name: 18462052903bfeb037dd9af3a1fe1898d141eff5d6f527721858120553de808d
2022-10-03 11:42:45 +00:00
stephan
65e6522f8f
Minor doc typo fix in sqlite.h.in.
...
FossilOrigin-Name: 372802aaa22a830bf498bb0d9561ae02b32e5e191c4d7d771ea152140f6685a1
2022-10-02 20:13:46 +00:00
drh
7d34b8d628
Performance optimization in sqlite3_prepare() (discovered while working
...
on the stmt-cache branch).
FossilOrigin-Name: cd494240cc6184bb028d1f1049086f57c0a71a43d7ed1405fd4205240e1b9e61
2022-10-01 20:27:29 +00:00
stephan
32781427d7
Fiddle: fix makefile dependency issue and duplicate inclusion of post-js.js. Reimplement db export using sqlite3_serialize().
...
FossilOrigin-Name: 29db7de79232c21d19b91bb0fc253114e02e21dd9bf90619453dbe72a4c8bf7f
2022-10-01 16:01:41 +00:00
stephan
be9d203665
Merge trunk into fiddle-opfs branch.
...
FossilOrigin-Name: 64ebcbe41615a6d7776597564105ea7638e4a9095a764ea558c2620640429cf8
2022-10-01 13:45:14 +00:00
stephan
c9099d2d73
Tweak sqlite3-worker1.js to be able to load either sqlite3.js or sqlite3-wasmfs.js, noting that the latter still does not load in a Worker because of an Emscripten loader bug.
...
FossilOrigin-Name: 000ef7059bfb54dc4f829b81a8d8c927c0382980218d8a3d60cd2c4d89151c90
2022-10-01 13:38:27 +00:00
drh
7424aeff41
Replace the Parse.disableVtab field with Parse.prepFlags for increased
...
generality, a small size reduction, and a small performance increase.
FossilOrigin-Name: b7da0bcdf70e53ab1ec00a0694e17c7429e23bc6eb3f39b622d06a930aa2f6a3
2022-10-01 13:17:53 +00:00
drh
7bc6a818f0
Remove one of the NEVER() macros added by [5166acf3f0040459] because it
...
is reachable after all.
FossilOrigin-Name: bd8ae5febbb8d3122f1e2e09b9fcdd6ac20c075ae1cf60bcdbd36080f3736417
2022-09-30 22:40:57 +00:00
drh
2d3261fe86
Fix a bug in the demoDelete fix from [d76a301e22e05722].
...
FossilOrigin-Name: 7e761a02530ffbb055a766eb6c995f11fc2adbabb9a52502124f672fdcff0d10
2022-09-30 20:53:36 +00:00
drh
0a803bd984
Add NEVER() to two error-detection tests that were made unreachable by
...
the previous check-in.
FossilOrigin-Name: 5166acf3f00404597e77910aee88920ab833af8447766f50bf4f70525606cf95
2022-09-30 20:48:22 +00:00
dan
ad658b2d82
Better handle a case of database corruption where a b-tree page is one of its own ancestor pages.
...
FossilOrigin-Name: a24e46804893a7e6e8f3130abca882f9a3aa3b7b2b82aa39a0a20856172766d5
2022-09-30 20:15:21 +00:00
drh
cb57716c65
Improvements to the "demoDelete" method in the demovfs, suggested by
...
[forum:/forumpost/cad18961c2|forum post cad18961c2].
FossilOrigin-Name: d76a301e22e0572262917dfe9557a5051339a65416a473dd2d9989a49975403e
2022-09-30 14:35:18 +00:00
drh
5d48e0cdc5
Provide the SQLITE_MAX_ALLOCATION_SIZE compile-time option for limiting the
...
maximum memory allocation size.
FossilOrigin-Name: 584de6a996c78b8e41bdfcd05a8e2a3844664c6b4efedb5883c8b8af388462b5
2022-09-27 16:35:06 +00:00
drh
80cf891792
Enhance defensive mode so that it disallows CREATE TRIGGER statements if the
...
statements within the trigger attempt to write on a shadow table.
FossilOrigin-Name: 3283bbd12a60f472ed03cb7c6209a605a3bf9f3d9083371e17840b56e8b3f559
2022-09-27 00:56:45 +00:00
stephan
278d3faf1f
Fiddle: replace db export routine with a C-side one which works for both Emscripten FS-hosted and OPFS-hosted db files. Minor code-adjacent cleanups.
...
FossilOrigin-Name: 3579a8d6f1f6cd3cd8aad9949536870c5fe7bae8c1778f700dd85d763e266b94
2022-09-26 13:55:10 +00:00
stephan
1f095d482d
Get fiddle db export working for OPFS VFS. Add root dir handle to the main OPFS VFS worker to enable creation of certain utility functions without delegating to the async worker. Add sqlite3.capi.sqlite3_wasm_rc_str() to map integer result codes back to their SQLITE_xxx counterparts. Minor doc touchups.
...
FossilOrigin-Name: 9b2244e1c8a40efe6547094a1b57acc8f2173145a8731abb0e36268ce0a8ef41
2022-09-26 11:38:58 +00:00
stephan
60d9aa7c59
Refactoring towards getting fiddle to support OPFS as a first-class citizen. Certain operations, e.g. import, export, and unlink, are not OPFS-aware.
...
FossilOrigin-Name: 1b923ed6438d7fef4508936e0c4bc026a368721698b1539961e3fb3140a185cb
2022-09-24 07:36:45 +00:00
drh
f333370e1f
Reduced and improved comments on the constraintCompatibleWithOuterJoin()
...
function.
FossilOrigin-Name: 38aaf26e082bd95df6b64df43e1772fe6e20c4eb71307dcd97559cac7f11f8f1
2022-09-21 18:21:31 +00:00
stephan
65022716b3
shell.c.in: when building in fiddle mode, define _POSIX_SOURCE (ifndef) so that emcc's string.h reveals strdup().
...
FossilOrigin-Name: fb85b269c43147f153977606dd8ede7b93744bf955e4c1a2b198907fd8a94620
2022-09-21 16:21:21 +00:00
drh
faaacd3fbb
Break out the decision of whether or not a constraint term is usable by
...
an outer join into a subroutine: constraintCompatibleWithOuterJoin().
FossilOrigin-Name: c7fbc9b0453050e2746af27e3a11e0c3701bef8c56da8e19173242c6ea3aff8b
2022-09-21 00:16:59 +00:00
drh
0f51aa3972
Do not allow EP_InnerON terms to be used on a outer join.
...
FossilOrigin-Name: f47aa745690c018800243bf76930b2499ff4537411c4e27b4b16ba3854cc2bf8
2022-09-20 22:19:13 +00:00
drh
8b9a3d1fc8
Modify the OP_IfNotOpen opcode so that the jump is taken if the cursor is open
...
but was previously set to a NULL row using OP_NullRow.
FossilOrigin-Name: 1292d68caa7086610ddda343f3852e63de8da1eb66536ee4716b6529f5a31bc6
2022-09-20 19:22:17 +00:00
drh
5a0771a1f4
Remove code that has been previously commented out.
...
FossilOrigin-Name: 852b385a5de622aa32026824210d4bd23db52a4a8a697b83d22d6000edeba487
2022-09-20 18:18:00 +00:00