Return-Path: X-Original-To: apmail-hawq-commits-archive@minotaur.apache.org Delivered-To: apmail-hawq-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 006D219C59 for ; Thu, 14 Apr 2016 08:01:31 +0000 (UTC) Received: (qmail 88612 invoked by uid 500); 14 Apr 2016 08:01:30 -0000 Delivered-To: apmail-hawq-commits-archive@hawq.apache.org Received: (qmail 88585 invoked by uid 500); 14 Apr 2016 08:01:30 -0000 Mailing-List: contact commits-help@hawq.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hawq.incubator.apache.org Delivered-To: mailing list commits@hawq.incubator.apache.org Received: (qmail 88576 invoked by uid 99); 14 Apr 2016 08:01:30 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Apr 2016 08:01:30 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 4BBD5180481 for ; Thu, 14 Apr 2016 08:01:30 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -3.221 X-Spam-Level: X-Spam-Status: No, score=-3.221 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id gcEDZ0o0LOmN for ; Thu, 14 Apr 2016 08:01:29 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id A564D5FB14 for ; Thu, 14 Apr 2016 08:01:27 +0000 (UTC) Received: (qmail 86483 invoked by uid 99); 14 Apr 2016 08:01:26 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Apr 2016 08:01:26 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id C2AB6E0B49; Thu, 14 Apr 2016 08:01:25 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: hubertzhang@apache.org To: commits@hawq.incubator.apache.org Date: Thu, 14 Apr 2016 08:01:29 -0000 Message-Id: <41856c8980284e11b3e5ca71096e51b8@git.apache.org> In-Reply-To: <3149782db4f4456795b6ae48e186f2da@git.apache.org> References: <3149782db4f4456795b6ae48e186f2da@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [5/5] incubator-hawq git commit: HAWQ-673. Unify out put of explain analyze. HAWQ-673. Unify out put of explain analyze. Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/e9c5dc3d Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/e9c5dc3d Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/e9c5dc3d Branch: refs/heads/master Commit: e9c5dc3d78862e872e4d461cee25106be007f908 Parents: 63ef549 Author: hzhang2 Authored: Thu Apr 14 15:55:42 2016 +0800 Committer: hzhang2 Committed: Thu Apr 14 15:55:42 2016 +0800 ---------------------------------------------------------------------- src/backend/cdb/cdbexplain.c | 37 +++++++------------------------------ src/include/cdb/cdbexplain.h | 14 ++++++++++++-- 2 files changed, 19 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/e9c5dc3d/src/backend/cdb/cdbexplain.c ---------------------------------------------------------------------- diff --git a/src/backend/cdb/cdbexplain.c b/src/backend/cdb/cdbexplain.c index bea98ca..d6583b8 100644 --- a/src/backend/cdb/cdbexplain.c +++ b/src/backend/cdb/cdbexplain.c @@ -305,6 +305,7 @@ cdbexplain_localExecStats(struct PlanState *planstate, ctx.send.notebuf = &showstatctx->extratextbuf; /* Set up a temporary StatHdr for both collecting and depositing stats. */ + gethostname(ctx.send.hdr.hostname,SEGMENT_IDENTITY_NAME_LENGTH-1); ctx.msgptrs[0] = &ctx.send.hdr; ctx.send.hdr.segindex = GetQEIndex(); ctx.send.hdr.nInst = 1; @@ -921,7 +922,7 @@ cdbexplain_depStatAcc_upd(CdbExplain_DepStatAcc *acc, acc->nsimax = nsi; } - if (acc->max_total < nsi->total) + if (acc->max_total <= nsi->total) { acc->rshLast = rsh; acc->rsiLast = rsi; @@ -1424,7 +1425,7 @@ cdbexplain_formatSegNoParenthesis(char *outbuf, int bufsize, int segindex, int n Assert(outbuf != NULL && "CDBEXPLAIN: char buffer is null"); Assert(bufsize > 0 && "CDBEXPLAIN: size of char buffer is zero"); - if ( nInst > 1 && segindex >= 0){ + if ( nInst >= 0 && segindex >= -1){ /*check if truncation occurs */ #ifdef USE_ASSERT_CHECKING int nchars_written = @@ -1564,7 +1565,7 @@ cdbexplain_showExecStats(struct PlanState *planstate, case T_BitmapIndexScanState: s_row = ""; s_rows = ""; - if (ns->ntuples.vcnt > 1){ + if (ns->ntuples.vcnt >= 0){ appendStringInfo(str, "Bitmaps out: Avg %.1f x %d workers." " Max/Last(%s/%s) %.0f/%.0f rows", @@ -1574,15 +1575,9 @@ cdbexplain_showExecStats(struct PlanState *planstate, ns->ntuples.vmax,ns->ntuples.vlast); containMaxRowAndLast = true; } - else - appendStringInfo(str, - "Bitmaps out: %s%.0f%s", - noRowRequested, - ns->ntuples.vmax, - segbufWithParenthese); break; case T_HashState: - if (ns->ntuples.vcnt > 1){ + if (ns->ntuples.vcnt >= 0){ appendStringInfo(str, "Rows in: Avg %.1f rows x %d workers." " Max/Last(%s/%s) %.0f/%.0f rows", @@ -1592,15 +1587,9 @@ cdbexplain_showExecStats(struct PlanState *planstate, ns->ntuples.vmax,ns->ntuples.vlast); containMaxRowAndLast = true; } - else - appendStringInfo(str, - "Rows in: %s%.0f rows%s", - noRowRequested, - ns->ntuples.vmax, - segbufWithParenthese); break; case T_MotionState: - if (ns->ntuples.vcnt > 1){ + if (ns->ntuples.vcnt >= 0){ appendStringInfo(str, "Rows out: Avg %.1f rows x %d workers" " at destination. Max/Last(%s/%s) %.0f/%.0f rows", @@ -1610,15 +1599,9 @@ cdbexplain_showExecStats(struct PlanState *planstate, ns->ntuples.vmax,ns->ntuples.vlast); containMaxRowAndLast = true; } - else - appendStringInfo(str, - "Rows out: %s%.0f rows at destination%s", - noRowRequested, - ns->ntuples.vmax, - segbufWithParenthese); break; default: - if (ns->ntuples.vcnt > 1){ + if (ns->ntuples.vcnt >= 0){ appendStringInfo(str, "Rows out: Avg %.1f rows x %d workers." " Max/Last(%s/%s) %.0f/%.0f rows", @@ -1628,12 +1611,6 @@ cdbexplain_showExecStats(struct PlanState *planstate, ns->ntuples.vmax,ns->ntuples.vlast); containMaxRowAndLast = true; } - else - appendStringInfo(str, - "Rows out: %s%.0f rows%s", - noRowRequested, - ns->ntuples.vmax, - segbufWithParenthese); } if( containMaxRowAndLast ){ http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/e9c5dc3d/src/include/cdb/cdbexplain.h ---------------------------------------------------------------------- diff --git a/src/include/cdb/cdbexplain.h b/src/include/cdb/cdbexplain.h index 8dde233..761b48d 100644 --- a/src/include/cdb/cdbexplain.h +++ b/src/include/cdb/cdbexplain.h @@ -74,12 +74,22 @@ cdbexplain_agg_init1(CdbExplain_Agg *agg, double v, int id) static inline bool cdbexplain_agg_upd(CdbExplain_Agg *agg, double v, int id,char* hostname) { - if (v > 0) + if(v == 0){ + if (agg->vcnt == 0) + { + agg->vmax = v; + agg->imax = id; + if(hostname!=NULL) + strncpy(agg->hostnamemax, hostname,SEGMENT_IDENTITY_NAME_LENGTH-1); + return true; + } + } + else if (v > 0) { agg->vsum += v; agg->vcnt++; - if (v > agg->vmax || + if (v >= agg->vmax || agg->vcnt == 0) { agg->vmax = v;