--- src/include/pgLanguage.h.orig Wed Jul 16 10:26:01 2003 +++ src/include/pgLanguage.h Wed Jul 16 12:05:32 2003 @@ -31,6 +31,7 @@ int GetIcon() { return PGICON_LANGUAGE; } void ShowTreeDetail(wxTreeCtrl *browser, frmMain *form=0, wxListCtrl *properties=0, wxListCtrl *statistics=0, ctlSQLBox *sqlPane=0); static pgObject *ReadObjects(pgCollection *collection, wxTreeCtrl *browser, const wxString &restriction=wxT("")); + bool GetSystemObject() const { return GetOid() <= GetConnection()->GetLastSystemOID(); } wxString GetHandlerProc() const { return handlerProc; } void iSetHandlerProc(const wxString& s) { handlerProc = s; } --- src/schema/pgLanguage.cpp.orig Wed Jul 16 14:35:43 2003 +++ src/schema/pgLanguage.cpp Wed Jul 16 14:52:59 2003 @@ -93,9 +93,9 @@ pgSet *languages= collection->GetDatabase()->ExecuteSet( wxT("SELECT lan.oid, lan.lanname, lanpltrusted, lanacl, hp.proname as lanproc, vp.proname as lanval\n") wxT(" FROM pg_language lan\n") - wxT(" JOIN pg_proc hp on hp.oid=lanplcallfoid\n") - wxT(" LEFT OUTER JOIN pg_proc vp on vp.oid=lanvalidator\n") - wxT(" WHERE lanispl IS TRUE") + wxT(" JOIN pg_proc vp on vp.oid=lanvalidator\n") + wxT(" LEFT OUTER JOIN pg_proc hp on hp.oid=lanplcallfoid\n") + wxT(" WHERE lanispl IS FALSE") + restriction + wxT("\n") wxT(" ORDER BY lanname")); @@ -112,10 +112,20 @@ language->iSetValidatorProc(languages->GetVal(wxT("lanval"))); language->iSetTrusted(languages->GetBool(wxT("lanpltrusted"))); + if (settings->GetShowSystemObjects() || + (language->GetOid() > collection->GetServer()->GetLastSystemOID())) + { + if (browser) + { collection->AppendBrowserItem(browser, language); - languages->MoveNext(); } + else + break; + } + else + break; + } delete languages; }