@@ -6067,15 +6067,16 @@ listOperatorClasses(const char *access_method_pattern,
6067
6067
printfPQExpBuffer (& buf ,
6068
6068
"SELECT DISTINCT"
6069
6069
" am.amname AS \"%s\",\n"
6070
- " c.opcintype::pg_catalog.regtype AS \"%s\",\n"
6071
- " (CASE WHEN c.opckeytype <> 0 AND c.opckeytype <> c.opcintype\n"
6072
- " THEN c.opckeytype\n"
6073
- " ELSE NULL -- c.opcintype\n"
6074
- " END)::pg_catalog.regtype AS \"%s\",\n"
6070
+ " pg_catalog.format_type(c.opcintype, NULL) AS \"%s\",\n"
6071
+ " CASE\n"
6072
+ " WHEN c.opckeytype <> 0 AND c.opckeytype <> c.opcintype\n"
6073
+ " THEN pg_catalog.format_type(c.opckeytype, NULL)\n"
6074
+ " ELSE NULL\n"
6075
+ " END AS \"%s\",\n"
6075
6076
" CASE\n"
6076
6077
" WHEN pg_catalog.pg_opclass_is_visible(c.oid)\n"
6077
- " THEN format('%%I', c.opcname)\n"
6078
- " ELSE format('%%I.%%I', n.nspname, c.opcname)\n"
6078
+ " THEN pg_catalog. format('%%I', c.opcname)\n"
6079
+ " ELSE pg_catalog. format('%%I.%%I', n.nspname, c.opcname)\n"
6079
6080
" END AS \"%s\",\n"
6080
6081
" (CASE WHEN c.opcdefault\n"
6081
6082
" THEN '%s'\n"
@@ -6092,8 +6093,8 @@ listOperatorClasses(const char *access_method_pattern,
6092
6093
appendPQExpBuffer (& buf ,
6093
6094
",\n CASE\n"
6094
6095
" WHEN pg_catalog.pg_opfamily_is_visible(of.oid)\n"
6095
- " THEN format('%%I', of.opfname)\n"
6096
- " ELSE format('%%I.%%I', ofn.nspname, of.opfname)\n"
6096
+ " THEN pg_catalog. format('%%I', of.opfname)\n"
6097
+ " ELSE pg_catalog. format('%%I.%%I', ofn.nspname, of.opfname)\n"
6097
6098
" END AS \"%s\",\n"
6098
6099
" pg_catalog.pg_get_userbyid(c.opcowner) AS \"%s\"\n" ,
6099
6100
gettext_noop ("Operator family" ),
@@ -6157,12 +6158,12 @@ listOperatorFamilies(const char *access_method_pattern,
6157
6158
" am.amname AS \"%s\",\n"
6158
6159
" CASE\n"
6159
6160
" WHEN pg_catalog.pg_opfamily_is_visible(f.oid)\n"
6160
- " THEN format('%%I', f.opfname)\n"
6161
- " ELSE format('%%I.%%I', n.nspname, f.opfname)\n"
6161
+ " THEN pg_catalog. format('%%I', f.opfname)\n"
6162
+ " ELSE pg_catalog. format('%%I.%%I', n.nspname, f.opfname)\n"
6162
6163
" END AS \"%s\",\n"
6163
6164
" (SELECT\n"
6164
- " string_agg(format_type(oc.opcintype, -1 ), ', ')\n"
6165
- " FROM pg_opclass oc\n"
6165
+ " pg_catalog. string_agg(pg_catalog. format_type(oc.opcintype, NULL ), ', ')\n"
6166
+ " FROM pg_catalog. pg_opclass oc\n"
6166
6167
" WHERE oc.opcfamily = f.oid) \"%s\"" ,
6167
6168
gettext_noop ("AM" ),
6168
6169
gettext_noop ("Operator family" ),
@@ -6185,8 +6186,8 @@ listOperatorFamilies(const char *access_method_pattern,
6185
6186
appendPQExpBuffer (& buf ,
6186
6187
"\n %s EXISTS (\n"
6187
6188
" SELECT 1\n"
6188
- " FROM pg_type t\n"
6189
- " JOIN pg_opclass oc ON oc.opcintype = t.oid\n"
6189
+ " FROM pg_catalog. pg_type t\n"
6190
+ " JOIN pg_catalog. pg_opclass oc ON oc.opcintype = t.oid\n"
6190
6191
" WHERE oc.opcfamily = f.oid" ,
6191
6192
have_where ? "AND" : "WHERE" );
6192
6193
processSQLNamePattern (pset .db , & buf , type_pattern , true, false,
@@ -6237,38 +6238,29 @@ listOpFamilyOperators(const char *access_method_pattern,
6237
6238
" am.amname AS \"%s\",\n"
6238
6239
" CASE\n"
6239
6240
" WHEN pg_catalog.pg_opfamily_is_visible(of.oid)\n"
6240
- " THEN format('%%I', of.opfname)\n"
6241
- " ELSE format('%%I.%%I', nsf.nspname, of.opfname)\n"
6241
+ " THEN pg_catalog. format('%%I', of.opfname)\n"
6242
+ " ELSE pg_catalog. format('%%I.%%I', nsf.nspname, of.opfname)\n"
6242
6243
" END AS \"%s\",\n"
6243
- " format ('%%s (%%s, %%s)',\n"
6244
- " CASE\n"
6245
- " WHEN pg_catalog.pg_operator_is_visible(op.oid) \n"
6246
- " THEN op.oprname::pg_catalog.text \n"
6247
- " ELSE o.amopopr::pg_catalog.regoper::pg_catalog.text \n"
6248
- " END,\n"
6249
- " pg_catalog.format_type(o.amoplefttype, NULL),\n"
6250
- " pg_catalog.format_type(o.amoprighttype, NULL)\n"
6251
- " ) AS \"%s\"\n" ,
6244
+ " o.amopopr::pg_catalog.regoperator AS \"%s\"\n,"
6245
+ " o.amopstrategy AS \"%s\",\n"
6246
+ " CASE o.amoppurpose\n"
6247
+ " WHEN 'o' THEN '%s'\n"
6248
+ " WHEN 's' THEN '%s'\n"
6249
+ " END AS \"%s\"\n" ,
6252
6250
gettext_noop ("AM" ),
6253
6251
gettext_noop ("Operator family" ),
6254
- gettext_noop ("Operator" ));
6252
+ gettext_noop ("Operator" ),
6253
+ gettext_noop ("Strategy" ),
6254
+ gettext_noop ("ordering" ),
6255
+ gettext_noop ("search" ),
6256
+ gettext_noop ("Purpose" ));
6255
6257
6256
6258
if (verbose )
6257
6259
appendPQExpBuffer (& buf ,
6258
- ", o.amopstrategy AS \"%s\",\n"
6259
- " CASE o.amoppurpose\n"
6260
- " WHEN 'o' THEN '%s'\n"
6261
- " WHEN 's' THEN '%s'\n"
6262
- " END AS \"%s\",\n"
6263
- " ofs.opfname AS \"%s\"\n" ,
6264
- gettext_noop ("Strategy" ),
6265
- gettext_noop ("ordering" ),
6266
- gettext_noop ("search" ),
6267
- gettext_noop ("Purpose" ),
6260
+ ", ofs.opfname AS \"%s\"\n" ,
6268
6261
gettext_noop ("Sort opfamily" ));
6269
6262
appendPQExpBuffer (& buf ,
6270
6263
"FROM pg_catalog.pg_amop o\n"
6271
- " LEFT JOIN pg_catalog.pg_operator op ON op.oid = o.amopopr\n"
6272
6264
" LEFT JOIN pg_catalog.pg_opfamily of ON of.oid = o.amopfamily\n"
6273
6265
" LEFT JOIN pg_catalog.pg_am am ON am.oid = of.opfmethod AND am.oid = o.amopmethod\n"
6274
6266
" LEFT JOIN pg_catalog.pg_namespace nsf ON of.opfnamespace = nsf.oid\n" );
@@ -6317,7 +6309,7 @@ listOpFamilyOperators(const char *access_method_pattern,
6317
6309
*/
6318
6310
bool
6319
6311
listOpFamilyFunctions (const char * access_method_pattern ,
6320
- const char * family_pattern )
6312
+ const char * family_pattern , bool verbose )
6321
6313
{
6322
6314
PQExpBufferData buf ;
6323
6315
PGresult * res ;
@@ -6332,19 +6324,26 @@ listOpFamilyFunctions(const char *access_method_pattern,
6332
6324
" am.amname AS \"%s\",\n"
6333
6325
" CASE\n"
6334
6326
" WHEN pg_catalog.pg_opfamily_is_visible(of.oid)\n"
6335
- " THEN format('%%I', of.opfname)\n"
6336
- " ELSE format('%%I.%%I', ns.nspname, of.opfname)\n"
6327
+ " THEN pg_catalog. format('%%I', of.opfname)\n"
6328
+ " ELSE pg_catalog. format('%%I.%%I', ns.nspname, of.opfname)\n"
6337
6329
" END AS \"%s\",\n"
6338
6330
" pg_catalog.format_type(ap.amproclefttype, NULL) AS \"%s\",\n"
6339
6331
" pg_catalog.format_type(ap.amprocrighttype, NULL) AS \"%s\",\n"
6340
- " ap.amprocnum AS \"%s\"\n,"
6341
- " p.proname AS \"%s\"\n" ,
6332
+ " ap.amprocnum AS \"%s\"\n" ,
6342
6333
gettext_noop ("AM" ),
6343
6334
gettext_noop ("Operator family" ),
6344
- gettext_noop ("Left arg type" ),
6345
- gettext_noop ("Right arg type" ),
6346
- gettext_noop ("Number" ),
6347
- gettext_noop ("Function" ));
6335
+ gettext_noop ("Registered left type" ),
6336
+ gettext_noop ("Registered right type" ),
6337
+ gettext_noop ("Number" ));
6338
+
6339
+ if (!verbose )
6340
+ appendPQExpBuffer (& buf ,
6341
+ ", p.proname AS \"%s\"\n" ,
6342
+ gettext_noop ("Function" ));
6343
+ else
6344
+ appendPQExpBuffer (& buf ,
6345
+ ", ap.amproc::pg_catalog.regprocedure AS \"%s\"\n" ,
6346
+ gettext_noop ("Function" ));
6348
6347
6349
6348
appendPQExpBuffer (& buf ,
6350
6349
"FROM pg_catalog.pg_amproc ap\n"
0 commit comments