Hide the dbms_job_procedure schema on EDB by default. [Ashesh Vashi]
authordpage <dpage@a7884b65-44f6-0310-8a51-81a127f17b15>
Thu, 21 May 2009 15:23:12 +0000 (15:23 +0000)
committerdpage <dpage@a7884b65-44f6-0310-8a51-81a127f17b15>
Thu, 21 May 2009 15:23:12 +0000 (15:23 +0000)
git-svn-id: svn://svn.pgadmin.org/trunk/pgadmin3@7879 a7884b65-44f6-0310-8a51-81a127f17b15

pgadmin/dlg/dlgSynonym.cpp
pgadmin/gqb/gqbDatabase.cpp
pgadmin/schema/pgSchema.cpp

index 2fe34f6924a35619e0f2249446b7c3e73d180634..82032b49fa92fc9487a4d03abb45650a34e49402 100644 (file)
@@ -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
index 107bf98366e75b1d242ae0c9229b66b0c09aa289..67f5bcf22724f7a6deacf7345ab35f36203588ac 100644 (file)
@@ -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;
 
index 20afc4f2640cb56440d12271512bfc1638c9a68c..98dee73de2992ec95c8dbce76a40d1b9f1c3dea3 100644 (file)
@@ -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(")");