Class: Libsql::Statement

Inherits:
Object
  • Object
show all
Defined in:
lib/libsql.rb

Instance Method Summary collapse

Constructor Details

#initialize(inner) ⇒ Statement

Returns a new instance of Statement.



366
367
368
# File 'lib/libsql.rb', line 366

def initialize(inner)
  @inner = inner
end

Instance Method Details

#bind(params) ⇒ Object

Raises:



370
371
372
373
374
375
376
377
378
379
380
# File 'lib/libsql.rb', line 370

def bind(params)
  raise ClosedException if closed?

  case params
  in Array then params.each { |v| @inner.bind_value convert(v) }
  in Hash
    params.each do |k, v|
      @inner.bind_named case k when Symbol then ":#{k}" else k end, convert(v)
    end
  end
end

#closeObject

Raises:



411
412
413
414
415
416
# File 'lib/libsql.rb', line 411

def close
  raise ClosedException if closed?

  @inner.deinit
  @inner = nil
end

#closed?Boolean

Returns:

  • (Boolean)


418
419
420
# File 'lib/libsql.rb', line 418

def closed?
  @inner.nil?
end

#column_countObject

Raises:



399
400
401
402
403
# File 'lib/libsql.rb', line 399

def column_count
  raise ClosedException if closed?

  @inner.column_count
end

#execute(params = []) ⇒ Object

Raises:



382
383
384
385
386
387
# File 'lib/libsql.rb', line 382

def execute(params = [])
  raise ClosedException if closed?

  bind params
  @inner.execute[:rows_changed]
end

#query(params = []) ⇒ Object

Raises:



389
390
391
392
393
394
395
396
397
# File 'lib/libsql.rb', line 389

def query(params = [])
  raise ClosedException if closed?

  bind params
  rows = Rows.new @inner.query
  return rows unless block_given?

  begin yield rows ensure rows.close end
end

#resetObject

Raises:



405
406
407
408
409
# File 'lib/libsql.rb', line 405

def reset
  raise ClosedException if closed?

  @inner.reset
end