mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-27 21:58:52 +00:00
[ticket/16525] Remove usage of pg_constraint.consrc for PostgreSQL 12
The column pg_constraint.consrc has been deprecated for a long time, and it was finally removed in PostgreSQL 12.0 PHPBB3-16525
This commit is contained in:
parent
a4c69a8f43
commit
201a5b6e06
2 changed files with 15 additions and 15 deletions
|
@ -208,16 +208,16 @@ class postgres_extractor extends base_extractor
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate constraint clauses for CHECK constraints
|
// Generate constraint clauses for CHECK constraints
|
||||||
$sql_checks = "SELECT conname as index_name, consrc
|
$sql_checks = "SELECT pc.conname AS index_name, pg_get_constraintdef(pc.oid)
|
||||||
FROM pg_constraint, pg_class bc
|
FROM pg_constraint pc, pg_class bc
|
||||||
WHERE conrelid = bc.oid
|
WHERE pc.conrelid = bc.oid
|
||||||
AND bc.relname = '" . $this->db->sql_escape($table_name) . "'
|
AND bc.relname = '" . $this->db->sql_escape($table_name) . "'
|
||||||
AND NOT EXISTS (
|
AND NOT EXISTS (
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM pg_constraint as c, pg_inherits as i
|
FROM pg_constraint AS c, pg_inherits AS i
|
||||||
WHERE i.inhrelid = pg_constraint.conrelid
|
WHERE i.inhrelid = pc.conrelid
|
||||||
AND c.conname = pg_constraint.conname
|
AND c.conname = pc.conname
|
||||||
AND c.consrc = pg_constraint.consrc
|
AND pg_get_constraintdef(c.oid) = pg_get_constraintdef(pc.oid)
|
||||||
AND c.conrelid = i.inhparent
|
AND c.conrelid = i.inhparent
|
||||||
)";
|
)";
|
||||||
$result = $this->db->sql_query($sql_checks);
|
$result = $this->db->sql_query($sql_checks);
|
||||||
|
|
|
@ -141,7 +141,7 @@ class postgres extends tools
|
||||||
$primary_key_gen = isset($prepared_column['primary_key_set']) && $prepared_column['primary_key_set'];
|
$primary_key_gen = isset($prepared_column['primary_key_set']) && $prepared_column['primary_key_set'];
|
||||||
}
|
}
|
||||||
|
|
||||||
// create sequence DDL based off of the existance of auto incrementing columns
|
// create sequence DDL based off of the existence of auto incrementing columns
|
||||||
if (!$create_sequence && isset($prepared_column['auto_increment']) && $prepared_column['auto_increment'])
|
if (!$create_sequence && isset($prepared_column['auto_increment']) && $prepared_column['auto_increment'])
|
||||||
{
|
{
|
||||||
$create_sequence = $column_name;
|
$create_sequence = $column_name;
|
||||||
|
@ -559,16 +559,16 @@ class postgres extends tools
|
||||||
// we don't want to double up on constraints if we change different number data types
|
// we don't want to double up on constraints if we change different number data types
|
||||||
if (isset($column_data['constraint']))
|
if (isset($column_data['constraint']))
|
||||||
{
|
{
|
||||||
$constraint_sql = "SELECT consrc as constraint_data
|
$constraint_sql = "SELECT pg_get_constraintdef(pc.oid) AS constraint_data
|
||||||
FROM pg_constraint, pg_class bc
|
FROM pg_constraint pc, pg_class bc
|
||||||
WHERE conrelid = bc.oid
|
WHERE conrelid = bc.oid
|
||||||
AND bc.relname = '{$table_name}'
|
AND bc.relname = '" . $this->db->sql_escape($table_name) . "'
|
||||||
AND NOT EXISTS (
|
AND NOT EXISTS (
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM pg_constraint as c, pg_inherits as i
|
FROM pg_constraint AS c, pg_inherits AS i
|
||||||
WHERE i.inhrelid = pg_constraint.conrelid
|
WHERE i.inhrelid = pc.conrelid
|
||||||
AND c.conname = pg_constraint.conname
|
AND c.conname = pc.conname
|
||||||
AND c.consrc = pg_constraint.consrc
|
AND pg_get_constraintdef(c.oid) = pg_get_constraintdef(pc.oid)
|
||||||
AND c.conrelid = i.inhparent
|
AND c.conrelid = i.inhparent
|
||||||
)";
|
)";
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue