# File lib/dbi/row.rb, line 33
33:         def initialize(columns, column_types, size_or_array=nil, convert_types=true)
34:             @column_types = column_types
35:             @convert_types = convert_types
36:             size_or_array ||= columns.size 
37:             
38:             # The '@column_map' is used to map column names to integer values so
39:             # that users can reference row values by name or number.
40: 
41:             @column_map   = {}
42:             @column_names = columns
43:             columns.each_with_index { |c,i| @column_map[c] = i }
44: 
45:             case size_or_array
46:             when Integer
47:                 super(@arr = Array.new(size_or_array))
48:             when Array
49:                 super(@arr = size_or_array.dup)
50:                 set_values(size_or_array.dup)
51:             else
52:                 raise TypeError, "parameter must be either Integer or Array"
53:             end
54:         end