"SELECT pg_proc.oid, proname, prolang, pronargs, prorettype, "
"proretset, proargtypes, prosrc, probin, "
"(select usename from pg_user where proowner = usesysid) as usename, "
- "proiscachable, 't'::boolean as proisstrict "
+ "proiscachable, 'f'::boolean as proisstrict "
"from pg_proc "
"where pg_proc.oid > '%u'::oid",
g_last_builtin_oid);
if (g_fout->remoteVersion >= 70100)
{
appendPQExpBuffer(query,
- "SELECT pg_class.oid, relname, relkind, relacl, "
+ "SELECT pg_class.oid, relname, relacl, relkind, "
"(select usename from pg_user where relowner = usesysid) as usename, "
"relchecks, reltriggers, relhasindex "
"from pg_class "
RELKIND_RELATION, RELKIND_SEQUENCE, RELKIND_VIEW);
} else {
/*
- * In 7.1, view relkind was not set to 'v', so we fake this by checking
- * if we have a view by looking up pg_class & pg_rewrite.
+ * Before 7.1, view relkind was not set to 'v', so we must check
+ * if we have a view by looking for a rule in pg_rewrite.
*/
appendPQExpBuffer(query,
"SELECT c.oid, relname, relacl, "
"CASE WHEN relhasrules and relkind = 'r' "
- " And EXISTS(SELECT r.rulename FROM pg_rewrite r WHERE "
- " r.ev_class = c.oid AND r.ev_type = '1'::\"char\") "
- "THEN 'v'::\"char\" "
- "ELSE relkind End AS relkind,"
- "relacl, (select usename from pg_user where relowner = usesysid) as usename, "
+ " and EXISTS(SELECT rulename FROM pg_rewrite r WHERE "
+ " r.ev_class = c.oid AND r.ev_type = '1') "
+ "THEN '%c'::\"char\" "
+ "ELSE relkind END AS relkind,"
+ "(select usename from pg_user where relowner = usesysid) as usename, "
"relchecks, reltriggers, relhasindex "
"from pg_class c "
"where relname !~ '^pg_' "
"and relkind in ('%c', '%c', '%c') "
"order by oid",
+ RELKIND_VIEW,
RELKIND_RELATION, RELKIND_SEQUENCE, RELKIND_VIEW);
}
i_reloid = PQfnumber(res, "oid");
i_relname = PQfnumber(res, "relname");
- i_relkind = PQfnumber(res, "relkind");
i_relacl = PQfnumber(res, "relacl");
+ i_relkind = PQfnumber(res, "relkind");
i_usename = PQfnumber(res, "usename");
i_relchecks = PQfnumber(res, "relchecks");
i_reltriggers = PQfnumber(res, "reltriggers");