{
pgSet *schemas;
if (connection->BackendMinimumVersion(8, 2))
- schemas = connection->ExecuteSet(wxT("SELECT nspname FROM pg_namespace WHERE nspparent = 0 AND nspname NOT LIKE E'pg\\_%' AND nspname NOT IN ('pg_catalog', 'sys', 'dbo', 'pgagent', 'information_schema') ORDER BY nspname;"));
+ schemas = connection->ExecuteSet(wxT("SELECT nspname FROM pg_namespace WHERE nspparent = 0 AND nspname NOT LIKE E'pg\\_%' AND nspname NOT IN ('pg_catalog', 'sys', 'dbo', 'pgagent', 'information_schema', 'dbms_job_procedure') ORDER BY nspname;"));
else if (connection->BackendMinimumVersion(8, 1))
schemas = connection->ExecuteSet(wxT("SELECT nspname FROM pg_namespace WHERE nspname NOT LIKE E'pg\\_%' ORDER BY nspname;"));
else
restr += wxT("(nspname = 'sys' AND EXISTS (SELECT 1 FROM pg_class WHERE relname = 'all_tables' AND relnamespace = nsp.oid LIMIT 1)))\n");
if (conn->EdbMinimumVersion(8, 2))
- restr += wxT(" AND nspparent = 0\n");
+ {
+ restr += wxT(" AND nsp.nspparent = 0\n");
+ // Do not show dbms_job_procedure in schemas
+ if (!settings->GetShowSystemObjects())
+ restr += wxT("AND NOT (nspname = 'dbms_job_procedure' AND EXISTS(SELECT 1 FROM pg_proc WHERE pronamespace = nsp.oid and proname = 'run_job' LIMIT 1))\n");
+ }
wxString sql;
restr += wxT("(nspname = 'sys' AND EXISTS (SELECT 1 FROM pg_class WHERE relname = 'all_tables' AND relnamespace = nsp.oid LIMIT 1)))\n");
if (collection->GetConnection()->EdbMinimumVersion(8, 2))
- restr += wxT(" AND nsp.nspparent = 0\n");
+ {
+ restr += wxT(" AND nsp.nspparent = 0\n");
+ // Do not show dbms_job_procedure in schemas
+ if (!settings->GetShowSystemObjects())
+ restr += wxT("AND NOT (nspname = 'dbms_job_procedure' AND EXISTS(SELECT 1 FROM pg_proc WHERE pronamespace = nsp.oid and proname = 'run_job' LIMIT 1))\n");
+ }
if (!collection->GetDatabase()->GetSchemaRestriction().IsEmpty())
restr += wxT(" AND nspname IN (") + collection->GetDatabase()->GetSchemaRestriction() + wxT(")");