From b17ffcc512903539691616aa7be1a7ee1ebb3857 Mon Sep 17 00:00:00 2001 From: khoazero123 Date: Fri, 22 Oct 2021 11:34:22 +0700 Subject: [PATCH] PostgreSQL: Fix exporting CREATE TABLE with sequence default value --- adminer/drivers/pgsql.inc.php | 6 +++--- changes.txt | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index 427c3df1..f41ea04b 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -36,7 +36,7 @@ if (isset($_GET["pgsql"])) { } function quote($string) { - return "'" . pg_escape_string($this->_link, $string) . "'"; + return pg_escape_literal($this->_link, $string); } function value($val, $field) { @@ -775,7 +775,7 @@ AND typelem = 0" $return = "CREATE TABLE " . idf_escape($status['nspname']) . "." . idf_escape($status['Name']) . " (\n "; // fields' definitions - foreach ($fields as $field_name => $field) { + foreach ($fields as $field) { $part = idf_escape($field['field']) . ' ' . $field['full_type'] . default_value($field) . ($field['attnotnull'] ? " NOT NULL" : ""); @@ -785,7 +785,7 @@ AND typelem = 0" if (preg_match('~nextval\(\'([^\']+)\'\)~', $field['default'], $matches)) { $sequence_name = $matches[1]; $sq = reset(get_rows(min_version(10) - ? "SELECT *, cache_size AS cache_value FROM pg_sequences WHERE schemaname = current_schema() AND sequencename = " . q($sequence_name) + ? "SELECT *, cache_size AS cache_value FROM pg_sequences WHERE schemaname = current_schema() AND sequencename = " . q(idf_unescape($sequence_name)) : "SELECT * FROM $sequence_name" )); $sequences[] = ($style == "DROP+CREATE" ? "DROP SEQUENCE IF EXISTS $sequence_name;\n" : "") diff --git a/changes.txt b/changes.txt index e9ceaefb..b0ebb6b4 100644 --- a/changes.txt +++ b/changes.txt @@ -1,3 +1,7 @@ +Adminer 4.9.2-dev: +PostgreSQL: Fix exporting CREATE TABLE query with GENERATED default values +PostgreSQL: Fix exporting CREATE TABLE with sequence default value + Adminer 4.9.1: Support PHP 8.3 PostgreSQL: Show only accessible databases