From 856c141ad767f69495f9c92ab0319d601a91bc23 Mon Sep 17 00:00:00 2001 From: dpage Date: Fri, 13 Mar 2009 21:03:45 +0000 Subject: [PATCH] pg_amop.amopreqcheck doesn't exist in 8.4. git-svn-id: svn://svn.pgadmin.org/trunk/pgadmin3@7700 a7884b65-44f6-0310-8a51-81a127f17b15 --- pgadmin/schema/pgOperatorClass.cpp | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/pgadmin/schema/pgOperatorClass.cpp b/pgadmin/schema/pgOperatorClass.cpp index 8e3c5577c..cdac641ae 100644 --- a/pgadmin/schema/pgOperatorClass.cpp +++ b/pgadmin/schema/pgOperatorClass.cpp @@ -94,7 +94,7 @@ void pgOperatorClass::ShowTreeDetail(ctlTree *browser, frmMain *form, ctlListVie wxT(" WHERE amopclaid=") + GetOidStr()+ wxT("\n") wxT(" ORDER BY amopstrategy")); } - else + else if (!GetConnection()->BackendMinimumVersion(8, 4)) { set=ExecuteSet( wxT("SELECT amopstrategy, amopreqcheck, oprname, lt.typname as lefttype, rt.typname as righttype\n") @@ -109,6 +109,21 @@ void pgOperatorClass::ShowTreeDetail(ctlTree *browser, frmMain *form, ctlListVie wxT(" AND amoplefttype = op.oprleft AND amoprighttype = op.oprright\n") wxT(" ORDER BY amopstrategy")); } + else + { + set=ExecuteSet( + wxT("SELECT amopstrategy, oprname, lt.typname as lefttype, rt.typname as righttype\n") + wxT(" FROM pg_amop am\n") + wxT(" JOIN pg_operator op ON amopopr=op.oid\n") + wxT(" JOIN pg_opfamily opf ON amopfamily = opf.oid\n") + wxT(" JOIN pg_opclass opc ON opf.oid = opcfamily\n") + wxT(" LEFT OUTER JOIN pg_type lt ON lt.oid=oprleft\n") + wxT(" LEFT OUTER JOIN pg_type rt ON rt.oid=oprright\n") + wxT(" WHERE opc.oid=") + GetOidStr()+ wxT("\n") + wxT(" AND amopmethod = opf.opfmethod\n") + wxT(" AND amoplefttype = op.oprleft AND amoprighttype = op.oprright\n") + wxT(" ORDER BY amopstrategy")); + } if (set) { @@ -135,8 +150,13 @@ void pgOperatorClass::ShowTreeDetail(ctlTree *browser, frmMain *form, ctlListVie str += rt; str += wxT(")"); } - if (set->GetBool(wxT("amopreqcheck"))) - str += wxT(" RECHECK"); + + if (!GetConnection()->BackendMinimumVersion(8, 4)) + { + if (set->GetBool(wxT("amopreqcheck"))) + str += wxT(" RECHECK"); + } + operators.Add(str); set->MoveNext(); } -- 2.39.5