[sql] add humanize_id function

Related to #1061
pull/1265/head
Tim Stack 2 months ago
parent 980900e899
commit 03d000736f

@ -7,6 +7,8 @@ Features:
of values over time. of values over time.
* The preview for the `:open` command will now show a listing * The preview for the `:open` command will now show a listing
of archive contents. of archive contents.
* Added `humanize_id` SQL function that colorizes a string using
ANSI escape codes.
Bug Fixes: Bug Fixes:
* With the recent xz backdoor shenanigans, it seems like a good * With the recent xz backdoor shenanigans, it seems like a good

@ -29,6 +29,7 @@
#include "db_sub_source.hh" #include "db_sub_source.hh"
#include "base/ansi_scrubber.hh"
#include "base/date_time_scanner.hh" #include "base/date_time_scanner.hh"
#include "base/itertools.hh" #include "base/itertools.hh"
#include "base/time_util.hh" #include "base/time_util.hh"
@ -52,6 +53,7 @@ db_label_source::text_value_for_line(textview_curses& tc,
*/ */
label_out.clear(); label_out.clear();
this->dls_ansi_attrs.clear();
if (row < 0_vl || row >= (int) this->dls_rows.size()) { if (row < 0_vl || row >= (int) this->dls_rows.size()) {
return; return;
} }
@ -59,7 +61,8 @@ db_label_source::text_value_for_line(textview_curses& tc,
auto actual_col_size = std::min(this->dls_max_column_width, auto actual_col_size = std::min(this->dls_max_column_width,
this->dls_headers[lpc].hm_column_size); this->dls_headers[lpc].hm_column_size);
auto cell_str = scrub_ws(this->dls_rows[row][lpc]); auto cell_str = scrub_ws(this->dls_rows[row][lpc]);
string_attrs_t cell_attrs;
scrub_ansi_string(cell_str, &cell_attrs);
truncate_to(cell_str, this->dls_max_column_width); truncate_to(cell_str, this->dls_max_column_width);
auto cell_length auto cell_length
@ -69,11 +72,15 @@ db_label_source::text_value_for_line(textview_curses& tc,
if (this->dls_headers[lpc].hm_column_type != SQLITE3_TEXT) { if (this->dls_headers[lpc].hm_column_type != SQLITE3_TEXT) {
label_out.append(padding, ' '); label_out.append(padding, ' ');
} }
shift_string_attrs(cell_attrs, 0, label_out.size());
label_out.append(cell_str); label_out.append(cell_str);
if (this->dls_headers[lpc].hm_column_type == SQLITE3_TEXT) { if (this->dls_headers[lpc].hm_column_type == SQLITE3_TEXT) {
label_out.append(padding, ' '); label_out.append(padding, ' ');
} }
label_out.append(1, ' '); label_out.append(1, ' ');
this->dls_ansi_attrs.insert(
this->dls_ansi_attrs.end(), cell_attrs.begin(), cell_attrs.end());
} }
} }
@ -88,6 +95,7 @@ db_label_source::text_attrs_for_line(textview_curses& tc,
if (row < 0_vl || row >= (int) this->dls_rows.size()) { if (row < 0_vl || row >= (int) this->dls_rows.size()) {
return; return;
} }
sa = this->dls_ansi_attrs;
auto alt_row_index = row % 4; auto alt_row_index = row % 4;
if (alt_row_index == 2 || alt_row_index == 3) { if (alt_row_index == 2 || alt_row_index == 3) {
sa.emplace_back(lr2, VC_ROLE.value(role_t::VCR_ALT_ROW)); sa.emplace_back(lr2, VC_ROLE.value(role_t::VCR_ALT_ROW));

@ -117,6 +117,7 @@ public:
nonstd::optional<size_t> dls_time_column_invalidated_at; nonstd::optional<size_t> dls_time_column_invalidated_at;
std::unique_ptr<ArenaAlloc::Alloc<char>> dls_allocator{ std::unique_ptr<ArenaAlloc::Alloc<char>> dls_allocator{
std::make_unique<ArenaAlloc::Alloc<char>>(64 * 1024)}; std::make_unique<ArenaAlloc::Alloc<char>>(64 * 1024)};
string_attrs_t dls_ansi_attrs;
static const char NULL_STR[]; static const char NULL_STR[];
}; };

@ -509,7 +509,7 @@ anonymize(*value*)
Aback, 10.0.0.1 Aback, 10.0.0.1
**See Also** **See Also**
:ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -815,7 +815,7 @@ char(*X*)
HI HI
**See Also** **See Also**
:ref:`anonymize`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -848,7 +848,7 @@ charindex(*needle*, *haystack*, *\[start\]*)
0 0
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -1016,7 +1016,7 @@ decode(*value*, *algorithm*)
curl curl
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -1162,7 +1162,7 @@ encode(*value*, *algorithm*)
Hello%2C%20World%21 Hello%2C%20World%21
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -1194,7 +1194,7 @@ endswith(*str*, *suffix*)
0 0
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -1251,7 +1251,7 @@ extract(*str*)
{"col_0":1.0,"col_1":2.0} {"col_0":1.0,"col_1":2.0}
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -1481,7 +1481,7 @@ group_concat(*X*, *\[sep\]*)
hw,gw hw,gw
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -1505,7 +1505,7 @@ group_spooky_hash(*str*)
4e7a190aead058cb123c94290f29c34a 4e7a190aead058cb123c94290f29c34a
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -1521,7 +1521,7 @@ gunzip(*b*)
* **b** --- The blob to decompress * **b** --- The blob to decompress
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -1537,7 +1537,7 @@ gzip(*value*)
* **value** --- The value to compress * **value** --- The value to compress
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -1592,7 +1592,7 @@ humanize_duration(*secs*)
1s500 1s500
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`date`, :ref:`datetime`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`julianday`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`strftime`, :ref:`substr`, :ref:`time`, :ref:`timediff`, :ref:`timeslice`, :ref:`timezone`, :ref:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`date`, :ref:`datetime`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`julianday`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`strftime`, :ref:`substr`, :ref:`time`, :ref:`timediff`, :ref:`timeslice`, :ref:`timezone`, :ref:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -1618,7 +1618,33 @@ humanize_file_size(*value*)
10.0MB 10.0MB
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
----
.. _humanize_id:
humanize_id(*id*)
^^^^^^^^^^^^^^^^^
Colorize the given ID using ANSI escape codes.
**PRQL Name**: humanize.id
**Parameters**
* **id\*** --- The identifier to color
**Examples**
To colorize the ID 'cluster1':
.. code-block:: custsqlite
;SELECT humanize_id('cluster1')
cluster1
**See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -1666,7 +1692,7 @@ instr(*haystack*, *needle*)
2 2
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -2487,7 +2513,7 @@ leftstr(*str*, *N*)
abc abc
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -2511,7 +2537,7 @@ length(*str*)
3 3
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -2724,7 +2750,7 @@ logfmt2json(*str*)
{"foo":1,"bar":2,"name":"Rolo Tomassi"} {"foo":1,"bar":2,"name":"Rolo Tomassi"}
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -2748,7 +2774,7 @@ lower(*str*)
abc abc
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -2780,7 +2806,7 @@ ltrim(*str*, *\[chars\]*)
c c
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -2937,7 +2963,7 @@ padc(*str*, *len*)
abcdef ghi abcdef ghi
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -2969,7 +2995,7 @@ padl(*str*, *len*)
abcdef abcdef
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3001,7 +3027,7 @@ padr(*str*, *len*)
abcdefghi abcdefghi
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3032,7 +3058,7 @@ parse_url(*url*)
{"scheme":"https","username":"alice","password":null,"host":"[fe80::14ff:4ee5:1215:2fb2]","port":null,"path":"/","query":null,"parameters":null,"fragment":null} {"scheme":"https","username":"alice","password":null,"host":"[fe80::14ff:4ee5:1215:2fb2]","port":null,"path":"/","query":null,"parameters":null,"fragment":null}
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :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_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :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_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3130,7 +3156,7 @@ printf(*format*, *X*)
value: 00011 value: 00011
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3154,7 +3180,7 @@ proper(*str*)
Hello, World! Hello, World!
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3353,7 +3379,7 @@ regexp_capture(*string*, *pattern*)
1 2 <NULL> 3 8 9 2 1 2 <NULL> 3 8 9 2
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3381,7 +3407,7 @@ regexp_capture_into_json(*string*, *pattern*, *\[options\]*)
1 {"col_0⋯l_1":2} 1 {"col_0⋯l_1":2}
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3422,7 +3448,7 @@ regexp_match(*re*, *str*)
{"num":123,"str":"four"} {"num":123,"str":"four"}
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3457,7 +3483,7 @@ regexp_replace(*str*, *re*, *repl*)
<123> <abc> <123> <abc>
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3490,7 +3516,7 @@ replace(*str*, *old*, *replacement*)
zbc zbc
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3515,7 +3541,7 @@ replicate(*str*, *N*)
abcabcabc abcabcabc
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3541,7 +3567,7 @@ reverse(*str*)
cba cba
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3573,7 +3599,7 @@ rightstr(*str*, *N*)
abc abc
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3669,7 +3695,7 @@ rtrim(*str*, *\[chars\]*)
a a
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3763,7 +3789,7 @@ sparkline(*value*, *\[upper\]*)
▁▂▃▄▅▆▇█ ▁▂▃▄▅▆▇█
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3808,7 +3834,7 @@ spooky_hash(*str*)
f96b3d9c1a19f4394c97a1b79b1880df f96b3d9c1a19f4394c97a1b79b1880df
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3922,7 +3948,7 @@ startswith(*str*, *prefix*)
0 0
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -3947,7 +3973,7 @@ strfilter(*source*, *include*)
bcbc bcbc
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -4034,7 +4060,7 @@ substr(*str*, *start*, *\[size\]*)
b b
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -4205,7 +4231,7 @@ timezone(*tz*, *ts*)
2022-03-02T02:00:00.000000-0800 2022-03-02T02:00:00.000000-0800
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`date`, :ref:`datetime`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`julianday`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`strftime`, :ref:`substr`, :ref:`time`, :ref:`timediff`, :ref:`timeslice`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`date`, :ref:`datetime`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`julianday`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`strftime`, :ref:`substr`, :ref:`time`, :ref:`timediff`, :ref:`timeslice`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -4272,7 +4298,7 @@ trim(*str*, *\[chars\]*)
abc abc
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -4325,7 +4351,7 @@ unicode(*X*)
97 97
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unparse_url`, :ref:`upper`, :ref:`xpath`
---- ----
@ -4363,7 +4389,7 @@ unparse_url(*obj*)
https://example.com/ https://example.com/
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`upper`, :ref:`xpath`
---- ----
@ -4387,7 +4413,7 @@ upper(*str*)
ABC ABC
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`xpath` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`xpath`
---- ----
@ -4430,7 +4456,7 @@ xpath(*xpath*, *xmldoc*)
Hello ★ /abc/def/text() {} Hello ★ Hello ★ /abc/def/text() {} Hello ★
**See Also** **See Also**
:ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper` :ref:`anonymize`, :ref:`char`, :ref:`charindex`, :ref:`decode`, :ref:`encode`, :ref:`endswith`, :ref:`extract`, :ref:`group_concat`, :ref:`group_spooky_hash_agg`, :ref:`gunzip`, :ref:`gzip`, :ref:`humanize_duration`, :ref:`humanize_file_size`, :ref:`humanize_id`, :ref:`instr`, :ref:`leftstr`, :ref:`length`, :ref:`logfmt2json`, :ref:`lower`, :ref:`ltrim`, :ref:`padc`, :ref:`padl`, :ref:`padr`, :ref:`parse_url`, :ref:`printf`, :ref:`proper`, :ref:`regexp_capture_into_json`, :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:`timezone`, :ref:`trim`, :ref:`unicode`, :ref:`unparse_url`, :ref:`upper`
---- ----

@ -35,6 +35,7 @@
#include "spookyhash/SpookyV2.h" #include "spookyhash/SpookyV2.h"
#include "sqlite-extension-func.hh" #include "sqlite-extension-func.hh"
#include "text_anonymizer.hh" #include "text_anonymizer.hh"
#include "view_curses.hh"
#include "vtab_module.hh" #include "vtab_module.hh"
#include "vtab_module_json.hh" #include "vtab_module_json.hh"
#include "yajl/api/yajl_gen.h" #include "yajl/api/yajl_gen.h"
@ -879,6 +880,17 @@ extract(const char* str)
return json_string(gen); return json_string(gen);
} }
static std::string
sql_humanize_id(string_fragment id)
{
auto& vc = view_colors::singleton();
auto attrs = vc.attrs_for_ident(id.data(), id.length());
return fmt::format(FMT_STRING("\x1b[38;5;{}m{}\x1b[0m"),
attrs.ta_fg_color.value_or(COLOR_CYAN),
id);
}
int int
string_extension_functions(struct FuncDef** basic_funcs, string_extension_functions(struct FuncDef** basic_funcs,
struct FuncDefAgg** agg_funcs) struct FuncDefAgg** agg_funcs)
@ -963,6 +975,18 @@ string_extension_functions(struct FuncDef** basic_funcs,
"SELECT humanize_file_size(10 * 1024 * 1024)", "SELECT humanize_file_size(10 * 1024 * 1024)",
})), })),
sqlite_func_adapter<decltype(&sql_humanize_id), sql_humanize_id>::
builder(help_text("humanize_id",
"Colorize the given ID using ANSI escape codes.")
.sql_function()
.with_prql_path({"humanize", "id"})
.with_parameter({"id", "The identifier to color"})
.with_tags({"string"})
.with_example({
"To colorize the ID 'cluster1'",
"SELECT humanize_id('cluster1')",
})),
sqlite_func_adapter<decltype(&humanize::sparkline), sqlite_func_adapter<decltype(&humanize::sparkline),
humanize::sparkline>:: humanize::sparkline>::
builder( builder(

@ -1180,21 +1180,17 @@ view_colors::color_for_ident(const char* str, size_t len) const
auto index = crc32(1, (const Bytef*) str, len); auto index = crc32(1, (const Bytef*) str, len);
int retval; int retval;
if (COLORS >= 256) { if (str[0] == '#' && (len == 4 || len == 7)) {
if (str[0] == '#' && (len == 4 || len == 7)) { auto fg_res
auto fg_res = styling::color_unit::from_str(string_fragment(str, 0, len));
= styling::color_unit::from_str(string_fragment(str, 0, len)); if (fg_res.isOk()) {
if (fg_res.isOk()) { return this->match_color(fg_res.unwrap());
return this->match_color(fg_res.unwrap());
}
} }
auto offset = index % HI_COLOR_COUNT;
retval = this->vc_highlight_colors[offset];
} else {
retval = -1;
} }
auto offset = index % HI_COLOR_COUNT;
retval = this->vc_highlight_colors[offset];
return retval; return retval;
} }

