pub struct TableDescription { /* private fields */ }Expand description
RAII wrapper for a duckdb_table_description.
Provides metadata about a table’s columns. Automatically destroyed on drop.
Implementations§
Source§impl TableDescription
impl TableDescription
Sourcepub unsafe fn create(
con: duckdb_connection,
schema: &str,
table: &str,
) -> Result<Self, ExtensionError>
pub unsafe fn create( con: duckdb_connection, schema: &str, table: &str, ) -> Result<Self, ExtensionError>
Sourcepub unsafe fn with_catalog(
con: duckdb_connection,
catalog: Option<&str>,
schema: Option<&str>,
table: &str,
) -> Result<Self, ExtensionError>
pub unsafe fn with_catalog( con: duckdb_connection, catalog: Option<&str>, schema: Option<&str>, table: &str, ) -> Result<Self, ExtensionError>
Creates a table description, fully qualified by optional catalog and
schema.
None means “the default”, matching duckdb_table_description_create_ext.
§Errors
Returns ExtensionError if any name contains an interior NUL byte, or
if the table does not exist or cannot be described.
§Safety
con must be a valid, open duckdb_connection.
Sourcepub fn column_count(&self) -> idx_t
pub fn column_count(&self) -> idx_t
Returns the number of columns in the table.
Sourcepub fn column_name(&self, index: idx_t) -> Option<String>
pub fn column_name(&self, index: idx_t) -> Option<String>
Returns the name of the column at the given index.
Returns None if the index is out of bounds or the name is not valid UTF-8.
Sourcepub fn column_type(&self, index: idx_t) -> Option<LogicalType>
pub fn column_type(&self, index: idx_t) -> Option<LogicalType>
Returns the logical type of the column at the given index.
Returns None if the index is out of bounds. The returned LogicalType
is RAII-managed and will be destroyed automatically on drop.
Sourcepub fn column_has_default(&self, index: idx_t) -> Option<bool>
pub fn column_has_default(&self, index: idx_t) -> Option<bool>
Returns whether the column at index has a DEFAULT value.
Returns None if the index is out of bounds. This is what makes
Appender::append_default
safe to reach for: appending a default to a column that has none is an
error, and this is the only way to find out first.
Sourcepub const fn as_raw(&self) -> duckdb_table_description
pub const fn as_raw(&self) -> duckdb_table_description
Returns the raw duckdb_table_description handle without consuming the
wrapper. The wrapper retains ownership and destroys it on drop.