Class: AppMap::Handler::Rails::SQLHandler::SQLExaminer::ActiveRecordExaminer
- Inherits:
-
Object
- Object
- AppMap::Handler::Rails::SQLHandler::SQLExaminer::ActiveRecordExaminer
- Defined in:
- lib/appmap/handler/rails/sql_handler.rb
Constant Summary collapse
- @@db_version_warning_issued =
{}
Instance Method Summary collapse
- #database_type ⇒ Object
- #execute_query(sql) ⇒ Object
- #in_transaction? ⇒ Boolean
- #issue_warning ⇒ Object
- #server_version ⇒ Object
Instance Method Details
#database_type ⇒ Object
127 128 129 130 131 132 |
# File 'lib/appmap/handler/rails/sql_handler.rb', line 127 def database_type type = ActiveRecord::Base.connection.adapter_name.downcase.to_sym type = :postgres if type == :postgresql type end |
#execute_query(sql) ⇒ Object
138 139 140 |
# File 'lib/appmap/handler/rails/sql_handler.rb', line 138 def execute_query(sql) ActiveRecord::Base.connection.execute(sql).to_a end |
#in_transaction? ⇒ Boolean
134 135 136 |
# File 'lib/appmap/handler/rails/sql_handler.rb', line 134 def in_transaction? ActiveRecord::Base.connection.open_transactions > 0 end |
#issue_warning ⇒ Object
116 117 118 119 120 121 |
# File 'lib/appmap/handler/rails/sql_handler.rb', line 116 def issue_warning db_type = database_type return if @@db_version_warning_issued[db_type] warn("AppMap: Unable to determine database version for #{db_type.inspect}") @@db_version_warning_issued[db_type] = true end |
#server_version ⇒ Object
123 124 125 |
# File 'lib/appmap/handler/rails/sql_handler.rb', line 123 def server_version ActiveRecord::Base.connection.try(:database_version) || issue_warning end |