From 339a4f777e308d3affc3950f43274f5c191633b3 Mon Sep 17 00:00:00 2001 From: levinsv <44033647+levinsv@users.noreply.github.com> Date: Sun, 7 Jul 2019 22:00:57 +0500 Subject: [PATCH] bug fix --- Release_(3.0)/pgAdmin3.exe | Bin 10446336 -> 10446336 bytes dlg/dlgSearchObject.cpp | 17 +++++++++++------ frm/frmOptions.cpp | 5 ++++- frm/frmStatus.cpp | 2 +- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Release_(3.0)/pgAdmin3.exe b/Release_(3.0)/pgAdmin3.exe index 7f4044e223169d531fd0cc035b6b1f77b4195fba..c29ee0d3c2774ce6b14ec217055701f6d198deec 100644 GIT binary patch delta 5775 zcmd^@X;c(f7RRfaw%Mhi+0+s!6cqx3J4OwnaRZdVZv zs0fG}C()G2sG#CbjAl$Gi7_LBTEwU%agN4ldj8c758c$oKg+GPQvnO0 z2AzNgSOP0x4Qzldumkp>GjNbSWz*o{)^0r}6UX(VcQc`S zvnb4xg5qJ~`oT&P<6+{NBCn3;hO;8c@mzl@S_47cB}+>hm;l8}`@OUzfeT`f(9Q&I zGA&Agk0%N6u`HH%pnybfB;8kJ>4}id%);W25@9WZS`uOHfg%``#0|FyhR5V2c+Ad* z$eHPJ&{$97u;Qh2s2&6_mCViXSSXzeB`crKd}wGhrPBBa$K5Oc}`# z+)@NJ5KwwDLax$rW z2q-@dPTkVE-fSs_q$6Rr=@4vB=X$Bd5kieY3!V2e?A!RX?yrFj_~Px}ViJCk9mjV*nj&N)$52Is8NeT~IY^wSP^A1a+~ zuc1L1IDcaX=R%o_I1P1O&J|hsPpzOs%el?$bsD{b+e(_noCC=#xIFATaU}#cOCWGv z#pPLeLA7iZR1;|MYRsUpH1x%4u1KjQ2TIDsq89os6H~77*y`RjTsCb}dc)SDXDWp& zYoT<6qOzdmk;rMcW@Dxl9U`UYorGTB9Q5`oy|YTM*HZN6tV6F->HVVg{F2dIpUY)Y zbu#BnA$jPvKH3ob^Z}@BUjdtkjHt@S9zQl8CP>t*mWeVhPLTwWAhjM=pg*~Bo6xS1-}BXrYoN9bA&Q;iNL zd{^TPO^1F@nNV!A2CCJe+)6f>*BYc;8mPw6Ng*pEf6GK5m+A7UuqG-z$#)sI_h}$ogrB>B9JGrD`%d zEdSaL%k_%ZRAv2g`AKx65$5&b_3M>8GlR-%cu(t>7D$lowSMw)W!X!wD`cmzCKOXW z7EEY8%`x>6@Ogkn*7Ba6R?5kJny96QccGA4-mBXxx!{||R~DFEWSSPZt(JSL|HL94 zuH}1JWXib7YWczJM6y4{zpko{q6w#Xf7Ky@Qcv+ihh6L37M#4}YNM$zO?7IDS09-@ zO>SKHGB@TpkBl_sW(|dUI%%C|+jL0ES~;C=p5}*8!bM&~;iq{=r)Sn}E|jcg$xT_5 zaGLi}ZSf+*Y2Kxu+p3oi!t19Z5#!AcvO6SSuUOflB!3#^o#Edw9Wix1gTuaghUZk* zH&MY!zN^-$JzR5^ZiNtE$GdCH2S=~hVXY~+dSz{49nV?FZcP+g!*>bhzj!4SD|0C8 zJA~qE^)eJ?M>=^t{kslZR*H^R)nUsQE&sUX4f1dAQCS_&t1g#QO&#y*rSD*GnWEiZ zR|WEBsy^GALZ6_~uN1LMyX_bj?hEA+aWoR;5)z{_U41U)uWW*c2`CymIIYoi*hG>1 zJ-u_TZ4>fY-qAT)(JF%DJ&*e~#yaqxZh_V9v3X*~6v|9;}u1?c3Tc_aV3Q zZI!X>96VHYYWH9P4_oAGOH5m_j!~PoQniN~&LLl0I~bm>EHjsal7Etu=rhGI^6#eo z1lF={s-&Iu{Cl<& zO8PUpJ8z#>GX{zKjK5_|EuB@G+?V4CTkv27>eeXqV@FYV zqcBnR}HC=6n2>GMYDtRw3t!N|su^&KIT{gBq*5yrA7>DnD(Cc98++$iL(5Ws#; zv3G?&s$b_)kSw^;!Mj3;YIo~EeNPCmv3W-cG&xFqldjzrx~N~5gIlNLFpUqOl6yi= z_6nW4C%nlHCXFog!PgZ=ZZuXFLRf2af2R!PM7oS=)s8u4XSU67_Gatgugy?6K!#?a zFFplpnuVFF^uL((0)Bv=ck3Yg2jN}S^KxqbL0AdJh4+QY*zCvm;r1~7>%K6FwWHU5 z6y~uOwBbi#A{$KqR7O!0{6Lt+`cu&Z!H=z`;}3*V*TYv#hmig3XS}gpmP0eXH%^xe zDe0k*uQ447L&k?ffI2x{XQcj*1aEdSMLrU)Slz%`DzB^bqCs$%Mz;t zL0~W#0)oL%@H!X1CDj0SIlF<>kh2gZX5U?P|V!az8f45okxDdox3 zZ~sQOs;2d%%!Sc|DWYmx>z^Q>hya?mX^IOS+!bj>hJ$mgX=F=;-PXBp;luWexmr5$ zc!s6xoSNrG-NfeuF38i+J9hl}Nv3&JjdaR)dKybXzeH$q2OpRQrb~kl%r4d`MUfr{impC=nFJ<@iDwowisnkd0rCDL(bCwd$ z#Wnrk{TXRJKPdNU&I0hB^fYH-WhJR|L}xnES6uQxI1XuApxBEw8TxPMVX>46q&4eA zA1VkEJ4>5`L_1bW=r4Zl_NRw}z*o?cg^4!O+{vQ%kpDrfO6fR};rE4VY4#+MW0kIE zON;0vwX75OJ5fT0=#}eLEP_QK1}p|kKrDy@@gM;tf+VmMB!guj1*C#B$*VX$>{oVr zZtSKEDR$HHJ&pLUrDN)fcstf7cTLs`uu@u+wJKyWTP2-(xax^Iz8Ig?wjXa~Y|uKR zEkWD8b=<494Qy?LTiZ~yWzd_5b~oCYX!oFvZk-p=mSddU+O9-ff$_SJH&Q?A`HON5 zk5@^C$E(Bs&K{6%evtXZg3X{WKg#rECrJPPD03L=+Z?%tnSd2Px3<5bt;E=J<`$+3 ztrqQmv^<3#%}mX`dNdQP0c$}P$ObuJ9moZFARnv;I;WP22cbxf=ysE*aEf! W0^7iLPz-i}60lRcdURLN;r{@A>wmKV delta 5031 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 diff --git a/dlg/dlgSearchObject.cpp b/dlg/dlgSearchObject.cpp index 670c33a..2825911 100644 --- a/dlg/dlgSearchObject.cpp +++ b/dlg/dlgSearchObject.cpp @@ -75,6 +75,7 @@ dlgSearchObject::dlgSearchObject(frmMain *p, pgDatabase *db, pgObject *obj) aMap[_("Rules")] = wxT("Rules"); aMap[_("Indexes")] = wxT("Indexes"); aMap[_("Functions")] = wxT("Functions"); + aMap[_("Procedures")] = wxT("Procedures"); aMap[_("Aggregates")] = wxT("Aggregates"); aMap[_("Trigger Functions")] = wxT("Trigger Functions"); aMap[_("Constraints")] = wxT("Constraints"); @@ -144,6 +145,10 @@ dlgSearchObject::dlgSearchObject(frmMain *p, pgDatabase *db, pgObject *obj) cbType->Append(_("Extensions")); cbType->Append(_("Collations")); } + if(currentdb->BackendMinimumVersion(10, 0)) + { + cbType->Append(_("Procedures")); + } cbSchema->Clear(); cbSchema->Append(_("All schemas")); @@ -386,8 +391,8 @@ void dlgSearchObject::OnSearch(wxCommandEvent &ev) wxT(" LEFT OUTER JOIN pg_description desp ON (desp.objoid=con.oid AND desp.objsubid = 0) ") wxT(" WHERE contype IS NULL ") wxT(" UNION ") - wxT(" SELECT CASE WHEN t.typname = 'trigger' THEN 'Trigger Functions' ELSE 'Functions' END AS type, p.proname, ") - wxT(" ':Schemas/' || n.nspname || '/' || case when t.typname = 'trigger' then ':Trigger Functions' else ':Functions' end || '/' || p.proname, n.nspname ") + wxT(" SELECT CASE WHEN t.typname = 'trigger' THEN 'Trigger Functions' ELSE case when p.prokind='p' then 'Procedures' else 'Functions' end END AS type, p.proname, ") + wxT(" ':Schemas/' || n.nspname || '/' || case when t.typname = 'trigger' then ':Trigger Functions' else case when p.prokind='p' then ':Procedures' else ':Functions' end end || '/' || p.proname, n.nspname ") wxT(" from pg_proc p ") wxT(" left join pg_namespace n on p.pronamespace = n.oid ") wxT(" left join pg_type t on p.prorettype = t.oid ") @@ -530,8 +535,8 @@ void dlgSearchObject::OnSearch(wxCommandEvent &ev) searchSQL += wxT("UNION \n"); nextMode = true; searchSQL += wxT("SELECT * FROM ( ") // Function's source code - wxT(" SELECT CASE WHEN t.typname = 'trigger' THEN 'Trigger Functions' ELSE 'Functions' END AS type, p.proname as objectname, ") - wxT(" ':Schemas/' || n.nspname || '/' || case when t.typname = 'trigger' then ':Trigger Functions' else ':Functions' end || '/' || p.proname as path, n.nspname ") + wxT(" SELECT CASE WHEN t.typname = 'trigger' THEN 'Trigger Functions' ELSE case when p.prokind='p' then 'Procedures' else 'Functions' end END AS type, p.proname as objectname, ") + wxT(" ':Schemas/' || n.nspname || '/' || case when t.typname = 'trigger' then ':Trigger Functions' else case when p.prokind='p' then ':Procedures' else ':Functions' end end || '/' || p.proname as path, n.nspname ") wxT(" from pg_proc p ") wxT(" left join pg_namespace n on p.pronamespace = n.oid ") wxT(" left join pg_type t on p.prorettype = t.oid ") @@ -636,10 +641,10 @@ void dlgSearchObject::OnSearch(wxCommandEvent &ev) wxT(" LEFT OUTER JOIN pg_description desp ON (desp.objoid=con.oid AND desp.objsubid = 0)") wxT(" WHERE contype IS NULL") wxT(" UNION") - wxT(" select case when p_t.typname = 'trigger' THEN 'Trigger Functions' ELSE 'Functions' end as type,") + wxT(" select CASE WHEN p_t.typname = 'trigger' THEN 'Trigger Functions' ELSE case when p.prokind='p' then 'Procedures' else 'Functions' end END AS type,") wxT(" p_.proname AS objectname,") wxT(" ':Schemas/' || n.nspname || '/' ||") - wxT(" case when p_t.typname = 'trigger' then ':Trigger Functions/' else ':Functions/' end || p_.proname AS path, n.nspname") + wxT(" case when p_t.typname = 'trigger' then ':Trigger Functions/' else case when p.prokind='p' then ':Procedures/' else ':Functions/' end end || p_.proname AS path, n.nspname") wxT(" from ") + pd + wxT(" join pg_proc p_ on pd.relname = 'pg_proc' and pd.objoid = p_.oid and p_.prokind <> 'a'") wxT(" left join pg_type p_t on p_.prorettype = p_t.oid") diff --git a/frm/frmOptions.cpp b/frm/frmOptions.cpp index ab162c8..974304b 100644 --- a/frm/frmOptions.cpp +++ b/frm/frmOptions.cpp @@ -789,7 +789,10 @@ void frmOptions::OnOK(wxCommandEvent &ev) if (pickerBlockedProcessColour->GetColourString() != settings->GetBlockedProcessColour()) changed = true; - settings->SetBlockedProcessColour(pickerBlockedProcessColour->GetColourString()); + settings->SetBlockedbyProcessColour(pickerBlockedProcessColour->GetColourString()); + if (pickerBlockedbyProcessColour->GetColourString() != settings->GetBlockedbyProcessColour()) + changed = true; + settings->SetBlockedbyProcessColour(pickerBlockedbyProcessColour->GetColourString()); // Change files' location settings->SetFavouritesFile(pickerFavouritesFile->GetPath()); diff --git a/frm/frmStatus.cpp b/frm/frmStatus.cpp index bd69721..4be00e4 100644 --- a/frm/frmStatus.cpp +++ b/frm/frmStatus.cpp @@ -1660,7 +1660,7 @@ void frmStatus::OnRefreshStatusTimer(wxTimerEvent &event) // Clear the queries array content queries.Clear(); - wxString blocked; + wxString blocked=wxT(""); wxArrayLong pids; while (!dataSet1->Eof()) {