1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-01-29 20:49:48 +01:00

[ticket/16773] Add missing constraints in PostgreSQL backups

PHPBB3-16773
This commit is contained in:
Alfredo Ramos 2021-05-08 01:12:46 -05:00
parent 20fbe0e254
commit 37518342c6

View File

@ -208,7 +208,7 @@ class postgres_extractor extends base_extractor
}
// Generate constraint clauses for CHECK constraints
$sql_checks = "SELECT pc.conname AS index_name, pg_get_constraintdef(pc.oid)
$sql_checks = "SELECT pc.conname AS index_name, pg_get_expr(pc.conbin, pc.conrelid) AS constraint_expr
FROM pg_constraint pc, pg_class bc
WHERE pc.conrelid = bc.oid
AND bc.relname = '" . $this->db->sql_escape($table_name) . "'
@ -225,9 +225,9 @@ class postgres_extractor extends base_extractor
// Add the constraints to the sql file.
while ($row = $this->db->sql_fetchrow($result))
{
if (!is_null($row['consrc']))
if (!empty($row['constraint_expr']))
{
$lines[] = ' CONSTRAINT ' . $row['index_name'] . ' CHECK ' . $row['consrc'];
$lines[] = ' CONSTRAINT ' . $row['index_name'] . ' CHECK ' . $row['constraint_expr'];
}
}
$this->db->sql_freeresult($result);