Skip to content

Releases: nalgeon/sqlean

0.21.9

29 Jan 08:38
Compare
Choose a tag to compare

Marked unicode functions as deterministic to allow their use in virtual columns (#109).

0.21.8

28 Aug 09:24
a08c9c6
Compare
Choose a tag to compare

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

24 Aug 10:50
Compare
Choose a tag to compare

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

18 Jul 14:45
Compare
Choose a tag to compare

No functional changes. Recompiled Linux extensions on Ubuntu 20.04 instead of 22.04 to fix #90.

0.21.5

15 Jun 12:29
Compare
Choose a tag to compare

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

15 Jun 08:56
Compare
Choose a tag to compare

Added the ipaddr extension to the single-file sqlean bundle (except for Windows).

0.21.0

10 Jun 20:07
9f77317
Compare
Choose a tag to compare

This release brings a single-file bundle containing all extensions from the main set:

  • sqlean.so for Linux
  • sqlean.dll for Windows
  • sqlean.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

07 Jun 13:09
Compare
Choose a tag to compare

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

31 May 11:58
Compare
Choose a tag to compare

Even more encode/decode algorithms in the crypto extension.

Base85 (aka Ascii85):

select encode('hello', 'base85');
-- BOu!rDZ
select decode('BOu!rDZ', 'base85');
-- hello

Hexadecimal:

select encode('hello', 'hex');
-- 68656c6c6f
select decode('68656c6c6f', 'hex');
-- hello

URL encoding:

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=(ಠ_ಠ)

0.19.4

28 May 19:55
Compare
Choose a tag to compare

Encode/decode functions in the crypto extension (similar to the ones in postgres).

Base32:

select encode('hello', 'base32');
-- NBSWY3DP
select decode('NBSWY3DP', 'base32');
-- hello

Base64:

select encode('hello', 'base64');
-- aGVsbG8=
select decode('aGVsbG8=', 'base64');
-- hello