Schema functions in the ADBC Scanner DuckDB extension
Function category
Schema
4 functionsInspect the remote catalog — tables, columns, table types, full Arrow schemas — through the driver's metadata API.
Signature
adbc_columns(
catalog := VARCHAR,
column_name := VARCHAR,
connection_handle := BIGINT,
schema := VARCHAR,
table_name := VARCHAR
) → None
Arguments (Named)
| Argument | Type | Mode | Description |
|---|---|---|---|
Argument
connection_handle
|
Type
BIGINT
|
Mode Named | Description |
Argument
catalog
|
Type
VARCHAR
|
Mode Named | Description |
Argument
schema
|
Type
VARCHAR
|
Mode Named | Description |
Argument
table_name
|
Type
VARCHAR
|
Mode Named | Description |
Argument
column_name
|
Type
VARCHAR
|
Mode Named | Description |
Description
Describe the columns of a table — name, type, nullability, default — pulled from the driver's catalog API.
1
Describe a remote table
SET VARIABLE conn = (SELECT adbc_connect({'driver': 'sqlite', 'uri': ':memory:'}));
SELECT adbc_execute(getvariable('conn')::BIGINT, 'CREATE TABLE users(id INTEGER)');
SELECT * FROM adbc_columns(getvariable('conn')::BIGINT, table_name := 'users');
Signature
adbc_schema(
catalog := VARCHAR,
connection_handle := BIGINT,
schema := VARCHAR,
table_name := VARCHAR
) → None
Arguments (Named)
| Argument | Type | Mode | Description |
|---|---|---|---|
Argument
connection_handle
|
Type
BIGINT
|
Mode Named | Description |
Argument
table_name
|
Type
VARCHAR
|
Mode Named | Description |
Argument
catalog
|
Type
VARCHAR
|
Mode Named | Description |
Argument
schema
|
Type
VARCHAR
|
Mode Named | Description |
Description
Return the full Arrow schema for a query result without executing it. Useful for prepared-statement-style introspection.
1
Inspect a query result schema
SET VARIABLE conn = (SELECT adbc_connect({'driver': 'sqlite', 'uri': ':memory:'}));
SELECT * FROM adbc_schema(getvariable('conn')::BIGINT, 'SELECT 1 AS id');
Signature
adbc_table_types(connection_handle := BIGINT) → None
Arguments (Named)
| Argument | Type | Mode | Description |
|---|---|---|---|
Argument
connection_handle
|
Type
BIGINT
|
Mode Named | Description |
Description
List the table-type categories the driver/server distinguishes (e.g. TABLE / VIEW / SYSTEM TABLE).
1
List the driver's table types
SET VARIABLE conn = (SELECT adbc_connect({'driver': 'sqlite', 'uri': ':memory:'}));
SELECT * FROM adbc_table_types(getvariable('conn')::BIGINT);
Related functions
Signature
adbc_tables(
catalog := VARCHAR,
connection_handle := BIGINT,
schema := VARCHAR,
table_name := VARCHAR
) → None
Arguments (Named)
| Argument | Type | Mode | Description |
|---|---|---|---|
Argument
connection_handle
|
Type
BIGINT
|
Mode Named | Description |
Argument
catalog
|
Type
VARCHAR
|
Mode Named | Description |
Argument
schema
|
Type
VARCHAR
|
Mode Named | Description |
Argument
table_name
|
Type
VARCHAR
|
Mode Named | Description |
Description
List tables visible to the connection. Returns name, schema, and table type — driver-dependent filters available.
1
List tables for an active connection
SET VARIABLE conn = (SELECT adbc_connect({'driver': 'sqlite', 'uri': ':memory:'}));
SELECT * FROM adbc_tables(getvariable('conn')::BIGINT);