From 4760f322cd37db89ff090c452ef74265df25f1c8 Mon Sep 17 00:00:00 2001 From: levinsv <44033647+levinsv@users.noreply.github.com> Date: Mon, 20 May 2019 22:43:01 +0500 Subject: [PATCH] inherit support --- Release_(3.0)/pgAdmin3.exe | Bin 10434048 -> 10434048 bytes schema/pgPartition.cpp | 3 +-- schema/pgTable.cpp | 3 +-- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Release_(3.0)/pgAdmin3.exe b/Release_(3.0)/pgAdmin3.exe index d3a8a2df9a3ee26719c21d1489eded970f121c80..c842943edc90fd15d299fed333f7545a3e393d30 100644 GIT binary patch delta 1549 zcmcK1T~JhI7zglk_JAx1w15N)n1>Guf>V16b0u9ZKUhH!HDFCdkX>9^mwk7`*!Yme zkG2(wO^F93!3!9@qBAwlsS6vXX&4=+8N6uwn3{3Si>ADwiyEh4*!~A<#_qc5;&=sD*7>b58$&qAf?$O4;G>Qln8yCcjb2 zN%7Y$_x$@X*P^JO;9Iu7G^B8Y!wVdF8uD{#Hj!UN3uV%rU^7ptpKXw)^uoMhikdA_ ziOxDqLl$Yh5ZF9LH!V^DRYYV%Qs7n(B66K6&YwNg^oK>N*E!FtHCv^RR_jVb!Dyuf z&%+C9w9=&95-=Tote5k3{sH<%FIVcU0m_e;?+RM#-{R$JzLs1@DT@v!$eVOrt2&Y( z&wjBSsNpMld?nEDU(3sZ@*?s|pvs865{OPkYyGPzy=554LAgi za2T542sA?r990J+tvico+4`8B!pxOQpPzQ=)uw3cqDaHDB?Kth|ZSJ_}u&^cB#=xUXh;O;zfc zDUAZ(`qroyJnRQSb^4iE2#PHZXoF+mgyYZ-E;s>h=upKLkL4G2zKWRyGR?I4_)@Bv z^ydDj8Doq8nNZcv&XHKl?rQ@TjqYQMWawb2^msQ*q`U*nL<#%ZpQ;%3+~EI@C!zBr z?MgG5dfYK|VvD1R=38+2gq!)ac(ruj>rK}F;0;>pVBJrq&_b6{X(!8}!i(;Q6n@~; zQ&ul4P;DpKJWtk6_E785NDEkBw%3bjDEl9#Smy zGMm;rNBy#ob@H?{>_cz!xX&T&%g^lcoRC|B)kP(;J<#m|LtFSbMQ`kH}pU+ z^ua0UhX4$~X*dIC;T*gJL3kHJa2^KX0t~@>FbrXMA1=Zr7=aI96bQ!PGF*Xi_zeR7WP_ehKn!Wx<4(cK@oBNleu4h;G8Dk%HwFVVL563l??sVnj)l9bBeH@%2i@wzLT@9 zeVuPuo4ES5sdmR@=}R0;Qil6td}iqoAQVqoCay4q#}&ioUBAeb-K+JlCSxTUicW-{nzJaE=+s5Na%@AZyu3*H5=7rMjps z!poZIj)|otH*xJ8&$+oau4Coi$+dE=bf34|mX95lO49ARSXw{t%wNuCX+dufD@Y$| zyy`E?wM#|0j+1s;q6KPy{m?TpE*>L^B~hJCaRc; zW=kEPknV`rfb@VCdR;>l`N*TAyoat-;;(qi$x_WCRC2(jCQUWlLuNN?CBsGUX0o35 zj!V8WM|YA`GUGMHj2V<~s+=5Mk>|E=a8I0?Pb2X8??_}~0 AS ispartitioned"); query += wxT(" FROM pg_class rel\n") wxT(" JOIN pg_inherits i ON (rel.oid = i.inhrelid) \n") - wxT(" LEFT OUTER JOIN pg_inherits ii on ii.inhparent=rel.oid\n") wxT(" LEFT JOIN pg_locks lk ON locktype='relation' and granted=true and mode='AccessExclusiveLock' and relation=rel.oid\n") wxT(" LEFT OUTER JOIN pg_tablespace spc on spc.oid=rel.reltablespace\n") wxT(" LEFT OUTER JOIN pg_description des ON (des.objoid=rel.oid AND des.objsubid=0 AND des.classoid='pg_class'::regclass)\n") diff --git a/schema/pgTable.cpp b/schema/pgTable.cpp index 7f235a1..b424f9a 100644 --- a/schema/pgTable.cpp +++ b/schema/pgTable.cpp @@ -1526,7 +1526,7 @@ pgObject *pgTableFactory::CreateObjects(pgCollection *collection, ctlTree *brows { query += wxT(",case when lk.relation=rel.oid then null else pg_get_partkeydef(rel.oid) end \n AS partkeydef"); query += wxT(",case when lk.relation=rel.oid then null else pg_get_expr(rel.relpartbound, rel.oid) end \n AS partexp"); - query += wxT(",ii.inhparent is not null AS ispartitioned"); + query += wxT(",(select count(*)from pg_inherits ii where ii.inhparent=rel.oid) >0 AS ispartitioned"); //pg10=wxT("pg_get_expr(rel.relpartbound, rel.oid) is null and"); pg10=wxT("(rel.relpartbound is null and i.inhrelid is null) and"); //query += wxT(",\n(SELECT array_agg(provider) FROM pg_seclabels sl2 WHERE sl2.objoid=rel.oid AND sl2.objsubid=0) AS providers"); @@ -1537,7 +1537,6 @@ pgObject *pgTableFactory::CreateObjects(pgCollection *collection, ctlTree *brows wxT(" LEFT OUTER JOIN pg_tablespace spc on spc.oid=rel.reltablespace\n") wxT(" LEFT OUTER JOIN pg_description des ON (des.objoid=rel.oid AND des.objsubid=0 AND des.classoid='pg_class'::regclass)\n") wxT(" LEFT OUTER JOIN pg_inherits i on i.inhrelid=rel.oid\n") - wxT(" LEFT OUTER JOIN pg_inherits ii on ii.inhparent=rel.oid\n") wxT(" LEFT OUTER JOIN pg_constraint con ON con.conrelid=rel.oid AND con.contype='p'\n"); // Add the toast table for vacuum parameters.