Class: ClickHouse::Connection
- Inherits:
-
Object
- Object
- ClickHouse::Connection
- Defined in:
- lib/click_house/connection.rb
Instance Method Summary collapse
- #database_name ⇒ Object
- #execute(query) ⇒ Object
-
#initialize(database, configuration = ClickHouse::Client.configuration) ⇒ Connection
constructor
A new instance of Connection.
- #insert_csv(query, file) ⇒ Object
- #ping ⇒ Object
- #select(query) ⇒ Object
- #table_exists?(table_name) ⇒ Boolean
Constructor Details
#initialize(database, configuration = ClickHouse::Client.configuration) ⇒ Connection
Returns a new instance of Connection.
5 6 7 8 |
# File 'lib/click_house/connection.rb', line 5 def initialize(database, configuration = ClickHouse::Client.configuration) @database = database @configuration = configuration end |
Instance Method Details
#database_name ⇒ Object
26 27 28 |
# File 'lib/click_house/connection.rb', line 26 def database_name configuration.databases[database]&.database end |
#execute(query) ⇒ Object
14 15 16 |
# File 'lib/click_house/connection.rb', line 14 def execute(query) ClickHouse::Client.execute(query, database, configuration) end |
#insert_csv(query, file) ⇒ Object
18 19 20 |
# File 'lib/click_house/connection.rb', line 18 def insert_csv(query, file) ClickHouse::Client.insert_csv(query, file, database, configuration) end |
#ping ⇒ Object
22 23 24 |
# File 'lib/click_house/connection.rb', line 22 def ping execute('SELECT 1') end |
#select(query) ⇒ Object
10 11 12 |
# File 'lib/click_house/connection.rb', line 10 def select(query) ClickHouse::Client.select(query, database, configuration) end |
#table_exists?(table_name) ⇒ Boolean
30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/click_house/connection.rb', line 30 def table_exists?(table_name) raw_query = <<~SQL.squish SELECT 1 FROM system.tables WHERE name = {table_name: String} AND database = {database_name: String} SQL placeholders = { table_name: table_name, database_name: database_name } query = ClickHouse::Client::Query.new(raw_query: raw_query, placeholders: placeholders) select(query).any? end |