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