class DuckDB::TableDescription

DuckDB::TableDescription provides metadata about a table in DuckDB.

Use it to retrieve column descriptions — including name, logical type, and whether a column has a default value — for any accessible table.

Requires DuckDB >= 1.5.0.

require 'duckdb'
db = DuckDB::Database.open
con = db.connect
con.query('CREATE TABLE users (id INTEGER, name VARCHAR DEFAULT \'anonymous\')')

td = DuckDB::TableDescription.new(con, 'users')
td.column_descriptions.each do |cd|
  puts "#{cd.name}: #{cd.logical_type.type}, default=#{cd.has_default?}"
end
# id: integer, default=false
# name: varchar, default=true