# File lib/dbd/sqlite3/statement.rb, line 41 41: def column_info() 42: @stmt.columns.zip(@stmt.types).map{|name, type_name| 43: m = DBI::DBD::SQLite3.parse_type(type_name) 44: h = { 45: 'name' => name, 46: 'type_name' => m[1], 47: 'sql_type' => 48: begin 49: DBI.const_get('SQL_'+m[1].upcase) 50: rescue NameError 51: DBI::SQL_OTHER 52: end, 53: } 54: h['precision'] = m[3].to_i if m[3] 55: h['scale'] = m[5].to_i if m[5] 56: 57: case h['type_name'] 58: when 'double' 59: h['dbi_type'] = DBI::Type::Float 60: end 61: 62: h 63: } 64: end