Class: LLMDB::Tools::DescribeTable

Inherits:
RubyLLM::Tool
  • Object
show all
Defined in:
lib/llmdb/tools/describe_table.rb

Instance Method Summary collapse

Constructor Details

#initialize(connection) ⇒ DescribeTable

Returns a new instance of DescribeTable.



11
12
13
14
# File 'lib/llmdb/tools/describe_table.rb', line 11

def initialize(connection)
  super()
  @connection = connection
end

Instance Method Details

#execute(table_name:) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/llmdb/tools/describe_table.rb', line 16

def execute(table_name:)
  schema = @connection.table_schema(table_name)

  sections = ["Table: #{table_name}", format_columns(schema[:columns])]
  sections << format_foreign_keys(schema[:foreign_keys]) if schema[:foreign_keys].any?
  sections.join("\n")
rescue LLMDB::QueryError => e
  { error: e.message }
end