exec_query

in rspec_stats/rspec_query.rb [161:183]


  def exec_query(csv_filename)
    if ENV['PGURI'].nil?
      env = ENV.slice('PGHOST', 'PGDATABASE', 'PGUSER', 'PGPASSWORD', 'PGSSLMODE', 'PGSSLCERT', 'PGSSLKEY',
        'PGSSLROOTCERT')
      cmd = ['psql', '-A', '-F', ',', '-o', csv_filename, '-f', '-']
      
    else
      env = {}
      cmd = ['psql', ENV['PGURI'], '-A', '-F', ',', '-o', csv_filename, '-f', '-']
      
    end

    puts "creating #{csv_filename}"
    Open3.popen2(env, *cmd) do |stdin, _stdout, thr|
      stdin.puts sql
      stdin.close
      
      exit_status = thr.value

      raise "psql failed" unless exit_status.success?
    end
  end