From 67723d9bac822fe7dbfb20407727fa5cb58b23d1 Mon Sep 17 00:00:00 2001 From: yuchao Date: Wed, 10 Jan 2024 15:32:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dgs=5Fdump=E5=A4=87=E4=BB=BDsq?= =?UTF-8?q?l=5Fmode=E4=B8=8D=E5=90=AB=E6=9C=89ansi=5Fquotes=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E7=9A=84B=E6=A8=A1=E5=BC=8F=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E4=BC=9A=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bin/pg_dump/pg_dump.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/bin/pg_dump/pg_dump.cpp b/src/bin/pg_dump/pg_dump.cpp index 38be16cbe..5a457f5ad 100644 --- a/src/bin/pg_dump/pg_dump.cpp +++ b/src/bin/pg_dump/pg_dump.cpp @@ -5380,7 +5380,22 @@ TypeInfo* getTypes(Archive* fout, int* numTypes) /* Make sure we are in proper schema */ selectSourceSchema(fout, "pg_catalog"); - if (fout->remoteVersion >= 90200) { + if (GetVersionNum(fout) >= 92838 && findDBCompatibility(fout, PQdb(GetConnection(fout))) && + hasSpecificExtension(fout, "dolphin")) { + appendPQExpBuffer(query, + "SELECT tableoid, oid, typname, " + "typnamespace, typacl, " + "(%s typowner) AS rolname, " + "typinput::oid AS typinput, " + "typoutput::oid AS typoutput, typelem, typrelid, " + "CASE WHEN typrelid = 0 THEN ' '::`char` " + "ELSE (SELECT relkind FROM pg_class WHERE oid = typrelid) END AS typrelkind, " + "typtype, typisdefined, " + "typname[0] = '_' AND typelem != 0 AND " + "(SELECT typarray FROM pg_type te WHERE oid = pg_type.typelem) = oid AS isarray " + "FROM pg_type", + username_subquery); + } else if (fout->remoteVersion >= 90200) { appendPQExpBuffer(query, "SELECT tableoid, oid, typname, " "typnamespace, typacl, "