Skip to contents

Returns one row per DuckDB scalar UDF registered through rducks_register_scalar_udf() in the current DuckDB database runtime, including the same registration metadata and native counters as rducks_explain_udf(). This is an Rducks scalar-UDF registry view, not a complete DuckDB catalog listing: aggregate functions, table functions, functions registered by other extensions, and raw SQL functions are not included. Because DuckDB's function catalog is database scoped, sibling DBI connections to the same database runtime share this view.

Usage

rducks_list_udfs(con)

Arguments

con

A duckdb_connection with Rducks enabled.

Value

A data frame with one row per Rducks scalar UDF registered on con.

Examples

# \donttest{
db <- duckdb::dbConnect(duckdb::duckdb(config = list(allow_unsigned_extensions = "true")))
rducks_enable(db, threads = "single")
rducks_register_scalar_udf(db, "my_fn", function(x) x + 1L,
  args = list(INTEGER), returns = INTEGER)
#> <rducks_scalar_udf_registration>
#>   registered:      yes
#>   name:            my_fn
#>   evaluation_mode: scalar
#>   plan:            arrow_r+serial
#>   signature:       my_fn(INTEGER) -> INTEGER
rducks_list_udfs(db)
#>    name   mode        plan_id      engine_id marshalling concurrency
#> 1 my_fn scalar arrow_r+serial arrow_r_serial     arrow_r      serial
#>   native_marshalling evaluator args returns r_side_record null_handling
#> 1            arrow_r         R  i32     i32          TRUE       default
#>   exception_handling side_effects dispatch_chunks dispatch_rows direct_chunks
#> 1            rethrow        FALSE               0             0             0
#>   queued_chunks queue_pending_current queue_pending_max arrow_r_chunks
#> 1             0                     0                 0              0
#>   arrow_c_chunks arrow_c_input_snapshot_chunks
#> 1              0                             0
#>   arrow_c_owned_result_chunk_chunks arrow_ipc_chunks ripc_collect_batches
#> 1                                 0                0                    0
#>   ripc_collect_requests ripc_collect_max_batch ripc_submit_wave_max
#> 1                     0                      0                    0
#>   ripc_collect_ready_max ripc_inflight_current ripc_inflight_max
#> 1                      0                     0                 0
rducks_release(db)
DBI::dbDisconnect(db)
# }