You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/docs/releases.md
+7
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,13 @@ In case you are wondering why all our releases start with `0.0`, read [this FAQ
24
24
25
25
:::
26
26
27
+
### 0.0.21200 [Jan 17 2025]
28
+
29
+
* Support for Microsoft Azure Blob Storage using [`azure_location`](./sql/external/location.md#microsoft-azure-blob-storage) was added.
30
+
* Documented [`starts_with`](./sql/scalar_func/string.md) and [`ends_with`](./sql/scalar_func/string.md), as well as negative field positions for [`split_part`](./sql/scalar_func/string.md).
31
+
* Fixed double free bug in Java Hyper API (reported in GitHub Issue [#133](https://github.com/tableau/hyper-db/issues/133)).
32
+
* Improved performance of distinct aggregates (e.g., `SELECT COUNT(DISTINCT a) from t`).
33
+
27
34
### 0.0.20746 [Nov 7 2024]
28
35
29
36
* Support for `array_contains`, `array_position` and `array_positions` was added
`concat(str "any" [, str "any" [, ...] ])`|`text`|Concatenate the text representations of all the arguments. NULL arguments are ignored, in contrast to <code>||</code>.|`concat('abcde', 2, NULL, 22)` → `abcde222`
36
36
`decode(string text, format text)`|`bytea`|Decode binary data from textual representation in `string`. Options for `format` are same as in `encode`.|`decode('MTIzAAE=', 'base64')` → `\x3132330001`
37
37
`encode(data bytea, format text)`|`text`|Encode binary data into a textual representation. Supported formats are: `base64`, `hex`, `escape`. `escape` converts zero bytes and high-bit-set bytes to octal sequences (`\``<nnn>`) and doubles backslashes.|`encode('123\000\001', 'base64')` → `MTIzAAE=`
38
+
`ends_with(string text, suffix text)`|`boolean`|Return true if `string` ends with `suffix`.|`ends_with('alphabet', 'bet')` → `t`
38
39
`initcap(string)`|`text`|Convert the first letter of each word to upper case and the rest to lower case. Words are sequences of alphanumeric characters separated by non-alphanumeric characters.|`initcap('hi THOMAS')` → `'Hi Thomas'`
39
40
`left(str text, n int)`|`text`|Return first `<n>` characters in the string. When `<n>` is negative, return all but last <code>|<n>|</code> characters.|`left('abcde', 2)` → `'ab'`
40
41
`length(string)`|`int`|Number of characters in `string`|`length('jose')` → `4`
`right(str text, n int)`|`text`|Return last `<n>` characters in the string. When `<n>` is negative, return all but first <code>|<n>|</code> characters.|`right('abcde', 2)` → `'de'`
50
51
`rpad(string text, length int , fill text)`|`text`|Fill up the `string` to length `length` by appending the characters `fill` (a space by default). If the `string` is already longer than `length` then it is truncated.|`rpad('hi', 5, 'xy')` → `'hixyx'`
51
52
`rtrim(string text , characters text)`|`text`|Remove the longest string containing only characters from `characters` (a space by default) from the end of `string`.|`rtrim('testxxzx', 'xyz')` → `'test'`
52
-
`split_part(string text, delimiter text, field int)`|`text`|Split `string` on `delimiter` and return the given field (counting from one).|`split_part('abc~@~def~@~ghi', '~@~', 2)` → `'def'`
53
+
`split_part(string text, delimiter text, field int)`|`text`|Split `string` on `delimiter` and return the given field (counting from one). When `n` is negative, returns the `|n|`-th-from-last field. |`split_part('abc~@~def~@~ghi', '~@~', 2)` → `'def'`
54
+
`starts_with(string text, prefix text)`|`boolean`|Return true if `string` starts with `prefix`.|`starts_with('alphabet', 'alph')` → `t`
53
55
`strpos(string, substring)`|`int`|Location of specified substring (same as `position(substring in string)`, but note the reversed argument order).|`strpos('high', 'ig')` → `2`
54
56
`substr(string, from , count)`|`text`|Extract substring (same as `substring(string from from for count)`).|`substr('alphabet', 3, 2)` → `'ph'`
55
57
`to_hex(number int or bigint)`|`text`|Convert `number` to its equivalent hexadecimal representation.|`to_hex(2147483647)` → `'7fffffff'`
0 commit comments