def choose_type(ar_type)
procs = AR_TO_JDBC_TYPES[ar_type]
types = @types
procs.each do |p|
new_types = types.reject {|r| r["data_type"].to_i == Jdbc::Types::OTHER}
new_types = new_types.select(&p)
new_types = new_types.inject([]) do |typs,t|
typs << t unless typs.detect {|el| el['type_name'] == t['type_name']}
typs
end
return new_types.first if new_types.length == 1
types = new_types if new_types.length > 0
end
raise "unable to choose type for #{ar_type} from:\n#{types.collect{|t| t['type_name']}.inspect}"
end