You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by da...@apache.org on 2019/03/06 19:08:23 UTC

[hive] branch master updated (0413fec -> 881080f)

This is an automated email from the ASF dual-hosted git repository.

daijy pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git.


    from 0413fec  HIVE-21314 : Hive Replication not retaining the owner in the replicated table.  (Mahesh Kumar Behera, reviewed by Sankar Hariappan)
     new 1252886  HIVE-21253: Support DB2 in JDBC StorageHandler (Daniel Dai, reviewed by Thejas Nair)
     new 75edc06  Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/hive
     new 881080f  HIVE-21389: Hive distribution miss javax.ws.rs-api.jar after HIVE-21247 (Daniel Dai, reviewed by Thejas Nair)

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java | 4 ++++
 .../main/java/org/apache/hive/storage/jdbc/conf/DatabaseType.java  | 1 +
 .../{PostgresDatabaseAccessor.java => DB2DatabaseAccessor.java}    | 7 +++----
 .../org/apache/hive/storage/jdbc/dao/DatabaseAccessorFactory.java  | 4 ++++
 packaging/src/main/assembly/bin.xml                                | 1 +
 5 files changed, 13 insertions(+), 4 deletions(-)
 copy jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/dao/{PostgresDatabaseAccessor.java => DB2DatabaseAccessor.java} (84%)


[hive] 03/03: HIVE-21389: Hive distribution miss javax.ws.rs-api.jar after HIVE-21247 (Daniel Dai, reviewed by Thejas Nair)

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

daijy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git

commit 881080f1fb459a6061f08701ade8a79798b9b41b
Author: Daniel Dai <da...@gmail.com>
AuthorDate: Wed Mar 6 11:07:42 2019 -0800

    HIVE-21389: Hive distribution miss javax.ws.rs-api.jar after HIVE-21247 (Daniel Dai, reviewed by Thejas Nair)
    
    Signed-off-by: Thejas M Nair <th...@hortonworks.com>
---
 packaging/src/main/assembly/bin.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/packaging/src/main/assembly/bin.xml b/packaging/src/main/assembly/bin.xml
index 766161d..24f9a45 100644
--- a/packaging/src/main/assembly/bin.xml
+++ b/packaging/src/main/assembly/bin.xml
@@ -76,6 +76,7 @@
       <includes>
         <include>org.apache.hive.hcatalog:hive-hcatalog-core</include>
         <include>org.apache.hive.hcatalog:hive-hcatalog-server-extensions</include>
+        <include>javax.ws.rs:javax.ws.rs-api</include>
       </includes>
     </dependencySet>
     <dependencySet>


[hive] 02/03: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/hive

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

daijy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git

commit 75edc069c4579ff34c8e174c0d10f02decae5dea
Merge: 1252886 0413fec
Author: Daniel Dai <da...@gmail.com>
AuthorDate: Wed Mar 6 11:04:03 2019 -0800

    Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/hive

 .../java/org/apache/hadoop/hive/cli/CliDriver.java |   3 +
 .../org/apache/hadoop/hive/conf/Constants.java     |   2 +
 .../hive/hcatalog/streaming/TestStreaming.java     |   2 +
 .../parse/TestReplicationWithTableMigrationEx.java |  67 ++++++++
 jdbc-handler/pom.xml                               |   6 +-
 .../hive/storage/jdbc/JdbcStorageHandler.java      |   4 +-
 .../jdbc/dao/GenericJdbcDatabaseAccessor.java      |   8 +-
 pom.xml                                            |   2 +
 .../org/apache/hadoop/hive/ql/exec/DDLTask.java    |   3 +
 .../apache/hadoop/hive/ql/exec/FetchOperator.java  |  37 ++++-
 .../org/apache/hadoop/hive/ql/exec/Utilities.java  |  97 +++++++-----
 .../bootstrap/events/filesystem/FSTableEvent.java  |   3 +
 .../hive/ql/io/HiveSequenceFileInputFormat.java    |  63 ++++++++
 .../calcite/HiveDefaultRelMetadataProvider.java    | 171 +++++++++++++++++----
 .../optimizer/calcite/rules/HiveSemiJoinRule.java  |  48 +++---
 .../hadoop/hive/ql/parse/CalcitePlanner.java       |  33 ++--
 .../apache/hadoop/hive/ql/parse/GenTezUtils.java   |   9 ++
 .../hive/ql/parse/ImportSemanticAnalyzer.java      |   3 +-
 .../hadoop/hive/ql/parse/SemanticAnalyzer.java     |   2 +-
 .../apache/hadoop/hive/ql/parse/TaskCompiler.java  |  37 ++++-
 .../hadoop/hive/ql/plan/CreateTableDesc.java       |  13 ++
 .../apache/hadoop/hive/ql/plan/CreateViewDesc.java |  13 ++
 .../org/apache/hadoop/hive/ql/plan/FetchWork.java  |  22 ++-
 .../apache/hadoop/hive/ql/plan/FileSinkDesc.java   |  38 ++++-
 .../hadoop/hive/ql/plan/ImportTableDesc.java       |  13 ++
 .../org/apache/hadoop/hive/ql/plan/PlanUtils.java  |   6 +-
 .../hadoop/hive/ql/stats/fs/FSStatsAggregator.java |  65 ++++++--
 .../hadoop/hive/ql/exec/TestFileSinkOperator.java  |   2 +-
 ql/src/test/queries/clientpositive/semijoin.q      |  13 ++
 .../results/clientpositive/llap/semijoin.q.out     |  51 +++++-
 .../clientpositive/perf/tez/cbo_query14.q.out      |   6 +-
 .../clientpositive/perf/tez/cbo_query83.q.out      |  12 +-
 .../perf/tez/constraints/cbo_query23.q.out         |   8 +-
 .../perf/tez/constraints/cbo_query83.q.out         |  12 +-
 .../results/clientpositive/spark/semijoin.q.out    |  51 +++++-
 .../apache/hive/service/server/HiveServer2.java    |   4 +
 36 files changed, 750 insertions(+), 179 deletions(-)



