Method: Baza::Db#query
- Defined in:
- lib/baza/db.rb
#query(string, args = nil, &block) ⇒ Object Also known as: q
Executes a query and returns the result.
Examples
res = db.query(‘SELECT * FROM users’) while data = res.fetch
print data[:name]
end
299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 |
# File 'lib/baza/db.rb', line 299 def query(string, args = nil, &block) if @debug print "SQL: #{string}\n" if @debug.class.name == "Fixnum" && @debug >= 2 print caller.join("\n") print "\n" end end # If the query should be executed in a new connection unbuffered. if args && args[:cloned_ubuf] raise "No block given." unless block cloned_conn(clone_args: args[:clone_args]) do |cloned_conn| return cloned_conn.query_ubuf(string, args, &block) end return nil end return query_ubuf(string, args, &block) if args && args[:type] == :unbuffered ret = @driver.query(string) if block && ret ret.each(&block) return nil end ret end |