Schema functions in the ADBC Scanner DuckDB extension
Function category
Schema
4 functionsInspect tables, columns, table types, and named-table Arrow schemas through driver metadata APIs.
Signature
adbc_columns(
database: VARCHAR,
catalog := VARCHAR,
column_name := VARCHAR,
schema := VARCHAR,
table_name := VARCHAR
) → TABLE
Arguments
| Argument | Type | Mode | Description |
|---|---|---|---|
Argument
database
|
Type
VARCHAR
|
Mode Positional | Description Alias of an ATTACH … (TYPE adbc) database. Unknown or non-ADBC names fail at bind. |
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
SQLite example
ATTACH ':memory:' AS db (TYPE adbc, driver 'sqlite');
CALL adbc_execute('db', 'CREATE TABLE users(id INTEGER, name TEXT)');
SELECT * FROM adbc_columns('db', table_name := 'users');
DETACH db;
Signature
adbc_schema(
database: VARCHAR,
table_name: VARCHAR,
catalog := VARCHAR,
schema := VARCHAR
) → TABLE
Arguments
| Argument | Type | Mode | Description |
|---|---|---|---|
Argument
database
|
Type
VARCHAR
|
Mode Positional | Description Alias of an ATTACH … (TYPE adbc) database. Unknown or non-ADBC names fail at bind. |
Argument
table_name
|
Type
VARCHAR
|
Mode Positional | Description |
Argument
catalog
|
Type
VARCHAR
|
Mode Named | Description |
Argument
schema
|
Type
VARCHAR
|
Mode Named | Description |
Description
Describe a named table through the driver's GetTableSchema metadata API. The second argument is a table name, not an SQL query.
1
SQLite example
ATTACH ':memory:' AS db (TYPE adbc, driver 'sqlite');
CALL adbc_execute('db', 'CREATE TABLE users(id INTEGER, name TEXT)');
SELECT * FROM adbc_schema('db', 'users');
DETACH db;
Signature
adbc_table_types(database: VARCHAR) → TABLE
Arguments (Positional)
| Argument | Type | Mode | Description |
|---|---|---|---|
Argument
database
|
Type
VARCHAR
|
Mode Positional | Description Alias of an ATTACH … (TYPE adbc) database. Unknown or non-ADBC names fail at bind. |
Description
List the table-type categories the driver/server distinguishes (e.g. TABLE / VIEW / SYSTEM TABLE).
1
SQLite example
ATTACH ':memory:' AS db (TYPE adbc, driver 'sqlite');
SELECT * FROM adbc_table_types('db');
DETACH db;
Related functions
Signature
adbc_tables(
database: VARCHAR,
catalog := VARCHAR,
schema := VARCHAR,
table_name := VARCHAR
) → TABLE
Arguments
| Argument | Type | Mode | Description |
|---|---|---|---|
Argument
database
|
Type
VARCHAR
|
Mode Positional | Description Alias of an ATTACH … (TYPE adbc) database. Unknown or non-ADBC names fail at bind. |
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 an attached ADBC database. Returns name, schema, and table type — driver-dependent filters available.
1
SQLite example
ATTACH ':memory:' AS db (TYPE adbc, driver 'sqlite');
CALL adbc_execute('db', 'CREATE TABLE users(id INTEGER, name TEXT)');
SELECT * FROM adbc_tables('db');
DETACH db;