module ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements
Public Instance Methods
# File activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb, line 132 def build_explain_clause(options = []) return "EXPLAIN" if options.empty? "EXPLAIN (#{options.join(", ").upcase})" end
# File activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb, line 7 def explain(arel, binds = [], options = []) sql = build_explain_clause(options) + " " + to_sql(arel, binds) result = internal_exec_query(sql, "EXPLAIN", binds) PostgreSQL::ExplainPrettyPrinter.new.pp(result) end
# File activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb, line 128 def high_precision_current_timestamp HIGH_PRECISION_CURRENT_TIMESTAMP end
# File activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb, line 52 def raw_execute(sql, name, async: false, allow_retry: false, materialize_transactions: true) log(sql, name, async: async) do with_raw_connection(allow_retry: allow_retry, materialize_transactions: materialize_transactions) do |conn| result = conn.async_exec(sql) verified! handle_warnings(result) result end end end