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