Methods

Instance Public methods

execute(sql, name = nil)

Executes an SQL statement, returning a PG::Result object on success or raising a PG::Error exception otherwise. Note: the PG::Result object is manually memory managed; if you don’t need it specifically, you may want consider the exec_query wrapper.

📝 Source code
# File activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb, line 39
        def execute(sql, name = nil)
          sql = transform_query(sql)
          check_if_write_query(sql)

          materialize_transactions
          mark_transaction_written_if_write(sql)

          log(sql, name) do
            ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
              @connection.async_exec(sql)
            end
          end
        end
🔎 See on GitHub

explain(arel, binds = [])

📝 Source code
# File activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb, line 7
        def explain(arel, binds = [])
          sql = "EXPLAIN #{to_sql(arel, binds)}"
          PostgreSQL::ExplainPrettyPrinter.new.pp(exec_query(sql, "EXPLAIN", binds))
        end
🔎 See on GitHub

high_precision_current_timestamp()

📝 Source code
# File activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb, line 128
        def high_precision_current_timestamp
          HIGH_PRECISION_CURRENT_TIMESTAMP
        end
🔎 See on GitHub