Class: Presto::Client::Query
- Inherits:
-
Object
- Object
- Presto::Client::Query
- Defined in:
- lib/presto/client/query.rb
Class Method Summary collapse
Instance Method Summary collapse
- #columns ⇒ Object
- #each_row(&block) ⇒ Object
-
#initialize(client) ⇒ Query
constructor
A new instance of Query.
Constructor Details
#initialize(client) ⇒ Query
Returns a new instance of Query.
33 34 35 |
# File 'lib/presto/client/query.rb', line 33 def initialize(client) @client = client end |
Class Method Details
.start(session, query) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/presto/client/query.rb', line 23 def self.start(session, query) faraday = Faraday.new(url: "http://#{session.server}") do |faraday| #faraday.request :url_encoded faraday.response :logger faraday.adapter Faraday.default_adapter end new StatementClient.new(faraday, session, query) end |
Instance Method Details
#columns ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/presto/client/query.rb', line 45 def columns wait_for_data raise_error unless @client.query_succeeded? return @client.current_results.columns end |
#each_row(&block) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/presto/client/query.rb', line 53 def each_row(&block) wait_for_data raise_error unless @client.query_succeeded? if self.columns == nil raise "Query #{@client.current_results.id} has no columns" end begin if data = @client.current_results.data data.each(&block) end @client.advance end while @client.has_next? end |