From commits-return-2382-archive-asf-public=cust-asf.ponee.io@superset.incubator.apache.org Wed Mar 13 20:22:41 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 608AA18064A for ; Wed, 13 Mar 2019 21:22:41 +0100 (CET) Received: (qmail 24390 invoked by uid 500); 13 Mar 2019 20:22:40 -0000 Mailing-List: contact commits-help@superset.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@superset.incubator.apache.org Delivered-To: mailing list commits@superset.incubator.apache.org Received: (qmail 24381 invoked by uid 99); 13 Mar 2019 20:22:40 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Mar 2019 20:22:40 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id F00EC85253; Wed, 13 Mar 2019 20:22:39 +0000 (UTC) Date: Wed, 13 Mar 2019 20:22:39 +0000 To: "commits@superset.apache.org" Subject: [incubator-superset] branch master updated: [db-engine-spec] Aligning Hive/Presto partition logic (#7007) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <155250855954.13857.2147466065428399835@gitbox.apache.org> From: johnbodley@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: incubator-superset X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 7f3c145b1f5a4e2d8b95982119503e98772e2c47 X-Git-Newrev: 05be86611785fef2904992e4e7d31dce23f1c51b X-Git-Rev: 05be86611785fef2904992e4e7d31dce23f1c51b X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated This is an automated email from the ASF dual-hosted git repository. johnbodley pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-superset.git The following commit(s) were added to refs/heads/master by this push: new 05be866 [db-engine-spec] Aligning Hive/Presto partition logic (#7007) 05be866 is described below commit 05be86611785fef2904992e4e7d31dce23f1c51b Author: John Bodley <4567245+john-bodley@users.noreply.github.com> AuthorDate: Wed Mar 13 13:22:28 2019 -0700 [db-engine-spec] Aligning Hive/Presto partition logic (#7007) --- superset/db_engine_specs.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/superset/db_engine_specs.py b/superset/db_engine_specs.py index 64bffe7..c738c9f 100644 --- a/superset/db_engine_specs.py +++ b/superset/db_engine_specs.py @@ -986,16 +986,16 @@ class PrestoEngineSpec(BaseEngineSpec): except Exception: # table is not partitioned return False - for c in columns: - if c.get('name') == col_name: - return qry.where(Column(col_name) == value) + if value is not None: + for c in columns: + if c.get('name') == col_name: + return qry.where(Column(col_name) == value) return False @classmethod def _latest_partition_from_df(cls, df): - recs = df.to_records(index=False) - if recs: - return recs[0][0] + if not df.empty: + return df.to_records(index=False)[0][0] @classmethod def latest_partition(cls, table_name, schema, database, show_first=False): @@ -1012,7 +1012,7 @@ class PrestoEngineSpec(BaseEngineSpec): :type show_first: bool >>> latest_partition('foo_table') - '2018-01-01' + ('ds', '2018-01-01') """ indexes = database.get_indexes(table_name, schema) if len(indexes[0]['column_names']) < 1: @@ -1330,9 +1330,10 @@ class HiveEngineSpec(PrestoEngineSpec): except Exception: # table is not partitioned return False - for c in columns: - if c.get('name') == col_name: - return qry.where(Column(col_name) == value) + if value is not None: + for c in columns: + if c.get('name') == col_name: + return qry.where(Column(col_name) == value) return False @classmethod @@ -1343,7 +1344,8 @@ class HiveEngineSpec(PrestoEngineSpec): @classmethod def _latest_partition_from_df(cls, df): """Hive partitions look like ds={partition name}""" - return df.ix[:, 0].max().split('=')[1] + if not df.empty: + return df.ix[:, 0].max().split('=')[1] @classmethod def _partition_query(