From 03076057704ced9a2e1bc7bca829299a459bc07d Mon Sep 17 00:00:00 2001 From: Jamis Buck Date: Tue, 15 Feb 2005 18:39:05 +0000 Subject: Fixed a bug that caused crashes when using type translation with typeless columns (like those from count(*), etc.). --- lib/sqlite3/translator.rb | 1 + test/tc_integration.rb | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/lib/sqlite3/translator.rb b/lib/sqlite3/translator.rb index 1ee315e..14d28b6 100644 --- a/lib/sqlite3/translator.rb +++ b/lib/sqlite3/translator.rb @@ -81,6 +81,7 @@ module SQLite3 # A convenience method for working with type names. This returns the "base" # type name, without any parenthetical data. def type_name( type ) + return "" if type.nil? type = $1 if type =~ /^(.*?)\(/ type.upcase end diff --git a/test/tc_integration.rb b/test/tc_integration.rb index e55b5a1..514ffe2 100644 --- a/test/tc_integration.rb +++ b/test/tc_integration.rb @@ -889,6 +889,13 @@ module Integration assert_equal [ 1, "foo" ], @result.next end + define_method( "test_next_type_translation_with_untyped_column" ) do + @db.type_translation = true + @db.query( "select count(*) from foo" ) do |result| + assert_equal ["3"], result.next + end + end + define_method( "test_next_results_as_hash" ) do @db.results_as_hash = true @result.reset( 1 ) -- cgit