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
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
drh
eba21f9eb2
Improve the performance of the LIKE operator by using strcspn() to aid
...
wildcard matching.
FossilOrigin-Name: 37284d4e8f501a37c582aa899419a3dfe0932e2a8e2ef2fdf59addd1d3cdacb4
2017-10-30 18:49:11 +00:00
drh
f49759bf03
Fix a few over-length source code lines. No functional changes.
...
FossilOrigin-Name: 1783c54ce9dcb4b2c4f2a66f6d3315e646b71b54a8899fc32a7bf0f935a21f7f
2017-08-25 19:51:51 +00:00
drh
1d42ea71c2
Enhance the like optimization so that it works with an ESCAPE clause.
...
FossilOrigin-Name: f5d330f495d07a704e115595bbdf5422ddb68fd8191114c5a12c9c873d983f7c
2017-07-27 20:24:29 +00:00
drh
3cef364966
Add requirements marks for some of the new features in the 3.20 release.
...
FossilOrigin-Name: 264238671379306b14d62a6ddaefd2a20acd34ca77276b6ce872253160fe0146
2017-07-14 19:22:08 +00:00
drh
9d8e401c2d
More compact implementation of the typeof() SQL function.
...
FossilOrigin-Name: efb4aab0caa4145732a5438cc2a193bc12c455b4007220564d240e75900ea8ad
2017-07-06 13:51:50 +00:00
drh
b30574bcae
Simplified OOM detection in the instr() SQL function.
...
FossilOrigin-Name: 6d85eb5736781b43aa674d9544c7523b849b4e634f371702f8764b33e22e1e9f
2017-03-16 14:28:52 +00:00
dan
116b56a2cc
Fix a crash that could follow an OOM condition in the instr() SQL function.
...
FossilOrigin-Name: 6e59e903e4e956617bddef0b94e5cae02d724ac8145940b57ab5b0f628759736
2017-03-16 12:11:07 +00:00
drh
5424075137
Put the affinity() function implementation inside of #ifdef SQLITE_DEBUG.
...
FossilOrigin-Name: f778f58ae4ea3e16f51b94591a2c1e563dcb0cde
2017-01-03 14:39:30 +00:00
drh
01e64a1704
Merge all the latest changes from trunk.
...
FossilOrigin-Name: c27cd8a8127b81d3176f6a5b9915c9b3c69574fb
2017-01-03 14:30:28 +00:00
dan
3043b53222
Fix a crash that could occur following an OOM in the group_concat() function
...
if the second argument is an SQLITE_BLOB value.
FossilOrigin-Name: 14d855d2b2b5b3485e0673d11405db7266b34c6d
2016-12-30 17:40:14 +00:00
drh
1d081ab39e
Strengthen the defense against OOM in the instr() SQL function.
...
FossilOrigin-Name: a0971e713682a73d8c7c20511db256c20d2f6388
2016-12-30 15:16:20 +00:00
dan
895decf6b5
Avoid passing NULL pointers to memcmp() or memcpy(), even when the
...
"number-of-bytes" argument is passed 0.
FossilOrigin-Name: 56ff72ab44288296efc99a608f7edc4346366a50
2016-12-30 14:15:56 +00:00
drh
a1a523a5bb
Add the built-in affinity() SQL function.
...
FossilOrigin-Name: 57e40e1cb1bcd3dd8473d2fdeecc9c7ff3d6192b
2016-12-26 00:18:36 +00:00
drh
698a01ca2f
Faster version of patternCompare() that uses new return values rather than
...
an extra parameter to communicate wildcard information back up to parent
searches.
FossilOrigin-Name: a1e2b6ce3af690ae91bda3d056357205c4018da7
2016-12-01 18:49:40 +00:00
dan
1a4a73764c
Modify the patternCompare() function (used for GLOB, LIKE) to better handle
...
patterns containing multiple wildcard characters ("*", "%").
FossilOrigin-Name: c5e5614d98a752738c081fecdd1e349a1a92b0e5
2016-12-01 17:34:59 +00:00
dan
a2bfa046ea
Avoid a crash that can occur after an obscure OOM in the built-in INSTR()
...
function.
FossilOrigin-Name: b86b79c442a58d10aa005ba4f34095375a88d242
2016-11-04 12:05:29 +00:00
drh
cc15313cc9
Add the experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option.
...
When enabled, the "unknown function" error is suppressed for EXPLAIN and
a no-op function named "unknown()" is substituted. This facilitiates using
the command-line shell to analyze queries from applications that contain
many application-defined functions that are not normally available to the
shell.
FossilOrigin-Name: b7f30a9ff20d580fdaecdcf2b644d09ad6c2575e
2016-08-04 12:35:17 +00:00
drh
c80937a5f5
Small performance improvement in the LIKE function.
...
FossilOrigin-Name: 5fb0c35459cf7a8662bf8cd84ac345f6fafda6cc
2016-06-06 01:48:14 +00:00
drh
f602a16123
Test cases for SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION.
...
FossilOrigin-Name: debafa5efd37ac60e030d0963ce8e7c4f51a0f10
2016-04-21 01:58:21 +00:00
drh
191dd06195
Revert sqlite3_enable_load_extension() to its original long-standing behavior.
...
Add SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION which will enable only the C-API and
leave the SQL function disabled.
FossilOrigin-Name: b2ae5bfa32e608625bd177907596df3dbc2212e1
2016-04-21 01:30:09 +00:00
drh
1a55dedf7b
<b>API Change:</b> Modify sqlite3_enable_load_extension() so that it only
...
enables/disables the load_extension() SQL function, and leaves the C-APIs
enabled at all times. In this way, applications can enable extension loading
for the C interface without having to expose that capability to the SQL.
FossilOrigin-Name: edb454e45ae008e051e2f48d704a855b0c3e4be9
2016-04-20 00:30:05 +00:00
drh
80738d9c3e
Improvements to the application-defined function mechanism so that it is
...
more compact and runs faster, especially when the application defines
thousands of new SQL functions.
FossilOrigin-Name: 3201fbcc5105d23132e6b8b7ac825e66af4f8a39
2016-02-15 00:34:16 +00:00
drh
4a642b6060
Improvements to the way that OOM errors are processed.
...
FossilOrigin-Name: c3ef03478a5788c855b3aef385d43ae7f494f440
2016-02-05 01:55:27 +00:00
drh
5f4a686f8c
Simplification and size reduction to the printf logic. Remove the bFlags
...
parameter from sqlite3VXPrintf() and sqlite3XPrintf(). Use sqlite3XPrintf()
instead of sqlite3_snprintf() for rendering P4 values in EXPLAIN output.
FossilOrigin-Name: 0bdb41c45aa1cc8e5c136aaa6605d54b401483bd
2016-01-30 12:50:25 +00:00
drh
fb3972602c
Case folding in the LIKE operator should look at all bits of the character,
...
not just the lower 8 bits. Fix for ticket [80369eddd5c94]. This is a
back-out of check-in [0a99a8c4facf] with a testcase added.
FossilOrigin-Name: 204432ee72fda8e82d244c4aa18de7ec4811b8e1
2016-01-20 14:22:41 +00:00
drh
07e8347221
Slightly smaller and faster LIKE/GLOB comparison implementation.
...
FossilOrigin-Name: 5dddcc78eec5bcd0c7e8fe1b70875ce775488f0c
2016-01-11 03:48:18 +00:00
drh
31d175dde4
Remove unnecessary tests from the LIKE pattern matcher. Slightly faster and
...
slightly smaller, and it should also now works with EBCDIC.
FossilOrigin-Name: 0a99a8c4facf65ec67d8d86108c9a3f723f7cbd6
2015-12-30 14:06:22 +00:00
drh
41d2e66ef3
Add the SQLITE_LIKE_DOESNT_MATCH_BLOBS compile-time option.
...
FossilOrigin-Name: 9e1d6d4c391ff90077f0d1cdeb567969fee9f747
2015-12-01 21:23:07 +00:00
drh
8b4a94adc1
Add the sqlite3_strlike() interface, which might be useful for implementing
...
LIKE operators on virtual tables.
FossilOrigin-Name: e70ec71d6883f2f8fc75301ff985bccb5aa06127
2015-11-24 21:23:59 +00:00
drh
03bf26d90d
Not only date/time functions, but also functions like sqlite_version() and
...
changes() need to be prohibited from use inside of indexes.
FossilOrigin-Name: 487131303980f15dd5e1b6695b4f29efda229eb8
2015-08-31 21:16:36 +00:00
drh
6bacdc21ae
Fix compiler warnings. Get the new sqlite3_result_zeroblob64() working
...
on loadable extensions.
FossilOrigin-Name: f8991e6f726485301c80d2dbb05e7d5c0d283b5d
2015-07-24 17:14:03 +00:00
dan
a4d5ae8fa2
Add the sqlite3_result_zeroblob64() API. Use it in the SQL zeroblob() function.
...
FossilOrigin-Name: c6445b9fb4d7d1a8479436d7d183bad754a01615
2015-07-24 16:24:37 +00:00
drh
53e66c3cda
More robust handling of zeroblob() with oversized arguments. Fix fuzzcheck
...
so that it can be run with limited heap memory.
FossilOrigin-Name: 4e3e516a42059c97f42a7eb59bdf5cded0ff843a
2015-07-24 15:49:23 +00:00
drh
b0870486aa
Performance optimization and comment fixes for the LIKE and GLOB operators.
...
FossilOrigin-Name: c89d772628564a808173f6f73bc1798ec714276b
2015-06-17 13:20:54 +00:00
drh
c049057242
Cleanup of the sqlite3StrAccumInit() function. No functionality changes.
...
FossilOrigin-Name: 7952c32268aa650d9ee946d5bfe190f712e3bbe6
2015-05-02 11:45:53 +00:00
drh
f3cdcdccbe
Use sqlite3_malloc64() in place of sqlite3_malloc() internally.
...
FossilOrigin-Name: 48f553b05c05373c0af4b9c3a542979db3a2ee19
2015-04-29 16:50:28 +00:00
drh
a9e03b1b82
The valueFromFunction() routine is better able to handle OOM errors.
...
Omit unreachable branches.
FossilOrigin-Name: 8fb6bd9be59d6b04e922d7b246aaefd4851539b6
2015-03-12 06:46:52 +00:00
drh
16897072b5
Refactor some jump opcodes in the VDBE. Add JumpZeroIncr and DecrJumpZero.
...
Fix the LIKE optimization to work with DESC sort order.
FossilOrigin-Name: 26cb5145bf52f8c3fffa8c69b6c24aee4d974883
2015-03-07 00:57:37 +00:00
drh
883ad04985
First small steps toward brining trunk and apple-osx closer together.
...
FossilOrigin-Name: 28284ccc0d7301503f6d2d7bee9093738d52e331
2015-02-19 00:29:11 +00:00
drh
643091f071
Fix a typo in a requirements mark on the abs() SQL function.
...
FossilOrigin-Name: b1e6c02f8b9a2afaa12ac15a33e3f698c3be27d6
2014-11-20 23:21:23 +00:00
drh
a15cc47f81
Simplifications to the SQL function and aggregate calling procedures.
...
FossilOrigin-Name: 3467049a1705b49905ea88a5c6becb6fe318f2fa
2014-09-25 13:17:30 +00:00
drh
9fdfdc893b
Still more performance enhancements to the LIKE and GLOB operators.
...
FossilOrigin-Name: 6c8924cacc2b875270770fed2cc3b1884f57a655
2014-09-25 11:08:57 +00:00
drh
88b3322f27
More performance optimization for the LIKE and GLOB operators.
...
FossilOrigin-Name: 5ab1023d6cfe31fa8a194804b8216058977ac973
2014-09-25 03:51:37 +00:00
drh
328d913cbd
Size reduction and performance improvement in the LIKE and GLOB operators.
...
FossilOrigin-Name: b2c89ef49cd19b8031a8149a2dc47cea07dd04e0
2014-09-25 00:56:00 +00:00
drh
035e563bf6
Reorder the elements of the Mem object for a small size reduction and
...
performance improvement.
FossilOrigin-Name: 0be3019ed794c10de67dfd645ceea7d45815bc4b
2014-09-16 14:16:31 +00:00
drh
9588ad95c1
Do not flatten aggregate subqueries that contain min() or max() functions
...
so that if the min()/max() are discarded by the outer query, they still
function and cause non-aggregate expression to be evaluated on the minimal
or maximal row.
FossilOrigin-Name: 0bdf1a086b3946722f4d4b328e25917f61c14713
2014-09-15 14:46:02 +00:00
drh
46c831bf2a
Add new APIs that take 64-bit length parameters: sqlite3_malloc64(),
...
sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_text64(),
sqlite3_result_blob64(), and sqlite3_result_text64().
Add the sqlite3_msize() interface.
Internal memory allocation routines now use 64-bit unsigned
length parameters for safety.
Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid
a integer overflow problem.
FossilOrigin-Name: 7e4978c003867d1b532b69221013dda75ca61953
2014-09-11 18:44:04 +00:00
drh
f442e33e3a
Add the ".user" shell command and implement the sqlite3_user_add()
...
routine. Incremental check-in. The code compiles but does not work.
FossilOrigin-Name: a0455f9deb603bf91684158d911269622720fc1a
2014-09-10 19:01:14 +00:00