Class: Terastream::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/terastream/query.rb,
lib/terastream/query/result_set.rb,
lib/terastream/query/base_formatter.rb,
lib/terastream/query/records_builder.rb,
lib/terastream/query/result_set_metadata.rb

Defined Under Namespace

Classes: BaseFormatter, Record, RecordsBuilder, ResultSet, ResultSetMetadata

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection) ⇒ Query

Returns a new instance of Query.



11
12
13
14
15
16
17
# File 'lib/terastream/query.rb', line 11

def initialize(connection)
  @connection = connection
  @statement = connection.create_statement
  @statement.setQueryTimeout(connection.config.timeout)
  @executed = false
  @result_set = []
end

Instance Attribute Details

#result_setObject

Returns the value of attribute result_set.



3
4
5
# File 'lib/terastream/query.rb', line 3

def result_set
  @result_set
end

#statementObject

Returns the value of attribute statement.



3
4
5
# File 'lib/terastream/query.rb', line 3

def statement
  @statement
end

Class Method Details

.build(connection) ⇒ Object



6
7
8
# File 'lib/terastream/query.rb', line 6

def build(connection)
  new(connection)
end

Instance Method Details

#execute(sql) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/terastream/query.rb', line 23

def execute(sql)
  results = ResultSet.new(statement.execute_query(sql), @connection.formatter, @connection.output)
  @executed = true
  results
rescue  => e
  raise Terastream::Errors::QueryError.new("Database exception: #{e.message}")
end

#executed?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/terastream/query.rb', line 19

def executed?
  @executed
end