@ -996,6 +996,8 @@ EXPECTED_FILES = \
$(srcdir)/%reldir%/test_sql_str_func.sh_04712488fe50554eb36d3ced80f9a033602f3daa.out \ $(srcdir)/%reldir%/test_sql_str_func.sh_04712488fe50554eb36d3ced80f9a033602f3daa.out \
$(srcdir)/%reldir%/test_sql_str_func.sh_0947bfe7ec626eaa0409a45b10fcbb634fb12eb7.err \ $(srcdir)/%reldir%/test_sql_str_func.sh_0947bfe7ec626eaa0409a45b10fcbb634fb12eb7.err \
$(srcdir)/%reldir%/test_sql_str_func.sh_0947bfe7ec626eaa0409a45b10fcbb634fb12eb7.out \ $(srcdir)/%reldir%/test_sql_str_func.sh_0947bfe7ec626eaa0409a45b10fcbb634fb12eb7.out \
$(srcdir)/%reldir%/test_sql_str_func.sh_0db1c1b406ba6ef2dadcbe90a3fdbe794a664eb5.err \
$(srcdir)/%reldir%/test_sql_str_func.sh_0db1c1b406ba6ef2dadcbe90a3fdbe794a664eb5.out \
$(srcdir)/%reldir%/test_sql_str_func.sh_11bcc5d32eabbedb6974f160dace9ef1ef0009e9.err \ $(srcdir)/%reldir%/test_sql_str_func.sh_11bcc5d32eabbedb6974f160dace9ef1ef0009e9.err \
$(srcdir)/%reldir%/test_sql_str_func.sh_11bcc5d32eabbedb6974f160dace9ef1ef0009e9.out \ $(srcdir)/%reldir%/test_sql_str_func.sh_11bcc5d32eabbedb6974f160dace9ef1ef0009e9.out \
$(srcdir)/%reldir%/test_sql_str_func.sh_11d458fdadd00df1239a0eeaac049abb49ed212d.err \ $(srcdir)/%reldir%/test_sql_str_func.sh_11d458fdadd00df1239a0eeaac049abb49ed212d.err \

