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.



364
365
366
# File 'lib/libsql.rb', line 364

def initialize(inner)
  @inner = inner
end

Instance Method Details

#bind(params) ⇒ Object

Raises:



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

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:



409
410
411
412
413
414
# File 'lib/libsql.rb', line 409

def close
  raise ClosedException if closed?

  @inner.deinit
  @inner = nil
end

#closed?Boolean

Returns:

  • (Boolean)


416
417
418
# File 'lib/libsql.rb', line 416

def closed?
  @inner.nil?
end

#column_countObject

Raises:



397
398
399
400
401
# File 'lib/libsql.rb', line 397

def column_count
  raise ClosedException if closed?

  @inner.column_count
end

#execute(params = []) ⇒ Object

Raises:



380
381
382
383
384
385
# File 'lib/libsql.rb', line 380

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

  bind params
  @inner.execute[:rows_changed]
end

#query(params = []) ⇒ Object

Raises:



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

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:



403
404
405
406
407
# File 'lib/libsql.rb', line 403

def reset
  raise ClosedException if closed?

  @inner.reset
end