From beba7b3592d3e6ab997de99fcb0bde2616f6d243 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20R=C3=B6ssler?= Date: Wed, 6 Apr 2022 20:51:35 +0200 Subject: [PATCH] PostgreReflector: fix autoincrement column detection --- src/Dibi/Drivers/PostgreReflector.php | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/Dibi/Drivers/PostgreReflector.php b/src/Dibi/Drivers/PostgreReflector.php index c97ff437..8eae9856 100644 --- a/src/Dibi/Drivers/PostgreReflector.php +++ b/src/Dibi/Drivers/PostgreReflector.php @@ -72,13 +72,6 @@ public function getTables(): array public function getColumns(string $table): array { $_table = $this->driver->escapeText($this->driver->escapeIdentifier($table)); - $res = $this->driver->query(" - SELECT indkey - FROM pg_class - LEFT JOIN pg_index on pg_class.oid = pg_index.indrelid AND pg_index.indisprimary - WHERE pg_class.oid = $_table::regclass - "); - $primary = (int) $res->fetch(true)['indkey']; $res = $this->driver->query(" SELECT * @@ -123,7 +116,7 @@ public function getColumns(string $table): array 'size' => $size > 0 ? $size : null, 'nullable' => $row['is_nullable'] === 'YES' || $row['is_nullable'] === 't' || $row['is_nullable'] === true, 'default' => $row['column_default'], - 'autoincrement' => (int) $row['ordinal_position'] === $primary && str_starts_with($row['column_default'] ?? '', 'nextval'), + 'autoincrement' => str_starts_with($row['column_default'] ?? '', 'nextval('), 'vendor' => $row, ]; }