модуль ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements
Общедоступные методы экземпляра
# 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 Выполняет SQL-запрос, возвращая объект PG::Result при успехе или выбрасывая исключение PG::Error в противном случае. Примечание: объект PG::Result управляется вручную; если вам он не нужен, можно рассмотреть обертку exec_query.
# 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 # File activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb, line 132 def high_precision_current_timestamp HIGH_PRECISION_CURRENT_TIMESTAMP end
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.