module Sequent::Core::Helpers::PgsqlHelpers
Public Instance Methods
Source
# File lib/sequent/core/helpers/pgsql_helpers.rb, line 7 def call_procedure(connection, procedure, params) fail ArgumentError if procedure.blank? statement = "CALL #{quote_ident(procedure)}(#{bind_placeholders(params)})" connection.exec_update(statement, procedure, params) end
Source
# File lib/sequent/core/helpers/pgsql_helpers.rb, line 14 def query_function(connection, function, params, columns: []) fail ArgumentError if function.blank? cols = columns.blank? ? '*' : columns.map { |c| PG::Connection.quote_ident(c) }.join(', ') query = "SELECT #{cols} FROM #{quote_ident(function)}(#{bind_placeholders(params)})" connection.exec_query(query, function, params) end
Private Instance Methods
Source
# File lib/sequent/core/helpers/pgsql_helpers.rb, line 24 def bind_placeholders(params) (1..params.size).map { |n| "$#{n}" }.join(', ') end
Source
# File lib/sequent/core/helpers/pgsql_helpers.rb, line 28 def quote_ident(...) = PG::Connection.quote_ident(...) end