test float(x) type aliases in pg
Rafael Kitover [Sat, 20 Mar 2010 05:02:32 +0000 (01:02 -0400)]
t/12pg_common.t
t/lib/dbixcsl_common_tests.pm

index b09d0c4..fb31fb7 100644 (file)
@@ -70,6 +70,9 @@ my $tester = dbixcsl_common_tests->new(
        'char(2)'                        => { size => 2, data_type => 'character' },
        'numeric(6, 3)'                  => { size => [6,3], data_type => 'numeric' },
        'decimal(6, 3)'                  => { size => [6,3], data_type => 'numeric' },
+        'float(24)'                      => { size => undef, data_type => 'real' },
+        'float(53)'                      => { size => undef, data_type => 'double precision' },
+        'float'                          => { size => undef, data_type => 'double precision' },
     },
     extra       => {
         create => [
index 44fbea3..8dff6ec 100644 (file)
@@ -1543,6 +1543,8 @@ sub setup_data_type_tests {
 
     my $test_count = 0;
 
+    my %seen_col_names;
+
     while (my ($col_def, $expected_info) = each %$types) {
         my $have_size = $col_def =~ /\(/ ? 1 : 0;
 
@@ -1551,6 +1553,8 @@ sub setup_data_type_tests {
 
         my $col_name = $type_alias . ($have_size ? '_with_size' : '');
 
+        $col_name .= $seen_col_names{$col_name} if $seen_col_names{$col_name}++;
+
         $ddl .= "    $col_name $col_def,\n";
 
         $cols->{$col_name} = $expected_info;