From 6533c7838fbc78dbec96079ce1d23662a9ae763e Mon Sep 17 00:00:00 2001 From: Lorenzo Mangani Date: Sat, 4 Jan 2025 01:38:15 +0100 Subject: [PATCH] Update functions --- README.md | 201 +++++++++++++++++++++++++++--------------------------- 1 file changed, 101 insertions(+), 100 deletions(-) diff --git a/README.md b/README.md index 35cad1d..8d3d02b 100644 --- a/README.md +++ b/README.md @@ -20,112 +20,113 @@ The extension provides system table functions: ```sql D -- List all databases in scope D SELECT * FROM system.databases; -┌─────────┬─────────┬─────────┐ -│ name │ engine │ type │ -│ varchar │ varchar │ varchar │ -├─────────┼─────────┼─────────┤ -│ memory │ DuckDB │ memory │ -└─────────┴─────────┴─────────┘ +┌─────────┬─────────┬───────────┬───────────────┬──────────────────────────────────────┬─────────────┬─────────┐ +│ name │ engine │ data_path │ metadata_path │ uuid │ engine_full │ comment │ +│ varchar │ varchar │ varchar │ varchar │ uuid │ varchar │ varchar │ +├─────────┼─────────┼───────────┼───────────────┼──────────────────────────────────────┼─────────────┼─────────┤ +│ memory │ duckdb │ NULL │ │ 80000000-0000-0000-0000-000000000000 │ DuckDB │ NULL │ +│ test │ duckdb │ test.db │ │ 80000000-0000-0000-0000-000000000000 │ DuckDB │ NULL │ +│ system │ duckdb │ NULL │ │ 80000000-0000-0000-0000-000000000000 │ DuckDB │ NULL │ +│ temp │ duckdb │ NULL │ │ 80000000-0000-0000-0000-000000000000 │ DuckDB │ NULL │ +└─────────┴─────────┴───────────┴───────────────┴──────────────────────────────────────┴─────────────┴─────────┘ D -- List all tables in scope D SELECT * FROM system.tables; -┌──────────┬─────────┬───────────┬──────────────────────┬────────────┬───┬──────────────────────┬──────────────────────┬────────────────────┬─────────┐ -│ database │ schema │ name │ uuid │ engine │ … │ column_names │ column_types │ create_table_query │ comment │ -│ varchar │ varchar │ varchar │ uuid │ varchar │ │ varchar[] │ varchar[] │ varchar │ varchar │ -├──────────┼─────────┼───────────┼──────────────────────┼────────────┼───┼──────────────────────┼──────────────────────┼────────────────────┼─────────┤ -│ memory │ main │ test2 │ 80000000-0000-0000… │ BASE TABLE │ … │ [value] │ [DOUBLE] │ │ │ -│ memory │ system │ columns │ 80000000-0000-000c… │ BASE TABLE │ … │ [database, table, … │ [VARCHAR, VARCHAR,… │ │ │ -│ memory │ system │ databases │ 80000000-0000-00da… │ BASE TABLE │ … │ [name, engine, type] │ [VARCHAR, VARCHAR,… │ │ │ -│ memory │ system │ functions │ 80000000-0000-000f… │ BASE TABLE │ … │ [name, is_aggregat… │ [VARCHAR, BOOLEAN,… │ │ │ -│ memory │ system │ tables │ 80000000-0000-0000… │ BASE TABLE │ … │ [database, schema,… │ [VARCHAR, VARCHAR,… │ │ │ -├──────────┴─────────┴───────────┴──────────────────────┴────────────┴───┴──────────────────────┴──────────────────────┴────────────────────┴─────────┤ -│ 5 rows 10 columns (9 shown) │ -└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌──────────┬──────────────┬──────────────────────────────────────┬────────────┬──────────────┬───────────┬───────────────┬────────────────────────────┬──────────────────┬────────────────────────────────────────┐ +│ database │ name │ uuid │ engine │ is_temporary │ data_path │ metadata_path │ metadata_modification_time │ metadata_version │ create_table_query │ +│ varchar │ varchar │ uuid │ varchar │ boolean │ varchar │ varchar │ timestamp │ int32 │ varchar │ +├──────────┼──────────────┼──────────────────────────────────────┼────────────┼──────────────┼───────────┼───────────────┼────────────────────────────┼──────────────────┼────────────────────────────────────────┤ +│ test │ remote_table │ 80000000-0000-0000-0000-000000000000 │ BASE TABLE │ false │ │ │ 1970-01-01 00:00:00 │ 0 │ CREATE TABLE remote_table(id INTEGER); │ +└──────────┴──────────────┴──────────────────────────────────────┴────────────┴──────────────┴───────────┴───────────────┴────────────────────────────┴──────────────────┴────────────────────────────────────────┘ D -- List all columns in scope -D SELECT * FROM system_columns; -┌──────────┬───────────┬────────────────────┬───────────┬──────────┬─────────┐ -│ database │ table │ name │ type │ position │ comment │ -│ varchar │ varchar │ varchar │ varchar │ int32 │ varchar │ -├──────────┼───────────┼────────────────────┼───────────┼──────────┼─────────┤ -│ memory │ test2 │ value │ DOUBLE │ 0 │ │ -│ memory │ columns │ database │ VARCHAR │ 0 │ │ -│ memory │ columns │ table │ VARCHAR │ 1 │ │ -│ memory │ columns │ name │ VARCHAR │ 2 │ │ -│ memory │ columns │ type │ VARCHAR │ 3 │ │ -│ memory │ columns │ position │ INTEGER │ 4 │ │ -│ memory │ columns │ comment │ VARCHAR │ 5 │ │ -│ memory │ databases │ name │ VARCHAR │ 0 │ │ -│ memory │ databases │ engine │ VARCHAR │ 1 │ │ -│ memory │ databases │ type │ VARCHAR │ 2 │ │ -│ memory │ functions │ name │ VARCHAR │ 0 │ │ -│ memory │ functions │ is_aggregate │ BOOLEAN │ 1 │ │ -│ memory │ functions │ case_insensitive │ BOOLEAN │ 2 │ │ -│ memory │ functions │ description │ VARCHAR │ 3 │ │ -│ memory │ tables │ database │ VARCHAR │ 0 │ │ -│ memory │ tables │ schema │ VARCHAR │ 1 │ │ -│ memory │ tables │ name │ VARCHAR │ 2 │ │ -│ memory │ tables │ uuid │ UUID │ 3 │ │ -│ memory │ tables │ engine │ VARCHAR │ 4 │ │ -│ memory │ tables │ is_temporary │ BOOLEAN │ 5 │ │ -│ memory │ tables │ column_names │ VARCHAR[] │ 6 │ │ -│ memory │ tables │ column_types │ VARCHAR[] │ 7 │ │ -│ memory │ tables │ create_table_query │ VARCHAR │ 8 │ │ -│ memory │ tables │ comment │ VARCHAR │ 9 │ │ -├──────────┴───────────┴────────────────────┴───────────┴──────────┴─────────┤ -│ 24 rows 6 columns │ -└────────────────────────────────────────────────────────────────────────────┘ +D SELECT * FROM system.columns; +┌──────────┬───────────┬────────────────────────────┬───────────┬──────────┬─────────┐ +│ database │ table │ name │ type │ position │ comment │ +│ varchar │ varchar │ varchar │ varchar │ int32 │ varchar │ +├──────────┼───────────┼────────────────────────────┼───────────┼──────────┼─────────┤ +│ memory │ columns │ database │ VARCHAR │ 0 │ │ +│ memory │ columns │ table │ VARCHAR │ 1 │ │ +│ memory │ columns │ name │ VARCHAR │ 2 │ │ +│ memory │ columns │ type │ VARCHAR │ 3 │ │ +│ memory │ columns │ position │ INTEGER │ 4 │ │ +│ memory │ columns │ comment │ VARCHAR │ 5 │ │ +│ memory │ databases │ name │ VARCHAR │ 0 │ │ +│ memory │ databases │ engine │ VARCHAR │ 1 │ │ +│ memory │ databases │ data_path │ VARCHAR │ 2 │ │ +│ memory │ databases │ metadata_path │ VARCHAR │ 3 │ │ +│ memory │ databases │ uuid │ UUID │ 4 │ │ +│ memory │ databases │ engine_full │ VARCHAR │ 5 │ │ +│ memory │ databases │ comment │ VARCHAR │ 6 │ │ +│ memory │ functions │ name │ VARCHAR │ 0 │ │ +│ memory │ functions │ is_aggregate │ BOOLEAN │ 1 │ │ +│ memory │ functions │ case_insensitive │ BOOLEAN │ 2 │ │ +│ memory │ functions │ description │ VARCHAR │ 3 │ │ +│ memory │ tables │ database │ VARCHAR │ 0 │ │ +│ memory │ tables │ name │ VARCHAR │ 1 │ │ +│ memory │ tables │ uuid │ UUID │ 2 │ │ +│ memory │ tables │ engine │ VARCHAR │ 3 │ │ +│ memory │ tables │ is_temporary │ BOOLEAN │ 4 │ │ +│ memory │ tables │ data_path │ VARCHAR │ 5 │ │ +│ memory │ tables │ metadata_path │ VARCHAR │ 6 │ │ +│ memory │ tables │ metadata_modification_time │ TIMESTAMP │ 7 │ │ +│ memory │ tables │ metadata_version │ INTEGER │ 8 │ │ +│ memory │ tables │ create_table_query │ VARCHAR │ 9 │ │ +├──────────┴───────────┴────────────────────────────┴───────────┴──────────┴─────────┤ +│ 27 rows 6 columns │ +└────────────────────────────────────────────────────────────────────────────────────┘ + D -- List all functions in scope D SELECT * FROM system.functions; -┌──────────────────────┬──────────────┬──────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ name │ is_aggregate │ case_insensitive │ description │ -│ varchar │ boolean │ boolean │ varchar │ -├──────────────────────┼──────────────┼──────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────┤ -│ pragma_version │ false │ false │ NULL │ -│ repeat_row │ false │ false │ NULL │ -│ duckdb_constraints │ false │ false │ NULL │ -│ duckdb_extensions │ false │ false │ NULL │ -│ duckdb_functions │ false │ false │ NULL │ -│ summary │ false │ false │ NULL │ -│ system_columns │ false │ false │ NULL │ -│ test_all_types │ false │ false │ NULL │ -│ duckdb_sequences │ false │ false │ NULL │ -│ list_indexof │ false │ false │ NULL │ -│ try_strptime │ false │ false │ Converts string to timestamp using the format string (timestamp with time zone if %Z is spec… │ -│ list_sort │ false │ false │ Sorts the elements of the list │ -│ list_pack │ false │ false │ Create a LIST containing the argument values │ -│ list_negative_inne… │ false │ false │ Compute the negative inner product between two lists │ -│ get_current_timest… │ false │ false │ Returns the current timestamp │ -│ unhex │ false │ false │ Converts a value from hexadecimal representation to a blob │ -│ get_bit │ false │ false │ Extracts the nth bit from bitstring; the first (leftmost) bit is indexed 0 │ -│ union_extract │ false │ false │ Extract the value with the named tags from the union. NULL if the tag is not currently selec… │ -│ from_base64 │ false │ false │ Convert a base64 encoded string to a character string │ -│ last_day │ false │ false │ Returns the last day of the month │ -│ · │ · │ · │ · │ -│ · │ · │ · │ · │ -│ · │ · │ · │ · │ -│ mad │ false │ false │ Returns the median absolute deviation for the values within x. NULL values are ignored. Temp… │ -│ max │ false │ false │ Returns the maximum value present in arg. │ -│ arg_max_null │ false │ false │ Finds the row with the maximum val. Calculates the arg expression at that row. │ -│ disable_profiling │ false │ false │ NULL │ -│ disable_profile │ false │ false │ NULL │ -│ disable_checkpoint… │ false │ false │ NULL │ -│ enable_profiling │ false │ false │ NULL │ -│ verify_parallelism │ false │ false │ NULL │ -│ session_user │ false │ false │ NULL │ -│ list_max │ false │ false │ NULL │ -│ list_skewness │ false │ false │ NULL │ -│ pg_postmaster_star… │ false │ false │ NULL │ -│ pg_table_is_visible │ false │ false │ NULL │ -│ has_foreign_data_w… │ false │ false │ NULL │ -│ has_sequence_privi… │ false │ false │ NULL │ -│ has_tablespace_pri… │ false │ false │ NULL │ -│ pg_conversion_is_v… │ false │ false │ NULL │ -│ list_count │ false │ false │ NULL │ -│ list_first │ false │ false │ NULL │ -│ array_reverse │ false │ false │ NULL │ -├──────────────────────┴──────────────┴──────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────┤ -│ 692 rows (40 shown) 4 columns │ -└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌──────────────────────────────────────────┬──────────────┬──────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ name │ is_aggregate │ case_insensitive │ description │ +│ varchar │ boolean │ boolean │ varchar │ +├──────────────────────────────────────────┼──────────────┼──────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ +│ test_all_types │ false │ false │ NULL │ +│ pragma_version │ false │ false │ NULL │ +│ duckdb_sequences │ false │ false │ NULL │ +│ duckdb_functions │ false │ false │ NULL │ +│ duckdb_extensions │ false │ false │ NULL │ +│ duckdb_constraints │ false │ false │ NULL │ +│ system_columns │ false │ false │ NULL │ +│ summary │ false │ false │ NULL │ +│ repeat_row │ false │ false │ NULL │ +│ __internal_decompress_integral_usmallint │ false │ false │ NULL │ +│ md5 │ false │ false │ Returns the MD5 hash of the value as a string │ +│ list_negative_inner_product │ false │ false │ Compute the negative inner product between two lists │ +│ list_sort │ false │ false │ Sorts the elements of the list │ +│ __internal_decompress_integral_smallint │ false │ false │ NULL │ +│ list_unique │ false │ false │ Counts the unique elements of a list │ +│ last_day │ false │ false │ Returns the last day of the month │ +│ isnan │ false │ false │ Returns true if the floating point value is not a number, false otherwise │ +│ isinf │ false │ false │ Returns true if the floating point value is infinite, false otherwise │ +│ list_pack │ false │ false │ Create a LIST containing the argument values │ +│ list_indexof │ false │ false │ NULL │ +│ · │ · │ · │ · │ +│ · │ · │ · │ · │ +│ · │ · │ · │ · │ +│ list │ false │ false │ Returns a LIST containing all the values of a column. │ +│ listagg │ false │ false │ Concatenates the column string values with an optional separator. │ +│ bit_xor │ false │ false │ Returns the bitwise XOR of all bits in a given expression. │ +│ kurtosis │ false │ false │ Returns the excess kurtosis (Fisher’s definition) of all input values, with a bias correction according to the sample size │ +│ any_value │ false │ false │ NULL │ +│ product │ false │ false │ Calculates the product of all tuples in arg. │ +│ quantile │ false │ false │ Returns the exact quantile number between 0 and 1 . If pos is a LIST of FLOATs, then the result is a LIST of the corresponding exact quantiles. │ +│ metadata_info │ false │ false │ NULL │ +│ user_agent │ false │ false │ NULL │ +│ array_to_string_comma_default │ false │ false │ NULL │ +│ list_reverse │ false │ false │ NULL │ +│ list_mode │ false │ false │ NULL │ +│ list_approx_count_distinct │ false │ false │ NULL │ +│ list_var_samp │ false │ false │ NULL │ +│ pg_opfamily_is_visible │ false │ false │ NULL │ +│ pg_ts_parser_is_visible │ false │ false │ NULL │ +│ format_pg_type │ false │ false │ NULL │ +│ format_type │ false │ false │ NULL │ +│ has_column_privilege │ false │ false │ NULL │ +│ inet_client_port │ false │ false │ NULL │ +├──────────────────────────────────────────┴──────────────┴──────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ +│ 692 rows (40 shown) 4 columns │ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ ```