Sha256: 0fd7281f5bd0fb15c47549df2031da1235d434551a879c078e50645d59e2a7c3
Contents?: true
Size: 1.4 KB
Versions: 1
Compression:
Stored size: 1.4 KB
Contents
module DuckDB # The DuckDB::Connection encapsulates connection with DuckDB database. # # require 'duckdb' # db = DuckDB::Database.open # con = db.connect # con.query(sql) class Connection # # executes sql with args. # The first argument sql must be SQL string. # The rest arguments are parameters of SQL string. # The parameters must be '?' in SQL statement. # # require 'duckdb' # db = DuckDB::Database.open('duckdb_file') # con = db.connect # users = con.query('SELECT * FROM users') # sql = 'SELECT * FROM users WHERE name = ? AND email = ?' # dave = con.query(sql, 'Dave', 'dave@example.com') # def query(sql, *args) return query_sql(sql) if args.empty? stmt = PreparedStatement.new(self, sql) args.each_with_index do |arg, i| stmt.bind(i + 1, arg) end stmt.execute end # # connects DuckDB database # The first argument is DuckDB::Database object # def connect(db) conn = _connect(db) return conn unless block_given? begin yield conn ensure conn.disconnect end end # # returns PreparedStatement object. # The first argument is SQL string. # def prepared_statement(str) PreparedStatement.new(self, str) end alias execute query alias open connect alias close disconnect end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
duckdb-0.2.6.0 | lib/duckdb/connection.rb |