Committed by =?UTF-8?q?Dagfinn=20Ilmari=20Manns=C3=A5ker?= <[email protected]>

Subject: [DBD::Pg 1/2] Fix ORDINAL_POSITION in foreign_key_info. Per RT 88794

---
 Pg.pm          |    2 +-
 t/03dbmethod.t |   10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/Pg.pm b/Pg.pm
index a8676c2..260eaf6 100644
--- a/Pg.pm
+++ b/Pg.pm
@@ -1041,7 +1041,7 @@ use 5.006001;
                                # FK_COLUMN_NAME
                                $fkinfo->[$x][7] = 
$attinfo{$t->{'conrelid'}}{$conkey->[$y]}{'colname'};
                                # ORDINAL_POSITION
-                               $fkinfo->[$x][8] = $conkey->[$y];
+                               $fkinfo->[$x][8] = $y+1;
                                # UPDATE_RULE
                                $fkinfo->[$x][9] = "$t->{'update'}";
                                # DELETE_RULE
diff --git a/t/03dbmethod.t b/t/03dbmethod.t
index fd35d4a..976182d 100644
--- a/t/03dbmethod.t
+++ b/t/03dbmethod.t
@@ -893,7 +893,7 @@ my $fk1 = [
                                         $schema, ## FK Schema
                                         $table2, ## FK Table
                                         'f2', ## FK Table
-                                        2, ## Ordinal position
+                                        1, ## Ordinal position
                                         3, ## Update rule
                                         3, ## Delete rule
                                         'dbd_pg_test2_fk1', ## FK name
@@ -936,7 +936,7 @@ my $fk2 = [
                                         $schema,
                                         $table2,
                                         'f3',
-                                        '3',
+                                        '1',
                                         '0', ## cascade
                                         '2', ## set null
                                         'dbd_pg_test2_fk2',
@@ -967,7 +967,7 @@ my $fk3 = [
                                         $schema,
                                         $table2,
                                         'f3',
-                                        '3',
+                                        '1',
                                         '4', ## set default
                                         '1', ## restrict
                                         'dbd_pg_test2_aafk3',
@@ -1055,8 +1055,8 @@ my $fk5 = [
 # primary column name [3]
 # foreign column name [7]
 # ordinal position [8]
-my @fk6 = @$fk5; my $fk6 = \@fk6; $fk6->[3] = 'a'; $fk6->[7] = 'f3'; $fk6->[8] 
= 3;
-my @fk7 = @$fk5; my $fk7 = \@fk7; $fk7->[3] = 'b'; $fk7->[7] = 'f2'; $fk7->[8] 
= 2;
+my @fk6 = @$fk5; my $fk6 = \@fk6; $fk6->[3] = 'a'; $fk6->[7] = 'f3'; $fk6->[8] 
= 2;
+my @fk7 = @$fk5; my $fk7 = \@fk7; $fk7->[3] = 'b'; $fk7->[7] = 'f2'; $fk7->[8] 
= 3;
 $expected = [$fk3,$fk1,$fk2,$fk5,$fk6,$fk7];
 is_deeply ($result, $expected, $t);
 
-- 
1.7.1

Reply via email to