class OCI8::Cursor
def define_columns
def define_columns # http://docs.oracle.com/cd/E11882_01/appdev.112/e10646/ociaahan.htm#sthref5494 num_cols = attr_get_ub4(18) # OCI_ATTR_PARAM_COUNT(18) @column_metadata = 1.upto(num_cols).collect do |i| __paramGet(i) end if @define_handles.size == 0 use_array_fetch = @@use_array_fetch @column_metadata.each do |md| case md.data_type when :clob, :blob, :bfile # Rows prefetching doesn't work for CLOB, BLOB and BFILE. # Use array fetching to get more than one row in a network round trip. use_array_fetch = true end end @fetch_array_size = @prefetch_rows if use_array_fetch end @column_metadata.each_with_index do |md, i| define_one_column(i + 1, md) unless @define_handles[i] end num_cols end