@ -1984,9 +1984,9 @@ For support questions, email:
See Also See Also
char(), charindex(), decode(), encode(), endswith(), extract(), char(), charindex(), decode(), encode(), endswith(), extract(),
group_concat(), group_spooky_hash(), gunzip(), gzip(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -2175,9 +2175,9 @@ For support questions, email:
See Also See Also
anonymize(), charindex(), decode(), encode(), endswith(), extract(), anonymize(), charindex(), decode(), encode(), endswith(), extract(),
group_concat(), group_spooky_hash(), gunzip(), gzip(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -2201,9 +2201,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), decode(), encode(), endswith(), extract(), anonymize(), char(), decode(), encode(), endswith(), extract(),
group_concat(), group_spooky_hash(), gunzip(), gzip(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -2316,9 +2316,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), encode(), endswith(), extract(), anonymize(), char(), charindex(), encode(), endswith(), extract(),
group_concat(), group_spooky_hash(), gunzip(), gzip(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -2402,9 +2402,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), endswith(), extract(), anonymize(), char(), charindex(), decode(), endswith(), extract(),
group_concat(), group_spooky_hash(), gunzip(), gzip(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -2432,9 +2432,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), extract(), anonymize(), char(), charindex(), decode(), encode(), extract(),
group_concat(), group_spooky_hash(), gunzip(), gzip(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -2473,9 +2473,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
group_concat(), group_spooky_hash(), gunzip(), gzip(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -2625,13 +2625,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_spooky_hash(), gunzip(), gzip(), humanize_duration(), extract(), group_spooky_hash(), gunzip(), gzip(), humanize_duration(),
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), humanize_file_size(), humanize_id(), instr(), leftstr(), length(),
lower(), ltrim(), padc(), padl(), padr(), parse_url(), printf(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), parse_url(),
proper(), regexp_capture(), regexp_capture_into_json(), regexp_match(), printf(), proper(), regexp_capture(), regexp_capture_into_json(),
regexp_replace(), replace(), replicate(), reverse(), rightstr(), regexp_match(), regexp_replace(), replace(), replicate(), reverse(),
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
substr(), timezone(), trim(), unicode(), unparse_url(), upper(), strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(),
xpath() upper(), xpath()
Examples Examples
#1 To concatenate the values of the column 'ex_procname' from the table #1 To concatenate the values of the column 'ex_procname' from the table
'lnav_example_log': 'lnav_example_log':
@ -2656,13 +2656,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), gunzip(), gzip(), humanize_duration(), extract(), group_concat(), gunzip(), gzip(), humanize_duration(),
humanize_file_size(), instr(), leftstr(), length(), logfmt2json(), humanize_file_size(), humanize_id(), instr(), leftstr(), length(),
lower(), ltrim(), padc(), padl(), padr(), parse_url(), printf(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), parse_url(),
proper(), regexp_capture(), regexp_capture_into_json(), regexp_match(), printf(), proper(), regexp_capture(), regexp_capture_into_json(),
regexp_replace(), replace(), replicate(), reverse(), rightstr(), regexp_match(), regexp_replace(), replace(), replicate(), reverse(),
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
substr(), timezone(), trim(), unicode(), unparse_url(), upper(), strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(),
xpath() upper(), xpath()
Example Example
#1 To produce a hash of all of the values of 'column1': #1 To produce a hash of all of the values of 'column1':
;SELECT group_spooky_hash(column1) FROM (VALUES ('abc'), ('123')) ;SELECT group_spooky_hash(column1) FROM (VALUES ('abc'), ('123'))
@ -2677,9 +2677,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gzip(), extract(), group_concat(), group_spooky_hash(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -2693,9 +2693,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), extract(), group_concat(), group_spooky_hash(), gunzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -2722,14 +2722,14 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), date(), datetime(), decode(), anonymize(), char(), charindex(), date(), datetime(), decode(),
encode(), endswith(), extract(), group_concat(), group_spooky_hash(), encode(), endswith(), extract(), group_concat(), group_spooky_hash(),
gunzip(), gzip(), humanize_file_size(), instr(), julianday(), gunzip(), gzip(), humanize_file_size(), humanize_id(), instr(),
leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(), julianday(), leftstr(), length(), logfmt2json(), lower(), ltrim(),
padr(), parse_url(), printf(), proper(), regexp_capture(), padc(), padl(), padr(), parse_url(), printf(), proper(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture(), regexp_capture_into_json(), regexp_match(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), regexp_replace(), replace(), replicate(), reverse(), rightstr(),
spooky_hash(), startswith(), strfilter(), strftime(), substr(), time(), rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(),
timediff(), timeslice(), timezone(), timezone(), trim(), unicode(), strftime(), substr(), time(), timediff(), timeslice(), timezone(),
unparse_url(), upper(), xpath() timezone(), trim(), unicode(), unparse_url(), upper(), xpath()
Examples Examples
#1 To format a duration: #1 To format a duration:
;SELECT humanize_duration(15 * 60)  ;SELECT humanize_duration(15 * 60) 
@ -2748,19 +2748,40 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), instr(), leftstr(), length(), logfmt2json(), humanize_duration(), humanize_id(), instr(), leftstr(), length(),
lower(), ltrim(), padc(), padl(), padr(), parse_url(), printf(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), parse_url(),
proper(), regexp_capture(), regexp_capture_into_json(), regexp_match(), printf(), proper(), regexp_capture(), regexp_capture_into_json(),
regexp_replace(), replace(), replicate(), reverse(), rightstr(), regexp_match(), regexp_replace(), replace(), replicate(), reverse(),
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
substr(), timezone(), trim(), unicode(), unparse_url(), upper(), strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(),
xpath() upper(), xpath()
Example Example
#1 To format an amount: #1 To format an amount:
;SELECT humanize_file_size(10 * 1024 * 1024)  ;SELECT humanize_file_size(10 * 1024 * 1024) 
humanize_id(id)
══════════════════════════════════════════════════════════════════════
Colorize the given ID using ANSI escape codes.
Parameter
id The identifier to color
See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(),
parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
unicode(), unparse_url(), upper(), xpath()
Example
#1 To colorize the ID 'cluster1':
;SELECT humanize_id('cluster1') 
ifnull(X, Y) ifnull(X, Y)
══════════════════════════════════════════════════════════════════════ ══════════════════════════════════════════════════════════════════════
Returns a copy of its first non-NULL argument, or NULL if both Returns a copy of its first non-NULL argument, or NULL if both
@ -2786,13 +2807,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), leftstr(), length(), humanize_duration(), humanize_file_size(), humanize_id(), leftstr(),
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), parse_url(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(),
printf(), proper(), regexp_capture(), regexp_capture_into_json(), parse_url(), printf(), proper(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
upper(), xpath() unicode(), unparse_url(), upper(), xpath()
Example Example
#1 To test get the position of 'b' in the string 'abc': #1 To test get the position of 'b' in the string 'abc':
;SELECT instr('abc', 'b')  ;SELECT instr('abc', 'b') 
@ -3364,13 +3385,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), length(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), parse_url(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(),
printf(), proper(), regexp_capture(), regexp_capture_into_json(), parse_url(), printf(), proper(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
upper(), xpath() unicode(), unparse_url(), upper(), xpath()
Examples Examples
#1 To get the first character of the string 'abc': #1 To get the first character of the string 'abc':
;SELECT leftstr('abc', 1)  ;SELECT leftstr('abc', 1) 
@ -3390,13 +3411,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), parse_url(), leftstr(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(),
printf(), proper(), regexp_capture(), regexp_capture_into_json(), parse_url(), printf(), proper(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
upper(), xpath() unicode(), unparse_url(), upper(), xpath()
Example Example
#1 To get the length of the string 'abc': #1 To get the length of the string 'abc':
;SELECT length('abc')  ;SELECT length('abc') 
@ -3516,13 +3537,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), lower(), ltrim(), padc(), padl(), padr(), parse_url(), leftstr(), length(), lower(), ltrim(), padc(), padl(), padr(),
printf(), proper(), regexp_capture(), regexp_capture_into_json(), parse_url(), printf(), proper(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
upper(), xpath() unicode(), unparse_url(), upper(), xpath()
Example Example
#1 To extract key/value pairs from a log message: #1 To extract key/value pairs from a log message:
;SELECT logfmt2json('foo=1 bar=2 name="Rolo Tomassi"') ;SELECT logfmt2json('foo=1 bar=2 name="Rolo Tomassi"')
@ -3538,13 +3559,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), ltrim(), padc(), padl(), padr(), parse_url(), leftstr(), length(), logfmt2json(), ltrim(), padc(), padl(), padr(),
printf(), proper(), regexp_capture(), regexp_capture_into_json(), parse_url(), printf(), proper(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
upper(), xpath() unicode(), unparse_url(), upper(), xpath()
Example Example
#1 To lowercase the string 'AbC': #1 To lowercase the string 'AbC':
;SELECT lower('AbC')  ;SELECT lower('AbC') 
@ -3561,13 +3582,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), padc(), padl(), padr(), parse_url(), leftstr(), length(), logfmt2json(), lower(), padc(), padl(), padr(),
printf(), proper(), regexp_capture(), regexp_capture_into_json(), parse_url(), printf(), proper(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
upper(), xpath() unicode(), unparse_url(), upper(), xpath()
Examples Examples
#1 To trim the leading space characters from the string ' abc': #1 To trim the leading space characters from the string ' abc':
;SELECT ltrim(' abc')  ;SELECT ltrim(' abc') 
@ -3670,13 +3691,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padl(), padr(), parse_url(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padl(), padr(),
printf(), proper(), regexp_capture(), regexp_capture_into_json(), parse_url(), printf(), proper(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
upper(), xpath() unicode(), unparse_url(), upper(), xpath()
Examples Examples
#1 To pad the string 'abc' to a length of six characters: #1 To pad the string 'abc' to a length of six characters:
;SELECT padc('abc', 6) || 'def'  ;SELECT padc('abc', 6) || 'def' 
@ -3697,13 +3718,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padr(), parse_url(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padr(),
printf(), proper(), regexp_capture(), regexp_capture_into_json(), parse_url(), printf(), proper(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
upper(), xpath() unicode(), unparse_url(), upper(), xpath()
Examples Examples
#1 To pad the string 'abc' to a length of six characters: #1 To pad the string 'abc' to a length of six characters:
;SELECT padl('abc', 6)  ;SELECT padl('abc', 6) 
@ -3724,13 +3745,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), parse_url(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
printf(), proper(), regexp_capture(), regexp_capture_into_json(), parse_url(), printf(), proper(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
upper(), xpath() unicode(), unparse_url(), upper(), xpath()
Examples Examples
#1 To pad the string 'abc' to a length of six characters: #1 To pad the string 'abc' to a length of six characters:
;SELECT padr('abc', 6) || 'def'  ;SELECT padr('abc', 6) || 'def' 
@ -3763,13 +3784,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
printf(), proper(), regexp_capture(), regexp_capture_into_json(), padr(), printf(), proper(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
unparse_url(), upper(), xpath() unicode(), unparse_url(), unparse_url(), upper(), xpath()
Examples Examples
#1 To parse the URL 'https://example.com/search?q=hello%20world': #1 To parse the URL 'https://example.com/search?q=hello%20world':
;SELECT parse_url('https://example.com/search?q=hello%20world') ;SELECT parse_url('https://example.com/search?q=hello%20world')
@ -3830,13 +3851,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), proper(), regexp_capture(), regexp_capture_into_json(), padr(), parse_url(), proper(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
upper(), xpath() unicode(), unparse_url(), upper(), xpath()
Examples Examples
#1 To substitute 'World' into the string 'Hello, %s!': #1 To substitute 'World' into the string 'Hello, %s!':
;SELECT printf('Hello, %s!', 'World')  ;SELECT printf('Hello, %s!', 'World') 
@ -3859,13 +3880,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), regexp_capture(), regexp_capture_into_json(), padr(), parse_url(), printf(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
upper(), xpath() unicode(), unparse_url(), upper(), xpath()
Example Example
#1 To capitalize the words in the string 'hello, world!': #1 To capitalize the words in the string 'hello, world!':
;SELECT proper('hello, world!')  ;SELECT proper('hello, world!') 
@ -3990,9 +4011,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture_into_json(), padr(), parse_url(), printf(), proper(), regexp_capture_into_json(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_match(), regexp_replace(), replace(), replicate(), reverse(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(), strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(),
@ -4024,13 +4045,13 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), regexp_match(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_replace(), replace(), replicate(), reverse(), rightstr(), regexp_match(), regexp_replace(), replace(), replicate(), reverse(),
rtrim(), sparkline(), spooky_hash(), startswith(), strfilter(), rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(),
substr(), timezone(), trim(), unicode(), unparse_url(), upper(), strfilter(), substr(), timezone(), trim(), unicode(), unparse_url(),
xpath() upper(), xpath()
Example Example
#1 To extract the key/value pairs 'a'/1 and 'b'/2 from the string 'a=1; b=2': #1 To extract the key/value pairs 'a'/1 and 'b'/2 from the string 'a=1; b=2':
;SELECT * FROM regexp_capture_into_json('a=1; b=2', '(\w+)=(\d+)') ;SELECT * FROM regexp_capture_into_json('a=1; b=2', '(\w+)=(\d+)')
@ -4047,9 +4068,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_replace(), regexp_replace(), regexp_capture_into_json(), regexp_replace(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -4082,9 +4103,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_match(), replace(), regexp_capture_into_json(), regexp_match(), regexp_match(), replace(),
replicate(), reverse(), rightstr(), rtrim(), sparkline(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -4112,9 +4133,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replicate(), reverse(), rightstr(), rtrim(), sparkline(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -4138,9 +4159,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(), replace(), reverse(), rightstr(), rtrim(), sparkline(), spooky_hash(),
startswith(), strfilter(), substr(), timezone(), trim(), unicode(), startswith(), strfilter(), substr(), timezone(), trim(), unicode(),
@ -4159,9 +4180,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), rightstr(), rtrim(), sparkline(), replace(), replicate(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -4182,9 +4203,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rtrim(), sparkline(), spooky_hash(), replace(), replicate(), reverse(), rtrim(), sparkline(), spooky_hash(),
startswith(), strfilter(), substr(), timezone(), trim(), unicode(), startswith(), strfilter(), substr(), timezone(), trim(), unicode(),
@ -4250,9 +4271,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), sparkline(), replace(), replicate(), reverse(), rightstr(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -4319,9 +4340,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), spooky_hash(), replace(), replicate(), reverse(), rightstr(), rtrim(), spooky_hash(),
startswith(), strfilter(), substr(), timezone(), trim(), unicode(), startswith(), strfilter(), substr(), timezone(), trim(), unicode(),
@ -4344,9 +4365,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
startswith(), strfilter(), substr(), timezone(), trim(), unicode(), startswith(), strfilter(), substr(), timezone(), trim(), unicode(),
@ -4426,9 +4447,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), strfilter(), substr(), timezone(), trim(), unicode(), spooky_hash(), strfilter(), substr(), timezone(), trim(), unicode(),
@ -4453,9 +4474,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), substr(), timezone(), trim(), unicode(), spooky_hash(), startswith(), substr(), timezone(), trim(), unicode(),
@ -4513,9 +4534,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), timezone(), trim(),
@ -4638,13 +4659,14 @@ For support questions, email:
anonymize(), char(), charindex(), date(), datetime(), decode(), anonymize(), char(), charindex(), date(), datetime(), decode(),
encode(), endswith(), extract(), group_concat(), group_spooky_hash(), encode(), endswith(), extract(), group_concat(), group_spooky_hash(),
gunzip(), gzip(), humanize_duration(), humanize_duration(), gunzip(), gzip(), humanize_duration(), humanize_duration(),
humanize_file_size(), instr(), julianday(), leftstr(), length(), humanize_file_size(), humanize_id(), instr(), julianday(), leftstr(),
logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), parse_url(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(),
printf(), proper(), regexp_capture(), regexp_capture_into_json(), parse_url(), printf(), proper(), regexp_capture(),
regexp_match(), regexp_replace(), replace(), replicate(), reverse(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
rightstr(), rtrim(), sparkline(), spooky_hash(), startswith(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
strfilter(), strftime(), substr(), time(), timediff(), timeslice(), spooky_hash(), startswith(), strfilter(), strftime(), substr(), time(),
trim(), unicode(), unparse_url(), upper(), xpath() timediff(), timeslice(), trim(), unicode(), unparse_url(), upper(),
xpath()
Example Example
#1 To convert a time to America/Los_Angeles: #1 To convert a time to America/Los_Angeles:
;SELECT timezone('America/Los_Angeles', '2022-03-02T10:00') ;SELECT timezone('America/Los_Angeles', '2022-03-02T10:00')
@ -4686,9 +4708,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), spooky_hash(), startswith(), strfilter(), substr(), timezone(),
@ -4729,9 +4751,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -4758,9 +4780,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -4780,9 +4802,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),
@ -4811,9 +4833,9 @@ For support questions, email:
See Also See Also
anonymize(), char(), charindex(), decode(), encode(), endswith(), anonymize(), char(), charindex(), decode(), encode(), endswith(),
extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(), extract(), group_concat(), group_spooky_hash(), gunzip(), gzip(),
humanize_duration(), humanize_file_size(), instr(), leftstr(), humanize_duration(), humanize_file_size(), humanize_id(), instr(),
length(), logfmt2json(), lower(), ltrim(), padc(), padl(), padr(), leftstr(), length(), logfmt2json(), lower(), ltrim(), padc(), padl(),
parse_url(), printf(), proper(), regexp_capture(), padr(), parse_url(), printf(), proper(), regexp_capture(),
regexp_capture_into_json(), regexp_match(), regexp_replace(), regexp_capture_into_json(), regexp_match(), regexp_replace(),
replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(), replace(), replicate(), reverse(), rightstr(), rtrim(), sparkline(),
spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(), spooky_hash(), startswith(), strfilter(), substr(), timezone(), trim(),

@ -0,0 +1,2 @@
humanize_id('foo') humanize_id('bar') 
foo bar

@ -1,198 +1,198 @@
anonymize(bro_id_resp_h) anonymize(bro_id_resp_h) 
10.0.0.1 10.0.0.1
10.0.0.2 10.0.0.2
10.0.0.2 
10.0.0.2 
10.0.0.2 10.0.0.2
10.0.0.2 10.0.0.2
10.0.0.2 10.0.0.2 
10.0.0.2 10.0.0.3 
10.0.0.2
10.0.0.3
10.0.0.4 10.0.0.4
10.0.0.1 10.0.0.1
10.0.0.4 10.0.0.4 
10.0.0.4 10.0.0.4 
10.0.0.5 10.0.0.5
10.0.0.4 10.0.0.4
10.0.0.4 10.0.0.4 
10.0.0.1 10.0.0.1 
10.0.0.6 10.0.0.6
10.0.0.4 10.0.0.4
10.0.0.7 10.0.0.7 
10.0.0.8 10.0.0.8 
10.0.0.8
10.0.0.8 10.0.0.8
10.0.0.8 10.0.0.8
10.0.0.8 
10.0.0.8 
10.0.0.8 10.0.0.8
10.0.0.8 10.0.0.8
10.0.0.8 10.0.0.8 
10.0.0.8 10.0.0.9 
10.0.0.9
10.0.0.10 10.0.0.10
10.0.0.5 10.0.0.5
10.0.0.11 
10.0.0.11 
10.0.0.11 10.0.0.11
10.0.0.11 10.0.0.11
10.0.0.11 10.0.0.11 
10.0.0.11 10.0.0.11 
10.0.0.11
10.0.0.11
10.0.0.5 10.0.0.5
10.0.0.11 10.0.0.11
10.0.0.11 
10.0.0.11 
10.0.0.11 10.0.0.11
10.0.0.11 10.0.0.11
10.0.0.11 
10.0.0.11 
10.0.0.11 10.0.0.11
10.0.0.11 10.0.0.11
10.0.0.11 10.0.0.11 
10.0.0.11 10.0.0.5 
10.0.0.11
10.0.0.11
10.0.0.11
10.0.0.5
10.0.0.10 10.0.0.10
10.0.0.6 10.0.0.6
10.0.0.12 10.0.0.12 
10.0.0.1 10.0.0.1 
10.0.0.1 10.0.0.1
10.0.0.6 10.0.0.6
10.0.0.11 10.0.0.11 
10.0.0.11 10.0.0.11 
10.0.0.13 10.0.0.13
10.0.0.6 10.0.0.6
10.0.0.11 10.0.0.11 
10.0.0.11 10.0.0.11 
10.0.0.11 10.0.0.11
10.0.0.13 10.0.0.13
10.0.0.6 
10.0.0.6 
10.0.0.6 10.0.0.6
10.0.0.6 10.0.0.6
10.0.0.6 
10.0.0.6 
10.0.0.6 10.0.0.6
10.0.0.6 10.0.0.6
10.0.0.6 10.0.0.14 
10.0.0.6 10.0.0.6 
10.0.0.6
10.0.0.6
10.0.0.14
10.0.0.6
10.0.0.14 10.0.0.14
10.0.0.15 10.0.0.15
10.0.0.16 10.0.0.16 
10.0.0.6 10.0.0.6 
10.0.0.16 10.0.0.16
10.0.0.17 10.0.0.17
10.0.0.5 10.0.0.5 
10.0.0.1 10.0.0.1 
10.0.0.17 10.0.0.17
10.0.0.15 10.0.0.15
10.0.0.17 10.0.0.17 
10.0.0.18 10.0.0.18 
10.0.0.18 10.0.0.18
10.0.0.10 10.0.0.10
10.0.0.5 10.0.0.5 
10.0.0.11 10.0.0.11 
10.0.0.11
10.0.0.11
10.0.0.11
10.0.0.11
10.0.0.11 10.0.0.11
10.0.0.11 10.0.0.11
10.0.0.11 
10.0.0.11 
10.0.0.11 10.0.0.11
10.0.0.11 10.0.0.11
10.0.0.11 
10.0.0.11 
10.0.0.18 10.0.0.18
10.0.0.11 10.0.0.11
10.0.0.11 10.0.0.11 
10.0.0.11 10.0.0.11 
10.0.0.18 10.0.0.18
10.0.0.18 10.0.0.18
10.0.0.18 
10.0.0.19 
10.0.0.18 10.0.0.18
10.0.0.19 10.0.0.19
10.0.0.18 10.0.0.19 
10.0.0.19 10.0.0.19 
10.0.0.19
10.0.0.19
10.0.0.19
10.0.0.19
10.0.0.19 10.0.0.19
10.0.0.19 10.0.0.19
10.0.0.19 
10.0.0.19 
10.0.0.19 10.0.0.19
10.0.0.20 10.0.0.20
10.0.0.20 10.0.0.20 
10.0.0.21 10.0.0.21 
10.0.0.18 10.0.0.18
10.0.0.18 10.0.0.18
10.0.0.22 10.0.0.22 
10.0.0.6 10.0.0.6 
10.0.0.5
10.0.0.5
10.0.0.5 10.0.0.5
10.0.0.5 10.0.0.5
10.0.0.5 
10.0.0.5 
10.0.0.6 10.0.0.6
10.0.0.23 10.0.0.23
10.0.0.24 10.0.0.24 
10.0.0.23 10.0.0.23 
10.0.0.23
10.0.0.23
10.0.0.23
10.0.0.23
10.0.0.23
10.0.0.23
10.0.0.23 10.0.0.23
10.0.0.23 10.0.0.23
10.0.0.23 
10.0.0.23 
10.0.0.23 10.0.0.23
10.0.0.23 10.0.0.23
10.0.0.23 
10.0.0.23 
10.0.0.23 10.0.0.23
10.0.0.23 10.0.0.23
10.0.0.23 
10.0.0.23 
10.0.0.23 10.0.0.23
10.0.0.24 10.0.0.24
10.0.0.24 10.0.0.24 
10.0.0.24 10.0.0.24 
10.0.0.24 10.0.0.24
10.0.0.25 10.0.0.25
10.0.0.26 10.0.0.26 
10.0.0.27 10.0.0.27 
10.0.0.23
10.0.0.23 10.0.0.23
10.0.0.23 10.0.0.23
10.0.0.25 10.0.0.23 
10.0.0.25 
10.0.0.26 10.0.0.26
10.0.0.24 10.0.0.24
10.0.0.24 10.0.0.24 
10.0.0.27 10.0.0.27 
10.0.0.23 10.0.0.23
10.0.0.25 10.0.0.25
10.0.0.26 10.0.0.26 
10.0.0.24 10.0.0.24 
10.0.0.24 10.0.0.24
10.0.0.27 10.0.0.27
10.0.0.25 10.0.0.25 
10.0.0.26 10.0.0.26 
10.0.0.24 10.0.0.24
10.0.0.24 10.0.0.24
10.0.0.27 10.0.0.27 
10.0.0.28 10.0.0.28 
10.0.0.23 10.0.0.23
10.0.0.25 10.0.0.25
10.0.0.24 10.0.0.24 
10.0.0.24 10.0.0.24 
10.0.0.27 10.0.0.27
10.0.0.26 10.0.0.26
10.0.0.23 10.0.0.23 
10.0.0.25 10.0.0.25 
10.0.0.26 10.0.0.26
10.0.0.24 10.0.0.24
10.0.0.24 10.0.0.24 
10.0.0.27 10.0.0.27 
10.0.0.23
10.0.0.23
10.0.0.23
10.0.0.23 10.0.0.23
10.0.0.23 10.0.0.23
10.0.0.23 
10.0.0.23 
10.0.0.23 10.0.0.23
10.0.0.23 10.0.0.23
10.0.0.23 
10.0.0.23 
10.0.0.23 10.0.0.23
10.0.0.23 10.0.0.23
10.0.0.23 10.0.0.27 
10.0.0.27 10.0.0.23 
10.0.0.23
10.0.0.25 10.0.0.25
10.0.0.24 10.0.0.24
10.0.0.24 10.0.0.24 
10.0.0.27 10.0.0.27 
10.0.0.26 10.0.0.26

@ -1,2 +1,2 @@
regexp_match('^(\w+)=([^;]+);', 'abc=def;ghi=jkl;') regexp_match('^(\w+)=([^;]+);', 'abc=def;ghi=jkl;') 
{"col_0":"abc","col_1":"def"} {"col_0":"abc","col_1":"def"}

@ -1,5 +1,7 @@
#! /bin/bash #! /bin/bash
export YES_COLOR=1
run_cap_test ./drive_sql "select length(gzip(1))" run_cap_test ./drive_sql "select length(gzip(1))"
run_cap_test ./drive_sql "select gunzip(gzip(1))" run_cap_test ./drive_sql "select gunzip(gzip(1))"
@ -194,3 +196,6 @@ run_cap_test ${lnav_test} -n \
run_cap_test ${lnav_test} -n \ run_cap_test ${lnav_test} -n \
-c ';SELECT anonymize(bro_id_resp_h) FROM bro_http_log' \ -c ';SELECT anonymize(bro_id_resp_h) FROM bro_http_log' \
${test_dir}/logfile_bro_http.log.0 ${test_dir}/logfile_bro_http.log.0
run_cap_test ${lnav_test} -nN \
-c ";SELECT humanize_id('foo'), humanize_id('bar')"

Loading…
Cancel
Save