# File lib/dbd/sqlite3/statement.rb, line 41 def column_info() @stmt.columns.zip(@stmt.types).map{|name, type_name| m = DBI::DBD::SQLite3.parse_type(type_name) h = { 'name' => name, 'type_name' => m[1], 'sql_type' => begin DBI.const_get('SQL_'+m[1].upcase) rescue NameError DBI::SQL_OTHER end, } h['precision'] = m[3].to_i if m[3] h['scale'] = m[5].to_i if m[5] case h['type_name'] when 'double' h['dbi_type'] = DBI::Type::Float end h } end