[hive] 01/03: HIVE-21253: Support DB2 in JDBC StorageHandler (Daniel Dai, reviewed by Thejas Nair)

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

daijy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git

commit 125288658938dcfa1fe8c144dff8b1f800b1bcc4
Author: Daniel Dai <da...@gmail.com>
AuthorDate: Fri Mar 1 21:23:02 2019 -0800

    HIVE-21253: Support DB2 in JDBC StorageHandler (Daniel Dai, reviewed by Thejas Nair)
    
    Signed-off-by: Thejas M Nair <th...@hortonworks.com>
---
 .../hive/storage/jdbc/JdbcStorageHandler.java      |  4 ++
 .../hive/storage/jdbc/conf/DatabaseType.java       |  1 +
 .../hive/storage/jdbc/dao/DB2DatabaseAccessor.java | 44 ++++++++++++++++++++++
 .../storage/jdbc/dao/DatabaseAccessorFactory.java  |  4 ++
 4 files changed, 53 insertions(+)

diff --git a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java
index d8c5433..0479eec 100644
--- a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java
+++ b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcStorageHandler.java
@@ -150,6 +150,10 @@ public class JdbcStorageHandler implements HiveStorageHandler {
     } catch (Exception e) {
     }
     try {
+      classesToLoad.add(Class.forName("com.ibm.db2.jcc.DB2Driver"));
+    } catch (Exception e) {
+    } // Adding db2 jdbc driver if exists
+    try {
       JarUtils.addDependencyJars(conf, classesToLoad);
     } catch (IOException e) {
       LOGGER.error("Could not add necessary JDBC storage handler dependencies to classpath", e);
diff --git a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/conf/DatabaseType.java b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/conf/DatabaseType.java
index b8b770f..bdcc3f3 100644
--- a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/conf/DatabaseType.java
+++ b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/conf/DatabaseType.java
@@ -17,6 +17,7 @@ package org.apache.hive.storage.jdbc.conf;
 public enum DatabaseType {
   MYSQL,
   H2,
+  DB2,
   DERBY,
   ORACLE,
   POSTGRES,
diff --git a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/dao/DB2DatabaseAccessor.java b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/dao/DB2DatabaseAccessor.java
new file mode 100644
index 0000000..fab9829
--- /dev/null
+++ b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/dao/DB2DatabaseAccessor.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hive.storage.jdbc.dao;
+
+/**
+ * DB2 specific data accessor. DB2 JDBC drivers works similar to Postgres, so the current
+ * implementation of DB2DatabaseAccessor is the same as PostgresDatabaseAccessor
+ */
+public class DB2DatabaseAccessor extends GenericJdbcDatabaseAccessor {
+  @Override
+  protected String addLimitAndOffsetToQuery(String sql, int limit, int offset) {
+    if (offset == 0) {
+      return addLimitToQuery(sql, limit);
+    } else {
+      if (limit == -1) {
+        return sql;
+      }
+      return sql + " LIMIT " + limit + " OFFSET " + offset;
+    }
+  }
+
+  @Override
+  protected String addLimitToQuery(String sql, int limit) {
+    if (limit == -1) {
+      return sql;
+    }
+    return sql + " LIMIT " + limit;
+  }
+}
diff --git a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/dao/DatabaseAccessorFactory.java b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/dao/DatabaseAccessorFactory.java
index 692cb23..e531ecc 100644
--- a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/dao/DatabaseAccessorFactory.java
+++ b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/dao/DatabaseAccessorFactory.java
@@ -51,6 +51,10 @@ public class DatabaseAccessorFactory {
       accessor = new MsSqlDatabaseAccessor();
       break;
 
+    case DB2:
+      accessor = new DB2DatabaseAccessor();
+      break;
+
     default:
       accessor = new GenericJdbcDatabaseAccessor();
       break;