lib/prick/rdbms.rb in prick-0.9.0 vs lib/prick/rdbms.rb in prick-0.10.0
- old
+ new
@@ -2,30 +2,29 @@
require 'csv'
module Prick
module Rdbms
-# extend Ensure
-
### EXECUTE SQL
# Execute the SQL statement and return stdout as an array of tuples
- def self.exec_sql(db, sql, user: ENV['USER'])
+ def self.exec_sql(db, sql, user: ENV['USER'], schema: nil)
+ schema ||= "public"
stdout = Command.command %(
{
echo "set role #{user};"
- echo "set search_path to public;"
+ echo "set search_path to #{schema};"
cat <<'EOF'
#{sql}
EOF
} | psql --csv --tuples-only --quiet -v ON_ERROR_STOP=1 -d #{db}
)
CSV.new(stdout.join("\n")).read
end
# Execute the given file and return stdout as an array of tuples
- def self.exec_file(db, file, user: ENV['USER'])
- self.exec_sql(db, File.read(file), user: user)
+ def self.exec_file(db, file, user: ENV['USER'], schema: nil)
+ self.exec_sql(db, File.read(file), user: user, schema: schema)
end
# Execute the SQL statement and return the result as an array of record tuples
# Just an alias for ::exec_sql
def self.select(db, sql, user: ENV['USER']) exec_sql(db, sql, user: user) end