]> git.joonet.de Git - adminer.git/commitdiff
PostgreSQL: Use function for exporting constraints
authorJakub Vrana <jakub@vrana.cz>
Wed, 26 Feb 2025 11:35:25 +0000 (12:35 +0100)
committerJakub Vrana <jakub@vrana.cz>
Wed, 26 Feb 2025 11:35:25 +0000 (12:35 +0100)
adminer/drivers/pgsql.inc.php

index a5e6f8e1241176eb5786bd8aeb69a056ae3ebd64..001f241e35503d47cf2bc9d8289a1911dde2a2a0 100644 (file)
@@ -770,6 +770,7 @@ AND typelem = 0"
        }
 
        function create_sql($table, $auto_increment, $style) {
+               global $driver;
                $return_parts = array();
                $sequences = array();
 
@@ -823,17 +824,7 @@ AND typelem = 0"
                        }
                }
 
-               $constraints = get_key_vals("SELECT conname, " . (min_version(8) ? "pg_get_constraintdef(pg_constraint.oid)" : "CONCAT('CHECK ', consrc)") . "
-FROM pg_catalog.pg_constraint
-INNER JOIN pg_catalog.pg_namespace ON pg_constraint.connamespace = pg_namespace.oid
-INNER JOIN pg_catalog.pg_class ON pg_constraint.conrelid = pg_class.oid AND pg_constraint.connamespace = pg_class.relnamespace
-WHERE pg_constraint.contype = 'c'
-AND conrelid != 0 -- handle only CONSTRAINTs here, not TYPES
-AND nspname = current_schema()
-AND relname = " . q($table) . "
-ORDER BY connamespace, conname"
-               );
-               foreach ($constraints as $conname => $consrc) {
+               foreach ($driver->checkConstraints($table) as $conname => $consrc) {
                        $return_parts[] = "CONSTRAINT " . idf_escape($conname) . " $consrc";
                }