Releases: nalgeon/sqlean
0.21.9
0.21.8
Update to the define extension from it's author @0x09:
This updates the
define
virtual table with fixes from sqlite-statement-vtab, including a potential vulnerability on platforms with uncommon integer sizes detailed in 0x09/sqlite-statement-vtab@400bea1
0.21.7
No functional changes. Fixed utf8_lookup
global symbol to facilitate sqlean.go (#92).
Huge thanks to @riyaz-ali for porting sqlean
to Go!
0.21.6
0.21.5
Disabled symlink
on Windows in the fileio extension.
Also, 0.21.5 is the first version of sqlean
available as Python and JavaScript packages! 🎉
0.21.4
0.21.0
This release brings a single-file bundle containing all extensions from the main set:
sqlean.so
for Linuxsqlean.dll
for Windowssqlean.dylib
for macOS
The bundle loads like other extensions, e.g:
sqlite> .load ./sqlean
sqlite> select median(value) from generate_series(1, 99);
When loaded, it activates functions from all existing extensions (except ipaddr
, which does not work on Windows).
0.20.0
This release brings the new text extension — a rich set of string functions, from slice
, contains
and count
to split_part
, trim
and repeat
.
Provides 25 functions, many of which are postgres-compatible.
Substrings and slicing:
text_substring(str, start [,length])
text_slice(str, start [,end])
text_left(str, length)
text_right(str, length)
Search and match:
text_index(str, other)
text_last_index(str, other)
text_contains(str, other)
text_has_prefix(str, other)
text_has_suffix(str, other)
text_count(str, other)
Split and join:
text_split(str, sep, n)
text_concat(str, ...)
text_join(sep, str, ...)
text_repeat(str, count)
Trim and pad:
text_ltrim(str [,chars])
text_rtrim(str [,chars])
text_trim(str [,chars])
text_lpad(str, length [,fill])
text_rpad(str, length [,fill])
Other modifications:
text_replace(str, old, new [,count])
text_translate(str, from, to)
text_reverse(str)
String properties:
text_length(str)
text_size(str)
text_bitsize(str)
0.19.5
Even more encode/decode algorithms in the crypto extension.
Base85 (aka Ascii85):
select encode('hello', 'base85');
-- BOu!rDZ
select decode('BOu!rDZ', 'base85');
-- hello
select encode('hello', 'hex');
-- 68656c6c6f
select decode('68656c6c6f', 'hex');
-- hello
select encode('/hello?text=(ಠ_ಠ)', 'url');
-- %2Fhello%3Ft%3D%28%E0%B2%A0_%E0%B2%A0%29
select decode('%2Fhello%3Ft%3D%28%E0%B2%A0_%E0%B2%A0%29', 'url');
-- /hello?t=(ಠ_ಠ)