Releases: nalgeon/sqlean
0.28.1
0.28.0
Added xxHash, a very fast non-cryptographic hash algorithm, to the crypto extension.
Changed the SHA2 implementation.
All extensions are now built with the -O3 optimization level.
sqlean-linux-x86.zip→sqlean-linux-x64.zipsqlean-macos-x86.zip→sqlean-macos-x64.zip
0.27.4
Made the time and uuid extensions compatible with Android.
0.27.3
Made the time and uuid extensions compatible with POSIX systems that don't have timespec_get but do have clock_gettime.
0.27.2
Nothing fancy, just some handy improvements and nice bug fixes:
- define: Disallow executing defined functions after calling
define_free(#141) - fileio: Fix buffer reallocation in
fileio_scan(#149 by @Alexk-195) - uuid: Allow setting an explicit timestamp in
uuid7(#143 by @umeldt) - vsv: Do not ignore empty fields in the first row (#139)
- Respect CC and CFLAGS in Makefile (#136 by @herbygillot)
Huge thanks to all Sqlean contributors!
0.27.1
0.27.0
This release introduces the new time extension — a structured, high-precision date/time API with a rich set of functions from working with Unix time to time comparison and arithmetic to truncation and rounding.
Creating time values:
time_now()
time_date(year, month, day[, hour, min, sec[, nsec[, offset_sec]]])
Extracting time fields:
time_get_year(t)
time_get_month(t)
time_get_day(t)
time_get_hour(t)
time_get_minute(t)
time_get_second(t)
time_get_nano(t)
time_get_weekday(t)
time_get_yearday(t)
time_get_isoyear(t)
time_get_isoweek(t)
time_get(t, field)
Unix time:
time_unix(sec[, nsec])
time_milli(msec)
time_micro(usec)
time_nano(nsec)
time_to_unix(t)
time_to_milli(t)
time_to_micro(t)
time_to_nano(t)
Time comparison:
time_after(t, u)
time_before(t, u)
time_compare(t, u)
time_equal(t, u)
Time arithmetic:
time_add(t, d)
time_add_date(t, years[, months[, days]])
time_sub(t, u)
time_since(t)
time_until(t)
Rounding:
time_trunc(t, field)
time_trunc(t, d)
time_round(t, d)
Formatting:
time_fmt_iso(t[, offset_sec])
time_fmt_datetime(t[, offset_sec])
time_fmt_date(t[, offset_sec])
time_fmt_time(t[, offset_sec])
time_parse(s)
Duration constants:
dur_ns()
dur_us()
dur_ms()
dur_s()
dur_m()
dur_h()
See the docs for full details.
0.26.0
This release introduces consistent naming. All functions are now prefixed with the module name:
- crypto_md5,
- fuzzy_hamming,
- stats_median,
- etc.
0.25.0
Unicode-aware case functions in the text extension. Powered by stc from @tylov. Thank you, Tyge!
text_upper
Transforms a string to upper case.
select text_upper('cómo estás');
-- CÓMO ESTÁStext_lower
Transforms a string to lower case.
select text_lower('CÓMO ESTÁS');
-- cómo estástext_title
Transforms a string to title case.
select text_title('cómo estás');
-- Cómo Estástext_like
Reports whether a string matches a pattern using the LIKE syntax.
select text_like('cóm_ está_', 'CÓMO ESTÁS');
-- 1
select text_like('ça%', 'Ça roule');
-- 1text_nocase
The text_nocase collating sequence compares strings without regard to case.
select 1 where 'cómo estás' = 'CÓMO ESTÁS';
-- (null)
select 1 where 'cómo estás' = 'CÓMO ESTÁS' collate text_nocase;
-- 1