From b18b224175d49e5ae161c50540507f3be9373cbd Mon Sep 17 00:00:00 2001 From: dpage Date: Thu, 21 May 2009 15:23:12 +0000 Subject: [PATCH] Hide the dbms_job_procedure schema on EDB by default. [Ashesh Vashi] git-svn-id: svn://svn.pgadmin.org/trunk/pgadmin3@7879 a7884b65-44f6-0310-8a51-81a127f17b15 --- pgadmin/dlg/dlgSynonym.cpp | 2 +- pgadmin/gqb/gqbDatabase.cpp | 7 ++++++- pgadmin/schema/pgSchema.cpp | 7 ++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pgadmin/dlg/dlgSynonym.cpp b/pgadmin/dlg/dlgSynonym.cpp index 2fe34f692..82032b49f 100644 --- a/pgadmin/dlg/dlgSynonym.cpp +++ b/pgadmin/dlg/dlgSynonym.cpp @@ -131,7 +131,7 @@ void dlgSynonym::ProcessTypeChange() { 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 diff --git a/pgadmin/gqb/gqbDatabase.cpp b/pgadmin/gqb/gqbDatabase.cpp index 107bf9836..67f5bcf22 100644 --- a/pgadmin/gqb/gqbDatabase.cpp +++ b/pgadmin/gqb/gqbDatabase.cpp @@ -61,7 +61,12 @@ void gqbDatabase::createSchemas(gqbBrowser *tablesBrowser, wxTreeItemId parentNo 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; diff --git a/pgadmin/schema/pgSchema.cpp b/pgadmin/schema/pgSchema.cpp index 20afc4f26..98dee73de 100644 --- a/pgadmin/schema/pgSchema.cpp +++ b/pgadmin/schema/pgSchema.cpp @@ -315,7 +315,12 @@ pgObject *pgSchemaBaseFactory::CreateObjects(pgCollection *collection, ctlTree * 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(")"); -- 2.39.5