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

dbdpg-commits-gENoVmVU/[email protected] Sat, 21 Sep 2013 22:48:55 -0400
Newsgroups gmane.comp.db.postgresql.dbdpg.cvs
Message-ID <[email protected]>
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