mirror of
https://github.com/tstack/lnav
synced 2024-11-01 21:40:34 +00:00
[sql] add a gunzip() SQL function
This commit is contained in:
parent
b8945232f7
commit
f74214b9b6
2
NEWS
2
NEWS
@ -16,6 +16,8 @@ lnav v0.10.1:
|
||||
* Added the "logfmt2json()" SQL function to convert a string containing
|
||||
a logfmt-encoded message into a JSON object that can be operated on
|
||||
more easily.
|
||||
* Added the "gzip()" and "gunzip()" SQL functions to compress values
|
||||
into a blob and decompress a blob into a string.
|
||||
Interface changes:
|
||||
* The xclip implementation for accessing the system clipboard now writes
|
||||
to the "clipboard" selection instead of the "primary" selection.
|
||||
|
@ -209,4 +209,12 @@ private:
|
||||
size_t ab_size;
|
||||
};
|
||||
|
||||
struct text_auto_buffer {
|
||||
auto_buffer inner;
|
||||
};
|
||||
|
||||
struct blob_auto_buffer {
|
||||
auto_buffer inner;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -44,6 +44,34 @@ bool is_gzipped(const char *buffer, size_t len)
|
||||
return len > 2 && buffer[0] == '\037' && buffer[1] == '\213';
|
||||
}
|
||||
|
||||
Result<auto_buffer, std::string> compress(const void* input, size_t len)
|
||||
{
|
||||
auto retval = auto_buffer::alloc(len + 4096);
|
||||
|
||||
z_stream zs;
|
||||
zs.zalloc = Z_NULL;
|
||||
zs.zfree = Z_NULL;
|
||||
zs.opaque = Z_NULL;
|
||||
zs.avail_in = (uInt)len;
|
||||
zs.next_in = (Bytef *)input;
|
||||
zs.avail_out = (uInt)retval.size();
|
||||
zs.next_out = (Bytef *)retval.in();
|
||||
|
||||
auto rc = deflateInit2(&zs, Z_DEFAULT_COMPRESSION, Z_DEFLATED, 15 | 16, 8, Z_DEFAULT_STRATEGY);
|
||||
if (rc != Z_OK) {
|
||||
return Err(fmt::format("unable to initialize compressor -- {}", zError(rc)));
|
||||
}
|
||||
rc = deflate(&zs, Z_FINISH);
|
||||
if (rc != Z_STREAM_END) {
|
||||
return Err(fmt::format("unable to compress data -- {}", zError(rc)));
|
||||
}
|
||||
rc = deflateEnd(&zs);
|
||||
if (rc != Z_OK) {
|
||||
return Err(fmt::format("unable to finalize compression -- {}", zError(rc)));
|
||||
}
|
||||
return Ok(std::move(retval.shrink_to(zs.total_out)));
|
||||
}
|
||||
|
||||
Result<auto_buffer, std::string> uncompress(const std::string& src,
|
||||
const void *buffer,
|
||||
size_t size)
|
||||
|
@ -42,6 +42,8 @@ namespace gzip {
|
||||
|
||||
bool is_gzipped(const char *buffer, size_t len);
|
||||
|
||||
Result<auto_buffer, std::string> compress(const void *input, size_t len);
|
||||
|
||||
Result<auto_buffer, std::string> uncompress(const std::string& src,
|
||||
const void *buffer,
|
||||
size_t size);
|
||||
|
@ -84,7 +84,7 @@ void db_label_source::text_value_for_line(textview_curses &tc, int row,
|
||||
truncate_to(cell_str, MAX_COLUMN_WIDTH);
|
||||
|
||||
auto cell_length = utf8_string_length(cell_str)
|
||||
.unwrapOr(MAX_COLUMN_WIDTH);
|
||||
.unwrapOr(actual_col_size);
|
||||
auto padding = actual_col_size - cell_length;
|
||||
this->dls_cell_width[lpc] = cell_str.length() + padding;
|
||||
if (this->dls_headers[lpc].hm_column_type != SQLITE3_TEXT) {
|
||||
|
@ -771,7 +771,7 @@ char(*X*)
|
||||
HI
|
||||
|
||||
**See Also**
|
||||
:ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -804,7 +804,7 @@ charindex(*needle*, *haystack*, *\[start\]*)
|
||||
0
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -1068,7 +1068,7 @@ endswith(*str*, *suffix*)
|
||||
0
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -1123,7 +1123,7 @@ extract(*str*)
|
||||
{"col_0":1.0,"col_1":2.0}
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -1324,7 +1324,7 @@ group_concat(*X*, *\[sep\]*)
|
||||
hw,gw
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -1348,7 +1348,39 @@ group_spooky_hash(*str*)
|
||||
4e7a190aead058cb123c94290f29c34a
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
|
||||
.. _gunzip:
|
||||
|
||||
gunzip(*b*)
|
||||
^^^^^^^^^^^
|
||||
|
||||
Decompress a gzip file
|
||||
|
||||
**Parameters**
|
||||
* **b** --- The blob to decompress
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
|
||||
.. _gzip:
|
||||
|
||||
gzip(*value*)
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
Compress a string into a gzip file
|
||||
|
||||
**Parameters**
|
||||
* **value** --- The value to compress
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -1394,7 +1426,7 @@ humanize_file_size(*value*)
|
||||
10.0MB
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -1442,7 +1474,7 @@ instr(*haystack*, *needle*)
|
||||
2
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -1795,7 +1827,7 @@ leftstr(*str*, *N*)
|
||||
abc
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -1819,7 +1851,7 @@ length(*str*)
|
||||
3
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2009,7 +2041,7 @@ logfmt2json(*str*)
|
||||
{"foo":1,"bar":2,"name":"Rolo Tomassi"}
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2033,7 +2065,7 @@ lower(*str*)
|
||||
abc
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2065,7 +2097,7 @@ ltrim(*str*, *\[chars\]*)
|
||||
c
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2222,7 +2254,7 @@ padc(*str*, *len*)
|
||||
abcdef ghi
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2254,7 +2286,7 @@ padl(*str*, *len*)
|
||||
abcdef
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2286,7 +2318,7 @@ padr(*str*, *len*)
|
||||
abcdefghi
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2384,7 +2416,7 @@ printf(*format*, *X*)
|
||||
value: 00011
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2408,7 +2440,7 @@ proper(*str*)
|
||||
Hello, World!
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2591,7 +2623,7 @@ regexp_capture(*string*, *pattern*)
|
||||
1 2 3 8 9 2
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2630,7 +2662,7 @@ regexp_match(*re*, *str*)
|
||||
{"num":123,"str":"four"}
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_replace`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_replace`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2663,7 +2695,7 @@ regexp_replace(*str*, *re*, *repl*)
|
||||
<123> <abc>
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_match`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_match`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2696,7 +2728,7 @@ replace(*str*, *old*, *replacement*)
|
||||
zbc
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2721,7 +2753,7 @@ replicate(*str*, *N*)
|
||||
abcabcabc
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2745,7 +2777,7 @@ reverse(*str*)
|
||||
cba
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2777,7 +2809,7 @@ rightstr(*str*, *N*)
|
||||
abc
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2873,7 +2905,7 @@ rtrim(*str*, *\[chars\]*)
|
||||
a
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2943,7 +2975,7 @@ sparkline(*value*, *\[upper\]*)
|
||||
▁▂▃▄▅▆▇█
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -2988,7 +3020,7 @@ spooky_hash(*str*)
|
||||
f96b3d9c1a19f4394c97a1b79b1880df
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -3102,7 +3134,7 @@ startswith(*str*, *prefix*)
|
||||
0
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -3127,7 +3159,7 @@ strfilter(*source*, *include*)
|
||||
bcbc
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -3214,7 +3246,7 @@ substr(*str*, *start*, *\[size\]*)
|
||||
b
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -3420,7 +3452,7 @@ trim(*str*, *\[chars\]*)
|
||||
abc
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -3473,7 +3505,7 @@ unicode(*X*)
|
||||
97
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`upper`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`upper`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -3511,7 +3543,7 @@ upper(*str*)
|
||||
ABC
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`xpath`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`xpath`
|
||||
|
||||
----
|
||||
|
||||
@ -3554,7 +3586,7 @@ xpath(*xpath*, *xmldoc*)
|
||||
Hello ★ /abc/def/text() {} Hello ★
|
||||
|
||||
**See Also**
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`
|
||||
:ref:`char`, :ref:`charindex`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture`, :ref:`regexp_match`, :ref:`regexp_replace`, :ref:`replace`, :ref:`replicate`, :ref:`reverse`, :ref:`rightstr`, :ref:`rtrim`, :ref:`sparkline`, :ref:`spooky_hash`, :ref:`startswith`, :ref:`strfilter`, :ref:`substr`, :ref:`trim`, :ref:`unicode`, :ref:`upper`
|
||||
|
||||
----
|
||||
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include "pcrepp/pcrepp.hh"
|
||||
|
||||
#include "base/humanize.hh"
|
||||
#include "base/lnav.gzip.hh"
|
||||
#include "base/string_util.hh"
|
||||
#include "formats/logfmt/logfmt.parser.hh"
|
||||
#include "yajlpp/yajlpp.hh"
|
||||
@ -371,6 +372,75 @@ static void sparkline_final(sqlite3_context *context)
|
||||
sc->~sparkline_context();
|
||||
}
|
||||
|
||||
nonstd::optional<util::variant<blob_auto_buffer, sqlite3_int64, double>>
|
||||
sql_gunzip(sqlite3_value *val)
|
||||
{
|
||||
switch (sqlite3_value_type(val)) {
|
||||
case SQLITE3_TEXT:
|
||||
case SQLITE_BLOB: {
|
||||
auto buffer = sqlite3_value_blob(val);
|
||||
auto len = sqlite3_value_bytes(val);
|
||||
|
||||
if (!lnav::gzip::is_gzipped((const char *) buffer, len)) {
|
||||
auto retval = auto_buffer::alloc(len);
|
||||
|
||||
memcpy(retval.in(), buffer, len);
|
||||
return blob_auto_buffer{ std::move(retval) };
|
||||
}
|
||||
|
||||
auto res = lnav::gzip::uncompress("", buffer, len);
|
||||
|
||||
if (res.isErr()) {
|
||||
throw sqlite_func_error("unable to uncompress -- {}",
|
||||
res.unwrapErr());
|
||||
}
|
||||
|
||||
return blob_auto_buffer{ res.unwrap() };
|
||||
}
|
||||
case SQLITE_INTEGER:
|
||||
return sqlite3_value_int64(val);
|
||||
case SQLITE_FLOAT:
|
||||
return sqlite3_value_double(val);
|
||||
}
|
||||
|
||||
return nonstd::nullopt;
|
||||
}
|
||||
|
||||
nonstd::optional<blob_auto_buffer>
|
||||
sql_gzip(sqlite3_value *val)
|
||||
{
|
||||
switch (sqlite3_value_type(val)) {
|
||||
case SQLITE3_TEXT:
|
||||
case SQLITE_BLOB: {
|
||||
auto buffer = sqlite3_value_blob(val);
|
||||
auto len = sqlite3_value_bytes(val);
|
||||
auto res = lnav::gzip::compress(buffer, len);
|
||||
|
||||
if (res.isErr()) {
|
||||
throw sqlite_func_error("unable to compress -- {}",
|
||||
res.unwrapErr());
|
||||
}
|
||||
|
||||
return blob_auto_buffer{ res.unwrap() };
|
||||
}
|
||||
case SQLITE_INTEGER:
|
||||
case SQLITE_FLOAT: {
|
||||
auto buffer = sqlite3_value_text(val);
|
||||
log_debug("buf %s", buffer);
|
||||
auto res = lnav::gzip::compress(buffer, strlen((const char *) buffer));
|
||||
|
||||
if (res.isErr()) {
|
||||
throw sqlite_func_error("unable to compress -- {}",
|
||||
res.unwrapErr());
|
||||
}
|
||||
|
||||
return blob_auto_buffer{ res.unwrap() };
|
||||
}
|
||||
}
|
||||
|
||||
return nonstd::nullopt;
|
||||
}
|
||||
|
||||
int string_extension_functions(struct FuncDef **basic_funcs,
|
||||
struct FuncDefAgg **agg_funcs)
|
||||
{
|
||||
@ -554,6 +624,22 @@ int string_extension_functions(struct FuncDef **basic_funcs,
|
||||
})
|
||||
),
|
||||
|
||||
sqlite_func_adapter<decltype(&sql_gunzip), sql_gunzip>::builder(
|
||||
help_text("gunzip", "Decompress a gzip file")
|
||||
.sql_function()
|
||||
.with_parameter(help_text("b", "The blob to decompress")
|
||||
.one_or_more())
|
||||
.with_tags({"string"})
|
||||
),
|
||||
|
||||
sqlite_func_adapter<decltype(&sql_gzip), sql_gzip>::builder(
|
||||
help_text("gzip", "Compress a string into a gzip file")
|
||||
.sql_function()
|
||||
.with_parameter(help_text("value", "The value to compress")
|
||||
.one_or_more())
|
||||
.with_tags({"string"})
|
||||
),
|
||||
|
||||
{nullptr}
|
||||
};
|
||||
|
||||
|
@ -47,7 +47,7 @@
|
||||
|
||||
using namespace std;
|
||||
|
||||
static nonstd::optional<auto_buffer> timeslice(sqlite3_value *time_in, nonstd::optional<const char *> slice_in_opt)
|
||||
static nonstd::optional<text_auto_buffer> timeslice(sqlite3_value *time_in, nonstd::optional<const char *> slice_in_opt)
|
||||
{
|
||||
thread_local date_time_scanner dts;
|
||||
thread_local struct {
|
||||
@ -130,7 +130,7 @@ static nonstd::optional<auto_buffer> timeslice(sqlite3_value *time_in, nonstd::o
|
||||
auto actual_length = sql_strftime(ts.in(), ts.size(), win_start.to_timeval());
|
||||
|
||||
ts.shrink_to(actual_length);
|
||||
return std::move(ts);
|
||||
return text_auto_buffer{ std::move(ts) };
|
||||
}
|
||||
|
||||
static
|
||||
|
@ -144,7 +144,7 @@ template<>
|
||||
struct from_sqlite<string_fragment> {
|
||||
inline string_fragment operator()(int argc, sqlite3_value **val, int argi) {
|
||||
return string_fragment {
|
||||
sqlite3_value_text(val[argi]),
|
||||
(const unsigned char *) sqlite3_value_blob(val[argi]),
|
||||
0,
|
||||
sqlite3_value_bytes(val[argi]),
|
||||
};
|
||||
@ -154,7 +154,10 @@ struct from_sqlite<string_fragment> {
|
||||
template<>
|
||||
struct from_sqlite<std::string> {
|
||||
inline std::string operator()(int argc, sqlite3_value **val, int argi) {
|
||||
return std::string((const char *) sqlite3_value_text(val[argi]));
|
||||
return {
|
||||
(const char *) sqlite3_value_blob(val[argi]),
|
||||
(size_t) sqlite3_value_bytes(val[argi]),
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
@ -205,12 +208,18 @@ inline void to_sqlite(sqlite3_context *ctx, const char *str)
|
||||
}
|
||||
}
|
||||
|
||||
inline void to_sqlite(sqlite3_context *ctx, auto_buffer& buf)
|
||||
inline void to_sqlite(sqlite3_context *ctx, text_auto_buffer& buf)
|
||||
{
|
||||
auto pair = buf.release();
|
||||
auto pair = buf.inner.release();
|
||||
sqlite3_result_text(ctx, pair.first, pair.second, free);
|
||||
}
|
||||
|
||||
inline void to_sqlite(sqlite3_context *ctx, blob_auto_buffer& buf)
|
||||
{
|
||||
auto pair = buf.inner.release();
|
||||
sqlite3_result_blob(ctx, pair.first, pair.second, free);
|
||||
}
|
||||
|
||||
inline void to_sqlite(sqlite3_context *ctx, const std::string &str)
|
||||
{
|
||||
sqlite3_result_text(ctx, str.c_str(), str.length(), SQLITE_TRANSIENT);
|
||||
|
@ -1233,11 +1233,11 @@ Parameter
|
||||
X The unicode code point values
|
||||
See Also
|
||||
charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), unicode(), upper(), xpath()
|
||||
Example
|
||||
#1 To get a string with the code points 0x48 and 0x49:
|
||||
;SELECT char(0x48, 0x49)
|
||||
@ -1253,9 +1253,9 @@ Parameters
|
||||
haystack The string to search within
|
||||
start The one-based index within the haystack to start the search
|
||||
See Also
|
||||
char(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
char(), endswith(), extract(), group_concat(), group_spooky_hash(), gunzip(),
|
||||
gzip(), humanize_file_size(), instr(), leftstr(), length(), logfmt2json(),
|
||||
lower(), ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
@ -1404,9 +1404,9 @@ Parameters
|
||||
str The string to test
|
||||
suffix The suffix to check in the string
|
||||
See Also
|
||||
char(), charindex(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
char(), charindex(), extract(), group_concat(), group_spooky_hash(), gunzip(),
|
||||
gzip(), humanize_file_size(), instr(), leftstr(), length(), logfmt2json(),
|
||||
lower(), ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
@ -1439,9 +1439,9 @@ Synopsis
|
||||
Parameter
|
||||
str The string to parse
|
||||
See Also
|
||||
char(), charindex(), endswith(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
char(), charindex(), endswith(), group_concat(), group_spooky_hash(), gunzip(),
|
||||
gzip(), humanize_file_size(), instr(), leftstr(), length(), logfmt2json(),
|
||||
lower(), ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
@ -1546,9 +1546,9 @@ Parameters
|
||||
X The value to concatenate.
|
||||
sep The separator to place between the values.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
char(), charindex(), endswith(), extract(), group_spooky_hash(), gunzip(),
|
||||
gzip(), humanize_file_size(), instr(), leftstr(), length(), logfmt2json(),
|
||||
lower(), ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
@ -1574,7 +1574,7 @@ Synopsis
|
||||
Parameter
|
||||
str The string to hash
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(),
|
||||
char(), charindex(), endswith(), extract(), group_concat(), gunzip(), gzip(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
@ -1586,6 +1586,30 @@ Example
|
||||
|
||||
|
||||
|
||||
Synopsis
|
||||
gunzip(b, ...) -- Decompress a gzip file
|
||||
Parameter
|
||||
b The blob to decompress
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
gzip(), humanize_file_size(), instr(), leftstr(), length(), logfmt2json(),
|
||||
lower(), ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
|
||||
Synopsis
|
||||
gzip(value, ...) -- Compress a string into a gzip file
|
||||
Parameter
|
||||
value The value to compress
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
gunzip(), humanize_file_size(), instr(), leftstr(), length(), logfmt2json(),
|
||||
lower(), ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
|
||||
Synopsis
|
||||
hex(X) -- Returns a string which is the upper-case hexadecimal rendering of
|
||||
the content of its argument.
|
||||
@ -1605,11 +1629,11 @@ Parameter
|
||||
value The file size to format
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
instr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
|
||||
padr(), printf(), proper(), regexp_capture(), regexp_match(), regexp_replace(),
|
||||
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
|
||||
spooky_hash(), startswith(), strfilter(), substr(), trim(), unicode(), upper(),
|
||||
xpath()
|
||||
gunzip(), gzip(), instr(), leftstr(), length(), logfmt2json(), lower(), ltrim(),
|
||||
padc(), padl(), padr(), printf(), proper(), regexp_capture(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
Example
|
||||
#1 To format an amount:
|
||||
;SELECT humanize_file_size(10 * 1024 * 1024)
|
||||
@ -1638,11 +1662,11 @@ Parameters
|
||||
needle The string to look for in the haystack
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), leftstr(), length(), logfmt2json(), lower(), ltrim(),
|
||||
padc(), padl(), padr(), printf(), proper(), regexp_capture(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), leftstr(), length(), logfmt2json(),
|
||||
lower(), ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
Example
|
||||
#1 To test get the position of 'b' in the string 'abc':
|
||||
;SELECT instr('abc', 'b')
|
||||
@ -1844,11 +1868,11 @@ Parameters
|
||||
N The number of characters from the left side of the string to return.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), length(), logfmt2json(), lower(), ltrim(),
|
||||
padc(), padl(), padr(), printf(), proper(), regexp_capture(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), length(), logfmt2json(),
|
||||
lower(), ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To get the first character of the string 'abc':
|
||||
;SELECT leftstr('abc', 1)
|
||||
@ -1866,11 +1890,11 @@ Parameter
|
||||
str The string to determine the length of
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), logfmt2json(), lower(), ltrim(),
|
||||
padc(), padl(), padr(), printf(), proper(), regexp_capture(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), logfmt2json(),
|
||||
lower(), ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
Example
|
||||
#1 To get the length of the string 'abc':
|
||||
;SELECT length('abc')
|
||||
@ -1970,11 +1994,11 @@ Parameter
|
||||
str The logfmt message to parse
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), lower(), ltrim(), padc(),
|
||||
padl(), padr(), printf(), proper(), regexp_capture(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
Example
|
||||
#1 To extract key/value pairs from a log message:
|
||||
;SELECT logfmt2json('foo=1 bar=2 name="Rolo Tomassi"')
|
||||
@ -1988,11 +2012,11 @@ Parameter
|
||||
str The string to convert.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), ltrim(),
|
||||
padc(), padl(), padr(), printf(), proper(), regexp_capture(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), unicode(), upper(), xpath()
|
||||
Example
|
||||
#1 To lowercase the string 'AbC':
|
||||
;SELECT lower('AbC')
|
||||
@ -2008,11 +2032,11 @@ Parameters
|
||||
chars The characters to trim. Defaults to spaces.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
padc(), padl(), padr(), printf(), proper(), regexp_capture(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To trim the leading whitespace from the string ' abc':
|
||||
;SELECT ltrim(' abc')
|
||||
@ -2107,11 +2131,11 @@ Parameters
|
||||
len The minimum desired length of the output string
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padl(), padr(), printf(), proper(), regexp_capture(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To pad the string 'abc' to a length of six characters:
|
||||
;SELECT padc('abc', 6) || 'def'
|
||||
@ -2130,11 +2154,11 @@ Parameters
|
||||
len The minimum desired length of the output string
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padr(), printf(), proper(), regexp_capture(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To pad the string 'abc' to a length of six characters:
|
||||
;SELECT padl('abc', 6)
|
||||
@ -2153,11 +2177,11 @@ Parameters
|
||||
len The minimum desired length of the output string
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), printf(), proper(), regexp_capture(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To pad the string 'abc' to a length of six characters:
|
||||
;SELECT padr('abc', 6) || 'def'
|
||||
@ -2210,11 +2234,11 @@ Parameters
|
||||
X The argument to substitute at a given position in the format.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), proper(), regexp_capture(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To substitute 'World' into the string 'Hello, %s!':
|
||||
;SELECT printf('Hello, %s!', 'World')
|
||||
@ -2235,11 +2259,11 @@ Parameter
|
||||
str The string to capitalize.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), regexp_capture(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), unicode(), upper(), xpath()
|
||||
Example
|
||||
#1 To capitalize the words in the string 'hello, world!':
|
||||
;SELECT proper('hello, world!')
|
||||
@ -2340,11 +2364,11 @@ Results
|
||||
content The captured value from the string.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_match(),
|
||||
regexp_replace(), replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
Example
|
||||
#1 To extract the key/value pairs 'a'/1 and 'b'/2 from the string 'a=1; b=2':
|
||||
;SELECT * FROM regexp_capture('a=1; b=2', '(\w+)=(\d+)')
|
||||
@ -2359,11 +2383,11 @@ Parameters
|
||||
str The string to test against the regular expression
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_replace(), regexp_replace(), replace(), replicate(), reverse(),
|
||||
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(),
|
||||
substr(), trim(), unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_replace(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To capture the digits from the string '123':
|
||||
;SELECT regexp_match('(\d+)', '123')
|
||||
@ -2390,11 +2414,11 @@ Parameters
|
||||
backslash followed by the number of the group, starting with 1.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_match(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_match(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To replace the word at the start of the string 'Hello, World!' with 'Goodbye':
|
||||
;SELECT regexp_replace('Hello, World!', '^(\w+)', 'Goodbye')
|
||||
@ -2415,11 +2439,11 @@ Parameters
|
||||
replacement The string to replace any occurrences of the old string with.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replicate(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replicate(), reverse(),
|
||||
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(),
|
||||
substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To replace the string 'x' with 'z' in 'abc':
|
||||
;SELECT replace('abc', 'x', 'z')
|
||||
@ -2437,11 +2461,11 @@ Parameters
|
||||
N The number of times to replicate the string.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), reverse(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), reverse(),
|
||||
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(),
|
||||
substr(), trim(), unicode(), upper(), xpath()
|
||||
Example
|
||||
#1 To repeat the string 'abc' three times:
|
||||
;SELECT replicate('abc', 3)
|
||||
@ -2454,11 +2478,11 @@ Parameter
|
||||
str The string to reverse.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), rightstr(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(),
|
||||
substr(), trim(), unicode(), upper(), xpath()
|
||||
Example
|
||||
#1 To reverse the string 'abc':
|
||||
;SELECT reverse('abc')
|
||||
@ -2473,11 +2497,11 @@ Parameters
|
||||
N The number of characters from the right side of the string to return.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rtrim(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(),
|
||||
substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To get the last character of the string 'abc':
|
||||
;SELECT rightstr('abc', 1)
|
||||
@ -2534,11 +2558,11 @@ Parameters
|
||||
chars The characters to trim. Defaults to spaces.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
sparkline(), spooky_hash(), startswith(), strfilter(), substr(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), sparkline(), spooky_hash(), startswith(), strfilter(),
|
||||
substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To trim the whitespace from the end of the string 'abc ':
|
||||
;SELECT rtrim('abc ')
|
||||
@ -2583,11 +2607,11 @@ Parameters
|
||||
inputs.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), spooky_hash(), startswith(), strfilter(), substr(), trim(), unicode(),
|
||||
upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), spooky_hash(), startswith(), strfilter(),
|
||||
substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To get the unicode block element for the value 32 in the range of 0-128:
|
||||
;SELECT sparkline(32, 128)
|
||||
@ -2604,11 +2628,11 @@ Parameter
|
||||
str The string to hash
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), startswith(), strfilter(), substr(), trim(), unicode(),
|
||||
upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), startswith(), strfilter(),
|
||||
substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To produce a hash for the string 'Hello, World!':
|
||||
;SELECT spooky_hash('Hello, World!')
|
||||
@ -2677,11 +2701,11 @@ Parameters
|
||||
prefix The prefix to check in the string
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), strfilter(), substr(), trim(), unicode(),
|
||||
upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), strfilter(),
|
||||
substr(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To test if the string 'foobar' starts with 'foo':
|
||||
;SELECT startswith('foobar', 'foo')
|
||||
@ -2700,11 +2724,11 @@ Parameters
|
||||
include The characters to include in the result
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), substr(), trim(), unicode(),
|
||||
upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
substr(), trim(), unicode(), upper(), xpath()
|
||||
Example
|
||||
#1 To get the 'b', 'c', and 'd' characters from the string 'abcabc':
|
||||
;SELECT strfilter('abcabc', 'bcd')
|
||||
@ -2749,11 +2773,11 @@ Parameters
|
||||
the characters before the start are returned.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), trim(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), trim(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To get the substring starting at the second character until the end of the string 'abc'
|
||||
:
|
||||
@ -2882,11 +2906,11 @@ Parameters
|
||||
chars The characters to trim. Defaults to spaces.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
unicode(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), unicode(), upper(), xpath()
|
||||
Examples
|
||||
#1 To trim whitespace from the start and end of the string ' abc ':
|
||||
;SELECT trim(' abc ')
|
||||
@ -2920,11 +2944,11 @@ Parameter
|
||||
X The string to examine.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), upper(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), upper(), xpath()
|
||||
Example
|
||||
#1 To get the unicode code point for the first character of 'abc':
|
||||
;SELECT unicode('abc')
|
||||
@ -2944,11 +2968,11 @@ Parameter
|
||||
str The string to convert.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), xpath()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), unicode(), xpath()
|
||||
Example
|
||||
#1 To uppercase the string 'aBc':
|
||||
;SELECT upper('aBc')
|
||||
@ -2968,11 +2992,11 @@ Results
|
||||
node_text The node's text value.
|
||||
See Also
|
||||
char(), charindex(), endswith(), extract(), group_concat(), group_spooky_hash(),
|
||||
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), lower(),
|
||||
ltrim(), padc(), padl(), padr(), printf(), proper(), regexp_capture(),
|
||||
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
|
||||
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), substr(),
|
||||
trim(), unicode(), upper()
|
||||
gunzip(), gzip(), humanize_file_size(), instr(), leftstr(), length(),
|
||||
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), printf(), proper(),
|
||||
regexp_capture(), regexp_match(), regexp_replace(), replace(), replicate(),
|
||||
reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
|
||||
strfilter(), substr(), trim(), unicode(), upper()
|
||||
Examples
|
||||
#1 To select the XML nodes on the path '/abc/def':
|
||||
;SELECT * FROM xpath('/abc/def', '<abc><def a="b">Hello</def><def>Bye</def></abc>')
|
||||
|
@ -1,5 +1,19 @@
|
||||
#! /bin/bash
|
||||
|
||||
run_test ./drive_sql "select length(gzip(1))"
|
||||
|
||||
check_output "gzip is not compressing correctly?" <<EOF
|
||||
Row 0:
|
||||
Column length(gzip(1)): 21
|
||||
EOF
|
||||
|
||||
run_test ./drive_sql "select gunzip(gzip(1))"
|
||||
|
||||
check_output "gzip is not compressing correctly?" <<EOF
|
||||
Row 0:
|
||||
Column gunzip(gzip(1)): 1
|
||||
EOF
|
||||
|
||||
run_test ./drive_sql "select humanize_file_size()"
|
||||
|
||||
check_error_output "" <<EOF
|
||||
|
Loading…
Reference in New Issue
Block a user