Class: Dbviewer::Query::Executor
- Inherits:
-
Object
- Object
- Dbviewer::Query::Executor
- Defined in:
- lib/dbviewer/query/executor.rb
Overview
Executor handles executing SQL queries and formatting results
Instance Method Summary collapse
-
#execute_query(sql) ⇒ ActiveRecord::Result
Execute a raw SQL query after validating for safety.
-
#execute_sqlite_pragma(pragma) ⇒ ActiveRecord::Result
Execute a SQLite PRAGMA command without adding a LIMIT clause.
-
#initialize(connection, config = nil) ⇒ Executor
constructor
Initialize with a connection and configuration.
Constructor Details
#initialize(connection, config = nil) ⇒ Executor
Initialize with a connection and configuration
8 9 10 11 |
# File 'lib/dbviewer/query/executor.rb', line 8 def initialize(connection, config = nil) @connection = connection @config = config || Dbviewer.configuration end |
Instance Method Details
#execute_query(sql) ⇒ ActiveRecord::Result
Execute a raw SQL query after validating for safety
17 18 19 20 |
# File 'lib/dbviewer/query/executor.rb', line 17 def execute_query(sql) log_query_execution(sql, "query") exec_query(normalize_sql(sql)) end |
#execute_sqlite_pragma(pragma) ⇒ ActiveRecord::Result
Execute a SQLite PRAGMA command without adding a LIMIT clause
26 27 28 29 30 |
# File 'lib/dbviewer/query/executor.rb', line 26 def execute_sqlite_pragma(pragma) pragma_sql = "PRAGMA #{pragma}" log_query_execution(pragma_sql, "pragma") exec_query(pragma_sql) end |