Class: RCrewAI::Tools::SqlDatabase
- Defined in:
- lib/rcrewai/tools/sql_database.rb
Constant Summary
Constants included from RCrewAI::ToolSchema
Instance Method Summary collapse
- #execute(**params) ⇒ Object
-
#initialize(**options) ⇒ SqlDatabase
constructor
A new instance of SqlDatabase.
Methods inherited from Base
available_tools, create_tool, #description, #execute_with_validation, #json_schema, list_available_tools, #name, #validate_params!
Methods included from RCrewAI::ToolSchema
#description, extended, #json_schema, #param, #params, #tool_name
Constructor Details
#initialize(**options) ⇒ SqlDatabase
Returns a new instance of SqlDatabase.
16 17 18 19 20 21 22 23 |
# File 'lib/rcrewai/tools/sql_database.rb', line 16 def initialize(**) super() @connection_string = [:connection_string] @database_type = detect_database_type @max_results = .fetch(:max_results, 100) @timeout = .fetch(:timeout, 30) setup_database_adapter end |
Instance Method Details
#execute(**params) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/rcrewai/tools/sql_database.rb', line 25 def execute(**params) validate_params!(params, required: [:query], optional: [:limit]) query = params[:query].strip limit = params[:limit] || @max_results begin validate_query_safety!(query) result = execute_query(query, limit) format_query_result(query, result) rescue StandardError => e "SQL execution failed: #{e.}" end end |