Module: MonetDB::Connection::Query
- Included in:
- MonetDB::Connection
- Defined in:
- lib/monetdb/connection/query.rb
Instance Method Summary collapse
- #query(statement) ⇒ Object (also: #select_rows)
- #select_value(query) ⇒ Object
- #select_values(query) ⇒ Object
Instance Method Details
#query(statement) ⇒ Object Also known as: select_rows
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/monetdb/connection/query.rb', line 5 def query(statement) raise ConnectionError, "Not connected to server" unless connected? start = Time.now write "s#{statement};" response = read.split("\n") log :info, "\n [1m[35mSQL (#{((Time.now - start) * 1000).round(1)}ms)[0m #{statement}[0m" query_header, table_header = extract_headers!(response) if query_header[:type] == Q_TABLE unless query_header[:rows] == response.size raise QueryError, "Amount of fetched rows does not match header value (#{response.size} instead of #{query_header[:rows]})" end response = parse_rows(query_header, table_header, response.join("\n")) else response = true end response end |
#select_value(query) ⇒ Object
35 36 37 38 |
# File 'lib/monetdb/connection/query.rb', line 35 def select_value(query) row = select_rows(query)[0] row[0] if row end |
#select_values(query) ⇒ Object
31 32 33 |
# File 'lib/monetdb/connection/query.rb', line 31 def select_values(query) select_rows(query).collect{|x| x[0]} end |