class DBI::DBD::OCI8::Statement

def __bind_value(param)

def __bind_value(param)
  @cursor[param]
end

def __define(pos, type, length = nil)

def __define(pos, type, length = nil)
  @cursor.define(pos, type, length)
  self
end

def __rowid

def __rowid
  @cursor.rowid
end

def bind_param( param, value, attribs)

def bind_param( param, value, attribs)
  if attribs.nil? || attribs['type'].nil?
    if value.nil?
cursor.bind_param(param, nil, String, 1)
    else
cursor.bind_param(param, value)
    end
  else
    case attribs['type']
    when SQL_BINARY
ype = OCI_TYPECODE_RAW
    else
ype = attribs['type']
    end
    @cursor.bind_param(param, value, type)
  end
rescue OCIException => err
  raise_dbierror(err)
end

def column_info

def column_info
  # minimum implementation.
  @cursor.column_metadata.collect do |md|
    col = column_metadata_to_column_info(md)
    col['indexed']   = nil
    col['primary']   = nil
    col['unique']    = nil
    col['default']   = nil
    col
  end
rescue OCIException => err
  raise_dbierror(err)
end

def execute

def execute
  @cursor.exec
rescue OCIException => err
  raise_dbierror(err)
end

def fetch

def fetch
  @cursor.fetch
rescue OCIException => err
  raise_dbierror(err)
end

def finish

def finish
  @cursor.close
rescue OCIException => err
  raise_dbierror(err)
end

def initialize(cursor)

def initialize(cursor)
  @cursor = cursor
end

def rows

def rows
  @cursor.row_count
rescue OCIException => err
  raise_dbierror(err)
end