drill_adapter.rb 505 B

12345678910111213141516171819202122
  1. module Blazer
  2. module Adapters
  3. class DrillAdapter < BaseAdapter
  4. def run_statement(statement, comment)
  5. columns = []
  6. rows = []
  7. error = nil
  8. drill = ::Drill.new(url: settings["url"])
  9. begin
  10. response = drill.query(statement)
  11. rows = response.map { |r| r.values }
  12. columns = rows.any? ? response.first.keys : []
  13. rescue => e
  14. error = e.message
  15. end
  16. [columns, rows, error]
  17. end
  18. end
  19. end
  20. end