You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by xu...@apache.org on 2015/09/28 03:10:21 UTC
[01/33] hive git commit: HIVE-10624: Update the initial script to
make beeline bucked cli as default and allow user choose old hive cli by env
(Ferdinand via Xuefu)
Repository: hive
Updated Branches:
refs/heads/master 02121a872 -> e570e4f0c
HIVE-10624: Update the initial script to make beeline bucked cli as default and allow user choose old hive cli by env (Ferdinand via Xuefu)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/2ddd86de
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/2ddd86de
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/2ddd86de
Branch: refs/heads/master
Commit: 2ddd86de5e005eb0457cc8bf0da47aa6c4d99c27
Parents: 9bc1b3b
Author: Xuefu Zhang <xz...@Cloudera.com>
Authored: Sat May 9 03:58:25 2015 -0700
Committer: Xuefu Zhang <xz...@Cloudera.com>
Committed: Sat May 9 03:58:25 2015 -0700
----------------------------------------------------------------------
bin/ext/cli.sh | 21 +++++++++++++++------
bin/ext/util/execHiveCmd.sh | 6 ++++--
2 files changed, 19 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/2ddd86de/bin/ext/cli.sh
----------------------------------------------------------------------
diff --git a/bin/ext/cli.sh b/bin/ext/cli.sh
index 914aae3..733705a 100644
--- a/bin/ext/cli.sh
+++ b/bin/ext/cli.sh
@@ -16,13 +16,22 @@
THISSERVICE=cli
export SERVICE_LIST="${SERVICE_LIST}${THISSERVICE} "
+updateCli() {
+ if [ $USE_DEPRECATED_CLI == "true" ]; then
+ CLASS=org.apache.hadoop.hive.cli.CliDriver
+ JAR=hive-cli-*.jar
+ else
+ CLASS=org.apache.hive.beeline.cli.HiveCli
+ JAR=hive-beeline-*.jar
+ fi
+}
+
cli () {
- CLASS=org.apache.hadoop.hive.cli.CliDriver
- execHiveCmd $CLASS "$@"
+ updateCli
+ execHiveCmd $CLASS $JAR "$@"
}
cli_help () {
- CLASS=org.apache.hadoop.hive.cli.CliDriver
- execHiveCmd $CLASS "--help"
-}
-
+ updateCli
+ execHiveCmd $CLASS $JAR "--help"
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hive/blob/2ddd86de/bin/ext/util/execHiveCmd.sh
----------------------------------------------------------------------
diff --git a/bin/ext/util/execHiveCmd.sh b/bin/ext/util/execHiveCmd.sh
index 167cc40..e46ec3c 100644
--- a/bin/ext/util/execHiveCmd.sh
+++ b/bin/ext/util/execHiveCmd.sh
@@ -16,9 +16,11 @@
execHiveCmd () {
CLASS=$1;
shift;
+ JAR=$1
+ shift;
# cli specific code
- if [ ! -f ${HIVE_LIB}/hive-cli-*.jar ]; then
+ if [ ! -f ${HIVE_LIB}/$JAR ]; then
echo "Missing Hive CLI Jar"
exit 3;
fi
@@ -28,5 +30,5 @@ execHiveCmd () {
fi
# hadoop 20 or newer - skip the aux_jars option. picked up from hiveconf
- exec $HADOOP jar ${HIVE_LIB}/hive-cli-*.jar $CLASS $HIVE_OPTS "$@"
+ exec $HADOOP jar ${HIVE_LIB}/$JAR $CLASS $HIVE_OPTS "$@"
}
[09/33] hive git commit: Merge branch 'master' into beeline-cli
Posted by xu...@apache.org.
Merge branch 'master' into beeline-cli
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/00e0d55a
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/00e0d55a
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/00e0d55a
Branch: refs/heads/master
Commit: 00e0d55a8bab27c82655e1aa237138847fd964b3
Parents: 2243de3 2a77e87
Author: Xuefu Zhang <xz...@Cloudera.com>
Authored: Thu Jun 25 20:40:55 2015 -0700
Committer: Xuefu Zhang <xz...@Cloudera.com>
Committed: Thu Jun 25 20:40:55 2015 -0700
----------------------------------------------------------------------
NOTICE | 2 +-
README.txt | 36 +-
RELEASE_NOTES.txt | 1020 ++-
accumulo-handler/pom.xml | 2 +-
.../accumulo/AccumuloConnectionParameters.java | 111 +-
.../hive/accumulo/AccumuloStorageHandler.java | 50 +
.../hive/accumulo/HiveAccumuloHelper.java | 280 +
.../mr/HiveAccumuloTableInputFormat.java | 74 +-
.../mr/HiveAccumuloTableOutputFormat.java | 63 +-
.../TestAccumuloConnectionParameters.java | 19 +
.../hive/accumulo/TestHiveAccumuloHelper.java | 75 +
.../mr/TestHiveAccumuloTableInputFormat.java | 8 +-
.../mr/TestHiveAccumuloTableOutputFormat.java | 2 +-
.../positive/accumulo_predicate_pushdown.q.out | 76 +-
.../results/positive/accumulo_queries.q.out | 70 +-
ant/pom.xml | 2 +-
.../apache/hadoop/hive/ant/QTestGenTask.java | 37 +-
beeline/pom.xml | 8 +-
.../java/org/apache/hive/beeline/BeeLine.java | 2 +-
.../org/apache/hive/beeline/BeeLineOpts.java | 9 +
.../java/org/apache/hive/beeline/Commands.java | 18 +-
.../apache/hive/beeline/HiveSchemaHelper.java | 1 -
.../org/apache/hive/beeline/HiveSchemaTool.java | 3 +
.../hive/beeline/TestBeelineArgParsing.java | 32 +-
.../test/resources/DummyDriver-1.0-SNAPSHOT.jar | Bin 2812 -> 0 bytes
beeline/src/test/resources/DummyDriver.txt | 59 +
.../src/test/resources/postgresql-9.3.jdbc3.jar | Bin 539003 -> 0 bytes
bin/ext/hiveserver2.cmd | 51 +-
bin/hive.cmd | 2 +-
cli/pom.xml | 2 +-
common/pom.xml | 22 +-
.../hadoop/hive/common/JvmPauseMonitor.java | 229 +
.../hive/common/jsonexplain/tez/Attr.java | 6 +-
.../hive/common/jsonexplain/tez/Connection.java | 6 +-
.../hadoop/hive/common/jsonexplain/tez/Op.java | 64 +-
.../hive/common/jsonexplain/tez/Printer.java | 41 +
.../hive/common/jsonexplain/tez/Stage.java | 95 +-
.../common/jsonexplain/tez/TezJsonParser.java | 63 +-
.../hive/common/jsonexplain/tez/Vertex.java | 75 +-
.../hive/common/metrics/LegacyMetrics.java | 229 +
.../hadoop/hive/common/metrics/Metrics.java | 253 -
.../hive/common/metrics/common/Metrics.java | 64 +
.../common/metrics/common/MetricsFactory.java | 62 +
.../metrics/metrics2/CodahaleMetrics.java | 347 +
.../metrics/metrics2/MetricsReporting.java | 27 +
.../org/apache/hadoop/hive/conf/HiveConf.java | 93 +-
.../hive/conf/LoopingByteArrayInputStream.java | 2 +-
.../apache/hive/common/util/HiveTestUtils.java | 46 +
.../hive/common/metrics/TestLegacyMetrics.java | 295 +
.../hadoop/hive/common/metrics/TestMetrics.java | 286 -
.../metrics/metrics2/TestCodahaleMetrics.java | 138 +
.../hive/common/type/TestHiveBaseChar.java | 2 +-
.../hive/common/type/TestHiveVarchar.java | 22 +-
contrib/pom.xml | 2 +-
.../util/typedbytes/TypedBytesInput.java | 2 +-
.../util/typedbytes/TypedBytesOutput.java | 2 +-
.../util/typedbytes/TypedBytesRecordInput.java | 2 +-
.../util/typedbytes/TypedBytesRecordOutput.java | 2 +-
.../typedbytes/TypedBytesWritableInput.java | 2 +-
.../typedbytes/TypedBytesWritableOutput.java | 2 +-
.../test/results/clientpositive/url_hook.q.out | 4 +
data/conf/spark/standalone/hive-site.xml | 6 +
data/conf/spark/yarn-client/hive-site.xml | 6 +
data/files/ct_events_clean.txt | 76 +
data/files/customers.txt | 3 +
data/files/emp2.txt | 16 +
data/files/nested_orders.txt | 8 +
data/files/orders.txt | 8 +
data/files/service_request_clean.txt | 76 +
data/files/sortdp.txt | 32 +
data/files/store_200 | 12 +
data/files/vectortab_a_1k | 1000 +++
data/files/vectortab_b_1k | 1000 +++
data/scripts/q_test_cleanup.sql | 2 +-
data/scripts/q_test_cleanup_for_encryption.sql | 2 +-
data/scripts/q_test_init_for_encryption.sql | 2 +-
dev-support/jenkins-submit-build.sh | 14 +-
hbase-handler/pom.xml | 2 +-
.../hive/hbase/HBaseTestStructSerializer.java | 20 +-
.../results/positive/external_table_ppd.q.out | 8 +-
.../results/positive/hbase_custom_key2.q.out | 18 +-
.../results/positive/hbase_custom_key3.q.out | 24 +-
.../results/positive/hbase_ppd_key_range.q.out | 76 +-
.../test/results/positive/hbase_pushdown.q.out | 68 +-
.../test/results/positive/hbase_queries.q.out | 42 +-
.../test/results/positive/hbase_timestamp.q.out | 32 +-
.../test/results/positive/ppd_key_ranges.q.out | 32 +-
hcatalog/core/pom.xml | 2 +-
.../hive/hcatalog/common/HCatException.java | 2 +-
.../data/HCatRecordObjectInspectorFactory.java | 2 +-
.../hcatalog/data/schema/HCatFieldSchema.java | 6 +-
.../hive/hcatalog/mapreduce/OutputJobInfo.java | 2 +-
.../hive/hcatalog/data/TestJsonSerDe.java | 2 +-
hcatalog/hcatalog-pig-adapter/pom.xml | 2 +-
.../apache/hive/hcatalog/pig/HCatLoader.java | 8 -
.../hive/hcatalog/pig/TestHCatLoader.java | 44 -
.../hcatalog/pig/TestHCatLoaderEncryption.java | 27 +-
hcatalog/pom.xml | 2 +-
hcatalog/server-extensions/pom.xml | 9 +-
.../src/test/e2e/templeton/inpdir/xmlmapper.py | 15 +
.../src/test/e2e/templeton/inpdir/xmlreducer.py | 16 +
.../tests/jobsubmission_streaming.conf | 2 +-
hcatalog/streaming/pom.xml | 2 +-
.../streaming/DelimitedInputWriter.java | 2 +-
.../hive/hcatalog/streaming/HiveEndPoint.java | 2 +-
.../hive/hcatalog/streaming/TestStreaming.java | 2 +-
hcatalog/webhcat/java-client/pom.xml | 2 +-
.../hive/hcatalog/api/TestHCatClient.java | 2 +-
hcatalog/webhcat/svr/pom.xml | 2 +-
.../hive/hcatalog/templeton/AppConfig.java | 2 +
.../hive/hcatalog/templeton/HcatDelegator.java | 4 +-
.../hive/hcatalog/templeton/HiveDelegator.java | 15 +-
.../hive/hcatalog/templeton/JarDelegator.java | 8 +-
.../hcatalog/templeton/LauncherDelegator.java | 14 +
.../hive/hcatalog/templeton/PigDelegator.java | 13 +-
.../apache/hive/hcatalog/templeton/Server.java | 34 +-
.../hive/hcatalog/templeton/SqoopDelegator.java | 20 +-
.../hcatalog/templeton/StreamingDelegator.java | 3 +-
.../templeton/tool/JobSubmissionConstants.java | 3 +
.../hcatalog/templeton/tool/LaunchMapper.java | 241 +-
.../templeton/tool/TempletonControllerJob.java | 7 +-
hwi/pom.xml | 2 +-
itests/custom-serde/pom.xml | 2 +-
itests/hcatalog-unit/pom.xml | 2 +-
itests/hive-jmh/pom.xml | 2 +-
.../benchmark/storage/ColumnarStorageBench.java | 4 +-
itests/hive-minikdc/pom.xml | 22 +-
.../hive/minikdc/TestHs2HooksWithMiniKdc.java | 2 +-
itests/hive-unit-hadoop2/pom.xml | 2 +-
itests/hive-unit/pom.xml | 90 +-
.../org/apache/hadoop/hive/UtilsForTest.java | 41 +
.../apache/hadoop/hive/hooks/TestHs2Hooks.java | 10 +-
.../hadoop/hive/metastore/TestFilterHooks.java | 29 +-
.../hive/metastore/TestMetaStoreMetrics.java | 94 +
.../TestHiveAuthorizerCheckInvocation.java | 34 +-
.../plugin/TestHiveAuthorizerShowFilters.java | 6 +-
.../hive/ql/txn/compactor/TestCompactor.java | 11 +-
.../org/apache/hive/jdbc/TestJdbcDriver2.java | 20 +
.../apache/hive/jdbc/TestJdbcWithMiniHS2.java | 123 +
.../authorization/TestJdbcMetadataApiAuth.java | 260 +
.../TestJdbcWithSQLAuthorization.java | 18 +
itests/pom.xml | 3 +-
itests/qtest-accumulo/pom.xml | 508 ++
.../test/java/org/apache/hive/TestDummy.java | 31 +
itests/qtest-spark/pom.xml | 2 +-
itests/qtest/pom.xml | 23 +-
.../test/resources/testconfiguration.properties | 30 +-
itests/test-serde/pom.xml | 2 +-
itests/util/pom.xml | 2 +-
.../org/apache/hadoop/hive/ql/QTestUtil.java | 27 +-
jdbc/pom.xml | 2 +-
.../org/apache/hive/jdbc/HiveConnection.java | 50 +-
.../apache/hive/jdbc/HivePreparedStatement.java | 2 +-
.../apache/hive/jdbc/HiveQueryResultSet.java | 50 +-
.../org/apache/hive/jdbc/HiveStatement.java | 32 +-
.../hive/jdbc/HttpRequestInterceptorBase.java | 18 +
metastore/dbs/derby/execute.sh | 37 -
metastore/dbs/derby/prepare.sh | 63 -
metastore/dbs/postgres/execute.sh | 29 -
metastore/dbs/postgres/prepare.sh | 72 -
metastore/pom.xml | 2 +-
.../upgrade/derby/hive-schema-2.0.0.derby.sql | 336 +
.../derby/upgrade-1.2.0-to-2.0.0.derby.sql | 3 +
.../scripts/upgrade/derby/upgrade.order.derby | 2 +-
.../upgrade/mssql/hive-schema-2.0.0.mssql.sql | 947 +++
.../mssql/upgrade-1.2.0-to-2.0.0.mssql.sql | 5 +
.../scripts/upgrade/mssql/upgrade.order.mssql | 2 +-
.../upgrade/mysql/021-HIVE-7018.mysql.sql | 53 +
.../upgrade/mysql/hive-schema-1.3.0.mysql.sql | 10 +-
.../upgrade/mysql/hive-schema-2.0.0.mysql.sql | 834 +++
.../mysql/upgrade-1.2.0-to-1.3.0.mysql.sql | 2 +-
.../mysql/upgrade-1.2.0-to-2.0.0.mysql.sql | 4 +
.../scripts/upgrade/mysql/upgrade.order.mysql | 2 +-
.../upgrade/oracle/hive-schema-2.0.0.oracle.sql | 788 ++
.../oracle/upgrade-1.2.0-to-2.0.0.oracle.sql | 4 +
.../scripts/upgrade/oracle/upgrade.order.oracle | 2 +-
.../postgres/hive-schema-1.3.0.postgres.sql | 36 -
.../postgres/hive-schema-2.0.0.postgres.sql | 1457 ++++
.../upgrade-1.2.0-to-2.0.0.postgres.sql | 12 +
.../upgrade/postgres/upgrade.order.postgres | 2 +-
.../apache/hadoop/hive/metastore/Deadline.java | 2 +-
.../hadoop/hive/metastore/HiveAlterHandler.java | 42 +-
.../hadoop/hive/metastore/HiveMetaStore.java | 246 +-
.../hive/metastore/HiveMetaStoreClient.java | 13 +-
.../hive/metastore/HiveMetaStoreFsImpl.java | 1 -
.../hive/metastore/MetaStoreDirectSql.java | 26 +-
.../hive/metastore/MetaStoreSchemaInfo.java | 8 +-
.../hadoop/hive/metastore/ObjectStore.java | 6 +-
.../hive/metastore/StatObjectConverter.java | 16 +-
.../apache/hadoop/hive/metastore/Warehouse.java | 14 +-
.../hive/metastore/txn/CompactionInfo.java | 9 +
.../metastore/txn/CompactionTxnHandler.java | 28 +-
.../hadoop/hive/metastore/txn/TxnHandler.java | 36 +-
odbc/pom.xml | 2 +-
packaging/pom.xml | 2 +-
pom.xml | 53 +-
ql/pom.xml | 9 +-
.../java/org/apache/hadoop/hive/ql/Driver.java | 11 +-
.../apache/hadoop/hive/ql/exec/ColumnInfo.java | 2 +-
.../org/apache/hadoop/hive/ql/exec/DDLTask.java | 37 +-
.../hive/ql/exec/DefaultFetchFormatter.java | 1 -
.../apache/hadoop/hive/ql/exec/ExplainTask.java | 58 +-
.../hive/ql/exec/ExprNodeEvaluatorFactory.java | 12 +-
.../ql/exec/ExprNodeGenericFuncEvaluator.java | 3 +-
.../hive/ql/exec/ExprNodeNullEvaluator.java | 47 -
.../hadoop/hive/ql/exec/FunctionRegistry.java | 12 +-
.../hadoop/hive/ql/exec/MapJoinOperator.java | 6 +-
.../hive/ql/exec/OrcFileMergeOperator.java | 70 +-
.../hive/ql/exec/PTFRollingPartition.java | 30 +-
.../hive/ql/exec/PartitionKeySampler.java | 9 +-
.../hadoop/hive/ql/exec/ReduceSinkOperator.java | 7 +-
.../apache/hadoop/hive/ql/exec/TaskFactory.java | 2 +-
.../apache/hadoop/hive/ql/exec/TaskRunner.java | 1 +
.../apache/hadoop/hive/ql/exec/Utilities.java | 39 +-
.../hadoop/hive/ql/exec/mr/ExecDriver.java | 16 +-
.../persistence/BytesBytesMultiHashMap.java | 48 +-
.../persistence/HybridHashTableContainer.java | 59 +-
.../persistence/MapJoinBytesTableContainer.java | 74 +-
.../hadoop/hive/ql/exec/spark/CacheTran.java | 54 +
.../hive/ql/exec/spark/GroupByShuffler.java | 4 +
.../hive/ql/exec/spark/HashTableLoader.java | 23 +-
.../ql/exec/spark/HivePairFlatMapFunction.java | 1 +
.../ql/exec/spark/HiveSparkClientFactory.java | 1 +
.../ql/exec/spark/LocalHiveSparkClient.java | 8 +-
.../hadoop/hive/ql/exec/spark/MapInput.java | 16 +
.../hadoop/hive/ql/exec/spark/MapTran.java | 22 +-
.../hadoop/hive/ql/exec/spark/ReduceTran.java | 23 +-
.../ql/exec/spark/RemoteHiveSparkClient.java | 16 +-
.../hadoop/hive/ql/exec/spark/ShuffleTran.java | 24 +
.../hive/ql/exec/spark/SmallTableCache.java | 73 +
.../hive/ql/exec/spark/SortByShuffler.java | 5 +
.../hadoop/hive/ql/exec/spark/SparkPlan.java | 150 +
.../hive/ql/exec/spark/SparkPlanGenerator.java | 25 +-
.../hive/ql/exec/spark/SparkShuffler.java | 2 +
.../hadoop/hive/ql/exec/spark/SparkTran.java | 6 +
.../hive/ql/exec/spark/SparkUtilities.java | 53 +-
.../ql/exec/spark/session/SparkSessionImpl.java | 2 +-
.../spark/session/SparkSessionManagerImpl.java | 63 +-
.../ql/exec/spark/status/SparkJobMonitor.java | 2 +-
.../hive/ql/exec/tez/HashTableLoader.java | 74 +-
.../hive/ql/exec/tez/HiveSplitGenerator.java | 24 +
.../hadoop/hive/ql/exec/tez/TezJobMonitor.java | 12 +-
.../hive/ql/exec/tez/TezSessionPoolManager.java | 21 +-
.../hive/ql/exec/tez/TezSessionState.java | 10 -
.../hive/ql/exec/vector/BytesColumnVector.java | 9 +
.../hive/ql/exec/vector/ColumnVector.java | 10 +
.../ql/exec/vector/VectorColumnSetInfo.java | 42 +-
.../hive/ql/exec/vector/VectorCopyRow.java | 35 +-
.../ql/exec/vector/VectorFilterOperator.java | 5 +-
.../ql/exec/vector/VectorGroupByOperator.java | 16 +-
.../ql/exec/vector/VectorMapJoinOperator.java | 8 +-
.../VectorMapJoinOuterFilteredOperator.java | 6 +-
.../ql/exec/vector/VectorizationContext.java | 111 +-
.../ql/exec/vector/VectorizedBatchUtil.java | 7 +-
.../mapjoin/VectorMapJoinCommonOperator.java | 58 +-
.../VectorMapJoinGenerateResultOperator.java | 47 +-
...pJoinInnerBigOnlyGenerateResultOperator.java | 53 +-
.../VectorMapJoinInnerBigOnlyLongOperator.java | 15 +-
...ctorMapJoinInnerBigOnlyMultiKeyOperator.java | 15 +-
...VectorMapJoinInnerBigOnlyStringOperator.java | 12 +-
...ectorMapJoinInnerGenerateResultOperator.java | 39 +-
.../mapjoin/VectorMapJoinInnerLongOperator.java | 17 +-
.../VectorMapJoinInnerMultiKeyOperator.java | 19 +-
.../VectorMapJoinInnerStringOperator.java | 17 +-
...orMapJoinLeftSemiGenerateResultOperator.java | 40 +-
.../VectorMapJoinLeftSemiLongOperator.java | 13 +-
.../VectorMapJoinLeftSemiMultiKeyOperator.java | 17 +-
.../VectorMapJoinLeftSemiStringOperator.java | 17 +-
...ectorMapJoinOuterGenerateResultOperator.java | 805 +-
.../mapjoin/VectorMapJoinOuterLongOperator.java | 189 +-
.../VectorMapJoinOuterMultiKeyOperator.java | 184 +-
.../VectorMapJoinOuterStringOperator.java | 185 +-
.../mapjoin/VectorMapJoinRowBytesContainer.java | 2 +-
.../fast/VectorMapJoinFastBytesHashMap.java | 8 +-
.../VectorMapJoinFastBytesHashMultiSet.java | 4 +-
.../fast/VectorMapJoinFastBytesHashTable.java | 10 +-
.../mapjoin/fast/VectorMapJoinFastKeyStore.java | 10 +-
.../fast/VectorMapJoinFastLongHashMap.java | 2 +-
.../fast/VectorMapJoinFastLongHashTable.java | 18 +-
.../fast/VectorMapJoinFastTableContainer.java | 2 +-
.../fast/VectorMapJoinFastValueStore.java | 8 +-
.../VectorMapJoinOptimizedLongCommon.java | 4 +-
.../apache/hadoop/hive/ql/hooks/ATSHook.java | 27 +-
.../hadoop/hive/ql/io/HiveInputFormat.java | 39 +-
.../org/apache/hadoop/hive/ql/io/IOContext.java | 2 +-
.../ql/io/avro/AvroContainerOutputFormat.java | 2 +-
.../hadoop/hive/ql/io/merge/MergeFileTask.java | 6 +-
.../hive/ql/io/orc/ColumnStatisticsImpl.java | 217 +-
.../ql/io/orc/ConversionTreeReaderFactory.java | 38 +
.../hive/ql/io/orc/OrcFileKeyWrapper.java | 27 +-
.../io/orc/OrcFileStripeMergeRecordReader.java | 23 +-
.../hadoop/hive/ql/io/orc/OrcInputFormat.java | 8 +-
.../hadoop/hive/ql/io/orc/OrcRecordUpdater.java | 24 +-
.../apache/hadoop/hive/ql/io/orc/OrcUtils.java | 6 +-
.../hive/ql/io/orc/RecordReaderFactory.java | 269 +
.../hadoop/hive/ql/io/orc/RecordReaderImpl.java | 11 +-
.../hadoop/hive/ql/io/orc/WriterImpl.java | 2 +-
.../io/parquet/FilterPredicateLeafBuilder.java | 8 +-
.../hive/ql/io/parquet/LeafFilterFactory.java | 20 +-
.../ql/io/parquet/MapredParquetInputFormat.java | 3 +-
.../io/parquet/MapredParquetOutputFormat.java | 2 +-
.../parquet/VectorizedParquetInputFormat.java | 2 +-
.../convert/DataWritableRecordConverter.java | 8 +-
.../ql/io/parquet/convert/ETypeConverter.java | 10 +-
.../convert/HiveCollectionConverter.java | 29 +-
.../io/parquet/convert/HiveGroupConverter.java | 24 +-
.../io/parquet/convert/HiveSchemaConverter.java | 18 +-
.../io/parquet/convert/HiveStructConverter.java | 6 +-
.../hive/ql/io/parquet/convert/Repeated.java | 38 +-
.../parquet/read/DataWritableReadSupport.java | 20 +-
.../read/ParquetRecordReaderWrapper.java | 31 +-
.../serde/AbstractParquetMapInspector.java | 13 +-
.../serde/DeepParquetHiveMapInspector.java | 6 +-
.../serde/ParquetHiveArrayInspector.java | 43 +-
.../ql/io/parquet/serde/ParquetHiveSerDe.java | 4 +-
.../serde/StandardParquetHiveMapInspector.java | 6 +-
.../hive/ql/io/parquet/timestamp/NanoTime.java | 6 +-
.../parquet/write/DataWritableWriteSupport.java | 8 +-
.../ql/io/parquet/write/DataWritableWriter.java | 10 +-
.../write/ParquetRecordWriterWrapper.java | 6 +-
.../ql/io/rcfile/stats/PartialScanTask.java | 4 +-
.../io/rcfile/truncate/ColumnTruncateTask.java | 4 +-
.../hive/ql/io/sarg/SearchArgumentImpl.java | 10 +-
.../hadoop/hive/ql/lockmgr/DbLockManager.java | 4 +-
.../hadoop/hive/ql/lockmgr/DbTxnManager.java | 2 +-
.../hadoop/hive/ql/lockmgr/DummyTxnManager.java | 15 -
.../hadoop/hive/ql/lockmgr/HiveLockObject.java | 2 +-
.../zookeeper/ZooKeeperHiveLockManager.java | 2 +
.../apache/hadoop/hive/ql/metadata/Hive.java | 17 +-
.../formatting/JsonMetaDataFormatter.java | 2 +-
.../metadata/formatting/MetaDataFormatter.java | 2 +-
.../formatting/TextMetaDataFormatter.java | 76 +-
.../hive/ql/optimizer/ColumnPrunerProcCtx.java | 27 +
.../ql/optimizer/ColumnPrunerProcFactory.java | 49 +-
.../hive/ql/optimizer/ConstantPropagate.java | 12 +-
.../ql/optimizer/ConstantPropagateProcCtx.java | 21 +
.../optimizer/ConstantPropagateProcFactory.java | 235 +-
.../hive/ql/optimizer/ConvertJoinMapJoin.java | 46 +-
.../hive/ql/optimizer/GenMRTableScan1.java | 2 +-
.../hive/ql/optimizer/GenMapRedUtils.java | 5 +-
.../hive/ql/optimizer/GroupByOptimizer.java | 7 +-
.../ql/optimizer/NonBlockingOpDeDupProc.java | 9 -
.../hadoop/hive/ql/optimizer/Optimizer.java | 4 +
.../PrunerExpressionOperatorFactory.java | 3 -
.../ql/optimizer/ReduceSinkMapJoinProc.java | 2 +-
.../optimizer/RemoveDynamicPruningBySize.java | 19 +-
.../hive/ql/optimizer/SimpleFetchOptimizer.java | 2 -
.../ql/optimizer/calcite/HiveCalciteUtil.java | 143 +-
.../ql/optimizer/calcite/HiveRelCollation.java | 18 +
.../ql/optimizer/calcite/HiveRelOptUtil.java | 167 +-
.../ql/optimizer/calcite/RelOptHiveTable.java | 6 +-
.../calcite/reloperators/HiveAggregate.java | 58 +
.../calcite/reloperators/HiveGroupingID.java | 17 +
.../calcite/reloperators/HiveMultiJoin.java | 198 +
.../calcite/reloperators/HiveProject.java | 5 +-
.../calcite/reloperators/HiveSemiJoin.java | 79 +
.../calcite/reloperators/HiveSortExchange.java | 18 +
.../rules/HiveExpandDistinctAggregatesRule.java | 278 +
.../rules/HiveInsertExchange4JoinRule.java | 27 +-
.../rules/HiveJoinProjectTransposeRule.java | 60 +
.../calcite/rules/HiveJoinToMultiJoinRule.java | 309 +-
.../calcite/rules/HivePreFilteringRule.java | 218 +
.../calcite/rules/HiveProjectMergeRule.java | 1 -
.../calcite/rules/HiveRelFieldTrimmer.java | 181 +
.../calcite/rules/HiveWindowingFixRule.java | 163 +
.../calcite/translator/ASTConverter.java | 2 -
.../calcite/translator/HiveOpConverter.java | 304 +-
.../translator/HiveOpConverterPostProc.java | 90 +-
.../calcite/translator/PlanModifierUtil.java | 47 +-
.../calcite/translator/RexNodeConverter.java | 5 +-
.../correlation/ReduceSinkDeDuplication.java | 15 +-
.../ql/optimizer/lineage/ExprProcFactory.java | 3 +-
.../ql/optimizer/pcr/PcrExprProcFactory.java | 3 +-
.../hive/ql/optimizer/physical/Vectorizer.java | 204 +-
.../spark/SetSparkReducerParallelism.java | 30 +-
.../spark/SparkReduceSinkMapJoinProc.java | 2 +-
.../stats/annotation/StatsRulesProcFactory.java | 285 +-
.../hadoop/hive/ql/parse/CalcitePlanner.java | 121 +-
.../hive/ql/parse/DDLSemanticAnalyzer.java | 3 +-
.../hive/ql/parse/ExplainSemanticAnalyzer.java | 9 +-
.../hadoop/hive/ql/parse/GenTezUtils.java | 24 +
.../apache/hadoop/hive/ql/parse/HiveParser.g | 11 +-
.../hive/ql/parse/OptimizeTezProcContext.java | 14 +
.../hadoop/hive/ql/parse/PTFInvocationSpec.java | 8 +
.../hadoop/hive/ql/parse/PTFTranslator.java | 15 +-
.../apache/hadoop/hive/ql/parse/ParseUtils.java | 42 +-
.../hive/ql/parse/ProcessAnalyzeTable.java | 4 +-
.../org/apache/hadoop/hive/ql/parse/QB.java | 19 +
.../hadoop/hive/ql/parse/SemanticAnalyzer.java | 270 +-
.../hive/ql/parse/TableAccessAnalyzer.java | 6 +-
.../hadoop/hive/ql/parse/TaskCompiler.java | 4 +-
.../hadoop/hive/ql/parse/TezCompiler.java | 24 +-
.../hive/ql/parse/TypeCheckProcFactory.java | 4 +-
.../hadoop/hive/ql/parse/WindowingSpec.java | 86 +-
.../hive/ql/parse/spark/GenSparkUtils.java | 2 +-
.../parse/spark/SparkProcessAnalyzeTable.java | 2 +-
.../hive/ql/plan/AbstractOperatorDesc.java | 2 +-
.../hadoop/hive/ql/plan/ColStatistics.java | 33 +-
.../hadoop/hive/ql/plan/ConditionalWork.java | 4 +-
.../hive/ql/plan/ExprNodeConstantDesc.java | 15 +-
.../hadoop/hive/ql/plan/ExprNodeNullDesc.java | 69 -
.../apache/hadoop/hive/ql/plan/FilterDesc.java | 4 +-
.../apache/hadoop/hive/ql/plan/JoinDesc.java | 7 -
.../apache/hadoop/hive/ql/plan/PlanUtils.java | 28 +-
.../hadoop/hive/ql/plan/ReduceSinkDesc.java | 15 +-
.../apache/hadoop/hive/ql/plan/Statistics.java | 15 +-
.../hadoop/hive/ql/plan/TableScanDesc.java | 22 +-
.../hadoop/hive/ql/plan/VectorGroupByDesc.java | 23 +-
.../hadoop/hive/ql/plan/ptf/BoundaryDef.java | 42 +-
.../hadoop/hive/ql/plan/ptf/CurrentRowDef.java | 12 +-
.../hive/ql/plan/ptf/RangeBoundaryDef.java | 38 +-
.../hive/ql/plan/ptf/ValueBoundaryDef.java | 50 +-
.../hadoop/hive/ql/plan/ptf/WindowFrameDef.java | 31 +-
.../hadoop/hive/ql/processors/SetProcessor.java | 3 +
.../AuthorizationPreEventListener.java | 8 +-
.../AuthorizationMetaStoreFilterHook.java | 9 +-
.../authorization/plugin/HiveOperationType.java | 19 +-
.../plugin/HivePrivilegeObjectUtils.java | 51 +
.../plugin/sqlstd/Operation2Privilege.java | 17 +-
.../SQLStdHiveAuthorizationValidator.java | 5 +
.../hadoop/hive/ql/session/OperationLog.java | 2 +-
.../hadoop/hive/ql/session/SessionState.java | 26 +-
.../apache/hadoop/hive/ql/stats/StatsUtils.java | 264 +-
.../hive/ql/txn/compactor/CompactorMR.java | 9 +-
.../hadoop/hive/ql/txn/compactor/Initiator.java | 2 +-
.../hadoop/hive/ql/txn/compactor/Worker.java | 3 +-
.../org/apache/hadoop/hive/ql/udf/UDFCrc32.java | 75 +
.../org/apache/hadoop/hive/ql/udf/UDFMd5.java | 33 +-
.../apache/hadoop/hive/ql/udf/UDFRegExp.java | 76 -
.../org/apache/hadoop/hive/ql/udf/UDFSha1.java | 88 +
.../hive/ql/udf/generic/GenericUDAFAverage.java | 43 +-
.../ql/udf/generic/GenericUDAFCollectList.java | 15 +-
.../ql/udf/generic/GenericUDAFCollectSet.java | 14 +-
.../ql/udf/generic/GenericUDAFFirstValue.java | 47 +-
.../ql/udf/generic/GenericUDAFLastValue.java | 39 +-
.../hive/ql/udf/generic/GenericUDAFMax.java | 51 +-
.../hive/ql/udf/generic/GenericUDAFMin.java | 8 +-
.../GenericUDAFMkCollectionEvaluator.java | 21 +-
.../generic/GenericUDAFStreamingEvaluator.java | 85 +-
.../hive/ql/udf/generic/GenericUDAFSum.java | 41 +-
.../hadoop/hive/ql/udf/generic/GenericUDF.java | 23 -
.../hive/ql/udf/generic/GenericUDFBaseDTI.java | 18 +
.../hive/ql/udf/generic/GenericUDFCoalesce.java | 2 +-
.../hive/ql/udf/generic/GenericUDFDecode.java | 2 +-
.../hive/ql/udf/generic/GenericUDFEncode.java | 2 +-
.../hive/ql/udf/generic/GenericUDFGreatest.java | 1 +
.../hive/ql/udf/generic/GenericUDFInstr.java | 2 +-
.../hive/ql/udf/generic/GenericUDFLocate.java | 2 +-
.../ql/udf/generic/GenericUDFParamUtils.java | 71 +
.../hive/ql/udf/generic/GenericUDFPrintf.java | 3 +-
.../hive/ql/udf/generic/GenericUDFRegExp.java | 133 +
.../hive/ql/udf/generic/GenericUDFSha2.java | 137 +
.../ql/udf/generic/GenericUDFSortArray.java | 17 +-
.../udf/generic/GenericUDFSubstringIndex.java | 159 +
.../udf/generic/GenericUDFToUnixTimeStamp.java | 6 +-
.../ql/udf/generic/GenericUDFTranslate.java | 8 +-
.../ql/udf/generic/GenericUDFUnixTimeStamp.java | 36 +-
.../hive/ql/udf/generic/GenericUDFUtils.java | 6 +-
.../hadoop/hive/ql/udf/ptf/MatchPath.java | 5 +-
.../hive/ql/udf/ptf/WindowingTableFunction.java | 174 +-
.../apache/hadoop/hive/ql/TestTxnCommands2.java | 18 +
.../hadoop/hive/ql/exec/TestUtilities.java | 11 +
.../exec/vector/TestVectorGroupByOperator.java | 2 +-
.../hadoop/hive/ql/io/orc/TestFileDump.java | 9 +-
.../io/parquet/AbstractTestParquetDirect.java | 26 +-
.../ql/io/parquet/TestArrayCompatibility.java | 78 +-
.../ql/io/parquet/TestDataWritableWriter.java | 52 +-
.../ql/io/parquet/TestHiveSchemaConverter.java | 16 +-
.../hive/ql/io/parquet/TestMapStructures.java | 64 +-
.../parquet/TestMapredParquetInputFormat.java | 2 +-
.../parquet/TestMapredParquetOutputFormat.java | 2 +-
.../io/parquet/TestParquetRowGroupFilter.java | 6 +-
.../hive/ql/io/parquet/TestParquetSerDe.java | 8 +-
.../serde/TestAbstractParquetMapInspector.java | 4 +-
.../serde/TestDeepParquetHiveMapInspector.java | 4 +-
.../serde/TestParquetHiveArrayInspector.java | 3 +-
.../TestStandardParquetHiveMapInspector.java | 4 +-
.../hive/ql/io/sarg/TestSearchArgumentImpl.java | 29 +-
.../hive/ql/lockmgr/TestDummyTxnManager.java | 119 +-
.../apache/hadoop/hive/ql/parse/TestIUD.java | 7 +
.../hadoop/hive/ql/plan/TestViewEntity.java | 53 +-
.../hadoop/hive/ql/session/TestAddResource.java | 116 +-
.../hive/ql/session/TestSessionState.java | 30 +-
.../hadoop/hive/ql/udaf/TestStreamingSum.java | 16 +-
.../apache/hadoop/hive/ql/udf/TestUDFCrc32.java | 74 +
.../apache/hadoop/hive/ql/udf/TestUDFJson.java | 18 +
.../apache/hadoop/hive/ql/udf/TestUDFSha1.java | 57 +
.../ql/udf/generic/TestGenericUDFRegexp.java | 135 +
.../hive/ql/udf/generic/TestGenericUDFSha2.java | 271 +
.../ql/udf/generic/TestGenericUDFSortArray.java | 158 +
.../generic/TestGenericUDFSubstringIndex.java | 97 +
.../clientnegative/lockneg_try_lock_db_in_use.q | 2 +-
.../clientnegative/ptf_negative_NoWindowDefn.q | 9 +
.../table_nonprintable_negative.q | 11 +
.../udaf_collect_set_unsupported.q | 3 +
.../clientnegative/udf_sort_array_wrong3.q | 2 +-
.../clientpositive/alter_change_db_location.q | 5 +
.../queries/clientpositive/alter_merge_2_orc.q | 6 +-
.../clientpositive/alter_table_partition_drop.q | 11 +
.../queries/clientpositive/ambiguitycheck.q | 2 -
.../clientpositive/authorization_view_sqlstd.q | 4 +
ql/src/test/queries/clientpositive/auto_join0.q | 12 +-
ql/src/test/queries/clientpositive/auto_join1.q | 3 +
.../test/queries/clientpositive/auto_join21.q | 1 +
.../test/queries/clientpositive/auto_join29.q | 1 +
.../test/queries/clientpositive/auto_join30.q | 1 +
.../clientpositive/auto_sortmerge_join_10.q | 1 +
.../clientpositive/auto_sortmerge_join_13.q | 1 +
.../clientpositive/auto_sortmerge_join_14.q | 1 +
.../clientpositive/auto_sortmerge_join_15.q | 1 +
.../clientpositive/auto_sortmerge_join_5.q | 3 +
.../clientpositive/auto_sortmerge_join_9.q | 1 +
.../queries/clientpositive/autogen_colalias.q | 4 +-
.../queries/clientpositive/avro_timestamp.q | 2 +
.../queries/clientpositive/avro_timestamp_win.q | 28 +
ql/src/test/queries/clientpositive/bucket2.q | 1 +
ql/src/test/queries/clientpositive/bucket3.q | 1 +
ql/src/test/queries/clientpositive/bucket4.q | 1 +
.../clientpositive/bucket_map_join_tez1.q | 1 +
.../clientpositive/bucket_map_join_tez2.q | 1 +
ql/src/test/queries/clientpositive/cbo_gby.q | 3 +
.../test/queries/clientpositive/cbo_rp_join0.q | 26 +
.../test/queries/clientpositive/cbo_rp_join1.q | 22 +
.../test/queries/clientpositive/cbo_subq_in.q | 1 +
.../test/queries/clientpositive/cbo_udf_udaf.q | 2 +
.../test/queries/clientpositive/cbo_windowing.q | 6 +-
.../clientpositive/correlationoptimizer1.q | 1 +
ql/src/test/queries/clientpositive/count.q | 1 +
ql/src/test/queries/clientpositive/cross_join.q | 1 +
.../clientpositive/cross_product_check_1.q | 10 +-
.../clientpositive/cross_product_check_2.q | 7 +-
.../clientpositive/crtseltbl_serdeprops.q | 11 +
ql/src/test/queries/clientpositive/ctas.q | 2 +
ql/src/test/queries/clientpositive/cteViews.q | 41 +
.../disable_merge_for_bucketing.q | 1 +
.../clientpositive/dynamic_partition_pruning.q | 1 +
.../dynamic_partition_pruning_2.q | 18 +
.../clientpositive/dynpart_sort_opt_bucketing.q | 73 +
.../dynpart_sort_opt_vectorization.q | 1 +
.../clientpositive/dynpart_sort_optimization.q | 1 +
.../clientpositive/dynpart_sort_optimization2.q | 8 +-
.../clientpositive/encryption_drop_partition.q | 18 +
.../clientpositive/encryption_drop_table.q | 18 +
.../clientpositive/encryption_drop_view.q | 6 +
.../encryption_insert_partition_dynamic.q | 8 +-
.../encryption_insert_partition_static.q | 41 +-
.../clientpositive/encryption_insert_values.q | 15 +
.../encryption_join_unencrypted_tbl.q | 4 +-
...yption_join_with_different_encryption_keys.q | 8 +-
.../encryption_load_data_to_encrypted_tables.q | 4 +-
.../clientpositive/encryption_move_tbl.q | 20 +
.../encryption_select_read_only_encrypted_tbl.q | 4 +-
.../clientpositive/exec_parallel_column_stats.q | 5 +
.../test/queries/clientpositive/explainuser_2.q | 7 +-
.../test/queries/clientpositive/explainuser_3.q | 115 +
.../clientpositive/filter_cond_pushdown.q | 19 +
.../clientpositive/filter_join_breaktask2.q | 2 +
ql/src/test/queries/clientpositive/fold_case.q | 8 +
.../clientpositive/fold_eq_with_case_when.q | 21 +
ql/src/test/queries/clientpositive/groupby1.q | 1 +
ql/src/test/queries/clientpositive/groupby2.q | 1 +
ql/src/test/queries/clientpositive/groupby3.q | 1 +
...groupby_complex_types_multi_single_reducer.q | 8 +-
.../clientpositive/groupby_grouping_sets6.q | 1 -
ql/src/test/queries/clientpositive/having.q | 1 +
.../clientpositive/hybridgrace_hashjoin_1.q | 1 +
.../clientpositive/hybridgrace_hashjoin_2.q | 6 +-
.../test/queries/clientpositive/insert_into1.q | 16 +-
.../test/queries/clientpositive/insert_into2.q | 15 +-
.../clientpositive/insert_into_with_schema2.q | 34 +
.../clientpositive/insert_nonacid_from_acid.q | 2 +
ql/src/test/queries/clientpositive/join0.q | 1 +
ql/src/test/queries/clientpositive/join1.q | 1 +
ql/src/test/queries/clientpositive/join42.q | 36 +
ql/src/test/queries/clientpositive/join43.q | 83 +
.../join_merge_multi_expressions.q | 2 +
.../test/queries/clientpositive/join_nullsafe.q | 3 +
.../clientpositive/json_serde_qualified_types.q | 12 +
.../queries/clientpositive/limit_pushdown.q | 1 +
.../queries/clientpositive/load_dyn_part1.q | 1 +
.../queries/clientpositive/load_dyn_part2.q | 1 +
.../queries/clientpositive/load_dyn_part3.q | 1 +
.../test/queries/clientpositive/lvj_mapjoin.q | 1 +
.../queries/clientpositive/mapjoin_decimal.q | 7 +-
.../queries/clientpositive/mapjoin_mapjoin.q | 1 +
ql/src/test/queries/clientpositive/mapreduce1.q | 1 +
ql/src/test/queries/clientpositive/mapreduce2.q | 1 +
ql/src/test/queries/clientpositive/merge1.q | 1 +
ql/src/test/queries/clientpositive/merge2.q | 1 +
ql/src/test/queries/clientpositive/mergejoin.q | 3 +-
.../clientpositive/metadata_only_queries.q | 1 +
ql/src/test/queries/clientpositive/mrr.q | 3 +
.../clientpositive/orc_int_type_promotion.q | 79 +
ql/src/test/queries/clientpositive/orc_merge1.q | 3 +
ql/src/test/queries/clientpositive/orc_merge2.q | 1 +
ql/src/test/queries/clientpositive/orc_merge3.q | 1 +
ql/src/test/queries/clientpositive/orc_merge4.q | 1 +
ql/src/test/queries/clientpositive/orc_merge5.q | 1 +
ql/src/test/queries/clientpositive/orc_merge6.q | 1 +
ql/src/test/queries/clientpositive/orc_merge7.q | 1 +
ql/src/test/queries/clientpositive/orc_merge9.q | 44 +
.../clientpositive/orc_merge_incompat1.q | 1 +
.../clientpositive/orc_merge_incompat2.q | 1 +
ql/src/test/queries/clientpositive/parallel.q | 1 +
.../queries/clientpositive/partition_date2.q | 2 +
.../clientpositive/partition_timestamp.q | 2 +
.../clientpositive/partition_timestamp2.q | 2 +
.../clientpositive/partition_timestamp2_win.q | 58 +
.../clientpositive/partition_timestamp_win.q | 59 +
ql/src/test/queries/clientpositive/ptf.q | 1 +
.../test/queries/clientpositive/ptf_matchpath.q | 1 +
.../test/queries/clientpositive/ptf_streaming.q | 1 +
.../queries/clientpositive/ql_rewrite_gbtoidx.q | 4 +-
.../queries/clientpositive/script_env_var1.q | 4 +-
.../test/queries/clientpositive/script_pipe.q | 1 +
.../queries/clientpositive/selectDistinctStar.q | 5 +-
.../clientpositive/select_dummy_source.q | 1 +
ql/src/test/queries/clientpositive/skewjoin.q | 12 +-
.../queries/clientpositive/stats_noscan_1.q | 1 +
.../queries/clientpositive/stats_only_null.q | 4 +
.../queries/clientpositive/subquery_exists.q | 2 +
.../test/queries/clientpositive/subquery_in.q | 1 +
.../queries/clientpositive/table_nonprintable.q | 30 +
ql/src/test/queries/clientpositive/temp_table.q | 7 +-
.../clientpositive/tez_bmj_schema_evolution.q | 1 +
ql/src/test/queries/clientpositive/tez_dml.q | 3 +
ql/src/test/queries/clientpositive/tez_join.q | 1 +
.../test/queries/clientpositive/tez_join_hash.q | 3 +
.../clientpositive/tez_join_result_complex.q | 139 +
.../queries/clientpositive/tez_join_tests.q | 1 +
.../queries/clientpositive/tez_joins_explain.q | 2 +-
.../queries/clientpositive/tez_multi_union.q | 1 +
.../clientpositive/tez_schema_evolution.q | 12 +-
.../test/queries/clientpositive/tez_self_join.q | 33 +
ql/src/test/queries/clientpositive/tez_smb_1.q | 32 +
.../test/queries/clientpositive/tez_smb_main.q | 1 +
ql/src/test/queries/clientpositive/tez_union.q | 1 +
ql/src/test/queries/clientpositive/tez_union2.q | 1 +
.../tez_union_dynamic_partition.q | 22 +
.../queries/clientpositive/tez_union_group_by.q | 1 +
.../clientpositive/tez_union_multiinsert.q | 1 +
ql/src/test/queries/clientpositive/transform1.q | 1 +
.../queries/clientpositive/udaf_collect_set_2.q | 222 +
.../clientpositive/udaf_percentile_approx_23.q | 4 +-
ql/src/test/queries/clientpositive/udf_crc32.q | 13 +
.../clientpositive/udf_folder_constants.q | 11 +
ql/src/test/queries/clientpositive/udf_sha1.q | 13 +
ql/src/test/queries/clientpositive/udf_sha2.q | 41 +
.../queries/clientpositive/udf_sort_array.q | 10 +
.../clientpositive/udf_substring_index.q | 32 +
.../queries/clientpositive/udf_unix_timestamp.q | 8 +-
ql/src/test/queries/clientpositive/union2.q | 1 +
ql/src/test/queries/clientpositive/union3.q | 1 +
ql/src/test/queries/clientpositive/union35.q | 2 -
ql/src/test/queries/clientpositive/union4.q | 1 +
ql/src/test/queries/clientpositive/union5.q | 1 +
ql/src/test/queries/clientpositive/union6.q | 1 +
ql/src/test/queries/clientpositive/union7.q | 1 +
ql/src/test/queries/clientpositive/union8.q | 1 +
ql/src/test/queries/clientpositive/union9.q | 1 +
.../queries/clientpositive/unionDistinct_1.q | 1 +
.../queries/clientpositive/unionDistinct_2.q | 2 +
.../update_after_multiple_inserts.q | 2 +
.../clientpositive/update_all_partitioned.q | 4 +-
.../queries/clientpositive/update_all_types.q | 2 +
.../queries/clientpositive/update_orig_table.q | 2 +
.../clientpositive/update_where_partitioned.q | 4 +-
.../queries/clientpositive/vector_aggregate_9.q | 1 +
.../queries/clientpositive/vector_between_in.q | 1 +
.../clientpositive/vector_binary_join_groupby.q | 1 +
.../test/queries/clientpositive/vector_bucket.q | 1 +
.../clientpositive/vector_cast_constant.q | 1 +
.../test/queries/clientpositive/vector_char_2.q | 1 +
.../test/queries/clientpositive/vector_char_4.q | 1 +
.../clientpositive/vector_char_mapjoin1.q | 1 +
.../queries/clientpositive/vector_char_simple.q | 1 +
.../queries/clientpositive/vector_coalesce.q | 52 +-
.../queries/clientpositive/vector_coalesce_2.q | 1 +
.../clientpositive/vector_count_distinct.q | 1 +
.../queries/clientpositive/vector_data_types.q | 13 +-
.../test/queries/clientpositive/vector_date_1.q | 1 +
.../queries/clientpositive/vector_decimal_1.q | 1 +
.../clientpositive/vector_decimal_10_0.q | 1 +
.../queries/clientpositive/vector_decimal_2.q | 1 +
.../clientpositive/vector_decimal_aggregate.q | 1 +
.../clientpositive/vector_decimal_cast.q | 1 +
.../clientpositive/vector_decimal_expressions.q | 12 +-
.../clientpositive/vector_decimal_mapjoin.q | 1 +
.../clientpositive/vector_decimal_math_funcs.q | 1 +
.../clientpositive/vector_decimal_precision.q | 1 +
.../clientpositive/vector_decimal_round.q | 1 +
.../clientpositive/vector_decimal_round_2.q | 1 +
.../queries/clientpositive/vector_decimal_udf.q | 1 +
.../clientpositive/vector_decimal_udf2.q | 1 +
.../queries/clientpositive/vector_distinct_2.q | 1 +
ql/src/test/queries/clientpositive/vector_elt.q | 1 +
.../queries/clientpositive/vector_groupby_3.q | 1 +
.../clientpositive/vector_groupby_reduce.q | 4 +
.../clientpositive/vector_grouping_sets.q | 64 +
.../queries/clientpositive/vector_if_expr.q | 1 +
.../queries/clientpositive/vector_inner_join.q | 1 +
.../queries/clientpositive/vector_interval_1.q | 1 +
.../queries/clientpositive/vector_interval_2.q | 1 +
.../clientpositive/vector_interval_mapjoin.q | 88 +
.../test/queries/clientpositive/vector_join30.q | 161 +
.../clientpositive/vector_join_filters.q | 38 +
.../queries/clientpositive/vector_join_nulls.q | 33 +
.../clientpositive/vector_left_outer_join.q | 1 +
.../clientpositive/vector_left_outer_join2.q | 3 +
.../clientpositive/vector_leftsemi_mapjoin.q | 1 +
.../clientpositive/vector_mapjoin_reduce.q | 1 +
.../vector_mr_diff_schema_alias.q | 1 +
.../clientpositive/vector_multi_insert.q | 1 +
.../vector_non_string_partition.q | 1 +
.../clientpositive/vector_null_projection.q | 21 +
.../clientpositive/vector_nullsafe_join.q | 73 +
.../queries/clientpositive/vector_orderby_5.q | 1 +
.../queries/clientpositive/vector_outer_join0.q | 1 +
.../queries/clientpositive/vector_outer_join1.q | 20 +-
.../queries/clientpositive/vector_outer_join2.q | 19 +-
.../queries/clientpositive/vector_outer_join3.q | 18 +-
.../queries/clientpositive/vector_outer_join4.q | 17 +-
.../queries/clientpositive/vector_outer_join5.q | 174 +
.../vector_partition_diff_num_cols.q | 1 +
.../vector_partitioned_date_time.q | 5 +-
.../vector_partitioned_date_time_win.q | 129 +
.../vector_reduce_groupby_decimal.q | 1 +
.../clientpositive/vector_string_concat.q | 1 +
.../queries/clientpositive/vector_varchar_4.q | 1 +
.../clientpositive/vector_varchar_mapjoin1.q | 1 +
.../clientpositive/vector_varchar_simple.q | 1 +
.../queries/clientpositive/vectorization_0.q | 3 +
.../queries/clientpositive/vectorization_1.q | 3 +
.../queries/clientpositive/vectorization_10.q | 3 +
.../queries/clientpositive/vectorization_11.q | 3 +
.../queries/clientpositive/vectorization_12.q | 3 +
.../queries/clientpositive/vectorization_13.q | 142 +-
.../queries/clientpositive/vectorization_14.q | 3 +
.../queries/clientpositive/vectorization_15.q | 3 +
.../queries/clientpositive/vectorization_16.q | 1 +
.../queries/clientpositive/vectorization_17.q | 51 +
.../queries/clientpositive/vectorization_2.q | 3 +
.../queries/clientpositive/vectorization_3.q | 3 +
.../queries/clientpositive/vectorization_4.q | 3 +
.../queries/clientpositive/vectorization_5.q | 3 +
.../queries/clientpositive/vectorization_6.q | 3 +
.../queries/clientpositive/vectorization_7.q | 80 +-
.../queries/clientpositive/vectorization_8.q | 81 +-
.../queries/clientpositive/vectorization_9.q | 39 +-
.../clientpositive/vectorization_decimal_date.q | 1 +
.../queries/clientpositive/vectorization_div0.q | 1 +
.../clientpositive/vectorization_limit.q | 1 +
.../clientpositive/vectorization_part_project.q | 5 +-
.../clientpositive/vectorization_pushdown.q | 1 +
.../vectorization_short_regress.q | 420 +-
.../clientpositive/vectorized_bucketmapjoin1.q | 1 +
.../queries/clientpositive/vectorized_case.q | 1 +
.../queries/clientpositive/vectorized_casts.q | 3 +
.../queries/clientpositive/vectorized_context.q | 1 +
.../clientpositive/vectorized_date_funcs.q | 3 +
.../clientpositive/vectorized_distinct_gby.q | 3 +-
.../vectorized_dynamic_partition_pruning.q | 1 +
.../queries/clientpositive/vectorized_mapjoin.q | 3 +
.../clientpositive/vectorized_math_funcs.q | 1 +
.../clientpositive/vectorized_nested_mapjoin.q | 3 +
.../queries/clientpositive/vectorized_parquet.q | 1 +
.../clientpositive/vectorized_rcfile_columnar.q | 2 +-
.../clientpositive/vectorized_shufflejoin.q | 11 +-
.../clientpositive/vectorized_string_funcs.q | 1 +
.../clientpositive/vectorized_timestamp_funcs.q | 42 +-
ql/src/test/queries/clientpositive/windowing.q | 2 +-
.../clientpositive/windowing_windowspec.q | 2 -
.../clientpositive/windowing_windowspec2.q | 60 +
.../clientpositive/windowing_windowspec3.q | 62 +
ql/src/test/resources/RefreshedJarClassV1.txt | 26 +
ql/src/test/resources/RefreshedJarClassV2.txt | 26 +
ql/src/test/resources/SessionStateTest.jar.v1 | Bin 2176 -> 0 bytes
ql/src/test/resources/SessionStateTest.jar.v2 | Bin 2177 -> 0 bytes
.../clientnegative/authorization_ctas2.q.out | 2 +
.../lockneg_try_lock_db_in_use.q.out | 9 +-
.../ptf_negative_NoWindowDefn.q.out | 1 +
.../table_nonprintable_negative.q.out | 19 +
.../udaf_collect_set_unsupported.q.out | 1 +
.../clientnegative/udf_sort_array_wrong1.q.out | 2 +-
.../clientnegative/udf_sort_array_wrong2.q.out | 2 +-
.../clientnegative/udf_sort_array_wrong3.q.out | 2 +-
.../results/clientpositive/add_part_exist.q.out | 2 +
ql/src/test/results/clientpositive/alter1.q.out | 4 +
ql/src/test/results/clientpositive/alter2.q.out | 4 +
ql/src/test/results/clientpositive/alter3.q.out | 4 +
ql/src/test/results/clientpositive/alter4.q.out | 4 +
ql/src/test/results/clientpositive/alter5.q.out | 4 +
.../alter_change_db_location.q.out | 37 +
.../results/clientpositive/alter_db_owner.q.out | 6 +
.../results/clientpositive/alter_index.q.out | 2 +
.../clientpositive/alter_merge_2_orc.q.out | 16 +-
.../clientpositive/alter_rename_partition.q.out | 6 +
.../alter_table_partition_drop.q.out | 74 +
.../clientpositive/annotate_stats_filter.q.out | 28 +-
.../clientpositive/annotate_stats_join.q.out | 8 +-
.../annotate_stats_join_pkfk.q.out | 42 +-
.../clientpositive/annotate_stats_limit.q.out | 2 +-
.../clientpositive/annotate_stats_part.q.out | 10 +-
.../clientpositive/annotate_stats_select.q.out | 6 +-
.../clientpositive/annotate_stats_table.q.out | 4 +-
.../authorization_owner_actions_db.q.out | 2 +
.../authorization_view_sqlstd.q.out | 14 +
.../results/clientpositive/auto_join0.q.out | 235 +-
.../results/clientpositive/auto_join1.q.out | 8 +-
.../results/clientpositive/auto_join14.q.out | 12 +-
.../results/clientpositive/auto_join16.q.out | 4 +-
.../results/clientpositive/auto_join30.q.out | 24 +
.../results/clientpositive/auto_join31.q.out | 4 +
.../results/clientpositive/auto_join32.q.out | 32 +-
.../results/clientpositive/auto_join8.q.out | 14 +-
.../clientpositive/auto_join_stats.q.out | 28 +-
.../clientpositive/auto_join_stats2.q.out | 8 +-
.../auto_join_without_localtask.q.out | 60 +
.../clientpositive/auto_sortmerge_join_1.q.out | 8 +
.../clientpositive/auto_sortmerge_join_12.q.out | 2 +-
.../clientpositive/auto_sortmerge_join_14.q.out | 4 +
.../clientpositive/auto_sortmerge_join_15.q.out | 4 +
.../clientpositive/auto_sortmerge_join_2.q.out | 8 +
.../clientpositive/auto_sortmerge_join_3.q.out | 8 +
.../clientpositive/auto_sortmerge_join_4.q.out | 8 +
.../clientpositive/auto_sortmerge_join_5.q.out | 14 +
.../clientpositive/auto_sortmerge_join_6.q.out | 66 +
.../clientpositive/auto_sortmerge_join_7.q.out | 8 +
.../clientpositive/auto_sortmerge_join_8.q.out | 8 +
.../clientpositive/auto_sortmerge_join_9.q.out | 143 +
.../clientpositive/autogen_colalias.q.out | 12 +-
.../clientpositive/avro_timestamp.q.java1.7.out | 8 +-
.../clientpositive/avro_timestamp.q.java1.8.out | 8 +-
.../avro_timestamp_win.q.java1.7.out | 134 +
.../avro_timestamp_win.q.java1.8.out | 134 +
.../clientpositive/binarysortable_1.q.out | Bin 4302 -> 4329 bytes
.../clientpositive/bucket_map_join_1.q.out | 10 +-
.../clientpositive/bucket_map_join_2.q.out | 10 +-
.../results/clientpositive/bucketmapjoin1.q.out | 28 +-
.../bucketsortoptimize_insert_2.q.out | 20 +
.../bucketsortoptimize_insert_4.q.out | 16 +
.../bucketsortoptimize_insert_5.q.out | 20 +
.../bucketsortoptimize_insert_6.q.out | 24 +
.../bucketsortoptimize_insert_7.q.out | 2 +-
.../test/results/clientpositive/cbo_gby.q.out | 18 +-
.../clientpositive/cbo_rp_auto_join1.q.out | 4 +-
.../results/clientpositive/cbo_rp_join0.q.out | 6867 ++++++++++++++++++
.../results/clientpositive/cbo_rp_join1.q.out | 426 ++
.../results/clientpositive/cbo_subq_in.q.out | 2 +
.../results/clientpositive/cbo_udf_udaf.q.out | 18 +-
.../results/clientpositive/cbo_windowing.q.out | 122 +-
.../clientpositive/column_access_stats.q.out | 78 +-
.../clientpositive/columnstats_partlvl.q.out | 14 +-
.../clientpositive/columnstats_partlvl_dp.q.out | 8 +-
.../clientpositive/columnstats_tbllvl.q.out | 14 +-
.../results/clientpositive/complex_alias.q.out | 42 +-
.../clientpositive/compute_stats_date.q.out | 2 +-
.../clientpositive/correlationoptimizer1.q.out | 16 +-
.../clientpositive/correlationoptimizer10.q.out | 6 +-
.../clientpositive/correlationoptimizer11.q.out | 8 +-
.../clientpositive/correlationoptimizer15.q.out | 6 +-
.../clientpositive/correlationoptimizer2.q.out | 10 +-
.../clientpositive/correlationoptimizer3.q.out | 12 +-
.../clientpositive/correlationoptimizer4.q.out | 6 +-
.../clientpositive/correlationoptimizer5.q.out | 6 +
.../clientpositive/correlationoptimizer6.q.out | 48 +-
.../results/clientpositive/create_view.q.out | 2 +
.../clientpositive/cross_product_check_1.q.out | 20 +-
.../clientpositive/cross_product_check_2.q.out | 76 +-
.../clientpositive/crtseltbl_serdeprops.q.out | 35 +
ql/src/test/results/clientpositive/ctas.q.out | 2 +
.../test/results/clientpositive/cteViews.q.out | 242 +
.../test/results/clientpositive/database.q.out | 12 +
.../clientpositive/database_location.q.out | 8 +
.../clientpositive/database_properties.q.out | 6 +
.../clientpositive/dbtxnmgr_query5.q.out | 2 +
.../clientpositive/decimal_precision2.q.out | 28 +-
.../clientpositive/describe_database.q.out | 4 +
.../clientpositive/describe_database_json.q.out | 12 +
.../clientpositive/describe_table_json.q.out | 4 +
.../display_colstats_tbllvl.q.out | 6 +-
.../dynpart_sort_opt_bucketing.q.out | 277 +
.../dynpart_sort_optimization2.q.out | 166 +-
.../encrypted/encryption_drop_partition.q.out | 81 +
.../encrypted/encryption_drop_table.q.out | 62 +
.../encrypted/encryption_drop_view.q.out | 34 +
.../encryption_insert_partition_dynamic.q.out | 32 +-
.../encryption_insert_partition_static.q.out | 387 +-
.../encrypted/encryption_insert_values.q.out | 71 +
.../encryption_join_unencrypted_tbl.q.out | 16 +-
...on_join_with_different_encryption_keys.q.out | 16 +-
...cryption_load_data_to_encrypted_tables.q.out | 8 +-
.../encrypted/encryption_move_tbl.q.out | 55 +
...ryption_select_read_only_encrypted_tbl.q.out | 8 +-
.../exec_parallel_column_stats.q.out | 51 +
.../clientpositive/explain_logical.q.out | 28 +-
.../clientpositive/explain_rearrange.q.out | 32 +-
.../clientpositive/filter_cond_pushdown.q.out | 382 +
.../clientpositive/filter_join_breaktask.q.out | 12 +-
.../clientpositive/filter_join_breaktask2.q.out | 8 +-
.../results/clientpositive/filter_numeric.q.out | 6 +-
.../test/results/clientpositive/fold_case.q.out | 186 +-
.../clientpositive/fold_eq_with_case_when.q.out | 231 +
.../test/results/clientpositive/fold_when.q.out | 32 +-
.../test/results/clientpositive/groupby10.q.out | 140 +-
.../test/results/clientpositive/groupby11.q.out | 70 +-
.../test/results/clientpositive/groupby2.q.out | 33 +-
.../clientpositive/groupby2_map_skew.q.out | 33 +-
.../test/results/clientpositive/groupby8.q.out | 140 +-
.../clientpositive/groupby8_map_skew.q.out | 70 +-
...pby_complex_types_multi_single_reducer.q.out | 68 +-
.../results/clientpositive/groupby_cube1.q.out | 137 +-
.../clientpositive/groupby_grouping_sets2.q.out | 36 +-
.../clientpositive/groupby_grouping_sets3.q.out | 32 +-
.../clientpositive/groupby_grouping_sets4.q.out | 72 +-
.../clientpositive/groupby_grouping_sets5.q.out | 44 +-
.../clientpositive/groupby_grouping_sets6.q.out | 70 +-
.../results/clientpositive/groupby_ppd.q.out | 34 +-
.../clientpositive/groupby_rollup1.q.out | 123 +-
.../results/clientpositive/groupby_sort_6.q.out | 46 +-
ql/src/test/results/clientpositive/having.q.out | 28 +-
.../test/results/clientpositive/having2.q.out | 32 +-
.../identity_project_remove_skip.q.out | 6 +
.../results/clientpositive/implicit_cast1.q.out | 8 +-
.../clientpositive/index_auto_empty.q.out | 8 +-
.../clientpositive/index_auto_unused.q.out | 4 +-
.../results/clientpositive/index_creation.q.out | 2 +
.../results/clientpositive/index_serde.q.out | 6 +-
.../clientpositive/index_skewtable.q.out | 12 +-
.../clientpositive/infer_const_type.q.out | 28 +-
ql/src/test/results/clientpositive/input2.q.out | 4 +
.../test/results/clientpositive/input21.q.out | 10 +-
.../test/results/clientpositive/input23.q.out | 8 +-
.../test/results/clientpositive/input24.q.out | 4 +-
.../test/results/clientpositive/input25.q.out | 36 +-
.../test/results/clientpositive/input26.q.out | 28 +-
ql/src/test/results/clientpositive/input3.q.out | 4 +
ql/src/test/results/clientpositive/input6.q.out | 2 +-
ql/src/test/results/clientpositive/input9.q.out | 6 +-
.../results/clientpositive/input_part4.q.out | 6 +-
.../test/results/clientpositive/insert1.q.out | 46 +-
.../results/clientpositive/insert_into1.q.out | 86 +-
.../results/clientpositive/insert_into2.q.out | 82 +-
.../insert_into_with_schema2.q.out | 135 +
.../insert_nonacid_from_acid.q.out | 20 +-
ql/src/test/results/clientpositive/join14.q.out | 14 +-
ql/src/test/results/clientpositive/join19.q.out | 62 +-
ql/src/test/results/clientpositive/join28.q.out | 2 +-
ql/src/test/results/clientpositive/join29.q.out | 6 +
ql/src/test/results/clientpositive/join31.q.out | 6 +
ql/src/test/results/clientpositive/join32.q.out | 2 +-
.../clientpositive/join32_lessSize.q.out | 10 +-
ql/src/test/results/clientpositive/join33.q.out | 2 +-
ql/src/test/results/clientpositive/join42.q.out | 312 +
ql/src/test/results/clientpositive/join43.q.out | 648 ++
ql/src/test/results/clientpositive/join8.q.out | 16 +-
.../join_cond_pushdown_unqual1.q.out | 48 +-
.../join_cond_pushdown_unqual2.q.out | 24 +-
.../join_cond_pushdown_unqual3.q.out | 48 +-
.../join_cond_pushdown_unqual4.q.out | 24 +-
.../results/clientpositive/join_hive_626.q.out | 28 +-
.../join_merge_multi_expressions.q.out | 6 +-
.../results/clientpositive/join_nullsafe.q.out | 16 +-
.../results/clientpositive/join_reorder.q.out | 92 +-
.../results/clientpositive/join_reorder2.q.out | 68 +-
.../results/clientpositive/join_reorder3.q.out | 68 +-
.../results/clientpositive/join_reorder4.q.out | 54 +-
.../test/results/clientpositive/join_view.q.out | 18 +-
.../json_serde_qualified_types.q.out | 33 +
.../test/results/clientpositive/keyword_1.q.out | 8 +-
.../clientpositive/lateral_view_explode2.q.out | 6 +-
.../list_bucket_query_oneskew_2.q.out | 22 +-
.../clientpositive/mapjoin_subquery.q.out | 4 +-
.../clientpositive/mapjoin_subquery2.q.out | 20 +-
.../results/clientpositive/merge_join_1.q.out | 32 +-
.../results/clientpositive/mergejoins.q.out | 40 +-
.../clientpositive/mergejoins_mixed.q.out | 332 +-
.../results/clientpositive/metadataonly1.q.out | 72 +-
.../results/clientpositive/multiMapJoin1.q.out | 76 +
.../results/clientpositive/multiMapJoin2.q.out | 30 +-
.../clientpositive/multigroupby_singlemr.q.out | 136 +-
.../results/clientpositive/nullformatCTAS.q.out | 6 +-
.../results/clientpositive/nullgroup3.q.out | 16 +-
.../results/clientpositive/nullgroup5.q.out | 14 +-
.../clientpositive/optimize_nullscan.q.out | 82 +-
.../clientpositive/orc_int_type_promotion.q.out | 377 +
.../results/clientpositive/orc_merge1.q.out | 8 +-
.../results/clientpositive/orc_merge9.q.out | 186 +
.../clientpositive/orc_predicate_pushdown.q.out | 36 +-
.../clientpositive/partition_boolexpr.q.out | 8 +-
.../clientpositive/partition_date2.q.out | 8 +-
.../clientpositive/partition_timestamp.q.out | 8 +-
.../clientpositive/partition_timestamp2.q.out | 8 +-
.../partition_timestamp2_win.q.out | 399 +
.../partition_timestamp_win.q.out | 316 +
.../test/results/clientpositive/ppd_gby.q.out | 41 +-
.../test/results/clientpositive/ppd_gby2.q.out | 49 +-
.../results/clientpositive/ppd_gby_join.q.out | 68 +-
.../test/results/clientpositive/ppd_join.q.out | 64 +-
.../test/results/clientpositive/ppd_join2.q.out | 81 +-
.../test/results/clientpositive/ppd_join3.q.out | 91 +-
.../test/results/clientpositive/ppd_join4.q.out | 24 +-
.../test/results/clientpositive/ppd_join5.q.out | 22 +-
.../clientpositive/ppd_outer_join2.q.out | 16 +-
.../clientpositive/ppd_outer_join3.q.out | 16 +-
.../clientpositive/ppd_outer_join4.q.out | 32 +-
.../clientpositive/ppd_outer_join5.q.out | 72 +-
.../clientpositive/ppd_repeated_alias.q.out | 78 +-
.../results/clientpositive/ppd_udf_col.q.out | 190 +-
.../test/results/clientpositive/ppd_union.q.out | 42 +-
.../results/clientpositive/ppd_union_view.q.out | 46 +-
ql/src/test/results/clientpositive/ppd_vc.q.out | 8 +-
.../clientpositive/ql_rewrite_gbtoidx.q.out | 258 +-
.../ql_rewrite_gbtoidx_cbo_1.q.out | 260 +-
.../ql_rewrite_gbtoidx_cbo_2.q.out | 16 +-
.../query_result_fileformat.q.out | 12 +-
ql/src/test/results/clientpositive/quote1.q.out | 6 +-
.../results/clientpositive/quotedid_basic.q.out | 70 +-
.../results/clientpositive/quotedid_skew.q.out | 40 +-
.../clientpositive/reduce_deduplicate.q.out | 16 +-
.../results/clientpositive/rename_column.q.out | 4 +
.../runtime_skewjoin_mapjoin_spark.q.out | 27 +-
.../test/results/clientpositive/sample6.q.out | 12 +-
.../clientpositive/script_env_var1.q.out | 8 +-
.../clientpositive/selectDistinctStar.q.out | 92 +-
.../clientpositive/select_dummy_source.q.out | 34 +-
.../test/results/clientpositive/semijoin.q.out | 10 +-
.../results/clientpositive/show_functions.q.out | 6 +
.../results/clientpositive/show_tables.q.out | 18 +
.../test/results/clientpositive/skewjoin.q.out | 89 +-
.../clientpositive/skewjoin_mapjoin1.q.out | 112 +-
.../clientpositive/skewjoin_mapjoin10.q.out | 26 +-
.../clientpositive/skewjoin_mapjoin11.q.out | 32 +-
.../clientpositive/skewjoin_mapjoin2.q.out | 72 +-
.../clientpositive/skewjoin_mapjoin3.q.out | 32 +-
.../clientpositive/skewjoin_mapjoin4.q.out | 40 +-
.../clientpositive/skewjoin_mapjoin5.q.out | 50 +-
.../clientpositive/skewjoin_mapjoin6.q.out | 48 +-
.../clientpositive/skewjoin_mapjoin7.q.out | 68 +-
.../clientpositive/skewjoin_mapjoin8.q.out | 20 +-
.../clientpositive/skewjoin_mapjoin9.q.out | 40 +-
.../skewjoin_union_remove_1.q.out | 144 +-
.../skewjoin_union_remove_2.q.out | 48 +-
.../results/clientpositive/skewjoinopt1.q.out | 144 +-
.../results/clientpositive/skewjoinopt10.q.out | 52 +-
.../results/clientpositive/skewjoinopt11.q.out | 84 +-
.../results/clientpositive/skewjoinopt12.q.out | 40 +-
.../results/clientpositive/skewjoinopt13.q.out | 28 +-
.../results/clientpositive/skewjoinopt14.q.out | 48 +-
.../results/clientpositive/skewjoinopt15.q.out | 34 +-
.../results/clientpositive/skewjoinopt16.q.out | 40 +-
.../results/clientpositive/skewjoinopt17.q.out | 80 +-
.../results/clientpositive/skewjoinopt18.q.out | 6 +-
.../results/clientpositive/skewjoinopt19.q.out | 40 +-
.../results/clientpositive/skewjoinopt2.q.out | 168 +-
.../results/clientpositive/skewjoinopt20.q.out | 40 +-
.../results/clientpositive/skewjoinopt3.q.out | 80 +-
.../results/clientpositive/skewjoinopt4.q.out | 80 +-
.../results/clientpositive/skewjoinopt5.q.out | 40 +-
.../results/clientpositive/skewjoinopt6.q.out | 40 +-
.../results/clientpositive/skewjoinopt7.q.out | 52 +-
.../results/clientpositive/skewjoinopt8.q.out | 52 +-
.../results/clientpositive/skewjoinopt9.q.out | 54 +-
.../results/clientpositive/smb_mapjoin9.q.out | 8 +-
.../spark/annotate_stats_join.q.out | 212 +-
.../clientpositive/spark/auto_join0.q.out | 97 +-
.../clientpositive/spark/auto_join1.q.out | 68 +-
.../clientpositive/spark/auto_join10.q.out | 28 +-
.../clientpositive/spark/auto_join11.q.out | 32 +-
.../clientpositive/spark/auto_join14.q.out | 70 +-
.../clientpositive/spark/auto_join16.q.out | 68 +-
.../clientpositive/spark/auto_join17.q.out | 60 +-
.../clientpositive/spark/auto_join18.q.out | 30 +-
.../spark/auto_join18_multi_distinct.q.out | 30 +-
.../clientpositive/spark/auto_join19.q.out | 56 +-
.../clientpositive/spark/auto_join26.q.out | 68 +-
.../clientpositive/spark/auto_join27.q.out | 31 +-
.../clientpositive/spark/auto_join32.q.out | 104 +-
.../clientpositive/spark/auto_join4.q.out | 14 +-
.../clientpositive/spark/auto_join5.q.out | 24 +-
.../clientpositive/spark/auto_join6.q.out | 10 +-
.../clientpositive/spark/auto_join8.q.out | 16 +-
.../clientpositive/spark/auto_join9.q.out | 56 +-
.../spark/auto_join_filters.q.out | 4 +-
.../clientpositive/spark/auto_join_nulls.q.out | 6 +-
.../clientpositive/spark/auto_join_stats.q.out | 4 +-
.../clientpositive/spark/auto_join_stats2.q.out | 8 +-
.../spark/auto_join_without_localtask.q.out | 32 +-
.../spark/auto_sortmerge_join_10.q.out | 10 +
.../spark/auto_sortmerge_join_12.q.out | 2 +-
.../spark/auto_sortmerge_join_5.q.out | 6 +
.../spark/bucket_map_join_1.q.out | 10 +-
.../spark/bucket_map_join_2.q.out | 10 +-
.../clientpositive/spark/bucketmapjoin1.q.out | 28 +-
.../spark/bucketsortoptimize_insert_7.q.out | 18 +-
.../results/clientpositive/spark/cbo_gby.q.out | 24 +-
.../clientpositive/spark/cbo_subq_in.q.out | 2 +
.../clientpositive/spark/cbo_udf_udaf.q.out | 18 +-
.../spark/column_access_stats.q.out | 104 +-
.../spark/constprog_partitioner.q.out | 80 +-
.../results/clientpositive/spark/count.q.out | 24 +-
.../clientpositive/spark/cross_join.q.out | 74 +-
.../spark/cross_product_check_1.q.out | 60 +-
.../spark/cross_product_check_2.q.out | 106 +-
.../results/clientpositive/spark/ctas.q.out | 2 +
.../spark/filter_join_breaktask.q.out | 12 +-
.../spark/filter_join_breaktask2.q.out | 8 +-
.../results/clientpositive/spark/groupby1.q.out | 8 +-
.../clientpositive/spark/groupby10.q.out | 88 +-
.../clientpositive/spark/groupby11.q.out | 44 +-
.../results/clientpositive/spark/groupby2.q.out | 25 +-
.../results/clientpositive/spark/groupby3.q.out | 8 +-
.../clientpositive/spark/groupby3_map.q.out | 8 +-
.../spark/groupby3_map_multi_distinct.q.out | 8 +-
.../spark/groupby3_map_skew.q.out | 8 +-
.../clientpositive/spark/groupby3_noskew.q.out | 6 +-
.../spark/groupby3_noskew_multi_distinct.q.out | 6 +-
.../results/clientpositive/spark/groupby4.q.out | 6 +-
.../results/clientpositive/spark/groupby8.q.out | 88 +-
.../spark/groupby8_map_skew.q.out | 44 +-
...pby_complex_types_multi_single_reducer.q.out | 90 +-
.../clientpositive/spark/groupby_cube1.q.out | 151 +-
.../clientpositive/spark/groupby_map_ppr.q.out | 8 +-
.../spark/groupby_map_ppr_multi_distinct.q.out | 8 +-
.../clientpositive/spark/groupby_position.q.out | 130 +-
.../clientpositive/spark/groupby_ppr.q.out | 8 +-
.../clientpositive/spark/groupby_rollup1.q.out | 133 +-
.../spark/groupby_sort_1_23.q.out | 101 +-
.../spark/groupby_sort_skew_1_23.q.out | 101 +-
.../results/clientpositive/spark/having.q.out | 94 +-
.../spark/index_auto_self_join.q.out | 116 +-
.../spark/infer_bucket_sort_map_operators.q.out | 5 +-
.../spark/infer_bucket_sort_merge.q.out | 4 +-
.../clientpositive/spark/innerjoin.q.out | 54 +-
.../results/clientpositive/spark/insert1.q.out | 46 +-
.../clientpositive/spark/insert_into1.q.out | 92 +-
.../clientpositive/spark/insert_into2.q.out | 88 +-
.../results/clientpositive/spark/join1.q.out | 38 +-
.../results/clientpositive/spark/join10.q.out | 28 +-
.../results/clientpositive/spark/join11.q.out | 18 +-
.../results/clientpositive/spark/join14.q.out | 60 +-
.../results/clientpositive/spark/join16.q.out | 36 +-
.../results/clientpositive/spark/join17.q.out | 52 +-
.../results/clientpositive/spark/join18.q.out | 12 +-
.../spark/join18_multi_distinct.q.out | 12 +-
.../results/clientpositive/spark/join19.q.out | 62 +-
.../results/clientpositive/spark/join28.q.out | 2 +-
.../results/clientpositive/spark/join29.q.out | 66 +-
.../results/clientpositive/spark/join31.q.out | 104 +-
.../results/clientpositive/spark/join32.q.out | 2 +-
.../clientpositive/spark/join32_lessSize.q.out | 10 +-
.../results/clientpositive/spark/join33.q.out | 2 +-
.../results/clientpositive/spark/join34.q.out | 44 +-
.../results/clientpositive/spark/join35.q.out | 96 +-
.../results/clientpositive/spark/join4.q.out | 16 +-
.../results/clientpositive/spark/join40.q.out | 116 +-
.../results/clientpositive/spark/join5.q.out | 20 +-
.../results/clientpositive/spark/join6.q.out | 10 +-
.../results/clientpositive/spark/join8.q.out | 18 +-
.../results/clientpositive/spark/join9.q.out | 42 +-
.../clientpositive/spark/join_alt_syntax.q.out | 42 +-
.../spark/join_cond_pushdown_unqual1.q.out | 48 +-
.../spark/join_cond_pushdown_unqual2.q.out | 24 +-
.../spark/join_cond_pushdown_unqual3.q.out | 48 +-
.../spark/join_cond_pushdown_unqual4.q.out | 24 +-
.../clientpositive/spark/join_hive_626.q.out | 28 +-
.../spark/join_merge_multi_expressions.q.out | 6 +-
.../clientpositive/spark/join_nullsafe.q.out | 16 +-
.../clientpositive/spark/join_reorder.q.out | 92 +-
.../clientpositive/spark/join_reorder2.q.out | 68 +-
.../clientpositive/spark/join_reorder3.q.out | 68 +-
.../clientpositive/spark/join_reorder4.q.out | 54 +-
.../results/clientpositive/spark/join_vc.q.out | 40 +-
.../clientpositive/spark/join_view.q.out | 18 +-
.../spark/lateral_view_explode2.q.out | 6 +-
.../spark/limit_partition_metadataonly.q.out | 4 +-
.../clientpositive/spark/limit_pushdown.q.out | 150 +-
.../clientpositive/spark/load_dyn_part13.q.out | 12 +-
.../clientpositive/spark/load_dyn_part14.q.out | 9 +
.../clientpositive/spark/louter_join_ppr.q.out | 514 +-
.../clientpositive/spark/mapjoin_decimal.q.out | 41 +-
.../clientpositive/spark/mapjoin_subquery.q.out | 4 +-
.../spark/mapjoin_subquery2.q.out | 30 +-
.../results/clientpositive/spark/merge1.q.out | 4 +-
.../results/clientpositive/spark/merge2.q.out | 4 +-
.../clientpositive/spark/mergejoins.q.out | 40 +-
.../clientpositive/spark/mergejoins_mixed.q.out | 332 +-
.../spark/metadata_only_queries.q.out | 12 +-
.../clientpositive/spark/multi_insert.q.out | 48 +
...i_insert_move_tasks_share_dependencies.q.out | 48 +
.../clientpositive/spark/multi_join_union.q.out | 8 +
.../spark/multigroupby_singlemr.q.out | 146 +-
.../spark/optimize_nullscan.q.out | 76 +-
.../results/clientpositive/spark/order2.q.out | 2 +-
.../spark/outer_join_ppr.q.java1.7.out | 366 +-
.../spark/outer_join_ppr.q.java1.8.out | 366 +-
.../clientpositive/spark/parallel_join1.q.out | 38 +-
.../clientpositive/spark/parallel_orderby.q.out | 6 +-
.../test/results/clientpositive/spark/pcr.q.out | 4 +-
.../clientpositive/spark/ppd_gby_join.q.out | 144 +-
.../results/clientpositive/spark/ppd_join.q.out | 124 +-
.../clientpositive/spark/ppd_join2.q.out | 81 +-
.../clientpositive/spark/ppd_join3.q.out | 91 +-
.../clientpositive/spark/ppd_join4.q.out | 24 +-
.../clientpositive/spark/ppd_join5.q.out | 54 +-
.../clientpositive/spark/ppd_join_filter.q.out | 442 +-
.../clientpositive/spark/ppd_outer_join1.q.out | 120 +-
.../clientpositive/spark/ppd_outer_join2.q.out | 158 +-
.../clientpositive/spark/ppd_outer_join3.q.out | 154 +-
.../clientpositive/spark/ppd_outer_join4.q.out | 32 +-
.../clientpositive/spark/ppd_outer_join5.q.out | 72 +-
.../spark/ql_rewrite_gbtoidx.q.out | 263 +-
.../spark/ql_rewrite_gbtoidx_cbo_1.q.out | 469 +-
.../spark/reduce_deduplicate.q.out | 16 +-
.../clientpositive/spark/router_join_ppr.q.out | 582 +-
.../spark/runtime_skewjoin_mapjoin_spark.q.out | 5 +-
.../results/clientpositive/spark/sample6.q.out | 12 +-
.../clientpositive/spark/script_env_var1.q.out | 8 +-
.../results/clientpositive/spark/semijoin.q.out | 36 +-
.../results/clientpositive/spark/skewjoin.q.out | 243 +-
.../clientpositive/spark/skewjoin_noskew.q.out | 32 +-
.../spark/skewjoin_union_remove_1.q.out | 120 +-
.../spark/skewjoin_union_remove_2.q.out | 42 +-
.../clientpositive/spark/skewjoinopt1.q.out | 120 +-
.../clientpositive/spark/skewjoinopt10.q.out | 32 +-
.../clientpositive/spark/skewjoinopt11.q.out | 64 +-
.../clientpositive/spark/skewjoinopt12.q.out | 30 +-
.../clientpositive/spark/skewjoinopt13.q.out | 28 +-
.../clientpositive/spark/skewjoinopt14.q.out | 40 +-
.../clientpositive/spark/skewjoinopt15.q.out | 40 +-
.../clientpositive/spark/skewjoinopt16.q.out | 30 +-
.../clientpositive/spark/skewjoinopt17.q.out | 60 +-
.../clientpositive/spark/skewjoinopt18.q.out | 6 +-
.../clientpositive/spark/skewjoinopt19.q.out | 30 +-
.../clientpositive/spark/skewjoinopt2.q.out | 128 +-
.../clientpositive/spark/skewjoinopt20.q.out | 30 +-
.../clientpositive/spark/skewjoinopt3.q.out | 60 +-
.../clientpositive/spark/skewjoinopt4.q.out | 60 +-
.../clientpositive/spark/skewjoinopt5.q.out | 30 +-
.../clientpositive/spark/skewjoinopt6.q.out | 30 +-
.../clientpositive/spark/skewjoinopt7.q.out | 42 +-
.../clientpositive/spark/skewjoinopt8.q.out | 42 +-
.../clientpositive/spark/skewjoinopt9.q.out | 42 +-
.../results/clientpositive/spark/stats1.q.out | 8 +-
.../results/clientpositive/spark/stats12.q.out | 2 +-
.../results/clientpositive/spark/stats13.q.out | 2 +-
.../results/clientpositive/spark/stats2.q.out | 2 +-
.../results/clientpositive/spark/stats7.q.out | 2 +-
.../results/clientpositive/spark/stats8.q.out | 2 +-
.../clientpositive/spark/stats_noscan_2.q.out | 8 +-
.../clientpositive/spark/stats_only_null.q.out | 8 +-
.../clientpositive/spark/subquery_exists.q.out | 22 +-
.../clientpositive/spark/subquery_in.q.out | 230 +-
.../spark/subquery_multiinsert.q.java1.7.out | 14 +-
.../spark/subquery_multiinsert.q.java1.8.out | 14 +-
.../spark/table_access_keys_stats.q.out | 18 +-
.../clientpositive/spark/temp_table.q.out | 100 +-
.../spark/tez_joins_explain.q.out | 2 -
.../clientpositive/spark/transform1.q.out | 8 +-
.../clientpositive/spark/udf_in_file.q.out | 8 +-
.../results/clientpositive/spark/union.q.out | 12 +-
.../results/clientpositive/spark/union10.q.out | 18 +-
.../results/clientpositive/spark/union11.q.out | 93 +-
.../results/clientpositive/spark/union12.q.out | 14 +-
.../results/clientpositive/spark/union13.q.out | 8 +-
.../results/clientpositive/spark/union14.q.out | 84 +-
.../results/clientpositive/spark/union15.q.out | 111 +-
.../results/clientpositive/spark/union16.q.out | 125 +
.../results/clientpositive/spark/union17.q.out | 24 +-
.../results/clientpositive/spark/union18.q.out | 10 +
.../results/clientpositive/spark/union19.q.out | 16 +-
.../results/clientpositive/spark/union2.q.out | 12 +-
.../results/clientpositive/spark/union20.q.out | 28 +-
.../results/clientpositive/spark/union21.q.out | 24 +-
.../results/clientpositive/spark/union22.q.out | 9 +
.../results/clientpositive/spark/union23.q.out | 7 +
.../results/clientpositive/spark/union24.q.out | 71 +-
.../results/clientpositive/spark/union25.q.out | 52 +-
.../results/clientpositive/spark/union26.q.out | 16 +
.../results/clientpositive/spark/union27.q.out | 8 +
.../results/clientpositive/spark/union28.q.out | 76 +-
.../results/clientpositive/spark/union29.q.out | 12 +
.../results/clientpositive/spark/union3.q.out | 12 +
.../results/clientpositive/spark/union30.q.out | 80 +-
.../results/clientpositive/spark/union31.q.out | 32 +
.../results/clientpositive/spark/union32.q.out | 30 +
.../results/clientpositive/spark/union33.q.out | 26 +-
.../results/clientpositive/spark/union34.q.out | 63 +-
.../results/clientpositive/spark/union4.q.out | 12 +-
.../results/clientpositive/spark/union5.q.out | 62 +-
.../results/clientpositive/spark/union6.q.out | 8 +-
.../results/clientpositive/spark/union7.q.out | 82 +-
.../results/clientpositive/spark/union8.q.out | 13 +-
.../results/clientpositive/spark/union9.q.out | 19 +-
.../spark/union_lateralview.q.out | 24 +
.../clientpositive/spark/union_ppr.q.out | 10 +
.../clientpositive/spark/union_remove_1.q.out | 28 +-
.../clientpositive/spark/union_remove_10.q.out | 24 +-
.../clientpositive/spark/union_remove_11.q.out | 12 +
.../clientpositive/spark/union_remove_12.q.out | 14 +-
.../clientpositive/spark/union_remove_13.q.out | 22 +-
.../clientpositive/spark/union_remove_14.q.out | 14 +-
.../clientpositive/spark/union_remove_15.q.out | 30 +-
.../clientpositive/spark/union_remove_16.q.out | 30 +-
.../clientpositive/spark/union_remove_17.q.out | 8 +
.../clientpositive/spark/union_remove_18.q.out | 30 +-
.../clientpositive/spark/union_remove_19.q.out | 220 +-
.../clientpositive/spark/union_remove_2.q.out | 24 +-
.../clientpositive/spark/union_remove_20.q.out | 30 +-
.../clientpositive/spark/union_remove_21.q.out | 82 +-
.../clientpositive/spark/union_remove_22.q.out | 52 +-
.../clientpositive/spark/union_remove_23.q.out | 30 +-
.../clientpositive/spark/union_remove_24.q.out | 30 +-
.../clientpositive/spark/union_remove_25.q.out | 44 +-
.../clientpositive/spark/union_remove_3.q.out | 12 +
.../clientpositive/spark/union_remove_4.q.out | 28 +-
.../clientpositive/spark/union_remove_5.q.out | 24 +-
.../clientpositive/spark/union_remove_6.q.out | 22 +-
.../spark/union_remove_6_subq.q.out | 44 +-
.../clientpositive/spark/union_remove_7.q.out | 28 +-
.../clientpositive/spark/union_remove_8.q.out | 24 +-
.../clientpositive/spark/union_remove_9.q.out | 22 +-
.../clientpositive/spark/union_top_level.q.out | 66 +-
.../clientpositive/spark/union_view.q.out | 143 +
.../spark/vector_cast_constant.q.java1.7.out | 6 +-
.../spark/vector_cast_constant.q.java1.8.out | 6 +-
.../spark/vector_count_distinct.q.out | 6 +-
.../spark/vector_data_types.q.out | 116 +-
.../spark/vector_decimal_aggregate.q.out | 12 +-
.../spark/vector_distinct_2.q.out | 4 +-
.../clientpositive/spark/vector_elt.q.out | 2 +-
.../clientpositive/spark/vector_groupby_3.q.out | 6 +-
.../spark/vector_mapjoin_reduce.q.out | 261 +-
.../clientpositive/spark/vector_orderby_5.q.out | 6 +-
.../spark/vector_string_concat.q.out | 6 +-
.../clientpositive/spark/vectorization_0.q.out | 28 +-
.../clientpositive/spark/vectorization_1.q.out | 8 +-
.../clientpositive/spark/vectorization_10.q.out | 428 +-
.../clientpositive/spark/vectorization_11.q.out | 74 +-
.../clientpositive/spark/vectorization_12.q.out | 994 +--
.../clientpositive/spark/vectorization_13.q.out | 430 +-
.../clientpositive/spark/vectorization_14.q.out | 1182 +--
.../clientpositive/spark/vectorization_15.q.out | 68 +-
.../clientpositive/spark/vectorization_16.q.out | 8 +-
.../clientpositive/spark/vectorization_17.q.out | 507 ++
.../clientpositive/spark/vectorization_2.q.out | 8 +-
.../clientpositive/spark/vectorization_3.q.out | 8 +-
.../clientpositive/spark/vectorization_4.q.out | 8 +-
.../clientpositive/spark/vectorization_5.q.out | 8 +-
.../clientpositive/spark/vectorization_6.q.out | 3042 ++++----
.../clientpositive/spark/vectorization_7.q.out | 328 +-
.../clientpositive/spark/vectorization_8.q.out | 314 +-
.../clientpositive/spark/vectorization_9.q.out | 965 ++-
.../spark/vectorization_div0.q.out | 6 +-
.../spark/vectorization_part_project.q.out | 42 +-
.../spark/vectorization_pushdown.q.out | 8 +-
.../spark/vectorization_short_regress.q.out | 1338 ++--
.../clientpositive/spark/vectorized_case.q.out | 2 +-
.../spark/vectorized_mapjoin.q.out | 68 +-
.../spark/vectorized_nested_mapjoin.q.out | 8 +-
.../spark/vectorized_rcfile_columnar.q.out | 24 +-
.../spark/vectorized_shufflejoin.q.out | 89 +-
.../spark/vectorized_timestamp_funcs.q.out | 408 +-
.../clientpositive/spark/windowing.q.out | 4 +-
.../test/results/clientpositive/stats12.q.out | 2 +-
.../test/results/clientpositive/stats13.q.out | 2 +-
ql/src/test/results/clientpositive/stats2.q.out | 2 +-
ql/src/test/results/clientpositive/stats7.q.out | 2 +-
ql/src/test/results/clientpositive/stats8.q.out | 2 +-
.../results/clientpositive/stats_noscan_2.q.out | 8 +-
.../subq_where_serialization.q.out | 5 +
.../clientpositive/subquery_exists.q.out | 2 +
.../clientpositive/subquery_in_having.q.out | 132 +-
.../subquery_multiinsert.q.java1.7.out | 18 +-
.../clientpositive/subquery_notexists.q.out | 12 +-
.../subquery_notexists_having.q.out | 12 +-
.../results/clientpositive/subquery_notin.q.out | 50 +-
.../subquery_notin_having.q.java1.7.out | 70 +-
.../subquery_unqual_corr_expr.q.out | 8 +-
.../subquery_unqualcolumnrefs.q.out | 74 +-
.../results/clientpositive/subquery_views.q.out | 20 +-
.../symlink_text_input_format.q.out | 24 +-
.../clientpositive/table_nonprintable.q.out | 72 +
.../results/clientpositive/temp_table.q.out | 84 +-
.../temp_table_display_colstats_tbllvl.q.out | 6 +-
.../clientpositive/temp_table_names.q.out | 8 +
.../tez/acid_vectorization_partition.q.out | 20 +-
.../clientpositive/tez/alter_merge_2_orc.q.out | 16 +-
.../results/clientpositive/tez/auto_join0.q.out | 91 +-
.../results/clientpositive/tez/auto_join1.q.out | 8 +-
.../tez/auto_sortmerge_join_10.q.out | 14 +
.../tez/auto_sortmerge_join_12.q.out | 5 +-
.../tez/auto_sortmerge_join_5.q.out | 6 +
.../results/clientpositive/tez/cbo_gby.q.out | 18 +-
.../clientpositive/tez/cbo_subq_in.q.out | 2 +
.../clientpositive/tez/cbo_udf_udaf.q.out | 18 +-
.../clientpositive/tez/cbo_windowing.q.out | 122 +-
.../tez/cross_product_check_1.q.out | 20 +-
.../tez/cross_product_check_2.q.out | 88 +-
.../test/results/clientpositive/tez/ctas.q.out | 2 +
.../tez/dynamic_partition_pruning.q.out | 390 +-
.../tez/dynamic_partition_pruning_2.q.out | 126 +
.../tez/dynpart_sort_optimization2.q.out | 166 +-
.../clientpositive/tez/explainuser_1.q.out | 1713 +++--
.../clientpositive/tez/explainuser_2.q.out | 1053 ++-
.../clientpositive/tez/explainuser_3.q.out | 522 ++
.../tez/filter_join_breaktask2.q.out | 8 +-
.../results/clientpositive/tez/groupby2.q.out | 17 +-
.../results/clientpositive/tez/having.q.out | 28 +-
.../tez/hybridgrace_hashjoin_2.q.out | 20 +-
.../clientpositive/tez/insert_into1.q.out | 86 +-
.../clientpositive/tez/insert_into2.q.out | 82 +-
.../clientpositive/tez/join_nullsafe.q.out | 20 +-
.../clientpositive/tez/limit_pushdown.q.out | 31 +-
.../clientpositive/tez/mapjoin_decimal.q.out | 42 +-
.../results/clientpositive/tez/mergejoin.q.out | 12 +
.../clientpositive/tez/metadataonly1.q.out | 72 +-
.../test/results/clientpositive/tez/mrr.q.out | 2074 +++---
.../clientpositive/tez/optimize_nullscan.q.out | 72 +-
.../results/clientpositive/tez/orc_merge1.q.out | 8 +-
.../clientpositive/tez/script_env_var1.q.out | 8 +-
.../clientpositive/tez/selectDistinctStar.q.out | 108 +-
.../results/clientpositive/tez/skewjoin.q.out | 84 +-
.../clientpositive/tez/stats_only_null.q.out | 422 ++
.../clientpositive/tez/subquery_exists.q.out | 2 +
.../results/clientpositive/tez/temp_table.q.out | 93 +-
.../results/clientpositive/tez/tez_dml.q.out | 2008 ++---
.../results/clientpositive/tez/tez_join.q.out | 28 +-
.../clientpositive/tez/tez_join_hash.q.out | 297 +-
.../tez/tez_join_result_complex.q.out | 2159 ++++++
.../clientpositive/tez/tez_joins_explain.q.out | 2 -
.../clientpositive/tez/tez_multi_union.q.out | 1002 +--
.../tez/tez_schema_evolution.q.out | 96 +-
.../clientpositive/tez/tez_self_join.q.out | 205 +
.../results/clientpositive/tez/tez_smb_1.q.out | 278 +
.../clientpositive/tez/tez_smb_main.q.out | 20 +
.../results/clientpositive/tez/tez_union.q.out | 81 +
.../results/clientpositive/tez/tez_union2.q.out | 18 +
.../tez/tez_union_dynamic_partition.q.out | 148 +
.../clientpositive/tez/tez_union_group_by.q.out | 51 +-
.../tez/tez_union_multiinsert.q.out | 126 +-
.../results/clientpositive/tez/transform1.q.out | 8 +-
.../results/clientpositive/tez/union2.q.out | 10 +
.../results/clientpositive/tez/union3.q.out | 12 +
.../results/clientpositive/tez/union4.q.out | 12 +
.../results/clientpositive/tez/union5.q.out | 12 +-
.../results/clientpositive/tez/union6.q.out | 10 +
.../results/clientpositive/tez/union7.q.out | 12 +-
.../results/clientpositive/tez/union8.q.out | 9 +
.../results/clientpositive/tez/union9.q.out | 15 +
.../clientpositive/tez/unionDistinct_1.q.out | 817 ++-
.../clientpositive/tez/unionDistinct_2.q.out | 38 +-
.../tez/update_after_multiple_inserts.q.out | 12 +-
.../tez/update_all_partitioned.q.out | 14 +-
.../clientpositive/tez/update_all_types.q.out | 48 +-
.../clientpositive/tez/update_orig_table.q.out | 17 +-
.../tez/update_where_partitioned.q.out | 20 +-
.../clientpositive/tez/vector_bucket.q.out | 10 +-
.../clientpositive/tez/vector_coalesce.q.out | 400 +-
.../tez/vector_count_distinct.q.out | 29 +-
.../clientpositive/tez/vector_data_types.q.out | 116 +-
.../clientpositive/tez/vector_date_1.q.out | 20 +-
.../tez/vector_decimal_expressions.q.out | 99 +-
.../tez/vector_groupby_reduce.q.out | 10 +-
.../tez/vector_grouping_sets.q.out | 266 +
.../clientpositive/tez/vector_interval_2.q.out | 60 +-
.../tez/vector_interval_mapjoin.q.out | 281 +
.../clientpositive/tez/vector_join30.q.out | 1367 ++++
.../tez/vector_join_filters.q.out | 222 +
.../clientpositive/tez/vector_join_nulls.q.out | 195 +
.../tez/vector_left_outer_join2.q.out | 20 +-
.../tez/vector_left_outer_join3.q.out | 222 +
.../tez/vector_leftsemi_mapjoin.q.out | 1092 +--
.../tez/vector_mr_diff_schema_alias.q.out | 42 +-
.../tez/vector_multi_insert.q.out | 20 +-
.../tez/vector_null_projection.q.out | 178 +
.../tez/vector_nullsafe_join.q.out | 1210 +++
.../clientpositive/tez/vector_outer_join1.q.out | 376 +-
.../clientpositive/tez/vector_outer_join2.q.out | 122 +-
.../clientpositive/tez/vector_outer_join3.q.out | 164 +-
.../clientpositive/tez/vector_outer_join4.q.out | 1060 +--
.../clientpositive/tez/vector_outer_join5.q.out | 1328 ++++
.../tez/vector_partitioned_date_time.q.out | 10 +-
.../clientpositive/tez/vectorization_0.q.out | 8 +-
.../clientpositive/tez/vectorization_1.q.out | 8 +-
.../clientpositive/tez/vectorization_10.q.out | 428 +-
.../clientpositive/tez/vectorization_11.q.out | 74 +-
.../clientpositive/tez/vectorization_12.q.out | 994 +--
.../clientpositive/tez/vectorization_13.q.out | 414 +-
.../clientpositive/tez/vectorization_14.q.out | 1170 +--
.../clientpositive/tez/vectorization_15.q.out | 58 +-
.../clientpositive/tez/vectorization_17.q.out | 507 ++
.../clientpositive/tez/vectorization_2.q.out | 8 +-
.../clientpositive/tez/vectorization_3.q.out | 8 +-
.../clientpositive/tez/vectorization_4.q.out | 8 +-
.../clientpositive/tez/vectorization_5.q.out | 8 +-
.../clientpositive/tez/vectorization_6.q.out | 3042 ++++----
.../clientpositive/tez/vectorization_7.q.out | 320 +-
.../clientpositive/tez/vectorization_8.q.out | 306 +-
.../clientpositive/tez/vectorization_9.q.out | 957 ++-
.../tez/vectorization_limit.q.out | 31 +-
.../tez/vectorization_part_project.q.out | 40 +-
.../tez/vectorization_short_regress.q.out | 1240 ++--
.../clientpositive/tez/vectorized_casts.q.out | 42 +-
.../tez/vectorized_date_funcs.q.out | 272 +-
.../tez/vectorized_distinct_gby.q.out | 56 +-
.../vectorized_dynamic_partition_pruning.q.out | 398 +-
.../clientpositive/tez/vectorized_mapjoin.q.out | 8 +-
.../tez/vectorized_nested_mapjoin.q.out | 8 +-
.../tez/vectorized_rcfile_columnar.q.out | 24 +-
.../tez/vectorized_shufflejoin.q.out | 37 +-
.../tez/vectorized_timestamp_funcs.q.out | 396 +-
.../tez/vectorized_timestamp_ints_casts.q.out | 234 +
.../tez_join_result_complex.q.out | 1337 ++++
.../clientpositive/timestamp_literal.q.out | 12 +-
.../results/clientpositive/transform1.q.out | 8 +-
.../results/clientpositive/type_widening.q.out | 4 +-
.../clientpositive/udaf_collect_set_2.q.out | 742 ++
.../udaf_percentile_approx_23.q.out | 16 +-
ql/src/test/results/clientpositive/udf5.q.out | 30 +-
.../results/clientpositive/udf_add_months.q.out | 4 +-
.../clientpositive/udf_bitwise_shiftleft.q.out | 4 +-
.../clientpositive/udf_bitwise_shiftright.q.out | 4 +-
.../udf_bitwise_shiftrightunsigned.q.out | 4 +-
.../test/results/clientpositive/udf_cbrt.q.out | 4 +-
.../test/results/clientpositive/udf_crc32.q.out | 60 +
.../clientpositive/udf_current_database.q.out | 16 +-
.../clientpositive/udf_date_format.q.out | 4 +-
.../results/clientpositive/udf_decode.q.out | 6 +-
.../results/clientpositive/udf_factorial.q.out | 4 +-
.../clientpositive/udf_folder_constants.q.out | 120 +
.../clientpositive/udf_from_utc_timestamp.q.out | 4 +-
.../results/clientpositive/udf_in_file.q.out | 10 +-
.../results/clientpositive/udf_last_day.q.out | 4 +-
.../results/clientpositive/udf_length.q.out | 4 +-
.../clientpositive/udf_levenshtein.q.out | 4 +-
.../test/results/clientpositive/udf_md5.q.out | 4 +-
.../clientpositive/udf_months_between.q.out | 4 +-
.../results/clientpositive/udf_quarter.q.out | 4 +-
.../test/results/clientpositive/udf_sha1.q.out | 61 +
.../test/results/clientpositive/udf_sha2.q.out | 134 +
.../results/clientpositive/udf_sort_array.q.out | 33 +
.../results/clientpositive/udf_soundex.q.out | 4 +-
.../clientpositive/udf_substring_index.q.out | 107 +
.../clientpositive/udf_to_utc_timestamp.q.out | 4 +-
.../test/results/clientpositive/udf_trunc.q.out | 32 +-
.../clientpositive/udf_unix_timestamp.q.out | 32 +-
.../results/clientpositive/udtf_stack.q.out | 8 +-
.../test/results/clientpositive/union10.q.out | 12 +-
.../test/results/clientpositive/union11.q.out | 16 +-
.../test/results/clientpositive/union12.q.out | 12 +-
.../test/results/clientpositive/union14.q.out | 12 +-
.../test/results/clientpositive/union15.q.out | 16 +-
.../test/results/clientpositive/union17.q.out | 22 +-
.../test/results/clientpositive/union18.q.out | 8 +-
.../test/results/clientpositive/union19.q.out | 20 +-
.../test/results/clientpositive/union20.q.out | 4 +-
.../test/results/clientpositive/union21.q.out | 24 +-
.../test/results/clientpositive/union22.q.out | 7 +
ql/src/test/results/clientpositive/union4.q.out | 8 +-
ql/src/test/results/clientpositive/union5.q.out | 12 +-
ql/src/test/results/clientpositive/union7.q.out | 12 +-
.../clientpositive/unionDistinct_1.q.out | 351 +-
.../clientpositive/unionDistinct_2.q.out | 42 +-
.../results/clientpositive/union_remove_1.q.out | 24 +-
.../clientpositive/union_remove_10.q.out | 24 +-
.../clientpositive/union_remove_11.q.out | 30 +-
.../clientpositive/union_remove_12.q.out | 20 +-
.../clientpositive/union_remove_13.q.out | 28 +-
.../clientpositive/union_remove_14.q.out | 20 +-
.../clientpositive/union_remove_15.q.out | 28 +-
.../clientpositive/union_remove_16.q.out | 28 +-
.../clientpositive/union_remove_17.q.out | 20 +-
.../clientpositive/union_remove_18.q.out | 28 +-
.../clientpositive/union_remove_19.q.out | 56 +-
.../results/clientpositive/union_remove_2.q.out | 24 +-
.../clientpositive/union_remove_20.q.out | 28 +-
.../clientpositive/union_remove_21.q.out | 24 +-
.../clientpositive/union_remove_22.q.out | 56 +-
.../clientpositive/union_remove_23.q.out | 34 +-
.../clientpositive/union_remove_24.q.out | 28 +-
.../clientpositive/union_remove_25.q.out | 24 +-
.../results/clientpositive/union_remove_3.q.out | 30 +-
.../results/clientpositive/union_remove_4.q.out | 24 +-
.../results/clientpositive/union_remove_5.q.out | 24 +-
.../results/clientpositive/union_remove_6.q.out | 32 +-
.../clientpositive/union_remove_6_subq.q.out | 32 +-
.../results/clientpositive/union_remove_7.q.out | 24 +-
.../results/clientpositive/union_remove_8.q.out | 24 +-
.../results/clientpositive/union_remove_9.q.out | 32 +-
.../results/clientpositive/union_view.q.out | 216 +-
.../update_after_multiple_inserts.q.out | 12 +-
.../clientpositive/update_all_partitioned.q.out | 14 +-
.../clientpositive/update_all_types.q.out | 48 +-
.../clientpositive/update_orig_table.q.out | 17 +-
.../update_where_partitioned.q.out | 20 +-
.../results/clientpositive/vector_bucket.q.out | 10 +-
.../clientpositive/vector_coalesce.q.out | 288 +-
.../clientpositive/vector_data_types.q.out | 116 +-
.../results/clientpositive/vector_date_1.q.out | 20 +-
.../vector_decimal_expressions.q.out | 73 +-
.../clientpositive/vector_groupby_reduce.q.out | 10 +-
.../clientpositive/vector_grouping_sets.q.out | 253 +
.../clientpositive/vector_interval_2.q.out | 60 +-
.../vector_interval_mapjoin.q.out | 281 +
.../results/clientpositive/vector_join30.q.out | 2218 ++++++
.../clientpositive/vector_join_filters.q.out | 222 +
.../clientpositive/vector_join_nulls.q.out | 195 +
.../vector_left_outer_join2.q.out | 8 +-
.../vector_leftsemi_mapjoin.q.out | 48 +-
.../clientpositive/vector_mapjoin_reduce.q.out | 12 +
.../vector_mr_diff_schema_alias.q.out | 42 +-
.../clientpositive/vector_multi_insert.q.out | 6 +-
.../clientpositive/vector_null_projection.q.out | 167 +
.../clientpositive/vector_nullsafe_join.q.out | 1208 +++
.../clientpositive/vector_outer_join1.q.out | 368 +-
.../clientpositive/vector_outer_join2.q.out | 118 +-
.../clientpositive/vector_outer_join3.q.out | 152 +-
.../clientpositive/vector_outer_join4.q.out | 1052 +--
.../clientpositive/vector_outer_join5.q.out | 1300 ++++
.../vector_partitioned_date_time.q.out | 10 +-
.../vector_partitioned_date_time_win.q.out | 2036 ++++++
.../clientpositive/vectorization_0.q.out | 8 +-
.../clientpositive/vectorization_1.q.out | 8 +-
.../clientpositive/vectorization_10.q.out | 428 +-
.../clientpositive/vectorization_11.q.out | 74 +-
.../clientpositive/vectorization_12.q.out | 994 +--
.../clientpositive/vectorization_13.q.out | 414 +-
.../clientpositive/vectorization_14.q.out | 1170 +--
.../clientpositive/vectorization_15.q.out | 58 +-
.../clientpositive/vectorization_17.q.out | 500 ++
.../clientpositive/vectorization_2.q.out | 8 +-
.../clientpositive/vectorization_3.q.out | 8 +-
.../clientpositive/vectorization_4.q.out | 8 +-
.../clientpositive/vectorization_5.q.out | 8 +-
.../clientpositive/vectorization_6.q.out | 3042 ++++----
.../clientpositive/vectorization_7.q.out | 312 +-
.../clientpositive/vectorization_8.q.out | 298 +-
.../clientpositive/vectorization_9.q.out | 957 ++-
.../vectorization_part_project.q.out | 40 +-
.../vectorization_short_regress.q.out | 1240 ++--
.../clientpositive/vectorized_casts.q.out | 42 +-
.../clientpositive/vectorized_date_funcs.q.out | 272 +-
.../vectorized_distinct_gby.q.out | 4 +-
.../clientpositive/vectorized_mapjoin.q.out | 8 +-
.../vectorized_nested_mapjoin.q.out | 8 +-
.../vectorized_rcfile_columnar.q.out | 24 +-
.../clientpositive/vectorized_shufflejoin.q.out | 44 +-
.../vectorized_timestamp_funcs.q.out | 396 +-
.../test/results/clientpositive/windowing.q.out | 4 +-
.../clientpositive/windowing_windowspec.q.out | 108 -
.../clientpositive/windowing_windowspec2.q.out | 3084 ++++++++
.../clientpositive/windowing_windowspec3.q.out | 232 +
serde/pom.xml | 4 +-
.../hadoop/hive/ql/io/sarg/SearchArgument.java | 2 +-
.../hive/serde2/ColumnProjectionUtils.java | 29 +-
.../hadoop/hive/serde2/NullStructSerDe.java | 2 +-
.../hive/serde2/io/HiveDecimalWritable.java | 5 +-
.../hive/serde2/io/HiveVarcharWritable.java | 7 +-
.../hive/serde2/io/TimestampWritable.java | 2 +-
.../hive/serde2/lazy/LazySerDeParameters.java | 18 +
.../MetadataListStructObjectInspector.java | 2 +-
.../ObjectInspectorConverters.java | 5 +-
.../objectinspector/ObjectInspectorUtils.java | 6 +-
.../AbstractPrimitiveObjectInspector.java | 1 +
.../PrimitiveObjectInspectorFactory.java | 4 +-
.../primitive/WritableVoidObjectInspector.java | 5 +
.../hive/serde2/typeinfo/CharTypeInfo.java | 5 +-
.../hive/serde2/typeinfo/DecimalTypeInfo.java | 7 +-
.../hive/serde2/typeinfo/PrimitiveTypeInfo.java | 5 +-
.../hive/serde2/typeinfo/VarcharTypeInfo.java | 5 +-
.../apache/hadoop/hive/serde2/VerifyFast.java | 10 +-
.../hive/serde2/io/TestTimestampWritable.java | 2 +-
.../hive/serde2/lazy/TestLazySimpleSerDe.java | 9 +-
service/pom.xml | 2 +-
.../org/apache/hive/service/CookieSigner.java | 18 +
.../apache/hive/service/auth/HttpAuthUtils.java | 2 +-
.../auth/LdapAuthenticationProviderImpl.java | 460 +-
.../service/auth/TSetIpAddressProcessor.java | 4 +-
.../org/apache/hive/service/cli/CLIService.java | 13 -
.../apache/hive/service/cli/ColumnValue.java | 2 +
.../java/org/apache/hive/service/cli/Type.java | 2 +-
.../cli/operation/GetCatalogsOperation.java | 12 +-
.../cli/operation/GetColumnsOperation.java | 34 +
.../cli/operation/GetFunctionsOperation.java | 25 +
.../cli/operation/GetSchemasOperation.java | 13 +
.../cli/operation/GetTableTypesOperation.java | 4 +
.../cli/operation/GetTablesOperation.java | 10 +
.../cli/operation/GetTypeInfoOperation.java | 4 +
.../cli/operation/MetadataOperation.java | 35 +
.../service/cli/operation/OperationManager.java | 13 +-
.../service/cli/operation/SQLOperation.java | 16 +-
.../hive/service/cli/session/HiveSession.java | 12 +-
.../service/cli/session/HiveSessionImpl.java | 30 +-
.../cli/session/HiveSessionImplwithUGI.java | 21 -
.../service/cli/session/SessionManager.java | 6 +-
.../service/cli/thrift/ThriftCLIService.java | 4 +
.../service/cli/thrift/ThriftHttpServlet.java | 20 +-
.../apache/hive/service/server/HiveServer2.java | 28 +-
.../TestLdapAuthenticationProviderImpl.java | 18 +
shims/0.20S/pom.xml | 2 +-
.../hadoop/hive/shims/Hadoop20SShims.java | 5 -
.../apache/hadoop/mapred/WebHCatJTShim20S.java | 10 +
shims/0.23/pom.xml | 2 +-
.../apache/hadoop/hive/shims/Hadoop23Shims.java | 22 +-
.../apache/hadoop/mapred/WebHCatJTShim23.java | 18 +-
shims/aggregator/pom.xml | 2 +-
shims/common/pom.xml | 2 +-
.../apache/hadoop/hive/shims/HadoopShims.java | 7 +-
.../hive/thrift/HadoopThriftAuthBridge.java | 6 +-
shims/pom.xml | 2 +-
shims/scheduler/pom.xml | 2 +-
spark-client/pom.xml | 4 +-
.../apache/hive/spark/client/JobContext.java | 2 +-
.../hive/spark/client/JobContextImpl.java | 7 +-
.../hive/spark/client/SparkClientImpl.java | 5 +-
.../hive/spark/client/SparkClientUtilities.java | 13 +-
.../apache/hive/spark/client/rpc/RpcServer.java | 18 +
testutils/metastore/dbs/derby/execute.sh | 37 +
testutils/metastore/dbs/derby/prepare.sh | 63 +
testutils/metastore/dbs/postgres/execute.sh | 29 +
testutils/metastore/dbs/postgres/prepare.sh | 72 +
testutils/pom.xml | 2 +-
.../org/apache/hive/ptest/execution/PTest.java | 12 +-
.../ptest/execution/conf/TestConfiguration.java | 12 +-
.../execution/conf/TestTestConfiguration.java | 38 +-
.../resources/test-configuration.properties | 2 +
1727 files changed, 103421 insertions(+), 39461 deletions(-)
----------------------------------------------------------------------
[17/33] hive git commit: HIVE-11352: Avoid the double connections
with 'e' option[beeline-cli branch](Ferdinand Xu via Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11352: Avoid the double connections with 'e' option[beeline-cli branch](Ferdinand Xu via Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/edbd8db0
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/edbd8db0
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/edbd8db0
Branch: refs/heads/master
Commit: edbd8db0cdda22b8ecbd8bf723c86f2f38fd3bae
Parents: 804f20a
Author: Ferdinand Xu <ch...@intel.com>
Authored: Sun Jul 26 22:32:59 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Sun Jul 26 22:32:59 2015 -0400
----------------------------------------------------------------------
beeline/src/java/org/apache/hive/beeline/BeeLine.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/edbd8db0/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index c47b9fe..d4beefc 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -827,10 +827,10 @@ public class BeeLine implements Closeable {
}
} else {
int code = initArgsFromCliVars(args);
- defaultConnect(false);
- if (code != 0){
+ if (code != 0 || exit) {
return code;
}
+ defaultConnect(false);
getOpts().updateBeeLineOptsFromConf();
getOpts().setShowHeader(false);
getOpts().setOutputFormat("dsv");
[14/33] hive git commit: HIVE-11226 BeeLine-Cli: support
hive.cli.prompt in new CLI (Ferdinand Xu, reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11226 BeeLine-Cli: support hive.cli.prompt in new CLI (Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/0ac8f6c4
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/0ac8f6c4
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/0ac8f6c4
Branch: refs/heads/master
Commit: 0ac8f6c485f84c2d306ef8cac97d5ea8b542477d
Parents: 30aa155
Author: Ferdinand Xu <ch...@intel.com>
Authored: Mon Jul 13 21:51:32 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Mon Jul 13 21:51:32 2015 -0400
----------------------------------------------------------------------
.../java/org/apache/hive/beeline/BeeLine.java | 25 ++++++++++++++++----
.../org/apache/hive/beeline/BeeLineOpts.java | 6 ++++-
.../java/org/apache/hive/beeline/Commands.java | 11 ++++++++-
.../apache/hive/beeline/cli/TestHiveCli.java | 8 ++++++-
4 files changed, 43 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/0ac8f6c4/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index 5a22956..d2b8590 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -87,6 +87,7 @@ import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
+import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.io.IOUtils;
import org.apache.hive.beeline.cli.CliOptionsProcessor;
import org.apache.hive.jdbc.Utils;
@@ -1082,7 +1083,7 @@ public class BeeLine implements Closeable {
boolean needsUpdate = isConfNeedsUpdate(line);
boolean res = commands.sql(line, getOpts().getEntireLineAsCommand());
if (needsUpdate) {
- getOpts().setHiveConf(getCommands().getHiveConf(true));
+ getOpts().setHiveConf(getCommands().getHiveConf(false));
}
return res;
}
@@ -1354,19 +1355,35 @@ public class BeeLine implements Closeable {
}
}
-
String getPrompt() {
+ if (isBeeLine) {
+ return getPromptForBeeline();
+ } else {
+ return getPromptForCli();
+ }
+ }
+
+ String getPromptForCli() {
+ String prompt;
+ // read prompt configuration and substitute variables.
+ HiveConf conf = getCommands().getHiveConf(true);
+ prompt = conf.getVar(HiveConf.ConfVars.CLIPROMPT);
+ prompt = getCommands().substituteVariables(conf, prompt);
+ return prompt + "> ";
+ }
+
+ String getPromptForBeeline() {
if (getDatabaseConnection() == null || getDatabaseConnection().getUrl() == null) {
return "beeline> ";
} else {
String printClosed = getDatabaseConnection().isClosed() ? " (closed)" : "";
- return getPrompt(getDatabaseConnections().getIndex()
+ return getPromptForBeeline(getDatabaseConnections().getIndex()
+ ": " + getDatabaseConnection().getUrl()) + printClosed + "> ";
}
}
- static String getPrompt(String url) {
+ static String getPromptForBeeline(String url) {
if (url == null || url.length() == 0) {
url = "beeline";
}
http://git-wip-us.apache.org/repos/asf/hive/blob/0ac8f6c4/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
index 894f74f..0a86c24 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
@@ -117,7 +117,7 @@ class BeeLineOpts implements Completer {
public String[] possibleSettingValues() {
List<String> vals = new LinkedList<String>();
- vals.addAll(Arrays.asList(new String[] {"yes", "no"}));
+ vals.addAll(Arrays.asList(new String[] { "yes", "no" }));
return vals.toArray(new String[vals.size()]);
}
@@ -538,5 +538,9 @@ class BeeLineOpts implements Completer {
public void setDelimiterForDSV(char delimiterForDSV) {
this.delimiterForDSV = delimiterForDSV;
}
+
+ public HiveConf getConf() {
+ return conf;
+ }
}
http://git-wip-us.apache.org/repos/asf/hive/blob/0ac8f6c4/beeline/src/java/org/apache/hive/beeline/Commands.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/Commands.java b/beeline/src/java/org/apache/hive/beeline/Commands.java
index b07388a..8c406a3 100644
--- a/beeline/src/java/org/apache/hive/beeline/Commands.java
+++ b/beeline/src/java/org/apache/hive/beeline/Commands.java
@@ -737,6 +737,15 @@ public class Commands {
* @return the hive configuration from server side
*/
public HiveConf getHiveConf(boolean call) {
+ HiveConf hiveConf = beeLine.getOpts().getConf();
+ if (hiveConf != null && call) {
+ return hiveConf;
+ } else {
+ return getHiveConfHelper(call);
+ }
+ }
+
+ public HiveConf getHiveConfHelper(boolean call) {
HiveConf conf = new HiveConf();
BufferedRows rows = getConfInternal(call);
while (rows != null && rows.hasNext()) {
@@ -1015,7 +1024,7 @@ public class Commands {
return execute(line, false, entireLineAsCommand);
}
- private String substituteVariables(HiveConf conf, String line) {
+ public String substituteVariables(HiveConf conf, String line) {
if (!beeLine.isBeeLine()) {
// Substitution is only supported in non-beeline mode.
return new VariableSubstitution(new HiveVariableSource() {
http://git-wip-us.apache.org/repos/asf/hive/blob/0ac8f6c4/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index ed4e7c6..542f1ee 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -78,7 +78,8 @@ public class TestHiveCli {
int retCode) {
executeCMD(options, CMD, retCode);
String output = os.toString();
- Assert.assertTrue("The expected keyword doesn't occur in the output: " + output,
+ LOG.debug(output);
+ Assert.assertTrue("The expected keyword " + keywords + "doesn't occur in the output: " + output,
output.contains(keywords));
}
@@ -88,6 +89,11 @@ public class TestHiveCli {
}
@Test
+ public void testSetPromptValue() {
+ verifyCMD("set hive.cli.prompt=MYCLI;SHOW\nTABLES;", "MYCLI> ", os, null, ERRNO_OK);
+ }
+
+ @Test
public void testHelp() {
verifyCMD(null, "usage: hive", os, new String[] { "-H" }, ERRNO_ARGS);
}
[10/33] hive git commit: HIVE-6791: Support variable substition for
Beeline shell command (Ferdinand Xu, reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-6791: Support variable substition for Beeline shell command (Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/102b23b1
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/102b23b1
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/102b23b1
Branch: refs/heads/master
Commit: 102b23b16bf26cbf439009b4b95542490a082710
Parents: 00e0d55
Author: Ferdinand Xu <ch...@intel.com>
Authored: Sun Jun 28 20:42:54 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Sun Jun 28 20:42:54 2015 -0400
----------------------------------------------------------------------
.../java/org/apache/hive/beeline/BeeLine.java | 75 +---
.../java/org/apache/hive/beeline/Commands.java | 430 ++++++++++++++-----
.../apache/hive/beeline/cli/TestHiveCli.java | 75 +++-
.../org/apache/hadoop/hive/cli/CliDriver.java | 24 +-
.../hadoop/hive/conf/HiveVariableSource.java | 24 ++
.../hadoop/hive/conf/VariableSubstitution.java | 70 +++
.../hive/conf/TestVariableSubstitution.java | 63 +++
.../java/org/apache/hadoop/hive/ql/Driver.java | 10 +-
.../ql/parse/ColumnStatsSemanticAnalyzer.java | 14 +-
.../hive/ql/parse/VariableSubstitution.java | 60 ---
.../ql/processors/AddResourceProcessor.java | 11 +-
.../hive/ql/processors/CompileProcessor.java | 11 +-
.../ql/processors/DeleteResourceProcessor.java | 11 +-
.../hadoop/hive/ql/processors/DfsProcessor.java | 11 +-
.../hadoop/hive/ql/processors/SetProcessor.java | 32 +-
.../service/cli/operation/SQLOperation.java | 10 +-
16 files changed, 651 insertions(+), 280 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index 66fe322..1d468eb 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -87,6 +87,7 @@ import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
+import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.io.IOUtils;
import org.apache.hive.beeline.cli.CliOptionsProcessor;
import org.apache.hive.jdbc.Utils;
@@ -830,7 +831,7 @@ public class BeeLine implements Closeable {
}
if (getOpts().getScriptFile() != null) {
- return executeFile(getOpts().getScriptFile(), false);
+ return executeFile(getOpts().getScriptFile());
}
try {
info(getApplicationTitle());
@@ -849,7 +850,7 @@ public class BeeLine implements Closeable {
if (initFile != null) {
info("Running init script " + initFile);
try {
- return executeFile(initFile, false);
+ return executeFile(initFile);
} finally {
exit = false;
}
@@ -884,7 +885,7 @@ public class BeeLine implements Closeable {
return ERRNO_OK;
}
- private int executeFile(String fileName, boolean isSourceCMD) {
+ private int executeFile(String fileName) {
FileInputStream initStream = null;
try {
initStream = new FileInputStream(fileName);
@@ -894,31 +895,8 @@ public class BeeLine implements Closeable {
return ERRNO_OTHER;
} finally {
IOUtils.closeStream(initStream);
- if(!isSourceCMD) {
- consoleReader = null;
- output(""); // dummy new line
- }
- }
- }
-
- private boolean isSourceCMD(String cmd) {
- if (cmd == null || cmd.isEmpty())
- return false;
- String[] tokens = tokenizeCmd(cmd);
- return tokens[0].equalsIgnoreCase("!source");
- }
-
- private boolean sourceFile(String cmd) {
- String[] tokens = tokenizeCmd(cmd);
- String cmd_1 = getFirstCmd(cmd, tokens[0].length());
- File sourceFile = new File(cmd_1);
- if (!sourceFile.isFile()) {
- return false;
- } else {
- boolean ret = (executeFile(cmd_1, true) == ERRNO_OK);
- // For source command, we should not exit even when meeting some empty line.
- setExit(false);
- return ret;
+ consoleReader = null;
+ output(""); // dummy new line
}
}
@@ -933,10 +911,6 @@ public class BeeLine implements Closeable {
// trim line
line = (line == null) ? null : line.trim();
- if (!isBeeLine) {
- line = cliToBeelineCmd(line);
- }
-
if (!dispatch(line) && exitOnError) {
return ERRNO_OTHER;
}
@@ -1043,31 +1017,6 @@ public class BeeLine implements Closeable {
}
/**
- * Extract and clean up the first command in the input.
- */
- private String getFirstCmd(String cmd, int length) {
- return cmd.substring(length).trim();
- }
-
- private String cliToBeelineCmd(String cmd) {
- if (cmd == null)
- return null;
- String[] tokens = tokenizeCmd(cmd);
- if (cmd.equalsIgnoreCase("quit") || cmd.equalsIgnoreCase("exit")
- || cmd.equalsIgnoreCase("quit;") || cmd.equals("exit;")) {
- return null;
- } else if (tokens[0].equalsIgnoreCase("source")) {
- return COMMAND_PREFIX + cmd;
- } else if (cmd.startsWith("!")) {
- String shell_cmd = cmd.substring(1);
- return "!sh " + shell_cmd;
- } else { // local mode
- // command like dfs
- return cmd;
- }
- }
-
- /**
* Dispatch the specified line to the appropriate {@link CommandHandler}.
*
* @param line
@@ -1089,10 +1038,6 @@ public class BeeLine implements Closeable {
return true;
}
- if(isSourceCMD(line)){
- return sourceFile(line);
- }
-
line = line.trim();
// save it to the current script, if any
@@ -2121,4 +2066,12 @@ public class BeeLine implements Closeable {
protected Reflector getReflector() {
return reflector;
}
+
+ public boolean isBeeLine() {
+ return isBeeLine;
+ }
+
+ public void setBeeLine(boolean isBeeLine) {
+ this.isBeeLine = isBeeLine;
+ }
}
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/beeline/src/java/org/apache/hive/beeline/Commands.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/Commands.java b/beeline/src/java/org/apache/hive/beeline/Commands.java
index aaf6aec..d490273 100644
--- a/beeline/src/java/org/apache/hive/beeline/Commands.java
+++ b/beeline/src/java/org/apache/hive/beeline/Commands.java
@@ -22,6 +22,10 @@
*/
package org.apache.hive.beeline;
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveVariableSource;
+import org.apache.hadoop.hive.conf.SystemVariables;
+import org.apache.hadoop.hive.conf.VariableSubstitution;
import org.apache.hadoop.io.IOUtils;
import java.io.BufferedReader;
@@ -32,7 +36,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Method;
-import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.sql.CallableStatement;
@@ -44,9 +47,11 @@ import java.sql.SQLException;
import java.sql.Statement;
import java.sql.SQLWarning;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeSet;
@@ -219,9 +224,8 @@ public class Commands {
public boolean exportedkeys(String line) throws Exception {
- return metadata("getExportedKeys", new String[] {
- beeLine.getConnection().getCatalog(), null,
- arg1(line, "table name"),});
+ return metadata("getExportedKeys",
+ new String[] { beeLine.getConnection().getCatalog(), null, arg1(line, "table name"), });
}
@@ -709,10 +713,303 @@ public class Commands {
return execute(line, false, false);
}
+ /**
+ * This method is used for retrieving the latest configuration from hive server2.
+ * It uses the set command processor.
+ *
+ * @return
+ */
+ private Map<String, String> getHiveVariables() {
+ Map<String, String> result = new HashMap<>();
+ BufferedRows rows = getConfInternal();
+ while (rows.hasNext()) {
+ Rows.Row row = (Rows.Row) rows.next();
+ if (!row.isMeta) {
+ result.put(row.values[0], row.values[1]);
+ }
+ }
+ return result;
+ }
+
+ private HiveConf getHiveConf() {
+ HiveConf conf = new HiveConf();
+ BufferedRows rows = getConfInternal();
+ while (rows.hasNext()) {
+ addConf((Rows.Row) rows.next(), conf);
+ }
+ return conf;
+ }
+
+ private BufferedRows getConfInternal() {
+ Statement stmnt = null;
+ BufferedRows rows = null;
+ try {
+ stmnt = beeLine.createStatement();
+ boolean hasResults = stmnt.execute("set");
+ if (hasResults) {
+ ResultSet rs = stmnt.getResultSet();
+ rows = new BufferedRows(beeLine, rs);
+ }
+ } catch (SQLException e) {
+ beeLine.error(e);
+ if (stmnt != null) {
+ try {
+ stmnt.close();
+ } catch (SQLException e1) {
+ beeLine.error(e1);
+ }
+ }
+ }
+ return rows;
+ }
+
+ private void addConf(Rows.Row r, HiveConf hiveConf) {
+ if (r.isMeta) {
+ return;
+ }
+ if (r.values == null || r.values[0] == null || r.values[0].isEmpty()) {
+ return;
+ }
+ String val = r.values[0];
+ if (r.values[0].startsWith(SystemVariables.SYSTEM_PREFIX) || r.values[0]
+ .startsWith(SystemVariables.ENV_PREFIX)) {
+ return;
+ } else {
+ String[] kv = val.split("=", 2);
+ hiveConf.set(kv[0], kv[1]);
+ }
+ }
+
+ /**
+ * Extract and clean up the first command in the input.
+ */
+ private String getFirstCmd(String cmd, int length) {
+ return cmd.substring(length).trim();
+ }
+
+ private String[] tokenizeCmd(String cmd) {
+ return cmd.split("\\s+");
+ }
+
+ private boolean isSourceCMD(String cmd) {
+ if (cmd == null || cmd.isEmpty())
+ return false;
+ String[] tokens = tokenizeCmd(cmd);
+ return tokens[0].equalsIgnoreCase("!source");
+ }
+
+ private boolean sourceFile(String cmd) {
+ String[] tokens = tokenizeCmd(cmd);
+ String cmd_1 = getFirstCmd(cmd, tokens[0].length());
+
+ cmd_1 = substituteVariables(getHiveConf(), cmd_1);
+ File sourceFile = new File(cmd_1);
+ if (!sourceFile.isFile()) {
+ return false;
+ } else {
+ boolean ret;
+ try {
+ ret = sourceFileInternal(sourceFile);
+ } catch (IOException e) {
+ beeLine.error(e);
+ return false;
+ }
+ return ret;
+ }
+ }
+
+ private boolean sourceFileInternal(File sourceFile) throws IOException {
+ BufferedReader reader = null;
+ try {
+ reader = new BufferedReader(new FileReader(sourceFile));
+ String extra = reader.readLine();
+ String lines = null;
+ while (extra != null) {
+ if (beeLine.isComment(extra)) {
+ continue;
+ }
+ if (lines == null) {
+ lines = extra;
+ } else {
+ lines += "\n" + extra;
+ }
+ extra = reader.readLine();
+ }
+ String[] cmds = lines.split(";");
+ for (String c : cmds) {
+ if (!executeInternal(c, false)) {
+ return false;
+ }
+ }
+ } finally {
+ if (reader != null) {
+ reader.close();
+ }
+ }
+ return true;
+ }
+
+ private String cliToBeelineCmd(String cmd) {
+ if (cmd == null)
+ return null;
+ String[] tokens = tokenizeCmd(cmd);
+ if (tokens[0].equalsIgnoreCase("source")) {
+ return BeeLine.COMMAND_PREFIX + cmd;
+ } else if (cmd.startsWith("!")) {
+ String shell_cmd = cmd.substring(1);
+ return "!sh " + shell_cmd;
+ } else { // local mode
+ // command like dfs
+ return cmd;
+ }
+ }
+
+ // Return false only occurred error when execution the sql and the sql should follow the rules
+ // of beeline.
+ private boolean executeInternal(String sql, boolean call) {
+ if (sql == null || sql.length() == 0) {
+ return true;
+ }
+
+ if (beeLine.isComment(sql)) {
+ //skip this and rest cmds in the line
+ return true;
+ }
+
+ if (sql.startsWith(BeeLine.COMMAND_PREFIX)) {
+ sql = sql.substring(1);
+ }
+
+ String prefix = call ? "call" : "sql";
+
+ if (sql.startsWith(prefix)) {
+ sql = sql.substring(prefix.length());
+ }
+
+ // batch statements?
+ if (beeLine.getBatch() != null) {
+ beeLine.getBatch().add(sql);
+ return true;
+ }
+
+ try {
+ Statement stmnt = null;
+ boolean hasResults;
+ Thread logThread = null;
+
+ try {
+ long start = System.currentTimeMillis();
+
+ if (call) {
+ stmnt = beeLine.getDatabaseConnection().getConnection().prepareCall(sql);
+ hasResults = ((CallableStatement) stmnt).execute();
+ } else {
+ stmnt = beeLine.createStatement();
+ if (beeLine.getOpts().isSilent()) {
+ hasResults = stmnt.execute(sql);
+ } else {
+ logThread = new Thread(createLogRunnable(stmnt));
+ logThread.setDaemon(true);
+ logThread.start();
+ hasResults = stmnt.execute(sql);
+ logThread.interrupt();
+ logThread.join(DEFAULT_QUERY_PROGRESS_THREAD_TIMEOUT);
+ }
+ }
+
+ beeLine.showWarnings();
+
+ if (hasResults) {
+ do {
+ ResultSet rs = stmnt.getResultSet();
+ try {
+ int count = beeLine.print(rs);
+ long end = System.currentTimeMillis();
+
+ beeLine.info(
+ beeLine.loc("rows-selected", count) + " " + beeLine.locElapsedTime(end - start));
+ } finally {
+ if (logThread != null) {
+ logThread.join(DEFAULT_QUERY_PROGRESS_THREAD_TIMEOUT);
+ showRemainingLogsIfAny(stmnt);
+ logThread = null;
+ }
+ rs.close();
+ }
+ } while (BeeLine.getMoreResults(stmnt));
+ } else {
+ int count = stmnt.getUpdateCount();
+ long end = System.currentTimeMillis();
+ beeLine.info(
+ beeLine.loc("rows-affected", count) + " " + beeLine.locElapsedTime(end - start));
+ }
+ } finally {
+ if (logThread != null) {
+ if (!logThread.isInterrupted()) {
+ logThread.interrupt();
+ }
+ logThread.join(DEFAULT_QUERY_PROGRESS_THREAD_TIMEOUT);
+ showRemainingLogsIfAny(stmnt);
+ }
+ if (stmnt != null) {
+ stmnt.close();
+ }
+ }
+ } catch (Exception e) {
+ return beeLine.error(e);
+ }
+ beeLine.showWarnings();
+ return true;
+ }
+
+ public String handleMultiLineCmd(String line) throws IOException {
+ //When using -e, console reader is not initialized and command is a single line
+ while (beeLine.getConsoleReader() != null && !(line.trim().endsWith(";")) && beeLine.getOpts()
+ .isAllowMultiLineCommand()) {
+
+ if (!beeLine.getOpts().isSilent()) {
+ StringBuilder prompt = new StringBuilder(beeLine.getPrompt());
+ for (int i = 0; i < prompt.length() - 1; i++) {
+ if (prompt.charAt(i) != '>') {
+ prompt.setCharAt(i, i % 2 == 0 ? '.' : ' ');
+ }
+ }
+ }
+
+ String extra;
+ if (beeLine.getOpts().isSilent() && beeLine.getOpts().getScriptFile() != null) {
+ extra = beeLine.getConsoleReader().readLine(null, jline.console.ConsoleReader.NULL_MASK);
+ } else {
+ extra = beeLine.getConsoleReader().readLine(beeLine.getPrompt());
+ }
+
+ if (extra == null) { //it happens when using -f and the line of cmds does not end with ;
+ break;
+ }
+ if (!beeLine.isComment(extra)) {
+ line += "\n" + extra;
+ }
+ }
+ return line;
+ }
+
public boolean sql(String line, boolean entireLineAsCommand) {
return execute(line, false, entireLineAsCommand);
}
+ private String substituteVariables(HiveConf conf, String line) {
+ if (!beeLine.isBeeLine()) {
+ // Substitution is only supported in non-beeline mode.
+ return new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return getHiveVariables();
+ }
+ }).substitute(conf, line);
+ }
+ return line;
+ }
+
public boolean sh(String line) {
if (line == null || line.length() == 0) {
return false;
@@ -723,9 +1020,7 @@ public class Commands {
}
line = line.substring("sh".length()).trim();
-
- // Support variable substitution. HIVE-6791.
- // line = new VariableSubstitution().substitute(new HiveConf(BeeLine.class), line.trim());
+ line = substituteVariables(getHiveConf(), line.trim());
try {
ShellCmdExecutor executor = new ShellCmdExecutor(line, beeLine.getOutputStream(),
@@ -738,7 +1033,6 @@ public class Commands {
return true;
} catch (Exception e) {
beeLine.error("Exception raised from Shell command " + e);
- beeLine.error(e);
return false;
}
}
@@ -760,33 +1054,7 @@ public class Commands {
// use multiple lines for statements not terminated by ";"
try {
- //When using -e, console reader is not initialized and command is a single line
- while (beeLine.getConsoleReader() != null && !(line.trim().endsWith(";"))
- && beeLine.getOpts().isAllowMultiLineCommand()) {
-
- if (!beeLine.getOpts().isSilent()) {
- StringBuilder prompt = new StringBuilder(beeLine.getPrompt());
- for (int i = 0; i < prompt.length() - 1; i++) {
- if (prompt.charAt(i) != '>') {
- prompt.setCharAt(i, i % 2 == 0 ? '.' : ' ');
- }
- }
- }
-
- String extra = null;
- if (beeLine.getOpts().isSilent() && beeLine.getOpts().getScriptFile() != null) {
- extra = beeLine.getConsoleReader().readLine(null, jline.console.ConsoleReader.NULL_MASK);
- } else {
- extra = beeLine.getConsoleReader().readLine(beeLine.getPrompt());
- }
-
- if (extra == null) { //it happens when using -f and the line of cmds does not end with ;
- break;
- }
- if (!beeLine.isComment(extra)) {
- line += "\n" + extra;
- }
- }
+ line = handleMultiLineCmd(line);
} catch (Exception e) {
beeLine.handleException(e);
}
@@ -806,93 +1074,23 @@ public class Commands {
for (int i = 0; i < cmds.length; i++) {
String sql = cmds[i].trim();
if (sql.length() != 0) {
- if (beeLine.isComment(sql)) {
- //skip this and rest cmds in the line
- break;
- }
- if (sql.startsWith(BeeLine.COMMAND_PREFIX)) {
- sql = sql.substring(1);
- }
-
- String prefix = call ? "call" : "sql";
-
- if (sql.startsWith(prefix)) {
- sql = sql.substring(prefix.length());
+ if (!beeLine.isBeeLine()) {
+ sql = cliToBeelineCmd(sql);
+ if (sql.equalsIgnoreCase("quit") || sql.equalsIgnoreCase("exit")) {
+ beeLine.setExit(true);
+ return true;
+ }
}
- // batch statements?
- if (beeLine.getBatch() != null) {
- beeLine.getBatch().add(sql);
+ // is source CMD
+ if (isSourceCMD(sql)) {
+ sourceFile(sql);
continue;
}
- try {
- Statement stmnt = null;
- boolean hasResults;
- Thread logThread = null;
-
- try {
- long start = System.currentTimeMillis();
-
- if (call) {
- stmnt = beeLine.getDatabaseConnection().getConnection().prepareCall(sql);
- hasResults = ((CallableStatement) stmnt).execute();
- } else {
- stmnt = beeLine.createStatement();
- if (beeLine.getOpts().isSilent()) {
- hasResults = stmnt.execute(sql);
- } else {
- logThread = new Thread(createLogRunnable(stmnt));
- logThread.setDaemon(true);
- logThread.start();
- hasResults = stmnt.execute(sql);
- logThread.interrupt();
- logThread.join(DEFAULT_QUERY_PROGRESS_THREAD_TIMEOUT);
- }
- }
-
- beeLine.showWarnings();
-
- if (hasResults) {
- do {
- ResultSet rs = stmnt.getResultSet();
- try {
- int count = beeLine.print(rs);
- long end = System.currentTimeMillis();
-
- beeLine.info(beeLine.loc("rows-selected", count) + " "
- + beeLine.locElapsedTime(end - start));
- } finally {
- if (logThread != null) {
- logThread.join(DEFAULT_QUERY_PROGRESS_THREAD_TIMEOUT);
- showRemainingLogsIfAny(stmnt);
- logThread = null;
- }
- rs.close();
- }
- } while (BeeLine.getMoreResults(stmnt));
- } else {
- int count = stmnt.getUpdateCount();
- long end = System.currentTimeMillis();
- beeLine.info(beeLine.loc("rows-affected", count)
- + " " + beeLine.locElapsedTime(end - start));
- }
- } finally {
- if (logThread != null) {
- if (!logThread.isInterrupted()) {
- logThread.interrupt();
- }
- logThread.join(DEFAULT_QUERY_PROGRESS_THREAD_TIMEOUT);
- showRemainingLogsIfAny(stmnt);
- }
- if (stmnt != null) {
- stmnt.close();
- }
- }
- } catch (Exception e) {
- return beeLine.error(e);
+ if (!executeInternal(sql, call)) {
+ return false;
}
- beeLine.showWarnings();
}
}
return true;
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index 6cbb030..ff8ab17 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -6,9 +6,9 @@
* 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
- *
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
* 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.
@@ -42,6 +42,10 @@ public class TestHiveCli {
private final static String SOURCE_CONTEXT =
"create table if not exists test.testSrcTbl(a string, b string);";
+ private final static String SOURCE_CONTEXT2 =
+ "create table if not exists test.testSrcTbl2(a string);";
+ private final static String SOURCE_CONTEXT3 =
+ "create table if not exists test.testSrcTbl3(a string);";
final static String CMD =
"create database if not exists test;\ncreate table if not exists test.testTbl(a string, b "
+ "string);\n";
@@ -60,7 +64,7 @@ public class TestHiveCli {
inputStream = IOUtils.toInputStream(input);
}
ret = cli.runWithArgs(args, inputStream);
- } catch (IOException e) {
+ } catch (Throwable e) {
LOG.error("Failed to execute command due to the error: " + e);
} finally {
if (retCode != ret) {
@@ -77,48 +81,81 @@ public class TestHiveCli {
Assert.assertTrue(output.contains(keywords));
}
- @Test public void testInValidCmd() {
- verifyCMD("!lss\n", "Failed to execute lss", errS, null, ERRNO_OK);
+ @Test
+ public void testInValidCmd() {
+ verifyCMD("!lss\n", "Unknown command: lss", errS, null, ERRNO_OK);
}
- @Test public void testHelp() {
+ @Test
+ public void testHelp() {
verifyCMD(null, "usage: hive", os, new String[] { "-H" }, ERRNO_ARGS);
}
- @Test public void testInvalidDatabaseOptions() {
- verifyCMD("\nshow tables\nquit\n", "Database does not exist: invalidDB", errS,
+ @Test
+ public void testInvalidDatabaseOptions() {
+ verifyCMD("\nshow tables;\nquit;\n", "Database does not exist: invalidDB", errS,
new String[] { "--database", "invalidDB" }, ERRNO_OK);
}
- @Test public void testDatabaseOptions() {
+ @Test
+ public void testDatabaseOptions() {
verifyCMD("\nshow tables;\nquit;", "testTbl", os, new String[] { "--database", "test" },
ERRNO_OK);
}
- @Test public void testSourceCmd() {
+ @Test
+ public void testSourceCmd() {
File f = generateTmpFile(SOURCE_CONTEXT);
- verifyCMD("source " + f.getPath() + "\n" + "desc testSrcTbl\n" + "quit\n", "col_name", os,
+ verifyCMD("source " + f.getPath() + ";" + "desc testSrcTbl;\nquit;\n", "col_name", os,
new String[] { "--database", "test" }, ERRNO_OK);
+ f.delete();
}
- @Test public void testSqlFromCmd() {
+ @Test
+ public void testSourceCmd2() {
+ File f = generateTmpFile(SOURCE_CONTEXT3);
+ verifyCMD("source " + f.getPath() + ";" + "desc testSrcTbl3;\nquit;\n", "col_name", os,
+ new String[] { "--database", "test" }, ERRNO_OK);
+ f.delete();
+ }
+
+ @Test
+ public void testSqlFromCmd() {
verifyCMD(null, "", os, new String[] { "-e", "show databases;" }, ERRNO_OK);
}
- @Test public void testSqlFromCmdWithDBName() {
+ @Test
+ public void testSqlFromCmdWithDBName() {
verifyCMD(null, "testTbl", os, new String[] { "-e", "show tables;", "--database", "test" },
ERRNO_OK);
}
- @Test public void testInvalidOptions() {
+ @Test
+ public void testInvalidOptions() {
verifyCMD(null, "The '-e' and '-f' options cannot be specified simultaneously", errS,
new String[] { "-e", "show tables;", "-f", "path/to/file" }, ERRNO_ARGS);
}
- @Test public void testInvalidOptions2() {
+ @Test
+ public void testInvalidOptions2() {
verifyCMD(null, "Unrecognized option: -k", errS, new String[] { "-k" }, ERRNO_ARGS);
}
+ @Test
+ public void testVariables() {
+ verifyCMD("set system:xxx=5;\nset system:yyy=${system:xxx};\nset system:yyy;", "", os, null,
+ ERRNO_OK);
+ }
+
+ @Test
+ public void testVariablesForSource() {
+ File f = generateTmpFile(SOURCE_CONTEXT2);
+ verifyCMD(
+ "set hiveconf:zzz=" + f.getAbsolutePath() + ";\nsource ${hiveconf:zzz};\ndesc testSrcTbl2;",
+ "col_name", os, new String[] { "--database", "test" }, ERRNO_OK);
+ f.delete();
+ }
+
private void redirectOutputStream() {
// Setup output stream to redirect output to
os = new ByteArrayOutputStream();
@@ -152,13 +189,15 @@ public class TestHiveCli {
return file;
}
- @Before public void setup() {
+ @Before
+ public void setup() {
cli = new HiveCli();
redirectOutputStream();
initFromFile();
}
- @After public void tearDown() {
+ @After
+ public void tearDown() {
tmp.delete();
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
----------------------------------------------------------------------
diff --git a/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java b/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
index d62fd5c..4b52578 100644
--- a/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
+++ b/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
@@ -61,7 +61,9 @@ import org.apache.hadoop.hive.common.cli.ShellCmdExecutor;
import org.apache.hadoop.hive.common.io.CachingPrintStream;
import org.apache.hadoop.hive.common.io.FetchConverter;
import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveVariableSource;
import org.apache.hadoop.hive.conf.Validator;
+import org.apache.hadoop.hive.conf.VariableSubstitution;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
import org.apache.hadoop.hive.ql.CommandNeedRetryException;
import org.apache.hadoop.hive.ql.Driver;
@@ -69,7 +71,6 @@ import org.apache.hadoop.hive.ql.exec.FunctionRegistry;
import org.apache.hadoop.hive.ql.exec.mr.HadoopJobExecHelper;
import org.apache.hadoop.hive.ql.exec.tez.TezJobExecHelper;
import org.apache.hadoop.hive.ql.parse.HiveParser;
-import org.apache.hadoop.hive.ql.parse.VariableSubstitution;
import org.apache.hadoop.hive.ql.processors.CommandProcessor;
import org.apache.hadoop.hive.ql.processors.CommandProcessorFactory;
import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
@@ -127,7 +128,12 @@ public class CliDriver {
} else if (tokens[0].equalsIgnoreCase("source")) {
String cmd_1 = getFirstCmd(cmd_trimmed, tokens[0].length());
- cmd_1 = new VariableSubstitution().substitute(ss.getConf(), cmd_1);
+ cmd_1 = new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(ss.getConf(), cmd_1);
File sourceFile = new File(cmd_1);
if (! sourceFile.isFile()){
@@ -145,7 +151,12 @@ public class CliDriver {
} else if (cmd_trimmed.startsWith("!")) {
String shell_cmd = cmd_trimmed.substring(1);
- shell_cmd = new VariableSubstitution().substitute(ss.getConf(), shell_cmd);
+ shell_cmd = new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(ss.getConf(), shell_cmd);
// shell_cmd = "/bin/bash -c \'" + shell_cmd + "\'";
try {
@@ -671,7 +682,12 @@ public class CliDriver {
// read prompt configuration and substitute variables.
prompt = conf.getVar(HiveConf.ConfVars.CLIPROMPT);
- prompt = new VariableSubstitution().substitute(conf, prompt);
+ prompt = new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(conf, prompt);
prompt2 = spacesForString(prompt);
SessionState.start(ss);
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/common/src/java/org/apache/hadoop/hive/conf/HiveVariableSource.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveVariableSource.java b/common/src/java/org/apache/hadoop/hive/conf/HiveVariableSource.java
new file mode 100644
index 0000000..86f7a9c
--- /dev/null
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveVariableSource.java
@@ -0,0 +1,24 @@
+/**
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.hadoop.hive.conf;
+
+import java.util.Map;
+
+public interface HiveVariableSource {
+ Map<String, String> getHiveVariable();
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/common/src/java/org/apache/hadoop/hive/conf/VariableSubstitution.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/VariableSubstitution.java b/common/src/java/org/apache/hadoop/hive/conf/VariableSubstitution.java
new file mode 100644
index 0000000..e1f53ba
--- /dev/null
+++ b/common/src/java/org/apache/hadoop/hive/conf/VariableSubstitution.java
@@ -0,0 +1,70 @@
+/**
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.hadoop.hive.conf;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
+
+import java.util.Map;
+
+public class VariableSubstitution extends SystemVariables {
+ private static final Log l4j = LogFactory.getLog(VariableSubstitution.class);
+
+ private HiveVariableSource hiveVariableSource;
+
+ public VariableSubstitution(HiveVariableSource hiveVariableSource) {
+ this.hiveVariableSource = hiveVariableSource;
+ }
+
+ /**
+ * The super method will handle with the case of substitutions for system variables,
+ * hive conf variables and env variables. In this method, it will retrieve the hive
+ * variables using hiveVariableSource.
+ *
+ * @param conf
+ * @param var
+ * @return
+ */
+ @Override
+ protected String getSubstitute(Configuration conf, String var) {
+ String val = super.getSubstitute(conf, var);
+ if (val == null && hiveVariableSource != null) {
+ Map<String, String> vars = hiveVariableSource.getHiveVariable();
+ if (var.startsWith(HIVEVAR_PREFIX)) {
+ val = vars.get(var.substring(HIVEVAR_PREFIX.length()));
+ } else {
+ val = vars.get(var);
+ }
+ }
+ return val;
+ }
+
+ public String substitute(HiveConf conf, String expr) {
+ if (expr == null) {
+ return expr;
+ }
+ if (HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVEVARIABLESUBSTITUTE)) {
+ l4j.debug("Substitution is on: " + expr);
+ } else {
+ return expr;
+ }
+ int depth = HiveConf.getIntVar(conf, HiveConf.ConfVars.HIVEVARIABLESUBSTITUTEDEPTH);
+ return substitute(conf, expr, depth);
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/common/src/test/org/apache/hadoop/hive/conf/TestVariableSubstitution.java
----------------------------------------------------------------------
diff --git a/common/src/test/org/apache/hadoop/hive/conf/TestVariableSubstitution.java b/common/src/test/org/apache/hadoop/hive/conf/TestVariableSubstitution.java
new file mode 100644
index 0000000..faa07a7
--- /dev/null
+++ b/common/src/test/org/apache/hadoop/hive/conf/TestVariableSubstitution.java
@@ -0,0 +1,63 @@
+/**
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.hadoop.hive.conf;
+
+import junit.framework.Assert;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class TestVariableSubstitution {
+ private static class LocalMySource {
+ final Map<String, String> map = new HashMap<>();
+
+ public void put(String k, String v) {
+ map.put(k, v);
+ }
+
+ public String get(String k) {
+ return map.get(k);
+ }
+ }
+
+ private static LocalMySource getMySource() {
+ return localSource.get();
+ }
+
+ private static ThreadLocal<LocalMySource> localSource = new ThreadLocal<LocalMySource>() {
+ @Override protected LocalMySource initialValue() {
+ return new LocalMySource();
+ }
+ };
+
+ @Test public void testVariableSource() throws InterruptedException {
+ final VariableSubstitution variableSubstitution =
+ new VariableSubstitution(new HiveVariableSource() {
+ @Override public Map<String, String> getHiveVariable() {
+ return TestVariableSubstitution.getMySource().map;
+ }
+ });
+
+ String v = variableSubstitution.substitute(new HiveConf(), "${a}");
+ Assert.assertEquals("${a}", v);
+ TestVariableSubstitution.getMySource().put("a", "b");
+ v = variableSubstitution.substitute(new HiveConf(), "${a}");
+ Assert.assertEquals("b", v);
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
index 669e6be..140d6aa 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
@@ -40,6 +40,8 @@ import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.hive.common.ValidTxnList;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
+import org.apache.hadoop.hive.conf.HiveVariableSource;
+import org.apache.hadoop.hive.conf.VariableSubstitution;
import org.apache.hadoop.hive.metastore.MetaStoreUtils;
import org.apache.hadoop.hive.metastore.api.Database;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
@@ -96,7 +98,6 @@ import org.apache.hadoop.hive.ql.parse.PrunedPartitionList;
import org.apache.hadoop.hive.ql.parse.SemanticAnalyzer;
import org.apache.hadoop.hive.ql.parse.SemanticAnalyzerFactory;
import org.apache.hadoop.hive.ql.parse.SemanticException;
-import org.apache.hadoop.hive.ql.parse.VariableSubstitution;
import org.apache.hadoop.hive.ql.plan.FileSinkDesc;
import org.apache.hadoop.hive.ql.plan.HiveOperation;
import org.apache.hadoop.hive.ql.plan.OperatorDesc;
@@ -385,7 +386,12 @@ public class Driver implements CommandProcessor {
SessionState.get().setupQueryCurrentTimestamp();
try {
- command = new VariableSubstitution().substitute(conf,command);
+ command = new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(conf, command);
ctx = new Context(conf);
ctx.setTryCount(getTryCount());
ctx.setCmd(command);
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java
index a5f0a7f..da2a902 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java
@@ -28,12 +28,13 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
+import org.apache.hadoop.hive.conf.HiveVariableSource;
+import org.apache.hadoop.hive.conf.VariableSubstitution;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
import org.apache.hadoop.hive.ql.Context;
import org.apache.hadoop.hive.ql.ErrorMsg;
import org.apache.hadoop.hive.ql.exec.Utilities;
import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.ql.metadata.InvalidTableException;
import org.apache.hadoop.hive.ql.metadata.Table;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.hive.serde.serdeConstants;
@@ -216,10 +217,10 @@ public class ColumnStatsSemanticAnalyzer extends SemanticAnalyzer {
//for other usually not used types, just quote the value
returnVal = "'" + partVal + "'";
}
-
+
return returnVal;
}
-
+
private String getColTypeOf (String partKey) throws SemanticException{
for (FieldSchema fs : tbl.getPartitionKeys()) {
@@ -333,7 +334,12 @@ public class ColumnStatsSemanticAnalyzer extends SemanticAnalyzer {
}
rewrittenQuery = rewrittenQueryBuilder.toString();
- rewrittenQuery = new VariableSubstitution().substitute(conf, rewrittenQuery);
+ rewrittenQuery = new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(conf, rewrittenQuery);
return rewrittenQuery;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/ql/src/java/org/apache/hadoop/hive/ql/parse/VariableSubstitution.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/VariableSubstitution.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/VariableSubstitution.java
deleted file mode 100644
index e8b1d96..0000000
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/VariableSubstitution.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * 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.hadoop.hive.ql.parse;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
-import org.apache.hadoop.hive.ql.session.SessionState;
-import org.apache.hadoop.hive.conf.SystemVariables;
-
-import java.util.Map;
-
-public class VariableSubstitution extends SystemVariables {
-
- private static final Log l4j = LogFactory.getLog(VariableSubstitution.class);
-
- @Override
- protected String getSubstitute(Configuration conf, String var) {
- String val = super.getSubstitute(conf, var);
- if (val == null && SessionState.get() != null) {
- Map<String,String> vars = SessionState.get().getHiveVariables();
- if (var.startsWith(HIVEVAR_PREFIX)) {
- val = vars.get(var.substring(HIVEVAR_PREFIX.length()));
- } else {
- val = vars.get(var);
- }
- }
- return val;
- }
-
- public String substitute(HiveConf conf, String expr) {
- if (expr == null) {
- return expr;
- }
- if (HiveConf.getBoolVar(conf, ConfVars.HIVEVARIABLESUBSTITUTE)) {
- l4j.debug("Substitution is on: " + expr);
- } else {
- return expr;
- }
- int depth = HiveConf.getIntVar(conf, ConfVars.HIVEVARIABLESUBSTITUTEDEPTH);
- return substitute(conf, expr, depth);
- }
-}
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/ql/src/java/org/apache/hadoop/hive/ql/processors/AddResourceProcessor.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/processors/AddResourceProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/processors/AddResourceProcessor.java
index 0558c53..d2ac993 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/processors/AddResourceProcessor.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/processors/AddResourceProcessor.java
@@ -19,11 +19,13 @@
package org.apache.hadoop.hive.ql.processors;
import java.util.Arrays;
+import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.hadoop.hive.ql.parse.VariableSubstitution;
+import org.apache.hadoop.hive.conf.HiveVariableSource;
+import org.apache.hadoop.hive.conf.VariableSubstitution;
import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveOperationType;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.hive.ql.session.SessionState.LogHelper;
@@ -45,7 +47,12 @@ public class AddResourceProcessor implements CommandProcessor {
@Override
public CommandProcessorResponse run(String command) {
SessionState ss = SessionState.get();
- command = new VariableSubstitution().substitute(ss.getConf(),command);
+ command = new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(ss.getConf(),command);
String[] tokens = command.split("\\s+");
SessionState.ResourceType t;
if (tokens.length < 2
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/ql/src/java/org/apache/hadoop/hive/ql/processors/CompileProcessor.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/processors/CompileProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/processors/CompileProcessor.java
index 25ce168..7b79f64 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/processors/CompileProcessor.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/processors/CompileProcessor.java
@@ -24,6 +24,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.Arrays;
+import java.util.Map;
import java.util.StringTokenizer;
import java.util.concurrent.atomic.AtomicInteger;
@@ -32,9 +33,10 @@ import org.apache.commons.compress.archivers.jar.JarArchiveOutputStream;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.conf.HiveVariableSource;
+import org.apache.hadoop.hive.conf.VariableSubstitution;
import org.apache.hadoop.hive.ql.CommandNeedRetryException;
import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.ql.parse.VariableSubstitution;
import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveOperationType;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.hive.ql.session.SessionState.LogHelper;
@@ -142,7 +144,12 @@ public class CompileProcessor implements CommandProcessor {
@VisibleForTesting
void parse(SessionState ss) throws CompileProcessorException {
if (ss != null){
- command = new VariableSubstitution().substitute(ss.getConf(), command);
+ command = new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(ss.getConf(), command);
}
if (command == null || command.length() == 0) {
throw new CompileProcessorException("Command was empty");
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/ql/src/java/org/apache/hadoop/hive/ql/processors/DeleteResourceProcessor.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/processors/DeleteResourceProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/processors/DeleteResourceProcessor.java
index 9052c82..736fa9c 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/processors/DeleteResourceProcessor.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/processors/DeleteResourceProcessor.java
@@ -19,11 +19,13 @@
package org.apache.hadoop.hive.ql.processors;
import java.util.Arrays;
+import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.hadoop.hive.ql.parse.VariableSubstitution;
+import org.apache.hadoop.hive.conf.HiveVariableSource;
+import org.apache.hadoop.hive.conf.VariableSubstitution;
import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveOperationType;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.hive.ql.session.SessionState.LogHelper;
@@ -44,7 +46,12 @@ public class DeleteResourceProcessor implements CommandProcessor {
@Override
public CommandProcessorResponse run(String command) {
SessionState ss = SessionState.get();
- command = new VariableSubstitution().substitute(ss.getConf(),command);
+ command = new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(ss.getConf(), command);
String[] tokens = command.split("\\s+");
SessionState.ResourceType t;
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/ql/src/java/org/apache/hadoop/hive/ql/processors/DfsProcessor.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/processors/DfsProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/processors/DfsProcessor.java
index cc0414d..c3d5f81 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/processors/DfsProcessor.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/processors/DfsProcessor.java
@@ -20,14 +20,16 @@ package org.apache.hadoop.hive.ql.processors;
import java.io.PrintStream;
import java.util.Arrays;
+import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FsShell;
+import org.apache.hadoop.hive.conf.HiveVariableSource;
+import org.apache.hadoop.hive.conf.VariableSubstitution;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
import org.apache.hadoop.hive.metastore.api.Schema;
-import org.apache.hadoop.hive.ql.parse.VariableSubstitution;
import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveOperationType;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.hive.ql.session.SessionState.LogHelper;
@@ -65,7 +67,12 @@ public class DfsProcessor implements CommandProcessor {
try {
SessionState ss = SessionState.get();
- command = new VariableSubstitution().substitute(ss.getConf(),command);
+ command = new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(ss.getConf(), command);
String[] tokens = command.split("\\s+");
CommandProcessorResponse authErrResp =
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
index d271d6d..e5f5f71 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
@@ -30,10 +30,11 @@ import java.util.SortedMap;
import java.util.TreeMap;
import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveVariableSource;
+import org.apache.hadoop.hive.conf.VariableSubstitution;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
import org.apache.hadoop.hive.metastore.api.Schema;
import org.apache.hadoop.hive.ql.metadata.Hive;
-import org.apache.hadoop.hive.ql.parse.VariableSubstitution;
import org.apache.hadoop.hive.ql.session.SessionState;
/**
@@ -121,17 +122,33 @@ public class SetProcessor implements CommandProcessor {
return 1;
} else if (varname.startsWith(SYSTEM_PREFIX)){
String propName = varname.substring(SYSTEM_PREFIX.length());
- System.getProperties().setProperty(propName, new VariableSubstitution().substitute(ss.getConf(),varvalue));
+ System.getProperties()
+ .setProperty(propName, new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(ss.getConf(), varvalue));
} else if (varname.startsWith(HIVECONF_PREFIX)){
String propName = varname.substring(HIVECONF_PREFIX.length());
setConf(varname, propName, varvalue, false);
} else if (varname.startsWith(HIVEVAR_PREFIX)) {
String propName = varname.substring(HIVEVAR_PREFIX.length());
- ss.getHiveVariables().put(propName, new VariableSubstitution().substitute(ss.getConf(),varvalue));
+ ss.getHiveVariables().put(propName, new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(ss.getConf(), varvalue));
} else if (varname.startsWith(METACONF_PREFIX)) {
String propName = varname.substring(METACONF_PREFIX.length());
Hive hive = Hive.get(ss.getConf());
- hive.setMetaConf(propName, new VariableSubstitution().substitute(ss.getConf(), varvalue));
+ hive.setMetaConf(propName, new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(ss.getConf(), varvalue));
} else {
setConf(varname, varname, varvalue, true);
if (varname.equals(HiveConf.ConfVars.HIVE_SESSION_HISTORY_ENABLED.toString())) {
@@ -145,7 +162,12 @@ public class SetProcessor implements CommandProcessor {
private static void setConf(String varname, String key, String varvalue, boolean register)
throws IllegalArgumentException {
HiveConf conf = SessionState.get().getConf();
- String value = new VariableSubstitution().substitute(conf, varvalue);
+ String value = new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(conf, varvalue);
if (conf.getBoolVar(HiveConf.ConfVars.HIVECONFVALIDATION)) {
HiveConf.ConfVars confVars = HiveConf.getConfVars(key);
if (confVars != null) {
http://git-wip-us.apache.org/repos/asf/hive/blob/102b23b1/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
----------------------------------------------------------------------
diff --git a/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java b/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
index cc9df76..f4334e4 100644
--- a/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
+++ b/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
@@ -32,6 +32,8 @@ import java.util.concurrent.RejectedExecutionException;
import org.apache.commons.codec.binary.Base64;
import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveVariableSource;
+import org.apache.hadoop.hive.conf.VariableSubstitution;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
import org.apache.hadoop.hive.metastore.api.Schema;
import org.apache.hadoop.hive.ql.CommandNeedRetryException;
@@ -39,7 +41,6 @@ import org.apache.hadoop.hive.ql.Driver;
import org.apache.hadoop.hive.ql.exec.ExplainTask;
import org.apache.hadoop.hive.ql.exec.Task;
import org.apache.hadoop.hive.ql.metadata.Hive;
-import org.apache.hadoop.hive.ql.parse.VariableSubstitution;
import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
import org.apache.hadoop.hive.ql.session.OperationLog;
import org.apache.hadoop.hive.ql.session.SessionState;
@@ -105,7 +106,12 @@ public class SQLOperation extends ExecuteStatementOperation {
// For now, we disable the test attempts.
driver.setTryCount(Integer.MAX_VALUE);
- String subStatement = new VariableSubstitution().substitute(sqlOperationConf, statement);
+ String subStatement = new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(sqlOperationConf, statement);
response = driver.compileAndRespond(subStatement);
if (0 != response.getResponseCode()) {
throw toSQLException("Error while compiling statement", response);
[22/33] hive git commit: HIVE-11640: Shell command doesn't work for
new CLI[Beeline-cli branch](Ferdinand Xu, reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11640: Shell command doesn't work for new CLI[Beeline-cli branch](Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/b90a2ae5
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/b90a2ae5
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/b90a2ae5
Branch: refs/heads/master
Commit: b90a2ae5dfb3371bcf1a8ff5f683d8fdd5dbe0ee
Parents: 3d088de
Author: Ferdinand Xu <ch...@intel.com>
Authored: Mon Sep 7 23:36:29 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Mon Sep 7 23:36:29 2015 -0400
----------------------------------------------------------------------
.../java/org/apache/hive/beeline/BeeLine.java | 82 ++++++++++++--------
.../java/org/apache/hive/beeline/Commands.java | 44 +++++------
.../apache/hive/beeline/cli/TestHiveCli.java | 32 ++++++--
3 files changed, 95 insertions(+), 63 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/b90a2ae5/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index 1e4759b..11ff3f2 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -695,6 +695,7 @@ public class BeeLine implements Closeable {
if (!commands.isEmpty()) {
embeddedConnect();
connectDBInEmbededMode();
+ updateOptsForCli();
for (Iterator<String> i = commands.iterator(); i.hasNext(); ) {
String command = i.next().toString();
debug(loc("executing-command", command));
@@ -811,6 +812,14 @@ public class BeeLine implements Closeable {
}
}
+ private void updateOptsForCli() {
+ getOpts().updateBeeLineOptsFromConf();
+ getOpts().setShowHeader(false);
+ getOpts().setOutputFormat("dsv");
+ getOpts().setDelimiterForDSV(' ');
+ getOpts().setNullEmptyString(true);
+ }
+
/**
* Start accepting input from stdin, and dispatch it
* to the appropriate {@link CommandHandler} until the
@@ -836,10 +845,7 @@ public class BeeLine implements Closeable {
return code;
}
defaultConnect(false);
- getOpts().updateBeeLineOptsFromConf();
- getOpts().setShowHeader(false);
- getOpts().setOutputFormat("dsv");
- getOpts().setDelimiterForDSV(' ');
+ updateOptsForCli();
processInitFiles(opts.getInitFiles());
}
@@ -958,6 +964,7 @@ public class BeeLine implements Closeable {
// trim line
line = (line == null) ? null : line.trim();
+
if (!dispatch(line) && exitOnError) {
return ERRNO_OTHER;
}
@@ -1059,8 +1066,33 @@ public class BeeLine implements Closeable {
output(loc("cmd-usage"));
}
- private String[] tokenizeCmd(String cmd) {
- return cmd.split("\\s+");
+ /**
+ * This method is used for executing commands beginning with !
+ * @param line
+ * @return
+ */
+ public boolean execCommandWithPrefix(String line) {
+ Map<String, CommandHandler> cmdMap = new TreeMap<String, CommandHandler>();
+ line = line.substring(1);
+ for (int i = 0; i < commandHandlers.length; i++) {
+ String match = commandHandlers[i].matches(line);
+ if (match != null) {
+ cmdMap.put(match, commandHandlers[i]);
+ }
+ }
+
+ if (cmdMap.size() == 0) {
+ return error(loc("unknown-command", line));
+ }
+ if (cmdMap.size() > 1) {
+ // any exact match?
+ CommandHandler handler = cmdMap.get(line);
+ if (handler == null) {
+ return error(loc("multiple-matches", cmdMap.keySet().toString()));
+ }
+ return handler.execute(line);
+ }
+ return cmdMap.values().iterator().next().execute(line);
}
/**
@@ -1096,35 +1128,19 @@ public class BeeLine implements Closeable {
line = "!help";
}
- if (line.startsWith(COMMAND_PREFIX)) {
- Map<String, CommandHandler> cmdMap = new TreeMap<String, CommandHandler>();
- line = line.substring(1);
- for (int i = 0; i < commandHandlers.length; i++) {
- String match = commandHandlers[i].matches(line);
- if (match != null) {
- CommandHandler prev = cmdMap.put(match, commandHandlers[i]);
- if (prev != null) {
- return error(loc("multiple-matches",
- Arrays.asList(prev.getName(), commandHandlers[i].getName())));
- }
- }
- }
-
- if (cmdMap.size() == 0) {
- return error(loc("unknown-command", line));
- }
- if (cmdMap.size() > 1) {
- // any exact match?
- CommandHandler handler = cmdMap.get(line);
- if (handler == null) {
- return error(loc("multiple-matches", cmdMap.keySet().toString()));
- }
- return handler.execute(line);
+ if (isBeeLine) {
+ if (line.startsWith(COMMAND_PREFIX) && !line.contains(";")) {
+ // handle the case "!cmd" for beeline
+ return execCommandWithPrefix(line);
+ } else {
+ return commands.sql(line, getOpts().getEntireLineAsCommand());
}
- return cmdMap.values().iterator().next()
- .execute(line);
} else {
- return commands.sql(line, getOpts().getEntireLineAsCommand());
+ if (line.toLowerCase().startsWith("!connect")) {
+ return execCommandWithPrefix(line);
+ } else {
+ return commands.sql(line, getOpts().getEntireLineAsCommand());
+ }
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/b90a2ae5/beeline/src/java/org/apache/hive/beeline/Commands.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/Commands.java b/beeline/src/java/org/apache/hive/beeline/Commands.java
index 5e5cfec..d16b4ec 100644
--- a/beeline/src/java/org/apache/hive/beeline/Commands.java
+++ b/beeline/src/java/org/apache/hive/beeline/Commands.java
@@ -824,7 +824,7 @@ public class Commands {
if (cmd == null || cmd.isEmpty())
return false;
String[] tokens = tokenizeCmd(cmd);
- return tokens[0].equalsIgnoreCase("!source");
+ return tokens[0].equalsIgnoreCase("source");
}
private boolean sourceFile(String cmd) {
@@ -866,6 +866,7 @@ public class Commands {
}
String[] cmds = lines.split(";");
for (String c : cmds) {
+ c = c.trim();
if (!executeInternal(c, false)) {
return false;
}
@@ -878,11 +879,10 @@ public class Commands {
return true;
}
- private String cliToBeelineCmd(String cmd) {
+ public String cliToBeelineCmd(String cmd) {
if (cmd == null)
return null;
- String[] tokens = tokenizeCmd(cmd);
- if (tokens[0].equalsIgnoreCase("source")) {
+ if (cmd.toLowerCase().equals("quit") || cmd.toLowerCase().equals("exit")) {
return BeeLine.COMMAND_PREFIX + cmd;
} else if (cmd.startsWith("!")) {
String shell_cmd = cmd.substring(1);
@@ -896,6 +896,10 @@ public class Commands {
// Return false only occurred error when execution the sql and the sql should follow the rules
// of beeline.
private boolean executeInternal(String sql, boolean call) {
+ if (!beeLine.isBeeLine()) {
+ sql = cliToBeelineCmd(sql);
+ }
+
if (sql == null || sql.length() == 0) {
return true;
}
@@ -905,8 +909,13 @@ public class Commands {
return true;
}
+ // is source CMD
+ if (isSourceCMD(sql)) {
+ return sourceFile(sql);
+ }
+
if (sql.startsWith(BeeLine.COMMAND_PREFIX)) {
- sql = sql.substring(1);
+ return beeLine.execCommandWithPrefix(sql);
}
String prefix = call ? "call" : "sql";
@@ -921,6 +930,10 @@ public class Commands {
return true;
}
+ if (!(beeLine.assertConnection())) {
+ return false;
+ }
+
ClientHook hook = null;
if (!beeLine.isBeeLine()) {
hook = ClientCommandHookFactory.get().getHook(sql);
@@ -1096,10 +1109,6 @@ public class Commands {
beeLine.handleException(e);
}
- if (!(beeLine.assertConnection())) {
- return false;
- }
-
line = line.trim();
List<String> cmdList = new ArrayList<String>();
if (entireLineAsCommand) {
@@ -1120,20 +1129,6 @@ public class Commands {
for (int i = 0; i < cmdList.size(); i++) {
String sql = cmdList.get(i).trim();
if (sql.length() != 0) {
- if (!beeLine.isBeeLine()) {
- sql = cliToBeelineCmd(sql);
- if (sql.equalsIgnoreCase("quit") || sql.equalsIgnoreCase("exit")) {
- beeLine.setExit(true);
- return true;
- }
- }
-
- // is source CMD
- if (isSourceCMD(sql)) {
- sourceFile(sql);
- continue;
- }
-
if (!executeInternal(sql, call)) {
return false;
}
@@ -1205,6 +1200,9 @@ public class Commands {
return true;
}
+ public boolean exit(String line) {
+ return quit(line);
+ }
/**
* Close all connections.
http://git-wip-us.apache.org/repos/asf/hive/blob/b90a2ae5/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index e06d2ea..953ba5f 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -46,6 +46,7 @@ public class TestHiveCli {
"create table if not exists test.testSrcTbl2(sc2 string);";
private final static String SOURCE_CONTEXT3 =
"create table if not exists test.testSrcTbl3(sc3 string);";
+ private final static String SOURCE_CONTEXT4 = "show tables;!ls;show tables;\nquit;";
final static String CMD =
"create database if not exists test;\ncreate table if not exists test.testTbl(a string, b "
+ "string);\n";
@@ -90,19 +91,23 @@ public class TestHiveCli {
String output = os.toString();
LOG.debug(output);
if (contains) {
- Assert.assertTrue(
- "The expected keyword \"" + keywords + "\" doesn't occur in the output: " + output,
+ Assert.assertTrue("The expected keyword \"" + keywords + "\" occur in the output: " + output,
output.contains(keywords));
} else {
Assert.assertFalse(
- "The expected keyword \"" + keywords + "\" doesn't occur in the output: " + output,
- output.contains(keywords));
+ "The expected keyword \"" + keywords + "\" should be excluded occurred in the output: "
+ + output, output.contains(keywords));
}
}
@Test
public void testInValidCmd() {
- verifyCMD("!lss\n", "Unknown command: lss", errS, null, ERRNO_OK, true);
+ verifyCMD("!lss\n", "Failed to execute lss", errS, null, ERRNO_OK, true);
+ }
+
+ @Test
+ public void testCmd() {
+ verifyCMD("show tables;!ls;show tables;\n", "src", os, null, ERRNO_OK, true);
}
@Test
@@ -152,6 +157,14 @@ public class TestHiveCli {
}
@Test
+ public void testSourceCmd3() {
+ File f = generateTmpFile(SOURCE_CONTEXT4);
+ verifyCMD("source " + f.getPath() + ";" + "desc testSrcTbl4;\nquit;\n", "src", os,
+ new String[] { "--database", "test" }, ERRNO_OK, true);
+ f.delete();
+ }
+
+ @Test
public void testSqlFromCmd() {
verifyCMD(null, "", os, new String[] { "-e", "show databases;" }, ERRNO_OK, true);
}
@@ -192,8 +205,7 @@ public class TestHiveCli {
@Test
public void testErrOutput() {
- verifyCMD(
- "show tables;set system:xxx=5;set system:yyy=${system:xxx};\nlss;",
+ verifyCMD("show tables;set system:xxx=5;set system:yyy=${system:xxx};\nlss;",
"cannot recognize input near 'lss' '<EOF>' '<EOF>'", errS, null, ERRNO_OK, true);
}
@@ -224,6 +236,12 @@ public class TestHiveCli {
"hive (invalidDB)>", os, null, ERRNO_OK, false);
}
+ @Test
+ public void testNoErrorDB() {
+ verifyCMD(null, "Error: Method not supported (state=,code=0)", errS, new String[] { "-e", "show tables;" },
+ ERRNO_OK, false);
+ }
+
private void redirectOutputStream() {
// Setup output stream to redirect output to
os = new ByteArrayOutputStream();
[03/33] hive git commit: HIVE-10623: Implement hive cli options using
beeline functionality (Ferdinand via Xuefu)
Posted by xu...@apache.org.
HIVE-10623: Implement hive cli options using beeline functionality (Ferdinand via Xuefu)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/03366392
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/03366392
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/03366392
Branch: refs/heads/master
Commit: 03366392c6f17ae7688ad1646046af4c5b5b6792
Parents: 753b2b3
Author: Xuefu Zhang <xz...@Cloudera.com>
Authored: Thu May 14 21:33:44 2015 -0700
Committer: Xuefu Zhang <xz...@Cloudera.com>
Committed: Thu May 14 21:33:44 2015 -0700
----------------------------------------------------------------------
.../java/org/apache/hive/beeline/BeeLine.java | 140 ++++++++++++++++-
.../hive/beeline/cli/CliOptionsProcessor.java | 104 +++++++++++++
.../org/apache/hive/beeline/cli/HiveCli.java | 41 +++++
.../apache/hive/beeline/cli/TestHiveCli.java | 153 +++++++++++++++++++
beeline/src/test/resources/hive-site.xml | 37 +++++
5 files changed, 468 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/03366392/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index 0da15f6..4a82635 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -88,6 +88,8 @@ import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.hadoop.io.IOUtils;
+import org.apache.hive.beeline.cli.CliOptionsProcessor;
+import org.apache.hive.jdbc.Utils;
/**
* A console SQL shell with command completion.
@@ -126,8 +128,10 @@ public class BeeLine implements Closeable {
private ConsoleReader consoleReader;
private List<String> batch = null;
private final Reflector reflector;
+ private String dbName = null;
private History history;
+ private boolean isBeeLine = true;
private static final Options options = new Options();
@@ -491,10 +495,14 @@ public class BeeLine implements Closeable {
public BeeLine() {
+ this(true);
+ }
+
+ public BeeLine(boolean isBeeLine) {
beeLineCommandCompleter = new BeeLineCommandCompleter(BeeLineCommandCompleter.getCompleters
(this));
reflector = new Reflector(this);
-
+ this.isBeeLine = isBeeLine;
// attempt to dynamically load signal handler
/* TODO disable signal handler
try {
@@ -508,7 +516,6 @@ public class BeeLine implements Closeable {
*/
}
-
DatabaseConnection getDatabaseConnection() {
return getDatabaseConnections().current();
}
@@ -633,7 +640,63 @@ public class BeeLine implements Closeable {
super.processOption(arg, iter);
}
}
+ }
+
+ int initArgsFromCliVars(String[] args) {
+ List<String> commands = Collections.emptyList();
+
+ CliOptionsProcessor optionsProcessor = new CliOptionsProcessor();
+ if (!optionsProcessor.process(args)) {
+ return 1;
+ }
+ CommandLine commandLine = optionsProcessor.getCommandLine();
+
+
+ Properties confProps = commandLine.getOptionProperties("hiveconf");
+ for (String propKey : confProps.stringPropertyNames()) {
+ getOpts().getHiveConfVariables().put(propKey, confProps.getProperty(propKey));
+ }
+
+ Properties hiveVars = commandLine.getOptionProperties("define");
+ for (String propKey : hiveVars.stringPropertyNames()) {
+ getOpts().getHiveConfVariables().put(propKey, hiveVars.getProperty(propKey));
+ }
+
+ Properties hiveVars2 = commandLine.getOptionProperties("hivevar");
+ for (String propKey : hiveVars2.stringPropertyNames()) {
+ getOpts().getHiveConfVariables().put(propKey, hiveVars2.getProperty(propKey));
+ }
+
+ getOpts().setScriptFile(commandLine.getOptionValue("f"));
+
+ dbName = commandLine.getOptionValue("database");
+ getOpts().setVerbose(Boolean.valueOf(commandLine.getOptionValue("verbose")));
+ getOpts().setSilent(Boolean.valueOf(commandLine.getOptionValue("slient")));
+
+ int code = 0;
+ if (commandLine.getOptionValues("e") != null) {
+ commands = Arrays.asList(commandLine.getOptionValues("e"));
+ }
+ if (!commands.isEmpty() && getOpts().getScriptFile() != null) {
+ System.err.println("The '-e' and '-f' options cannot be specified simultaneously");
+ optionsProcessor.printCliUsage();
+ return 1;
+ }
+
+ if (!commands.isEmpty()) {
+ embeddedConnect();
+ connectDBInEmbededMode();
+ for (Iterator<String> i = commands.iterator(); i.hasNext(); ) {
+ String command = i.next().toString();
+ debug(loc("executing-command", command));
+ if (!dispatch(command)) {
+ code++;
+ }
+ }
+ exit = true; // execute and exit
+ }
+ return code;
}
int initArgs(String[] args) {
@@ -687,7 +750,6 @@ public class BeeLine implements Closeable {
commands = Arrays.asList(cl.getOptionValues('e'));
}
-
// TODO: temporary disable this for easier debugging
/*
if (url == null) {
@@ -755,9 +817,15 @@ public class BeeLine implements Closeable {
}
try {
- int code = initArgs(args);
- if (code != 0) {
- return code;
+ if (isBeeLine) {
+ int code = initArgs(args);
+ if (code != 0) {
+ return code;
+ }
+ } else {
+ int code = initArgsFromCliVars(args);
+ if (code != 0)
+ return code;
}
if (getOpts().getScriptFile() != null) {
@@ -788,6 +856,33 @@ public class BeeLine implements Closeable {
return ERRNO_OK;
}
+ private int embeddedConnect() {
+ if (!dispatch("!connect " + Utils.URL_PREFIX + " '' ''")) {
+ return ERRNO_OTHER;
+ } else {
+ return ERRNO_OK;
+ }
+ }
+
+ private int connectDBInEmbededMode() {
+ if (dbName != null && !dbName.isEmpty()) {
+ if (!dispatch("use " + dbName + ";")) {
+ return ERRNO_OTHER;
+ }
+ }
+ return ERRNO_OK;
+ }
+
+ public int defaultConnect(boolean exitOnError) {
+ if (embeddedConnect() != ERRNO_OK && exitOnError) {
+ return ERRNO_OTHER;
+ }
+ if (connectDBInEmbededMode() != ERRNO_OK && exitOnError) {
+ return ERRNO_OTHER;
+ }
+ return ERRNO_OK;
+ }
+
private int executeFile(String fileName) {
FileInputStream initStream = null;
try {
@@ -805,13 +900,20 @@ public class BeeLine implements Closeable {
private int execute(ConsoleReader reader, boolean exitOnError) {
String line;
+ if (!isBeeLine) {
+ if (defaultConnect(exitOnError) != ERRNO_OK && exitOnError) {
+ return ERRNO_OTHER;
+ }
+ }
while (!exit) {
try {
// Execute one instruction; terminate on executing a script if there is an error
// in silent mode, prevent the query and prompt being echoed back to terminal
line = (getOpts().isSilent() && getOpts().getScriptFile() != null) ?
reader.readLine(null, ConsoleReader.NULL_MASK) : reader.readLine(getPrompt());
-
+ if (!isBeeLine) {
+ line = cliToBeelineCmd(line);
+ }
if (!dispatch(line) && exitOnError) {
return ERRNO_OTHER;
}
@@ -914,6 +1016,30 @@ public class BeeLine implements Closeable {
output(loc("cmd-usage"));
}
+ private String[] tokenizeCmd(String cmd) {
+ return cmd.split("\\s+");
+ }
+
+ public String cliToBeelineCmd(String cmd) {
+ if (cmd == null)
+ return null;
+ String cmd_trimmed = cmd.trim();
+ String[] tokens = tokenizeCmd(cmd_trimmed);
+
+ if (cmd_trimmed.equalsIgnoreCase("quit") || cmd_trimmed.equalsIgnoreCase("exit")) {
+ return null;
+ } else if (tokens[0].equalsIgnoreCase("source")) {
+ //TODO
+ return cmd;
+ } else if (cmd_trimmed.startsWith("!")) {
+ String shell_cmd = cmd_trimmed.substring(1);
+ return "!sh " + shell_cmd;
+ } else { // local mode
+ // command like dfs
+ return cmd;
+ }
+ }
+
/**
* Dispatch the specified line to the appropriate {@link CommandHandler}.
http://git-wip-us.apache.org/repos/asf/hive/blob/03366392/beeline/src/java/org/apache/hive/beeline/cli/CliOptionsProcessor.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/cli/CliOptionsProcessor.java b/beeline/src/java/org/apache/hive/beeline/cli/CliOptionsProcessor.java
new file mode 100644
index 0000000..61c5ab6
--- /dev/null
+++ b/beeline/src/java/org/apache/hive/beeline/cli/CliOptionsProcessor.java
@@ -0,0 +1,104 @@
+/**
+ * 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.beeline.cli;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.GnuParser;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.OptionBuilder;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+
+/**
+ * This class is used for parsing the options of Hive Cli
+ */
+public class CliOptionsProcessor {
+ private final Options options = new Options();
+ private org.apache.commons.cli.CommandLine commandLine;
+
+ public CliOptionsProcessor() {
+ // -database database
+ options.addOption(OptionBuilder.hasArg().withArgName("databasename").withLongOpt("database")
+ .withDescription("Specify the database to use").create());
+
+ // -e 'quoted-query-string'
+ options.addOption(OptionBuilder.hasArg().withArgName("quoted-query-string").withDescription
+ ("SQL from command line").create('e'));
+
+ // -f <query-file>
+ options.addOption(OptionBuilder.hasArg().withArgName("filename").withDescription("SQL from " +
+ "files").create('f'));
+
+ // -i <init-query-file>
+ options.addOption(OptionBuilder.hasArg().withArgName("filename").withDescription
+ ("Initialization SQL file").create('i'));
+
+ // -hiveconf x=y
+ options.addOption(OptionBuilder.withValueSeparator().hasArgs(2).withArgName("property=value")
+ .withLongOpt("hiveconf").withDescription("Use value for given property").create());
+
+ // Substitution option -d, --define
+ options.addOption(OptionBuilder.withValueSeparator().hasArgs(2).withArgName("key=value")
+ .withLongOpt("define").withDescription("Variable subsitution to apply to hive commands. e" +
+ ".g. -d A=B or --define A=B").create('d'));
+
+ // Substitution option --hivevar
+ options.addOption(OptionBuilder.withValueSeparator().hasArgs(2).withArgName("key=value")
+ .withLongOpt("hivevar").withDescription("Variable subsitution to apply to hive commands. " +
+ "e.g. --hivevar A=B").create());
+
+ // [-S|--silent]
+ options.addOption(new Option("S", "silent", false, "Silent mode in interactive shell"));
+
+ // [-v|--verbose]
+ options.addOption(new Option("v", "verbose", false, "Verbose mode (echo executed SQL to the "
+ + "console)"));
+
+ // [-H|--help]
+ options.addOption(new Option("H", "help", false, "Print help information"));
+ }
+
+ public boolean process(String []argv){
+ try {
+ commandLine = new GnuParser().parse(options, argv);
+
+ if(commandLine.hasOption("help")){
+ printCliUsage();
+ return false;
+ }
+ } catch (ParseException e) {
+ System.err.println(e.getMessage());
+ printCliUsage();
+ return false;
+ }
+ return true;
+ }
+
+ public void printCliUsage() {
+ new HelpFormatter().printHelp("hive", options);
+ }
+
+ public CommandLine getCommandLine() {
+ return commandLine;
+ }
+
+ public void setCommandLine(CommandLine commandLine) {
+ this.commandLine = commandLine;
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/03366392/beeline/src/java/org/apache/hive/beeline/cli/HiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/cli/HiveCli.java b/beeline/src/java/org/apache/hive/beeline/cli/HiveCli.java
new file mode 100644
index 0000000..3e0da77
--- /dev/null
+++ b/beeline/src/java/org/apache/hive/beeline/cli/HiveCli.java
@@ -0,0 +1,41 @@
+/**
+ * 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.beeline.cli;
+
+import org.apache.hive.beeline.BeeLine;
+import org.apache.hive.jdbc.Utils;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class HiveCli {
+ private BeeLine beeLine;
+
+ public static void main(String[] args) throws IOException {
+ int status = new HiveCli().runWithArgs(args, null);
+ System.exit(status);
+ }
+
+ public int runWithArgs(String[] cmd, InputStream inputStream) throws IOException {
+ beeLine = new BeeLine(false);
+ return beeLine.begin(cmd, inputStream);
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/03366392/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
new file mode 100644
index 0000000..cc0b598
--- /dev/null
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -0,0 +1,153 @@
+/**
+ * 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.beeline.cli;
+
+import junit.framework.Assert;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.BufferedWriter;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.PrintStream;
+
+public class TestHiveCli {
+ private static final Log LOG = LogFactory.getLog(TestHiveCli.class.getName());
+
+ final static String CMD = "create database if not exists test;\ncreate table if not exists test" +
+ ".testTbl(a " +
+ "" + "string, b string);\n";
+ private HiveCli cli;
+ private OutputStream os;
+ private PrintStream ps;
+ private OutputStream errS;
+ private PrintStream errPs;
+ private File tmp = null;
+
+ private void executeCMD(String[] args, String input, int retCode) {
+ InputStream inputStream = null;
+ int ret = 0;
+ try {
+ if (input != null) {
+ inputStream = IOUtils.toInputStream(input);
+ }
+ ret = cli.runWithArgs(args, inputStream);
+ } catch (IOException e) {
+ LOG.error("Failed to execute command due to the error: " + e);
+ } finally {
+ if (retCode != ret) {
+ LOG.error("Failed due to the error:" + errS.toString());
+ Assert.fail("Supported return code is " + retCode + " while the actual is " + ret);
+ }
+ }
+ }
+
+ private void verifyCMD(String CMD, String keywords, OutputStream os, String[] options, int
+ retCode) {
+ executeCMD(options, CMD, retCode);
+ String output = os.toString();
+ Assert.assertTrue(output.contains(keywords));
+ }
+
+ @Test
+ public void testInValidCmd() {
+ verifyCMD("!lss\n", "Failed to execute lss", errS, null, 0);
+ }
+
+ @Test
+ public void testHelp() {
+ verifyCMD(null, "usage: hive", os, new String[]{"-H"}, 1);
+ }
+
+ @Test
+ public void testInvalidDatabaseOptions() {
+ verifyCMD("\nshow tables\nquit\n", "Database does not exist: invalidDB", errS, new
+ String[]{"--database", "invalidDB"}, 0);
+ }
+
+ @Test
+ public void testDatabaseOptions() {
+ verifyCMD("\nshow tables;\nquit;", "testTbl", os, new String[]{"--database", "test"}, 0);
+ }
+
+ @Test
+ public void testSqlFromCmd() {
+ verifyCMD(null, "", os, new String[]{"-e", "show databases;"}, 0);
+ }
+
+ @Test
+ public void testSqlFromCmdWithDBName() {
+ verifyCMD(null, "testTbl", os, new String[]{"-e", "show tables;", "--database", "test"}, 0);
+ }
+
+ @Test
+ public void testInvalidOptions() {
+ verifyCMD(null, "The '-e' and '-f' options cannot be specified simultaneously", errS, new
+ String[]{"-e", "show tables;", "-f", "path/to/file"}, 1);
+ }
+
+ @Test
+ public void testInvalidOptions2() {
+ verifyCMD(null, "Unrecognized option: -k", errS, new String[]{"-k"}, 1);
+ }
+
+ private void redirectOutputStream() {
+ // Setup output stream to redirect output to
+ os = new ByteArrayOutputStream();
+ ps = new PrintStream(os);
+ errS = new ByteArrayOutputStream();
+ errPs = new PrintStream(errS);
+ System.setOut(ps);
+ System.setErr(errPs);
+ }
+
+ private void initFileFromFile() {
+ BufferedWriter bw = null;
+ try {
+ // create a tmp file
+ tmp = File.createTempFile("test", ".sql");
+ bw = new BufferedWriter(new FileWriter(tmp));
+ bw.write(CMD);
+ } catch (IOException e) {
+ LOG.error("Failed to write tmp file due to the exception: " + e);
+ } finally {
+ IOUtils.closeQuietly(bw);
+ }
+ executeCMD(new String[]{"-f", "\"" + tmp.getAbsolutePath() + "\""}, null, 0);
+ }
+
+ @Before
+ public void setup() {
+ cli = new HiveCli();
+ redirectOutputStream();
+ initFileFromFile();
+ }
+
+ @After
+ public void tearDown() {
+ tmp.delete();
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/03366392/beeline/src/test/resources/hive-site.xml
----------------------------------------------------------------------
diff --git a/beeline/src/test/resources/hive-site.xml b/beeline/src/test/resources/hive-site.xml
new file mode 100644
index 0000000..d2df03c
--- /dev/null
+++ b/beeline/src/test/resources/hive-site.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+ 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.
+-->
+
+<configuration>
+ <property>
+ <name>hive.in.test</name>
+ <value>true</value>
+ <description>Internal marker for test. Used for masking env-dependent values</description>
+ </property>
+ <property>
+ <name>javax.jdo.option.ConnectionURL</name>
+ <value>jdbc:derby:;databaseName=${test.tmp.dir}/metastore_db;create=true</value>
+ <description>JDBC connect string for a JDBC metastore</description>
+ </property>
+ <property>
+ <!-- this should eventually be deprecated since the metastore should supply this -->
+ <name>hive.metastore.warehouse.dir</name>
+ <value>${test.tmp.dir}/warehouse</value>
+ <description></description>
+ </property>
+</configuration>
[33/33] hive git commit: Merge branch 'beeline-cli'
Posted by xu...@apache.org.
Merge branch 'beeline-cli'
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/e570e4f0
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/e570e4f0
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/e570e4f0
Branch: refs/heads/master
Commit: e570e4f0c6c1105c2c0ce9ed9b5811f4cf102750
Parents: 02121a8 6b3e82d
Author: Ferdinand Xu <ch...@intel.com>
Authored: Sun Sep 27 21:04:38 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Sun Sep 27 21:04:38 2015 -0400
----------------------------------------------------------------------
.../java/org/apache/hive/beeline/BeeLine.java | 300 +++++++++---
.../org/apache/hive/beeline/BeeLineOpts.java | 43 +-
.../hive/beeline/ClientCommandHookFactory.java | 85 ++++
.../org/apache/hive/beeline/ClientHook.java | 33 ++
.../java/org/apache/hive/beeline/Commands.java | 486 ++++++++++++++-----
.../hive/beeline/cli/CliOptionsProcessor.java | 104 ++++
.../org/apache/hive/beeline/cli/HiveCli.java | 37 ++
.../beeline/TestClientCommandHookFactory.java | 32 ++
.../apache/hive/beeline/cli/TestHiveCli.java | 289 +++++++++++
beeline/src/test/resources/hive-site.xml | 37 ++
bin/beeline | 5 +
bin/ext/cli.cmd | 39 +-
bin/ext/cli.sh | 35 +-
bin/ext/util/execHiveCmd.sh | 6 +-
.../org/apache/hadoop/hive/cli/CliDriver.java | 24 +-
.../hadoop/hive/conf/HiveVariableSource.java | 24 +
.../hadoop/hive/conf/VariableSubstitution.java | 70 +++
.../hive/conf/TestVariableSubstitution.java | 63 +++
.../java/org/apache/hadoop/hive/ql/Driver.java | 10 +-
.../formatting/MetaDataPrettyFormatUtils.java | 24 +-
.../ql/parse/ColumnStatsSemanticAnalyzer.java | 14 +-
.../hive/ql/parse/VariableSubstitution.java | 60 ---
.../ql/processors/AddResourceProcessor.java | 11 +-
.../hive/ql/processors/CompileProcessor.java | 11 +-
.../ql/processors/DeleteResourceProcessor.java | 11 +-
.../hadoop/hive/ql/processors/DfsProcessor.java | 11 +-
.../hadoop/hive/ql/processors/SetProcessor.java | 32 +-
.../hadoop/hive/ql/session/SessionState.java | 21 +
.../clientpositive/describe_pretty.q.out | 366 +++++++-------
.../cli/operation/HiveCommandOperation.java | 18 +-
.../service/cli/operation/SQLOperation.java | 14 +-
31 files changed, 1828 insertions(+), 487 deletions(-)
----------------------------------------------------------------------
[19/33] hive git commit: HIVE-11579: Invoke the set command will
close standard error output[beeline-cli](Ferdinand Xu,
reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11579: Invoke the set command will close standard error output[beeline-cli](Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/80f6184d
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/80f6184d
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/80f6184d
Branch: refs/heads/master
Commit: 80f6184d301d94b5c203f45d0d849ea4bea054fb
Parents: e28043f
Author: Ferdinand Xu <ch...@intel.com>
Authored: Wed Aug 19 21:12:00 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Wed Aug 19 21:12:00 2015 -0400
----------------------------------------------------------------------
.../org/apache/hive/beeline/BeeLineOpts.java | 2 +-
.../apache/hive/beeline/cli/TestHiveCli.java | 12 ++++++++---
.../hadoop/hive/ql/session/SessionState.java | 21 ++++++++++++++++++++
.../cli/operation/HiveCommandOperation.java | 18 +++++++++--------
.../service/cli/operation/SQLOperation.java | 4 ++++
5 files changed, 45 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/80f6184d/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
index d9f726d..72e9037 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
@@ -228,7 +228,7 @@ class BeeLineOpts implements Completer {
public void updateBeeLineOptsFromConf() {
if (!beeLine.isBeeLine()) {
if (conf == null) {
- conf = beeLine.getCommands().getHiveConf(true);
+ conf = beeLine.getCommands().getHiveConf(false);
}
setForce(HiveConf.getBoolVar(conf, HiveConf.ConfVars.CLIIGNOREERRORS));
}
http://git-wip-us.apache.org/repos/asf/hive/blob/80f6184d/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index c465eac..c7eaa8e 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -107,7 +107,7 @@ public class TestHiveCli {
@Test
public void testDatabaseOptions() {
- verifyCMD("\nshow tables;\nquit;", "testTbl", os, new String[] { "--database", "test" },
+ verifyCMD("\nshow tables;\nquit;", "testtbl", os, new String[] { "--database", "test" },
ERRNO_OK);
}
@@ -134,7 +134,7 @@ public class TestHiveCli {
@Test
public void testSqlFromCmdWithDBName() {
- verifyCMD(null, "testTbl", os, new String[] { "-e", "show tables;", "--database", "test" },
+ verifyCMD(null, "testtbl", os, new String[] { "-e", "show tables;", "--database", "test" },
ERRNO_OK);
}
@@ -164,6 +164,12 @@ public class TestHiveCli {
f.delete();
}
+ @Test
+ public void testErrOutput() {
+ verifyCMD("show tables;set system:xxx=5;set system:yyy=${system:xxx};\nlss;",
+ "cannot recognize input near 'lss' '<EOF>' '<EOF>'", errS, null, ERRNO_OK);
+ }
+
private void redirectOutputStream() {
// Setup output stream to redirect output to
os = new ByteArrayOutputStream();
@@ -200,8 +206,8 @@ public class TestHiveCli {
@Before
public void setup() {
cli = new HiveCli();
- redirectOutputStream();
initFromFile();
+ redirectOutputStream();
}
@After
http://git-wip-us.apache.org/repos/asf/hive/blob/80f6184d/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java b/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
index 49d64db..13ca87d 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
@@ -161,6 +161,11 @@ public class SessionState {
protected File tmpOutputFile;
/**
+ * Temporary file name used to store error output of executing non-Hive commands (e.g., set, dfs)
+ */
+ protected File tmpErrOutputFile;
+
+ /**
* type of the command.
*/
private HiveOperation commandType;
@@ -305,6 +310,14 @@ public class SessionState {
tmpOutputFile = f;
}
+ public File getTmpErrOutputFile() {
+ return tmpErrOutputFile;
+ }
+
+ public void setTmpErrOutputFile(File tmpErrOutputFile) {
+ this.tmpErrOutputFile = tmpErrOutputFile;
+ }
+
public boolean getIsSilent() {
if(conf != null) {
return conf.getBoolVar(HiveConf.ConfVars.HIVESESSIONSILENT);
@@ -525,6 +538,14 @@ public class SessionState {
}
}
+ // Set temp file containing error output to be sent to client
+ if (startSs.getTmpErrOutputFile() == null) {
+ try {
+ startSs.setTmpErrOutputFile(createTempFile(startSs.getConf()));
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
} catch (Exception e) {
// Catch-all due to some exec time dependencies on session state
// that would cause ClassNoFoundException otherwise
http://git-wip-us.apache.org/repos/asf/hive/blob/80f6184d/service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java
----------------------------------------------------------------------
diff --git a/service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java b/service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java
index bcc66cf..1d1e995 100644
--- a/service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java
+++ b/service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java
@@ -66,13 +66,14 @@ public class HiveCommandOperation extends ExecuteStatementOperation {
private void setupSessionIO(SessionState sessionState) {
try {
- LOG.info("Putting temp output to file " + sessionState.getTmpOutputFile().toString());
+ LOG.info("Putting temp output to file " + sessionState.getTmpOutputFile().toString()
+ + " and error output to file " + sessionState.getTmpErrOutputFile().toString());
sessionState.in = null; // hive server's session input stream is not used
- // open a per-session file in auto-flush mode for writing temp results
- sessionState.out = new PrintStream(new FileOutputStream(sessionState.getTmpOutputFile()), true, "UTF-8");
- // TODO: for hadoop jobs, progress is printed out to session.err,
- // we should find a way to feed back job progress to client
- sessionState.err = new PrintStream(System.err, true, "UTF-8");
+ // open a per-session file in auto-flush mode for writing temp results and tmp error output
+ sessionState.out =
+ new PrintStream(new FileOutputStream(sessionState.getTmpOutputFile()), true, "UTF-8");
+ sessionState.err =
+ new PrintStream(new FileOutputStream(sessionState.getTmpErrOutputFile()), true, "UTF-8");
} catch (IOException e) {
LOG.error("Error in creating temp output file ", e);
try {
@@ -90,8 +91,7 @@ public class HiveCommandOperation extends ExecuteStatementOperation {
private void tearDownSessionIO() {
- IOUtils.cleanup(LOG, parentSession.getSessionState().out);
- IOUtils.cleanup(LOG, parentSession.getSessionState().err);
+ IOUtils.cleanup(LOG, parentSession.getSessionState().out, parentSession.getSessionState().err);
}
@Override
@@ -202,6 +202,8 @@ public class HiveCommandOperation extends ExecuteStatementOperation {
SessionState sessionState = getParentSession().getSessionState();
File tmp = sessionState.getTmpOutputFile();
tmp.delete();
+ tmp = sessionState.getTmpErrOutputFile();
+ tmp.delete();
}
private void resetResultReader() {
http://git-wip-us.apache.org/repos/asf/hive/blob/80f6184d/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
----------------------------------------------------------------------
diff --git a/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java b/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
index f4334e4..175348b 100644
--- a/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
+++ b/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
@@ -296,6 +296,10 @@ public class SQLOperation extends ExecuteStatementOperation {
if (ss.getTmpOutputFile() != null) {
ss.getTmpOutputFile().delete();
}
+
+ if (ss.getTmpErrOutputFile() != null) {
+ ss.getTmpErrOutputFile().delete();
+ }
}
@Override
[28/33] hive git commit: HIVE-10824: Need to update start script
changes in .cmd files(Ferdinand Xu, reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-10824: Need to update start script changes in .cmd files(Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/fdf6bd0b
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/fdf6bd0b
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/fdf6bd0b
Branch: refs/heads/master
Commit: fdf6bd0b5800db7649c91422aa4ece8f52be1245
Parents: 4a91efc
Author: Ferdinand Xu <ch...@intel.com>
Authored: Thu Sep 17 21:29:32 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Thu Sep 17 21:29:32 2015 -0400
----------------------------------------------------------------------
bin/ext/cli.cmd | 35 ++++++++++++++++++++++++++++-------
1 file changed, 28 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/fdf6bd0b/bin/ext/cli.cmd
----------------------------------------------------------------------
diff --git a/bin/ext/cli.cmd b/bin/ext/cli.cmd
index 9e85691..3a96d03 100644
--- a/bin/ext/cli.cmd
+++ b/bin/ext/cli.cmd
@@ -14,20 +14,41 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
-set CLASS=org.apache.hadoop.hive.cli.CliDriver
-pushd %HIVE_LIB%
-for /f %%a IN ('dir /b hive-cli-*.jar') do (
- set JAR=%HIVE_LIB%\%%a
-)
-popd
-
if [%1]==[cli_help] goto :cli_help
:cli
+ call :update_cli
call %HIVE_BIN_PATH%\ext\util\execHiveCmd.cmd %CLASS%
goto :EOF
:cli_help
+ call :update_cli
set HIVEARGS=--help
call :cli
goto :EOF
+
+:update_cli
+ if /I "%USE_DEPRECATED_CLI%" == "true" (
+ call :old_cli
+ ) else if (
+ call :new_cli
+ )
+goto :EOF
+
+:old_cli
+ set CLASS=org.apache.hadoop.hive.cli.CliDriver
+ pushd %HIVE_LIB%
+ for /f %%a IN ('dir /b hive-cli-*.jar') do (
+ set JAR=%HIVE_LIB%\%%a
+ )
+ popd
+goto :EOF
+
+:new_cli
+ set CLASS=org.apache.hive.beeline.cli.HiveCli
+ pushd %HIVE_LIB%
+ for /f %%a IN ('dir /b hive-beeline-*.jar') do (
+ set JAR=%HIVE_LIB%\%%a
+ )
+ popd
+goto :EOF
\ No newline at end of file
[11/33] hive git commit: HIVE-11203: Beeline force option doesn't
force execution when errors occurred in a script.(Ferdinand,
reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11203: Beeline force option doesn't force execution when errors occurred in a script.(Ferdinand, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/f589e2c0
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/f589e2c0
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/f589e2c0
Branch: refs/heads/master
Commit: f589e2c03426aa9857030d7a9d787af9fb2a1b12
Parents: 102b23b
Author: Ferdinand Xu <ch...@intel.com>
Authored: Wed Jul 8 20:58:22 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Wed Jul 8 20:59:53 2015 -0400
----------------------------------------------------------------------
beeline/src/java/org/apache/hive/beeline/BeeLine.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/f589e2c0/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index 1d468eb..c4dbcd4 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -889,7 +889,7 @@ public class BeeLine implements Closeable {
FileInputStream initStream = null;
try {
initStream = new FileInputStream(fileName);
- return execute(getConsoleReader(initStream), true);
+ return execute(getConsoleReader(initStream), !getOpts().getForce());
} catch (Throwable t) {
handleException(t);
return ERRNO_OTHER;
[23/33] hive git commit: HIVE-11769: Merge master to beeline-cli
branch 09/09/2015
Posted by xu...@apache.org.
HIVE-11769: Merge master to beeline-cli branch 09/09/2015
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/fc53e5d7
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/fc53e5d7
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/fc53e5d7
Branch: refs/heads/master
Commit: fc53e5d7edfed6dbdaeb43fb6b541ff36fb9a47b
Parents: b90a2ae d51c62a
Author: Ferdinand Xu <ch...@intel.com>
Authored: Wed Sep 9 03:02:24 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Wed Sep 9 03:02:24 2015 -0400
----------------------------------------------------------------------
accumulo-handler/pom.xml | 4 -
.../apache/hadoop/hive/ant/GenVectorCode.java | 105 +
.../java/org/apache/hive/beeline/BeeLine.java | 13 +-
.../org/apache/hive/beeline/BeeLineOpts.java | 21 +-
.../apache/hive/beeline/DatabaseConnection.java | 9 +
.../org/apache/hive/beeline/HiveSchemaTool.java | 14 +-
beeline/src/main/resources/BeeLine.properties | 2 +
.../src/main/resources/beeline-log4j.properties | 24 -
beeline/src/main/resources/beeline-log4j2.xml | 40 +
bin/ext/beeline.sh | 2 +-
bin/hive | 3 +
.../hadoop/hive/cli/TestOptionsProcessor.java | 1 -
common/pom.xml | 27 +-
.../apache/hadoop/hive/common/JavaUtils.java | 11 +-
.../org/apache/hadoop/hive/common/LogUtils.java | 18 +-
.../hadoop/hive/common/ValidReadTxnList.java | 2 +-
.../hadoop/hive/common/type/HiveDecimal.java | 306 -
.../org/apache/hadoop/hive/conf/HiveConf.java | 112 +-
common/src/main/resources/hive-log4j.properties | 88 -
common/src/main/resources/hive-log4j2.xml | 111 +
.../hadoop/hive/conf/TestHiveLogging.java | 8 +-
.../resources/hive-exec-log4j-test.properties | 59 -
.../test/resources/hive-exec-log4j2-test.xml | 86 +
.../test/resources/hive-log4j-test.properties | 71 -
common/src/test/resources/hive-log4j2-test.xml | 95 +
data/conf/hive-log4j-old.properties | 82 -
data/conf/hive-log4j.properties | 97 -
data/conf/hive-log4j2.xml | 144 +
data/conf/hive-site.xml | 6 -
data/conf/spark/log4j.properties | 24 -
data/conf/spark/log4j2.xml | 74 +
data/conf/tez/hive-site.xml | 9 +
docs/xdocs/language_manual/cli.xml | 2 +-
errata.txt | 10 +
.../hadoop/hive/hbase/ColumnMappings.java | 5 +
.../apache/hadoop/hive/hbase/HBaseSerDe.java | 19 +-
.../hadoop/hive/hbase/HBaseSerDeParameters.java | 8 +-
.../hadoop/hive/hbase/HBaseStorageHandler.java | 13 +-
.../hive/hbase/HiveHBaseInputFormatUtil.java | 50 +-
.../hadoop/hive/hbase/LazyHBaseCellMap.java | 19 +-
.../apache/hadoop/hive/hbase/LazyHBaseRow.java | 5 +-
.../hadoop/hive/hbase/LazyHBaseCellMapTest.java | 72 +
.../positive/hbase_binary_map_queries_prefix.q | 15 +-
.../queries/positive/hbase_null_first_col.q | 22 +
.../hbase_binary_map_queries_prefix.q.out | 40 +
.../results/positive/hbase_null_first_col.q.out | 109 +
.../test/results/positive/hbase_timestamp.q.out | 8 +-
hcatalog/bin/hcat_server.sh | 2 +-
hcatalog/bin/templeton.cmd | 4 +-
.../mapreduce/DefaultOutputFormatContainer.java | 7 +-
...namicPartitionFileRecordWriterContainer.java | 3 +-
.../mapreduce/FileOutputFormatContainer.java | 3 +-
.../hive/hcatalog/mapreduce/PartInfo.java | 32 +-
.../hive/hcatalog/mapreduce/SpecialCases.java | 8 +-
.../mapreduce/TestHCatMultiOutputFormat.java | 6 +-
hcatalog/scripts/hcat_server_start.sh | 2 +-
.../content/xdocs/configuration.xml | 2 +-
.../src/documentation/content/xdocs/install.xml | 2 +-
.../deployers/config/hive/hive-log4j.properties | 88 -
.../deployers/config/hive/hive-log4j2.xml | 111 +
.../deployers/config/hive/hive-site.mysql.xml | 22 +
.../templeton/deployers/start_hive_services.sh | 2 +-
.../hive/hcatalog/streaming/mutate/package.html | 31 +-
.../mutate/worker/CreatePartitionHelper.java | 83 -
.../mutate/worker/MetaStorePartitionHelper.java | 102 +
.../mutate/worker/MutatorCoordinator.java | 21 +-
.../worker/MutatorCoordinatorBuilder.java | 41 +-
.../mutate/worker/PartitionHelper.java | 17 +
.../mutate/worker/WarehousePartitionHelper.java | 69 +
.../hive/hcatalog/streaming/TestStreaming.java | 54 +-
.../worker/TestMetaStorePartitionHelper.java | 112 +
.../mutate/worker/TestMutatorCoordinator.java | 40 +-
.../worker/TestWarehousePartitionHelper.java | 57 +
.../webhcat/svr/src/main/bin/webhcat_server.sh | 4 +-
.../src/main/config/webhcat-log4j.properties | 45 -
.../svr/src/main/config/webhcat-log4j2.xml | 75 +
.../antlr4/org/apache/hive/hplsql/Hplsql.g4 | 275 +-
.../java/org/apache/hive/hplsql/Column.java | 65 +
.../main/java/org/apache/hive/hplsql/Conn.java | 16 +-
.../java/org/apache/hive/hplsql/Converter.java | 41 +-
.../main/java/org/apache/hive/hplsql/Exec.java | 300 +-
.../java/org/apache/hive/hplsql/Expression.java | 79 +-
.../main/java/org/apache/hive/hplsql/Meta.java | 216 +
.../main/java/org/apache/hive/hplsql/Query.java | 71 +
.../main/java/org/apache/hive/hplsql/Row.java | 97 +
.../java/org/apache/hive/hplsql/Select.java | 63 +-
.../java/org/apache/hive/hplsql/Signal.java | 2 +-
.../main/java/org/apache/hive/hplsql/Stmt.java | 235 +-
.../main/java/org/apache/hive/hplsql/Utils.java | 7 +
.../main/java/org/apache/hive/hplsql/Var.java | 85 +-
.../apache/hive/hplsql/functions/Function.java | 74 +-
.../hive/hplsql/functions/FunctionDatetime.java | 14 +-
.../hive/hplsql/functions/FunctionMisc.java | 22 +-
.../hive/hplsql/functions/FunctionOra.java | 31 +-
.../hive/hplsql/functions/FunctionString.java | 46 +-
hplsql/src/main/resources/hplsql-site.xml | 95 +
.../org/apache/hive/hplsql/TestHplsqlLocal.java | 34 +-
.../apache/hive/hplsql/TestHplsqlOffline.java | 76 +
.../test/queries/db/create_procedure_mssql.sql | 52 +
.../db/create_procedure_return_cursor.sql | 53 +
.../db/create_procedure_return_cursor2.sql | 59 +
.../src/test/queries/db/cursor_attributes.sql | 60 +
hplsql/src/test/queries/db/map_object.sql | 9 +
.../src/test/queries/db/rowtype_attribute.sql | 22 +
hplsql/src/test/queries/db/select_into.sql | 17 +
.../src/test/queries/db/set_current_schema.sql | 6 +
hplsql/src/test/queries/db/sys_refcursor.sql | 65 +
hplsql/src/test/queries/db/type_attribute.sql | 8 +
hplsql/src/test/queries/db/use.sql | 2 +
.../local/create_procedure_no_params.sql | 19 +
hplsql/src/test/queries/local/exception2.sql | 10 -
hplsql/src/test/queries/local/exception3.sql | 5 -
hplsql/src/test/queries/local/exception4.sql | 7 -
hplsql/src/test/queries/local/exception5.sql | 10 -
.../queries/local/exception_divide_by_zero.sql | 11 +
.../test/queries/offline/create_table_mssql.sql | 43 +
.../test/queries/offline/create_table_ora.sql | 53 +
.../results/db/create_procedure_mssql.out.txt | 45 +
.../db/create_procedure_return_cursor.out.txt | 135 +
.../db/create_procedure_return_cursor2.out.txt | 139 +
.../test/results/db/cursor_attributes.out.txt | 33 +
hplsql/src/test/results/db/map_object.out.txt | 17 +
.../test/results/db/rowtype_attribute.out.txt | 42 +
hplsql/src/test/results/db/select_into.out.txt | 19 +
.../test/results/db/set_current_schema.out.txt | 12 +
.../src/test/results/db/sys_refcursor.out.txt | 36 +
.../src/test/results/db/type_attribute.out.txt | 15 +
hplsql/src/test/results/db/use.out.txt | 4 +
.../test/results/local/create_function.out.txt | 4 +-
.../local/create_procedure_no_params.out.txt | 26 +
hplsql/src/test/results/local/declare.out.txt | 4 +-
.../local/exception_divide_by_zero.out.txt | 8 +
.../results/offline/create_table_mssql.out.txt | 24 +
.../results/offline/create_table_ora.out.txt | 42 +
.../vectorization/VectorizationBench.java | 93 +
.../hive/metastore/TestHiveMetaStore.java | 153 +-
.../org/apache/hive/jdbc/TestJdbcDriver2.java | 16 +
.../TestOperationLoggingAPIWithMr.java | 2 -
.../TestOperationLoggingAPIWithTez.java | 2 -
.../operation/TestOperationLoggingLayout.java | 134 +
itests/pom.xml | 2 +-
itests/qtest-spark/pom.xml | 24 +
itests/qtest/pom.xml | 28 +-
.../test/resources/testconfiguration.properties | 54 +-
.../org/apache/hadoop/hive/ql/QTestUtil.java | 62 +-
jdbc/pom.xml | 1 +
.../org/apache/hive/jdbc/HiveConnection.java | 34 +-
.../apache/hive/jdbc/HivePreparedStatement.java | 2 +-
.../org/apache/hive/jdbc/HiveStatement.java | 2 +-
jdbc/src/java/org/apache/hive/jdbc/Utils.java | 113 +-
.../hive/jdbc/ZooKeeperHiveClientHelper.java | 104 +-
metastore/if/hive_metastore.thrift | 5 +
.../gen/thrift/gen-cpp/ThriftHiveMetastore.cpp | 5586 ++-
.../gen/thrift/gen-cpp/ThriftHiveMetastore.h | 7942 ++--
.../ThriftHiveMetastore_server.skeleton.cpp | 5 +
.../thrift/gen-cpp/hive_metastore_constants.cpp | 2 +-
.../thrift/gen-cpp/hive_metastore_constants.h | 2 +-
.../gen/thrift/gen-cpp/hive_metastore_types.cpp | 6204 ++-
.../gen/thrift/gen-cpp/hive_metastore_types.h | 2666 +-
.../hive/metastore/api/AbortTxnRequest.java | 24 +-
.../metastore/api/AddDynamicPartitions.java | 69 +-
.../metastore/api/AddPartitionsRequest.java | 80 +-
.../hive/metastore/api/AddPartitionsResult.java | 48 +-
.../hadoop/hive/metastore/api/AggrStats.java | 54 +-
.../metastore/api/AlreadyExistsException.java | 24 +-
.../metastore/api/BinaryColumnStatsData.java | 40 +-
.../metastore/api/BooleanColumnStatsData.java | 40 +-
.../hive/metastore/api/CheckLockRequest.java | 24 +-
.../hive/metastore/api/ColumnStatistics.java | 54 +-
.../metastore/api/ColumnStatisticsData.java | 20 +-
.../metastore/api/ColumnStatisticsDesc.java | 58 +-
.../hive/metastore/api/ColumnStatisticsObj.java | 40 +-
.../hive/metastore/api/CommitTxnRequest.java | 24 +-
.../hive/metastore/api/CompactionRequest.java | 62 +-
.../hive/metastore/api/CompactionType.java | 2 +-
.../api/ConfigValSecurityException.java | 24 +-
.../api/CurrentNotificationEventId.java | 24 +-
.../hadoop/hive/metastore/api/Database.java | 115 +-
.../apache/hadoop/hive/metastore/api/Date.java | 24 +-
.../hive/metastore/api/DateColumnStatsData.java | 50 +-
.../hadoop/hive/metastore/api/Decimal.java | 41 +-
.../metastore/api/DecimalColumnStatsData.java | 50 +-
.../metastore/api/DoubleColumnStatsData.java | 50 +-
.../hive/metastore/api/DropPartitionsExpr.java | 43 +-
.../metastore/api/DropPartitionsRequest.java | 82 +-
.../metastore/api/DropPartitionsResult.java | 48 +-
.../hive/metastore/api/EnvironmentContext.java | 61 +-
.../hive/metastore/api/EventRequestType.java | 2 +-
.../hadoop/hive/metastore/api/FieldSchema.java | 58 +-
.../hive/metastore/api/FireEventRequest.java | 79 +-
.../metastore/api/FireEventRequestData.java | 20 +-
.../hive/metastore/api/FireEventResponse.java | 16 +-
.../hadoop/hive/metastore/api/Function.java | 110 +-
.../hadoop/hive/metastore/api/FunctionType.java | 2 +-
.../metastore/api/GetAllFunctionsResponse.java | 447 +
.../metastore/api/GetOpenTxnsInfoResponse.java | 54 +-
.../hive/metastore/api/GetOpenTxnsResponse.java | 53 +-
.../api/GetPrincipalsInRoleRequest.java | 24 +-
.../api/GetPrincipalsInRoleResponse.java | 46 +-
.../api/GetRoleGrantsForPrincipalRequest.java | 36 +-
.../api/GetRoleGrantsForPrincipalResponse.java | 46 +-
.../api/GrantRevokePrivilegeRequest.java | 46 +-
.../api/GrantRevokePrivilegeResponse.java | 26 +-
.../metastore/api/GrantRevokeRoleRequest.java | 86 +-
.../metastore/api/GrantRevokeRoleResponse.java | 26 +-
.../hive/metastore/api/GrantRevokeType.java | 2 +-
.../hive/metastore/api/HeartbeatRequest.java | 34 +-
.../metastore/api/HeartbeatTxnRangeRequest.java | 32 +-
.../api/HeartbeatTxnRangeResponse.java | 74 +-
.../hive/metastore/api/HiveObjectPrivilege.java | 52 +-
.../hive/metastore/api/HiveObjectRef.java | 81 +-
.../hive/metastore/api/HiveObjectType.java | 2 +-
.../apache/hadoop/hive/metastore/api/Index.java | 133 +-
.../api/IndexAlreadyExistsException.java | 24 +-
.../metastore/api/InsertEventRequestData.java | 45 +-
.../metastore/api/InvalidInputException.java | 24 +-
.../metastore/api/InvalidObjectException.java | 24 +-
.../api/InvalidOperationException.java | 24 +-
.../api/InvalidPartitionException.java | 24 +-
.../hive/metastore/api/LockComponent.java | 66 +-
.../hadoop/hive/metastore/api/LockLevel.java | 2 +-
.../hadoop/hive/metastore/api/LockRequest.java | 72 +-
.../hadoop/hive/metastore/api/LockResponse.java | 36 +-
.../hadoop/hive/metastore/api/LockState.java | 2 +-
.../hadoop/hive/metastore/api/LockType.java | 2 +-
.../hive/metastore/api/LongColumnStatsData.java | 50 +-
.../hive/metastore/api/MetaException.java | 24 +-
.../hive/metastore/api/NoSuchLockException.java | 24 +-
.../metastore/api/NoSuchObjectException.java | 24 +-
.../hive/metastore/api/NoSuchTxnException.java | 24 +-
.../hive/metastore/api/NotificationEvent.java | 66 +-
.../metastore/api/NotificationEventRequest.java | 34 +-
.../api/NotificationEventResponse.java | 46 +-
.../hive/metastore/api/OpenTxnRequest.java | 40 +-
.../hive/metastore/api/OpenTxnsResponse.java | 45 +-
.../apache/hadoop/hive/metastore/api/Order.java | 32 +-
.../hadoop/hive/metastore/api/Partition.java | 156 +-
.../hive/metastore/api/PartitionEventType.java | 2 +-
.../api/PartitionListComposingSpec.java | 46 +-
.../hive/metastore/api/PartitionSpec.java | 58 +-
.../api/PartitionSpecWithSharedSD.java | 54 +-
.../hive/metastore/api/PartitionWithoutSD.java | 124 +-
.../metastore/api/PartitionsByExprRequest.java | 67 +-
.../metastore/api/PartitionsByExprResult.java | 54 +-
.../metastore/api/PartitionsStatsRequest.java | 90 +-
.../metastore/api/PartitionsStatsResult.java | 72 +-
.../metastore/api/PrincipalPrivilegeSet.java | 184 +-
.../hive/metastore/api/PrincipalType.java | 2 +-
.../hadoop/hive/metastore/api/PrivilegeBag.java | 46 +-
.../hive/metastore/api/PrivilegeGrantInfo.java | 60 +-
.../hive/metastore/api/RequestPartsSpec.java | 56 +-
.../hadoop/hive/metastore/api/ResourceType.java | 2 +-
.../hadoop/hive/metastore/api/ResourceUri.java | 36 +-
.../apache/hadoop/hive/metastore/api/Role.java | 40 +-
.../hive/metastore/api/RolePrincipalGrant.java | 80 +-
.../hadoop/hive/metastore/api/Schema.java | 91 +-
.../hadoop/hive/metastore/api/SerDeInfo.java | 93 +-
.../api/SetPartitionsStatsRequest.java | 46 +-
.../hive/metastore/api/ShowCompactRequest.java | 16 +-
.../hive/metastore/api/ShowCompactResponse.java | 46 +-
.../api/ShowCompactResponseElement.java | 86 +-
.../hive/metastore/api/ShowLocksRequest.java | 16 +-
.../hive/metastore/api/ShowLocksResponse.java | 46 +-
.../metastore/api/ShowLocksResponseElement.java | 114 +-
.../hadoop/hive/metastore/api/SkewedInfo.java | 147 +-
.../hive/metastore/api/StorageDescriptor.java | 242 +-
.../metastore/api/StringColumnStatsData.java | 48 +-
.../apache/hadoop/hive/metastore/api/Table.java | 189 +-
.../hive/metastore/api/TableStatsRequest.java | 61 +-
.../hive/metastore/api/TableStatsResult.java | 46 +-
.../hive/metastore/api/ThriftHiveMetastore.java | 33417 +++++++++++------
.../hive/metastore/api/TxnAbortedException.java | 24 +-
.../hadoop/hive/metastore/api/TxnInfo.java | 52 +-
.../hive/metastore/api/TxnOpenException.java | 24 +-
.../hadoop/hive/metastore/api/TxnState.java | 2 +-
.../apache/hadoop/hive/metastore/api/Type.java | 72 +-
.../hive/metastore/api/UnknownDBException.java | 24 +-
.../api/UnknownPartitionException.java | 24 +-
.../metastore/api/UnknownTableException.java | 24 +-
.../hive/metastore/api/UnlockRequest.java | 24 +-
.../hadoop/hive/metastore/api/Version.java | 32 +-
.../metastore/api/hive_metastoreConstants.java | 7 +-
.../gen-php/metastore/ThriftHiveMetastore.php | 4593 ++-
.../src/gen/thrift/gen-php/metastore/Types.php | 1184 +-
.../hive_metastore/ThriftHiveMetastore-remote | 616 +-
.../hive_metastore/ThriftHiveMetastore.py | 4601 ++-
.../thrift/gen-py/hive_metastore/constants.py | 2 +-
.../gen/thrift/gen-py/hive_metastore/ttypes.py | 856 +-
.../thrift/gen-rb/hive_metastore_constants.rb | 2 +-
.../gen/thrift/gen-rb/hive_metastore_types.rb | 18 +-
.../gen/thrift/gen-rb/thrift_hive_metastore.rb | 62 +-
.../hadoop/hive/metastore/HiveAlterHandler.java | 2 +-
.../hadoop/hive/metastore/HiveMetaStore.java | 106 +-
.../hive/metastore/HiveMetaStoreClient.java | 7 +
.../hive/metastore/HouseKeeperService.java | 39 +
.../hadoop/hive/metastore/IMetaStoreClient.java | 8 +-
.../hive/metastore/MetaStoreDirectSql.java | 69 +-
.../hadoop/hive/metastore/MetaStoreUtils.java | 17 +-
.../hadoop/hive/metastore/ObjectStore.java | 35 +-
.../apache/hadoop/hive/metastore/RawStore.java | 7 +
.../hive/metastore/RetryingMetaStoreClient.java | 32 +-
.../hadoop/hive/metastore/txn/TxnHandler.java | 185 +-
.../metastore/txn/ValidCompactorTxnList.java | 2 +-
.../DummyRawStoreControlledCommit.java | 7 +
.../DummyRawStoreForJdoConnection.java | 6 +
.../metastore/txn/TestCompactionTxnHandler.java | 40 +-
.../hive/metastore/txn/TestTxnHandler.java | 73 +-
packaging/src/main/assembly/bin.xml | 17 +-
pom.xml | 54 +-
ql/if/queryplan.thrift | 1 +
ql/pom.xml | 24 +-
.../gen/thrift/gen-cpp/queryplan_constants.cpp | 2 +-
ql/src/gen/thrift/gen-cpp/queryplan_constants.h | 2 +-
ql/src/gen/thrift/gen-cpp/queryplan_types.cpp | 796 +-
ql/src/gen/thrift/gen-cpp/queryplan_types.h | 294 +-
.../hadoop/hive/ql/plan/api/Adjacency.java | 65 +-
.../hadoop/hive/ql/plan/api/AdjacencyType.java | 2 +-
.../apache/hadoop/hive/ql/plan/api/Graph.java | 87 +-
.../hadoop/hive/ql/plan/api/NodeType.java | 2 +-
.../hadoop/hive/ql/plan/api/Operator.java | 142 +-
.../hadoop/hive/ql/plan/api/OperatorType.java | 7 +-
.../apache/hadoop/hive/ql/plan/api/Query.java | 176 +-
.../hadoop/hive/ql/plan/api/QueryPlan.java | 62 +-
.../apache/hadoop/hive/ql/plan/api/Stage.java | 172 +-
.../hadoop/hive/ql/plan/api/StageType.java | 2 +-
.../apache/hadoop/hive/ql/plan/api/Task.java | 182 +-
.../hadoop/hive/ql/plan/api/TaskType.java | 2 +-
ql/src/gen/thrift/gen-php/Types.php | 119 +-
ql/src/gen/thrift/gen-py/queryplan/constants.py | 2 +-
ql/src/gen/thrift/gen-py/queryplan/ttypes.py | 87 +-
ql/src/gen/thrift/gen-rb/queryplan_constants.rb | 2 +-
ql/src/gen/thrift/gen-rb/queryplan_types.rb | 7 +-
...tringGroupColumnCompareStringGroupColumn.txt | 112 +-
...gGroupColumnCompareStringGroupScalarBase.txt | 12 +-
...gGroupScalarCompareStringGroupColumnBase.txt | 12 +-
...tringGroupColumnCompareStringGroupColumn.txt | 112 +-
...gGroupColumnCompareStringGroupScalarBase.txt | 12 +-
...gGroupScalarCompareStringGroupColumnBase.txt | 12 +-
.../UDAFTemplates/VectorUDAFMinMaxString.txt | 3 +-
.../java/org/apache/hadoop/hive/ql/Context.java | 1 -
.../java/org/apache/hadoop/hive/ql/Driver.java | 222 +-
.../org/apache/hadoop/hive/ql/ErrorMsg.java | 13 +-
.../org/apache/hadoop/hive/ql/QueryPlan.java | 18 +-
.../apache/hadoop/hive/ql/exec/ExplainTask.java | 7 +-
.../hadoop/hive/ql/exec/FetchOperator.java | 5 +-
.../hadoop/hive/ql/exec/FileSinkOperator.java | 2 +-
.../hadoop/hive/ql/exec/FunctionRegistry.java | 66 +-
.../hadoop/hive/ql/exec/FunctionTask.java | 2 +-
.../hive/ql/exec/HashTableSinkOperator.java | 6 +-
.../apache/hadoop/hive/ql/exec/JoinUtil.java | 87 +-
.../hadoop/hive/ql/exec/KeyWrapperFactory.java | 18 +-
.../hadoop/hive/ql/exec/MapJoinOperator.java | 61 +-
.../apache/hadoop/hive/ql/exec/MoveTask.java | 4 +-
.../apache/hadoop/hive/ql/exec/Operator.java | 31 +-
.../hadoop/hive/ql/exec/OperatorFactory.java | 11 +
.../hadoop/hive/ql/exec/ScriptOperator.java | 85 +-
.../ql/exec/SparkHashTableSinkOperator.java | 17 +-
.../apache/hadoop/hive/ql/exec/Utilities.java | 38 +-
.../hadoop/hive/ql/exec/mr/ExecDriver.java | 30 +-
.../hive/ql/exec/mr/HadoopJobExecHelper.java | 20 +-
.../persistence/HybridHashTableContainer.java | 33 +
.../persistence/MapJoinBytesTableContainer.java | 5 +
.../exec/persistence/MapJoinTableContainer.java | 5 +
.../persistence/MapJoinTableContainerSerDe.java | 63 +-
.../hive/ql/exec/spark/HashTableLoader.java | 26 +-
.../ql/exec/spark/HiveSparkClientFactory.java | 10 +-
.../hive/ql/exec/spark/KryoSerializer.java | 4 +
.../ql/exec/spark/RemoteHiveSparkClient.java | 57 +-
.../exec/spark/SparkDynamicPartitionPruner.java | 268 +
.../hadoop/hive/ql/exec/spark/SparkPlan.java | 3 -
.../hive/ql/exec/spark/SparkPlanGenerator.java | 15 +-
.../ql/exec/spark/SparkReduceRecordHandler.java | 2 -
.../hadoop/hive/ql/exec/spark/SparkTask.java | 1 +
.../hive/ql/exec/spark/SparkUtilities.java | 56 +
.../spark/status/impl/LocalSparkJobStatus.java | 2 +-
.../spark/status/impl/RemoteSparkJobStatus.java | 2 +-
.../hive/ql/exec/tez/KeyValuesAdapter.java | 47 +
.../hive/ql/exec/tez/KeyValuesFromKeyValue.java | 90 +
.../ql/exec/tez/KeyValuesFromKeyValues.java | 48 +
.../hive/ql/exec/tez/ReduceRecordProcessor.java | 11 +-
.../hive/ql/exec/tez/ReduceRecordSource.java | 15 +-
.../hive/ql/exec/tez/TezSessionState.java | 2 +
.../apache/hadoop/hive/ql/exec/tez/TezTask.java | 10 +-
.../hive/ql/exec/vector/BytesColumnVector.java | 333 -
.../hive/ql/exec/vector/ColumnVector.java | 170 -
.../ql/exec/vector/DecimalColumnVector.java | 113 -
.../hive/ql/exec/vector/DoubleColumnVector.java | 149 -
.../hive/ql/exec/vector/LongColumnVector.java | 193 -
.../ql/exec/vector/VectorHashKeyWrapper.java | 2 +-
.../ql/exec/vector/VectorMapJoinOperator.java | 1 -
.../ql/exec/vector/VectorSelectOperator.java | 3 -
.../VectorSparkHashTableSinkOperator.java | 104 +
...VectorSparkPartitionPruningSinkOperator.java | 99 +
.../ql/exec/vector/VectorizationContext.java | 56 +-
.../hive/ql/exec/vector/VectorizedRowBatch.java | 206 -
.../BRoundWithNumDigitsDoubleToDouble.java | 42 +
.../expressions/CastStringGroupToString.java | 40 +
.../ql/exec/vector/expressions/ColAndCol.java | 34 +-
.../ql/exec/vector/expressions/ColOrCol.java | 42 +-
.../exec/vector/expressions/CuckooSetBytes.java | 2 +-
.../ql/exec/vector/expressions/DecimalUtil.java | 18 +
.../vector/expressions/FilterExprAndExpr.java | 8 +-
.../vector/expressions/FilterExprOrExpr.java | 140 +-
...FuncBRoundWithNumDigitsDecimalToDecimal.java | 40 +
.../FuncRoundWithNumDigitsDecimalToDecimal.java | 14 +-
.../ql/exec/vector/expressions/MathExpr.java | 22 +
.../hive/ql/exec/vector/expressions/NotCol.java | 14 +-
.../ql/exec/vector/expressions/StringExpr.java | 51 +
.../mapjoin/VectorMapJoinCommonOperator.java | 1 +
...VectorMapJoinInnerBigOnlyStringOperator.java | 4 +-
.../VectorMapJoinInnerStringOperator.java | 4 +-
.../VectorMapJoinLeftSemiStringOperator.java | 4 +-
.../VectorMapJoinOuterStringOperator.java | 4 +-
.../fast/VectorMapJoinFastHashTable.java | 5 +
.../fast/VectorMapJoinFastTableContainer.java | 5 +
.../hashtable/VectorMapJoinHashTable.java | 4 +
.../VectorMapJoinOptimizedHashTable.java | 4 +
.../hadoop/hive/ql/hooks/LineageInfo.java | 9 +-
.../hadoop/hive/ql/hooks/LineageLogger.java | 48 +-
.../hive/ql/hooks/PostExecOrcFileDump.java | 120 +
.../ql/hooks/PostExecTezSummaryPrinter.java | 72 +
.../org/apache/hadoop/hive/ql/io/AcidUtils.java | 183 +-
.../hive/ql/io/CombineHiveInputFormat.java | 98 +-
.../hadoop/hive/ql/io/HiveInputFormat.java | 46 +-
.../apache/hadoop/hive/ql/io/orc/FileDump.java | 52 +-
.../hadoop/hive/ql/io/orc/MemoryManager.java | 4 +-
.../apache/hadoop/hive/ql/io/orc/OrcConf.java | 191 +
.../apache/hadoop/hive/ql/io/orc/OrcFile.java | 161 +-
.../hadoop/hive/ql/io/orc/OrcInputFormat.java | 306 +-
.../hadoop/hive/ql/io/orc/OrcOutputFormat.java | 67 +-
.../hive/ql/io/orc/OrcRawRecordMerger.java | 20 +-
.../apache/hadoop/hive/ql/io/orc/OrcSerde.java | 6 +-
.../apache/hadoop/hive/ql/io/orc/OrcSplit.java | 25 +-
.../apache/hadoop/hive/ql/io/orc/Reader.java | 47 +-
.../hadoop/hive/ql/io/orc/ReaderImpl.java | 260 +-
.../hadoop/hive/ql/io/orc/RecordReaderImpl.java | 83 +-
.../hive/ql/io/orc/TreeReaderFactory.java | 30 +-
.../hadoop/hive/ql/io/orc/WriterImpl.java | 27 +-
.../hive/ql/io/parquet/LeafFilterFactory.java | 43 +-
.../parquet/read/DataWritableReadSupport.java | 10 +-
.../read/ParquetFilterPredicateConverter.java | 145 +
.../read/ParquetRecordReaderWrapper.java | 125 +-
.../ql/io/rcfile/stats/PartialScanTask.java | 20 +-
.../hive/ql/io/sarg/ConvertAstToSearchArg.java | 436 +
.../hive/ql/io/sarg/SearchArgumentFactory.java | 56 -
.../hive/ql/io/sarg/SearchArgumentImpl.java | 1027 -
.../hadoop/hive/ql/lib/DefaultGraphWalker.java | 84 +-
.../hadoop/hive/ql/lib/ForwardWalker.java | 35 +-
.../hadoop/hive/ql/lib/LevelOrderWalker.java | 153 +
.../hadoop/hive/ql/lib/PreOrderOnceWalker.java | 44 +
.../hadoop/hive/ql/lib/PreOrderWalker.java | 2 +-
.../hadoop/hive/ql/lib/RuleExactMatch.java | 21 +-
.../apache/hadoop/hive/ql/lib/RuleRegExp.java | 197 +-
.../hadoop/hive/ql/lockmgr/DbLockManager.java | 12 +-
.../hadoop/hive/ql/lockmgr/DbTxnManager.java | 71 +-
.../hadoop/hive/ql/lockmgr/DummyTxnManager.java | 8 +
.../hadoop/hive/ql/lockmgr/HiveTxnManager.java | 21 +
.../hive/ql/lockmgr/HiveTxnManagerImpl.java | 10 +
.../hadoop/hive/ql/lockmgr/LockException.java | 8 +-
.../hadoop/hive/ql/log/HiveEventCounter.java | 135 +
.../apache/hadoop/hive/ql/log/NullAppender.java | 63 +
.../ql/log/PidDailyRollingFileAppender.java | 33 -
.../hive/ql/log/PidFilePatternConverter.java | 62 +
.../apache/hadoop/hive/ql/metadata/Hive.java | 153 +-
.../hadoop/hive/ql/metadata/HiveException.java | 3 +
.../hadoop/hive/ql/metadata/Partition.java | 2 +-
.../ql/metadata/SessionHiveMetaStoreClient.java | 2 +-
.../hadoop/hive/ql/metadata/TableIterable.java | 104 +
.../hadoop/hive/ql/optimizer/ColumnPruner.java | 12 +-
.../hive/ql/optimizer/ColumnPrunerProcCtx.java | 95 +-
.../ql/optimizer/ColumnPrunerProcFactory.java | 42 +-
.../hive/ql/optimizer/ConstantPropagate.java | 12 +-
.../optimizer/ConstantPropagateProcFactory.java | 311 +-
.../hive/ql/optimizer/ConvertJoinMapJoin.java | 213 +-
.../DynamicPartitionPruningOptimization.java | 44 +-
.../hive/ql/optimizer/GenMapRedUtils.java | 20 +-
.../hive/ql/optimizer/GroupByOptimizer.java | 58 +-
.../ql/optimizer/IdentityProjectRemover.java | 15 +
.../hadoop/hive/ql/optimizer/IndexUtils.java | 13 +-
.../hive/ql/optimizer/MapJoinProcessor.java | 44 +-
.../ql/optimizer/OperatorComparatorFactory.java | 552 +
.../hadoop/hive/ql/optimizer/Optimizer.java | 15 +-
.../hive/ql/optimizer/PointLookupOptimizer.java | 378 +
.../hadoop/hive/ql/optimizer/PrunerUtils.java | 14 +-
.../ql/optimizer/ReduceSinkMapJoinProc.java | 84 +-
.../hive/ql/optimizer/SimpleFetchOptimizer.java | 5 +-
.../SparkRemoveDynamicPruningBySize.java | 73 +
.../ql/optimizer/calcite/HiveRelOptUtil.java | 23 -
.../calcite/reloperators/HiveFilter.java | 2 +-
.../calcite/reloperators/HiveSort.java | 29 +-
.../rules/HiveJoinProjectTransposeRule.java | 53 +-
.../calcite/rules/HiveJoinToMultiJoinRule.java | 82 +-
.../calcite/translator/ExprNodeConverter.java | 60 +-
.../calcite/translator/HiveOpConverter.java | 104 +-
.../calcite/translator/JoinTypeCheckCtx.java | 2 +-
.../translator/PlanModifierForASTConv.java | 2 +-
.../translator/PlanModifierForReturnPath.java | 6 +-
.../calcite/translator/TypeConverter.java | 13 +-
.../correlation/AbstractCorrelationProcCtx.java | 7 +
.../correlation/CorrelationUtilities.java | 11 +-
.../correlation/ReduceSinkDeDuplication.java | 6 +-
.../ql/optimizer/index/RewriteCanApplyCtx.java | 8 +-
.../ql/optimizer/lineage/ExprProcFactory.java | 9 +-
.../hive/ql/optimizer/lineage/Generator.java | 4 +-
.../hive/ql/optimizer/lineage/LineageCtx.java | 34 +-
.../ql/optimizer/lineage/OpProcFactory.java | 10 +-
.../annotation/AnnotateWithOpTraits.java | 6 +-
.../ql/optimizer/pcr/PcrExprProcFactory.java | 154 +-
.../BucketingSortingInferenceOptimizer.java | 8 +-
.../physical/GenSparkSkewJoinProcessor.java | 14 +-
.../physical/NullScanTaskDispatcher.java | 6 +-
.../hive/ql/optimizer/physical/Vectorizer.java | 40 +-
.../hive/ql/optimizer/ppr/OpProcFactory.java | 3 +-
.../hive/ql/optimizer/ppr/PartitionPruner.java | 69 +-
.../spark/CombineEquivalentWorkResolver.java | 292 +
.../spark/SparkPartitionPruningSinkDesc.java | 100 +
.../spark/SparkReduceSinkMapJoinProc.java | 2 +-
.../annotation/AnnotateWithStatistics.java | 6 +-
.../stats/annotation/StatsRulesProcFactory.java | 49 +-
.../ql/optimizer/unionproc/UnionProcessor.java | 10 +-
.../apache/hadoop/hive/ql/parse/ASTNode.java | 139 +-
.../hive/ql/parse/BaseSemanticAnalyzer.java | 13 +
.../hadoop/hive/ql/parse/CalcitePlanner.java | 49 +-
.../ql/parse/ColumnStatsSemanticAnalyzer.java | 6 +-
.../hive/ql/parse/DDLSemanticAnalyzer.java | 11 +
.../hive/ql/parse/ExplainSemanticAnalyzer.java | 2 +-
.../hadoop/hive/ql/parse/GenMapRedWalker.java | 2 +-
.../hadoop/hive/ql/parse/GenTezProcContext.java | 12 +
.../hadoop/hive/ql/parse/GenTezUtils.java | 23 +-
.../apache/hadoop/hive/ql/parse/GenTezWork.java | 81 +-
.../hadoop/hive/ql/parse/GenTezWorkWalker.java | 2 +-
.../org/apache/hadoop/hive/ql/parse/HiveLexer.g | 11 +
.../apache/hadoop/hive/ql/parse/HiveParser.g | 70 +
.../hadoop/hive/ql/parse/IdentifiersParser.g | 75 +-
.../hadoop/hive/ql/parse/LeadLagInfo.java | 4 +-
.../hive/ql/parse/LoadSemanticAnalyzer.java | 38 +-
.../apache/hadoop/hive/ql/parse/ParseUtils.java | 53 +-
.../hadoop/hive/ql/parse/SemanticAnalyzer.java | 111 +-
.../hive/ql/parse/SemanticAnalyzerFactory.java | 12 +
.../apache/hadoop/hive/ql/parse/TezWalker.java | 2 +-
.../hadoop/hive/ql/parse/TypeCheckCtx.java | 15 +-
.../hive/ql/parse/TypeCheckProcFactory.java | 46 +-
.../ql/parse/spark/GenSparkProcContext.java | 14 +-
.../hive/ql/parse/spark/GenSparkUtils.java | 111 +-
.../hive/ql/parse/spark/GenSparkWorkWalker.java | 2 +-
.../parse/spark/OptimizeSparkProcContext.java | 16 +-
.../hive/ql/parse/spark/SparkCompiler.java | 180 +-
.../SparkPartitionPruningSinkOperator.java | 142 +
.../hive/ql/parse/spark/SplitOpTreeForDPP.java | 151 +
.../apache/hadoop/hive/ql/plan/BaseWork.java | 2 +-
.../hive/ql/plan/CommonMergeJoinDesc.java | 4 +
.../apache/hadoop/hive/ql/plan/ExplainWork.java | 19 +-
.../hive/ql/plan/ExprNodeConstantDesc.java | 29 +-
.../hadoop/hive/ql/plan/ExprNodeDesc.java | 23 +-
.../hadoop/hive/ql/plan/ExprNodeDescUtils.java | 115 +
.../apache/hadoop/hive/ql/plan/FilterDesc.java | 14 +-
.../hadoop/hive/ql/plan/HiveOperation.java | 32 +-
.../hadoop/hive/ql/plan/JoinCondDesc.java | 14 +
.../apache/hadoop/hive/ql/plan/JoinDesc.java | 4 +
.../apache/hadoop/hive/ql/plan/MapJoinDesc.java | 11 +
.../org/apache/hadoop/hive/ql/plan/MapWork.java | 20 +-
.../hadoop/hive/ql/plan/PartitionDesc.java | 39 +-
.../apache/hadoop/hive/ql/plan/PlanUtils.java | 9 +-
.../hadoop/hive/ql/plan/ReduceSinkDesc.java | 1 +
.../apache/hadoop/hive/ql/plan/ReduceWork.java | 2 +-
.../hive/ql/plan/SparkHashTableSinkDesc.java | 11 +
.../hadoop/hive/ql/plan/TableScanDesc.java | 6 +-
.../hadoop/hive/ql/ppd/ExprWalkerInfo.java | 136 +-
.../hive/ql/ppd/ExprWalkerProcFactory.java | 107 +-
.../hadoop/hive/ql/ppd/OpProcFactory.java | 11 +-
.../ql/ppd/PredicateTransitivePropagate.java | 4 +-
.../hive/ql/ppd/SyntheticJoinPredicate.java | 18 +-
.../ql/processors/CommandProcessorResponse.java | 21 +-
.../hadoop/hive/ql/processors/HiveCommand.java | 3 +
.../hadoop/hive/ql/processors/SetProcessor.java | 4 +
.../authorization/plugin/HiveOperationType.java | 5 +
.../plugin/sqlstd/Operation2Privilege.java | 11 +
.../hadoop/hive/ql/session/SessionState.java | 44 +-
.../apache/hadoop/hive/ql/stats/StatsUtils.java | 54 +-
.../hive/ql/txn/AcidHouseKeeperService.java | 104 +
.../hive/ql/txn/compactor/CompactorMR.java | 19 +-
.../hadoop/hive/ql/txn/compactor/Initiator.java | 10 +-
.../hadoop/hive/ql/txn/compactor/Worker.java | 2 +-
.../hive/ql/udf/generic/GenericUDAFStd.java | 2 +
.../ql/udf/generic/GenericUDAFVariance.java | 2 +
.../hadoop/hive/ql/udf/generic/GenericUDF.java | 14 +-
.../hive/ql/udf/generic/GenericUDFAesBase.java | 205 +
.../ql/udf/generic/GenericUDFAesDecrypt.java | 50 +
.../ql/udf/generic/GenericUDFAesEncrypt.java | 50 +
.../hive/ql/udf/generic/GenericUDFBRound.java | 68 +
.../ql/udf/generic/GenericUDFBaseNumeric.java | 4 +-
.../hive/ql/udf/generic/GenericUDFBasePad.java | 8 +-
.../hive/ql/udf/generic/GenericUDFBridge.java | 8 +-
.../hive/ql/udf/generic/GenericUDFIn.java | 14 +-
.../hive/ql/udf/generic/GenericUDFMapKeys.java | 6 +-
.../hive/ql/udf/generic/GenericUDFNvl.java | 2 +-
.../hive/ql/udf/generic/GenericUDFOPAnd.java | 63 +-
.../hive/ql/udf/generic/GenericUDFOPEqual.java | 4 +
.../generic/GenericUDFOPEqualOrGreaterThan.java | 4 +
.../generic/GenericUDFOPEqualOrLessThan.java | 4 +
.../ql/udf/generic/GenericUDFOPGreaterThan.java | 4 +
.../ql/udf/generic/GenericUDFOPLessThan.java | 4 +
.../ql/udf/generic/GenericUDFOPNotEqual.java | 5 +
.../ql/udf/generic/GenericUDFOPNotNull.java | 4 +
.../hive/ql/udf/generic/GenericUDFOPNull.java | 4 +
.../hive/ql/udf/generic/GenericUDFOPOr.java | 63 +-
.../ql/udf/generic/GenericUDFParamUtils.java | 8 +-
.../hive/ql/udf/generic/GenericUDFRound.java | 41 +-
.../hive/ql/udf/generic/GenericUDFStruct.java | 25 +-
.../hadoop/hive/ql/udf/generic/RoundUtils.java | 14 +
.../main/resources/hive-exec-log4j.properties | 77 -
ql/src/main/resources/hive-exec-log4j2.xml | 110 +
ql/src/main/resources/tez-container-log4j2.xml | 49 +
.../apache/hadoop/hive/ql/TestTxnCommands.java | 494 +
.../apache/hadoop/hive/ql/TestTxnCommands2.java | 126 +-
.../hadoop/hive/ql/exec/TestOperators.java | 16 +
.../exec/vector/TestVectorizationContext.java | 93 +
.../exec/vector/TestVectorizedRowBatchCtx.java | 6 +-
.../TestVectorLogicalExpressions.java | 282 +
.../apache/hadoop/hive/ql/io/TestAcidUtils.java | 27 +-
.../hive/ql/io/orc/TestInputOutputFormat.java | 137 +-
.../hadoop/hive/ql/io/orc/TestOrcFile.java | 11 +-
.../hive/ql/io/orc/TestRecordReaderImpl.java | 69 +-
.../hive/ql/io/orc/TestVectorizedORCReader.java | 75 +-
.../parquet/TestParquetRecordReaderWrapper.java | 173 +
.../read/TestParquetFilterPredicate.java | 72 +
.../ql/io/sarg/TestConvertAstToSearchArg.java | 2884 ++
.../hive/ql/io/sarg/TestSearchArgumentImpl.java | 2891 +-
.../hadoop/hive/ql/lib/TestRuleRegExp.java | 118 +
.../hive/ql/lockmgr/TestDbTxnManager.java | 74 +-
.../hive/ql/lockmgr/TestDbTxnManager2.java | 2 +-
.../hadoop/hive/ql/log/TestLog4j2Appenders.java | 95 +
.../hadoop/hive/ql/metadata/StringAppender.java | 128 +
.../hadoop/hive/ql/metadata/TestHive.java | 50 +-
.../TestSQL11ReservedKeyWordsNegative.java | 32 +-
.../TestSQL11ReservedKeyWordsPositive.java | 23 +-
.../parse/TestUpdateDeleteSemanticAnalyzer.java | 34 +-
.../positive/TestTransactionStatement.java | 102 +
.../hive/ql/session/TestSessionState.java | 2 +-
.../udf/generic/TestGenericUDFAesDecrypt.java | 233 +
.../udf/generic/TestGenericUDFAesEncrypt.java | 228 +
.../ql/udf/generic/TestGenericUDFBRound.java | 202 +
.../clientnegative/alter_table_wrong_location.q | 4 +
.../queries/clientnegative/ctas_noemptyfolder.q | 10 +
.../queries/clientnegative/load_orc_negative3.q | 6 +
.../clientnegative/mismatch_columns_insertion.q | 4 +
.../queries/clientnegative/nvl_mismatch_type.q | 20 +
.../annotate_stats_deep_filters.q | 67 +
.../clientpositive/authorization_1_sql_std.q | 4 +
.../clientpositive/cast_tinyint_to_double.q | 7 +
ql/src/test/queries/clientpositive/cbo_rp_gby.q | 24 +
.../queries/clientpositive/cbo_rp_gby_empty.q | 30 +
.../test/queries/clientpositive/cbo_rp_insert.q | 17 +
.../test/queries/clientpositive/cbo_rp_join.q | 65 +
.../test/queries/clientpositive/cbo_rp_limit.q | 16 +
.../clientpositive/cbo_rp_outer_join_ppr.q | 40 +
.../queries/clientpositive/cbo_rp_semijoin.q | 17 +
.../clientpositive/cbo_rp_simple_select.q | 56 +
.../test/queries/clientpositive/cbo_rp_stats.q | 10 +
.../queries/clientpositive/cbo_rp_subq_exists.q | 67 +
.../queries/clientpositive/cbo_rp_subq_in.q | 56 +
.../queries/clientpositive/cbo_rp_subq_not_in.q | 81 +
.../queries/clientpositive/cbo_rp_udf_udaf.q | 20 +
.../test/queries/clientpositive/cbo_rp_union.q | 14 +
.../test/queries/clientpositive/cbo_rp_views.q | 46 +
.../queries/clientpositive/cbo_rp_windowing.q | 21 +
.../queries/clientpositive/cbo_rp_windowing_2.q | 439 +
ql/src/test/queries/clientpositive/char_udf1.q | 9 +-
.../clientpositive/columnstats_quoting.q | 8 +
.../queries/clientpositive/compustat_avro.q | 8 +-
.../test/queries/clientpositive/create_like.q | 12 +
.../queries/clientpositive/dynamic_rdd_cache.q | 111 +
.../queries/clientpositive/flatten_and_or.q | 19 +
.../queries/clientpositive/folder_predicate.q | 32 +
ql/src/test/queries/clientpositive/groupby13.q | 16 +
.../queries/clientpositive/groupby1_map_nomap.q | 2 +
ql/src/test/queries/clientpositive/groupby5.q | 2 +
ql/src/test/queries/clientpositive/groupby6.q | 2 +
.../clientpositive/groupby_grouping_id2.q | 2 +
.../clientpositive/groupby_ppr_multi_distinct.q | 2 +
ql/src/test/queries/clientpositive/having2.q | 27 +
.../clientpositive/insertoverwrite_bucket.q | 28 +
ql/src/test/queries/clientpositive/keyword_2.q | 14 +
ql/src/test/queries/clientpositive/lineage3.q | 22 +-
.../clientpositive/load_dyn_part14_win.q | 18 +-
.../test/queries/clientpositive/load_orc_part.q | 4 +
.../queries/clientpositive/macro_duplicate.q | 10 +
.../queries/clientpositive/multi_column_in.q | 71 +
.../test/queries/clientpositive/orc_file_dump.q | 57 +
.../test/queries/clientpositive/orc_ppd_basic.q | 177 +
.../clientpositive/parquet_ppd_boolean.q | 35 +
.../queries/clientpositive/parquet_ppd_char.q | 76 +
.../queries/clientpositive/parquet_ppd_date.q | 101 +
.../clientpositive/parquet_ppd_decimal.q | 163 +
.../clientpositive/parquet_ppd_partition.q | 9 +
.../clientpositive/parquet_ppd_timestamp.q | 98 +
.../clientpositive/parquet_ppd_varchar.q | 76 +
.../clientpositive/parquet_predicate_pushdown.q | 292 +
.../test/queries/clientpositive/pointlookup.q | 59 +
.../test/queries/clientpositive/pointlookup2.q | 51 +
.../test/queries/clientpositive/pointlookup3.q | 41 +
.../queries/clientpositive/ptfgroupbyjoin.q | 61 +
.../queries/clientpositive/selectDistinctStar.q | 2 +
.../clientpositive/smb_join_partition_key.q | 35 +
.../spark_dynamic_partition_pruning.q | 180 +
.../spark_dynamic_partition_pruning_2.q | 118 +
...spark_vectorized_dynamic_partition_pruning.q | 192 +
.../test/queries/clientpositive/stats_ppr_all.q | 24 +
ql/src/test/queries/clientpositive/structin.q | 23 +
.../clientpositive/tez_dynpart_hashjoin_1.q | 101 +
.../clientpositive/tez_dynpart_hashjoin_2.q | 83 +
.../tez_vector_dynpart_hashjoin_1.q | 102 +
.../tez_vector_dynpart_hashjoin_2.q | 84 +
.../queries/clientpositive/udf_aes_decrypt.q | 21 +
.../queries/clientpositive/udf_aes_encrypt.q | 21 +
ql/src/test/queries/clientpositive/udf_bround.q | 44 +
.../clientpositive/udf_from_utc_timestamp.q | 30 +-
.../queries/clientpositive/udf_percentile.q | 2 +
.../clientpositive/udf_to_utc_timestamp.q | 30 +-
.../clientpositive/unionall_unbalancedppd.q | 195 +
.../test/queries/clientpositive/varchar_udf1.q | 6 +-
.../test/queries/clientpositive/vector_acid3.q | 17 +
.../vector_aggregate_without_gby.q | 14 +
.../test/queries/clientpositive/vector_bround.q | 14 +
.../clientpositive/vector_cast_constant.q | 4 +-
.../queries/clientpositive/vectorized_casts.q | 6 +
.../alter_table_wrong_location.q.out | 9 +
.../clientnegative/char_pad_convert_fail0.q.out | 2 +-
.../clientnegative/char_pad_convert_fail1.q.out | 2 +-
.../clientnegative/char_pad_convert_fail3.q.out | 2 +-
.../clientnegative/ctas_noemptyfolder.q.out | 19 +
.../clientnegative/exchange_partition.q.out | 2 +-
.../clientnegative/load_orc_negative3.q.out | 25 +
.../mismatch_columns_insertion.q.out | 9 +
.../clientnegative/nvl_mismatch_type.q.out | 43 +
.../groupby2_map_skew_multi_distinct.q.out | 9 +
.../spark/groupby2_multi_distinct.q.out | 9 +
.../groupby3_map_skew_multi_distinct.q.out | 9 +
.../spark/groupby3_multi_distinct.q.out | 9 +
.../spark/groupby_grouping_sets7.q.out | 9 +
.../annotate_stats_deep_filters.q.out | 244 +
.../clientpositive/annotate_stats_filter.q.out | 10 +-
.../authorization_1_sql_std.q.out | 11 +
.../clientpositive/cast_tinyint_to_double.q.out | 38 +
.../results/clientpositive/cbo_rp_gby.q.out | 124 +
.../clientpositive/cbo_rp_gby_empty.q.out | 77 +
.../results/clientpositive/cbo_rp_insert.q.out | 89 +
.../results/clientpositive/cbo_rp_join.q.out | 15028 ++++++++
.../results/clientpositive/cbo_rp_join0.q.out | 4 +-
.../results/clientpositive/cbo_rp_limit.q.out | 90 +
.../cbo_rp_outer_join_ppr.q.java1.7.out | 855 +
.../clientpositive/cbo_rp_semijoin.q.out | 440 +
.../clientpositive/cbo_rp_simple_select.q.out | 755 +
.../results/clientpositive/cbo_rp_stats.q.out | 14 +
.../clientpositive/cbo_rp_subq_exists.q.out | 297 +
.../results/clientpositive/cbo_rp_subq_in.q.out | 151 +
.../clientpositive/cbo_rp_subq_not_in.q.out | 365 +
.../clientpositive/cbo_rp_udf_udaf.q.out | 125 +
.../results/clientpositive/cbo_rp_union.q.out | 920 +
.../results/clientpositive/cbo_rp_views.q.out | 237 +
.../clientpositive/cbo_rp_windowing.q.out | 293 +
.../clientpositive/cbo_rp_windowing_2.q.out | 2338 ++
.../clientpositive/char_udf1.q.java1.7.out | 22 +-
.../clientpositive/columnstats_quoting.q.out | 114 +
.../results/clientpositive/compustat_avro.q.out | 8 +-
.../clientpositive/constprog_partitioner.q.out | 30 +-
.../clientpositive/convert_enum_to_string.q.out | 9 +-
.../clientpositive/correlationoptimizer10.q.out | 48 +-
.../clientpositive/correlationoptimizer5.q.out | 6 +-
.../results/clientpositive/create_like.q.out | 66 +
.../results/clientpositive/decimal_udf.q.out | 18 +-
.../clientpositive/dynamic_rdd_cache.q.out | 1428 +
.../clientpositive/exchange_partition.q.out | 4 +-
.../clientpositive/exchange_partition2.q.out | 4 +-
.../clientpositive/exchange_partition3.q.out | 4 +-
.../clientpositive/filter_cond_pushdown.q.out | 32 +-
.../clientpositive/filter_join_breaktask.q.out | 12 +-
.../results/clientpositive/flatten_and_or.q.out | 66 +
.../test/results/clientpositive/fold_when.q.out | 16 +-
.../clientpositive/folder_predicate.q.out | 368 +
.../test/results/clientpositive/groupby13.q.out | 86 +
.../clientpositive/groupby1_map_nomap.q.out | 8 +-
.../test/results/clientpositive/groupby5.q.out | 8 +-
.../test/results/clientpositive/groupby6.q.out | 8 +-
.../clientpositive/groupby_duplicate_key.q.out | 16 +-
.../clientpositive/groupby_grouping_id2.q.out | 28 +-
.../groupby_multi_single_reducer2.q.out | 2 +-
.../groupby_multi_single_reducer3.q.out | 12 +-
.../groupby_ppr_multi_distinct.q.out | 8 +-
.../clientpositive/groupby_sort_1_23.q.out | 56 +-
.../clientpositive/groupby_sort_skew_1_23.q.out | 56 +-
.../test/results/clientpositive/having2.q.out | 353 +
.../clientpositive/infer_const_type.q.out | 7 +-
.../clientpositive/input_testxpath2.q.out | 2 +-
.../clientpositive/input_testxpath4.q.out | 2 +-
.../clientpositive/insertoverwrite_bucket.q.out | 104 +
ql/src/test/results/clientpositive/join32.q.out | 2 +-
.../clientpositive/join32_lessSize.q.out | 6 +-
ql/src/test/results/clientpositive/join33.q.out | 2 +-
.../join_cond_pushdown_unqual4.q.out | 2 +-
.../test/results/clientpositive/keyword_2.q.out | 51 +
.../test/results/clientpositive/lineage2.q.out | 2296 +-
.../test/results/clientpositive/lineage3.q.out | 2290 +-
.../list_bucket_query_oneskew_3.q.out | 6 +-
.../clientpositive/load_dyn_part14_win.q.out | 167 +-
.../results/clientpositive/load_orc_part.q.out | 18 +
.../clientpositive/macro_duplicate.q.out | 56 +
.../clientpositive/multi_column_in.q.out | 410 +
.../results/clientpositive/multi_insert.q.out | 8 +-
.../clientpositive/multi_insert_gby.q.out | 2 +-
.../multi_insert_lateral_view.q.out | 4 +-
...i_insert_move_tasks_share_dependencies.q.out | 360 +-
.../test/results/clientpositive/null_cast.q.out | 6 +-
.../results/clientpositive/orc_file_dump.q.out | 447 +
.../clientpositive/orc_predicate_pushdown.q.out | 36 +-
.../clientpositive/parquet_ppd_boolean.q.out | 200 +
.../clientpositive/parquet_ppd_char.q.out | 220 +
.../clientpositive/parquet_ppd_date.q.out | 301 +
.../clientpositive/parquet_ppd_decimal.q.out | 490 +
.../clientpositive/parquet_ppd_partition.q.out | 47 +
.../clientpositive/parquet_ppd_timestamp.q.out | 292 +
.../clientpositive/parquet_ppd_varchar.q.out | 220 +
.../parquet_predicate_pushdown.q.out | 1270 +
.../results/clientpositive/pointlookup.q.out | 198 +
.../results/clientpositive/pointlookup2.q.out | 1647 +
.../results/clientpositive/pointlookup3.q.out | 1394 +
.../results/clientpositive/ppd_gby_join.q.out | 4 +-
.../test/results/clientpositive/ppd_join.q.out | 4 +-
.../test/results/clientpositive/ppd_join2.q.out | 22 +-
.../test/results/clientpositive/ppd_join3.q.out | 52 +-
.../clientpositive/ppd_outer_join4.q.out | 2 +-
ql/src/test/results/clientpositive/ptf.q.out | 27 +-
.../results/clientpositive/ptfgroupbyjoin.q.out | 519 +
.../clientpositive/rand_partitionpruner3.q.out | 12 +-
.../clientpositive/selectDistinctStar.q.out | 8 +-
.../clientpositive/select_unquote_not.q.out | 8 +-
.../results/clientpositive/show_functions.q.out | 3 +
.../clientpositive/smb_join_partition_key.q.out | 128 +
.../clientpositive/spark/auto_join18.q.out | 24 +-
.../clientpositive/spark/auto_join30.q.out | 51 +-
.../clientpositive/spark/auto_join32.q.out | 24 +-
.../spark/auto_smb_mapjoin_14.q.out | 30 +-
.../spark/auto_sortmerge_join_10.q.out | 23 +-
.../results/clientpositive/spark/bucket2.q.out | 3 -
.../results/clientpositive/spark/bucket3.q.out | 3 -
.../results/clientpositive/spark/bucket4.q.out | 3 -
.../spark/column_access_stats.q.out | 4 -
.../spark/constprog_partitioner.q.out | 30 +-
.../spark/dynamic_rdd_cache.q.out | 1073 +
.../spark/filter_join_breaktask.q.out | 12 +-
.../clientpositive/spark/groupby10.q.out | 32 +-
.../clientpositive/spark/groupby1_map.q.out | 412 +
.../spark/groupby1_map_nomap.q.out | 412 +
.../spark/groupby1_map_skew.q.out | 427 +
.../clientpositive/spark/groupby1_noskew.q.out | 406 +
.../clientpositive/spark/groupby2_map.q.out | 118 +
.../spark/groupby2_map_multi_distinct.q.out | 232 +
.../spark/groupby2_map_skew.q.out | 129 +
.../clientpositive/spark/groupby2_noskew.q.out | 111 +
.../spark/groupby2_noskew_multi_distinct.q.out | 114 +
.../clientpositive/spark/groupby4_map.q.out | 93 +
.../spark/groupby4_map_skew.q.out | 93 +
.../clientpositive/spark/groupby4_noskew.q.out | 104 +
.../results/clientpositive/spark/groupby5.q.out | 433 +
.../clientpositive/spark/groupby5_map.q.out | 95 +
.../spark/groupby5_map_skew.q.out | 95 +
.../clientpositive/spark/groupby5_noskew.q.out | 418 +
.../results/clientpositive/spark/groupby6.q.out | 117 +
.../clientpositive/spark/groupby6_map.q.out | 109 +
.../spark/groupby6_map_skew.q.out | 122 +
.../clientpositive/spark/groupby6_noskew.q.out | 104 +
.../clientpositive/spark/groupby7_map.q.out | 23 +-
.../spark/groupby7_map_skew.q.out | 38 +-
.../clientpositive/spark/groupby7_noskew.q.out | 17 +-
.../groupby7_noskew_multi_single_reducer.q.out | 18 +-
.../results/clientpositive/spark/groupby8.q.out | 62 +-
.../spark/groupby8_map_skew.q.out | 37 +-
.../spark/groupby_grouping_id2.q.out | 234 +
.../spark/groupby_multi_single_reducer2.q.out | 2 +-
.../spark/groupby_multi_single_reducer3.q.out | 12 +-
.../clientpositive/spark/groupby_position.q.out | 37 +-
.../spark/groupby_ppr_multi_distinct.q.out | 350 +
.../spark/groupby_resolution.q.out | 796 +
.../spark/groupby_sort_1_23.q.out | 90 +-
.../spark/groupby_sort_skew_1_23.q.out | 90 +-
.../clientpositive/spark/insert_into3.q.out | 33 +-
.../results/clientpositive/spark/join18.q.out | 24 +-
.../results/clientpositive/spark/join22.q.out | 19 +-
.../results/clientpositive/spark/join32.q.out | 2 +-
.../clientpositive/spark/join32_lessSize.q.out | 6 +-
.../results/clientpositive/spark/join33.q.out | 2 +-
.../spark/join_cond_pushdown_unqual4.q.out | 2 +-
.../spark/limit_partition_metadataonly.q.out | 2 -
.../clientpositive/spark/limit_pushdown.q.out | 31 +-
.../spark/list_bucket_dml_2.q.java1.7.out | 3 -
.../clientpositive/spark/load_dyn_part14.q.out | 30 +-
.../clientpositive/spark/multi_insert.q.out | 8 +-
.../clientpositive/spark/multi_insert_gby.q.out | 2 +-
.../spark/multi_insert_lateral_view.q.out | 4 +-
...i_insert_move_tasks_share_dependencies.q.out | 536 +-
.../clientpositive/spark/nullgroup.q.out | 265 +
.../clientpositive/spark/nullgroup2.q.out | 300 +
.../clientpositive/spark/nullgroup4.q.out | 292 +
.../spark/nullgroup4_multi_distinct.q.out | 133 +
.../spark/optimize_nullscan.q.out | 3 -
.../test/results/clientpositive/spark/pcr.q.out | 6 -
.../clientpositive/spark/ppd_gby_join.q.out | 4 +-
.../results/clientpositive/spark/ppd_join.q.out | 4 +-
.../clientpositive/spark/ppd_join2.q.out | 22 +-
.../clientpositive/spark/ppd_join3.q.out | 52 +-
.../clientpositive/spark/ppd_outer_join4.q.out | 2 +-
.../test/results/clientpositive/spark/ptf.q.out | 17 +-
.../results/clientpositive/spark/sample3.q.out | 3 -
.../results/clientpositive/spark/sample9.q.out | 3 -
.../clientpositive/spark/skewjoinopt11.q.out | 60 +-
.../clientpositive/spark/skewjoinopt9.q.out | 20 +-
.../clientpositive/spark/smb_mapjoin_11.q.out | 6 -
.../spark/spark_dynamic_partition_pruning.q.out | 5573 +++
.../spark_dynamic_partition_pruning_2.q.out | 1015 +
...k_vectorized_dynamic_partition_pruning.q.out | 5822 +++
.../clientpositive/spark/subquery_exists.q.out | 12 +-
.../clientpositive/spark/subquery_in.q.out | 36 +-
.../spark/subquery_multiinsert.q.java1.7.out | 16 +-
.../clientpositive/spark/temp_table_gb1.q.out | 67 +
.../clientpositive/spark/udaf_collect_set.q.out | 212 +
.../clientpositive/spark/udf_example_add.q.out | 3 -
.../clientpositive/spark/udf_in_file.q.out | 3 -
.../results/clientpositive/spark/udf_max.q.out | 62 +
.../results/clientpositive/spark/udf_min.q.out | 62 +
.../clientpositive/spark/udf_percentile.q.out | 450 +
.../results/clientpositive/spark/union10.q.out | 36 +-
.../results/clientpositive/spark/union11.q.out | 38 +-
.../results/clientpositive/spark/union15.q.out | 23 +-
.../results/clientpositive/spark/union16.q.out | 450 +-
.../results/clientpositive/spark/union2.q.out | 36 +-
.../results/clientpositive/spark/union20.q.out | 18 +-
.../results/clientpositive/spark/union25.q.out | 21 +-
.../results/clientpositive/spark/union28.q.out | 21 +-
.../results/clientpositive/spark/union3.q.out | 45 +-
.../results/clientpositive/spark/union30.q.out | 21 +-
.../results/clientpositive/spark/union4.q.out | 18 +-
.../results/clientpositive/spark/union5.q.out | 20 +-
.../results/clientpositive/spark/union9.q.out | 54 +-
.../clientpositive/spark/union_remove_1.q.out | 23 +-
.../clientpositive/spark/union_remove_15.q.out | 23 +-
.../clientpositive/spark/union_remove_16.q.out | 23 +-
.../clientpositive/spark/union_remove_18.q.out | 23 +-
.../clientpositive/spark/union_remove_19.q.out | 75 +-
.../clientpositive/spark/union_remove_20.q.out | 23 +-
.../clientpositive/spark/union_remove_21.q.out | 21 +-
.../clientpositive/spark/union_remove_22.q.out | 46 +-
.../clientpositive/spark/union_remove_24.q.out | 23 +-
.../clientpositive/spark/union_remove_25.q.out | 59 +-
.../clientpositive/spark/union_remove_4.q.out | 23 +-
.../clientpositive/spark/union_remove_6.q.out | 23 +-
.../spark/union_remove_6_subq.q.out | 84 +-
.../clientpositive/spark/union_remove_7.q.out | 23 +-
.../clientpositive/spark/union_top_level.q.out | 59 +-
.../clientpositive/spark/union_view.q.out | 33 +-
.../spark/vector_cast_constant.q.java1.7.out | 41 +-
.../spark/vector_count_distinct.q.out | 31 +-
.../spark/vector_decimal_mapjoin.q.out | 1 +
.../clientpositive/spark/vector_elt.q.out | 7 -
.../spark/vector_left_outer_join.q.out | 2 +
.../spark/vector_mapjoin_reduce.q.out | 23 +-
.../spark/vector_string_concat.q.out | 3 -
.../clientpositive/spark/vectorization_0.q.out | 2 +-
.../clientpositive/spark/vectorization_13.q.out | 4 +-
.../clientpositive/spark/vectorization_15.q.out | 2 +-
.../clientpositive/spark/vectorization_17.q.out | 12 +-
.../spark/vectorization_decimal_date.q.out | 4 -
.../spark/vectorization_div0.q.out | 3 -
.../spark/vectorization_short_regress.q.out | 40 +-
.../clientpositive/spark/vectorized_case.q.out | 5 +-
.../spark/vectorized_mapjoin.q.out | 1 +
.../spark/vectorized_math_funcs.q.out | 3 -
.../spark/vectorized_nested_mapjoin.q.out | 2 +
.../clientpositive/spark/vectorized_ptf.q.out | 21 +-
.../spark/vectorized_string_funcs.q.out | 3 -
.../results/clientpositive/stats_ppr_all.q.out | 284 +
.../test/results/clientpositive/structin.q.out | 110 +
.../clientpositive/subquery_exists.q.out | 12 +-
.../results/clientpositive/subquery_in.q.out | 36 +-
.../clientpositive/subquery_in_having.q.out | 50 +-
.../subquery_multiinsert.q.java1.7.out | 16 +-
.../subquery_unqualcolumnrefs.q.out | 26 +-
.../results/clientpositive/subquery_views.q.out | 40 +-
.../clientpositive/tez/explainuser_1.q.out | 346 +-
.../clientpositive/tez/explainuser_2.q.out | 12 +-
.../tez/filter_join_breaktask.q.out | 12 +-
.../clientpositive/tez/orc_ppd_basic.q.out | 701 +
.../test/results/clientpositive/tez/ptf.q.out | 15 +-
.../clientpositive/tez/selectDistinctStar.q.out | 8 +-
.../clientpositive/tez/subquery_exists.q.out | 12 +-
.../clientpositive/tez/subquery_in.q.out | 36 +-
.../tez/tez_dynpart_hashjoin_1.q.out | 791 +
.../tez/tez_dynpart_hashjoin_2.q.out | 564 +
.../tez/tez_vector_dynpart_hashjoin_1.q.out | 804 +
.../tez/tez_vector_dynpart_hashjoin_2.q.out | 570 +
.../results/clientpositive/tez/union2.q.out | 28 +-
.../results/clientpositive/tez/union9.q.out | 40 +-
.../clientpositive/tez/vector_acid3.q.out | 31 +
.../tez/vector_cast_constant.q.java1.7.out | 21 +-
.../tez/vector_char_mapjoin1.q.out | 1 +
.../clientpositive/tez/vector_decimal_udf.q.out | 24 +-
.../clientpositive/tez/vector_inner_join.q.out | 14 +-
.../tez/vector_mapjoin_reduce.q.out | 24 +-
.../tez/vector_mr_diff_schema_alias.q.out | 2 +-
.../tez/vector_null_projection.q.out | 4 +
.../tez/vector_varchar_mapjoin1.q.out | 1 +
.../clientpositive/tez/vectorization_0.q.out | 2 +-
.../clientpositive/tez/vectorization_13.q.out | 4 +-
.../clientpositive/tez/vectorization_15.q.out | 2 +-
.../clientpositive/tez/vectorization_17.q.out | 12 +-
.../clientpositive/tez/vectorization_7.q.out | 4 +-
.../clientpositive/tez/vectorization_8.q.out | 4 +-
.../tez/vectorization_short_regress.q.out | 40 +-
.../clientpositive/tez/vectorized_case.q.out | 2 +-
.../clientpositive/tez/vectorized_casts.q.out | 99 +-
.../clientpositive/tez/vectorized_ptf.q.out | 19 +-
.../clientpositive/udf_aes_decrypt.q.out | 79 +
.../clientpositive/udf_aes_encrypt.q.out | 79 +
.../results/clientpositive/udf_bround.q.out | 119 +
.../clientpositive/udf_from_utc_timestamp.q.out | 66 +-
.../results/clientpositive/udf_inline.q.out | 8 +-
.../clientpositive/udf_isnull_isnotnull.q.out | 2 +-
ql/src/test/results/clientpositive/udf_or.q.out | 4 +-
.../results/clientpositive/udf_percentile.q.out | 104 +-
.../test/results/clientpositive/udf_size.q.out | 2 +-
.../results/clientpositive/udf_struct.q.out | 2 +-
.../clientpositive/udf_to_utc_timestamp.q.out | 66 +-
.../test/results/clientpositive/udf_union.q.out | 2 +-
.../test/results/clientpositive/union16.q.out | 354 +-
ql/src/test/results/clientpositive/union2.q.out | 32 +-
ql/src/test/results/clientpositive/union9.q.out | 46 +-
.../clientpositive/union_remove_6_subq.q.out | 34 +-
.../results/clientpositive/union_view.q.out | 24 +
.../clientpositive/unionall_unbalancedppd.q.out | 657 +
.../clientpositive/varchar_udf1.q.java1.7.out | 12 +-
.../results/clientpositive/vector_acid3.q.out | 31 +
.../vector_aggregate_without_gby.q.out | 96 +
.../results/clientpositive/vector_bround.q.out | 86 +
.../vector_cast_constant.q.java1.7.out | 32 +-
.../clientpositive/vector_char_mapjoin1.q.out | 1 +
.../clientpositive/vector_decimal_udf.q.out | 24 +-
.../clientpositive/vector_inner_join.q.out | 12 +-
.../clientpositive/vector_mapjoin_reduce.q.out | 26 +-
.../vector_mr_diff_schema_alias.q.out | 2 +-
.../clientpositive/vector_null_projection.q.out | 4 +
.../vector_varchar_mapjoin1.q.out | 1 +
.../clientpositive/vectorization_0.q.out | 2 +-
.../clientpositive/vectorization_13.q.out | 4 +-
.../clientpositive/vectorization_15.q.out | 2 +-
.../clientpositive/vectorization_17.q.out | 12 +-
.../clientpositive/vectorization_7.q.out | 4 +-
.../clientpositive/vectorization_8.q.out | 4 +-
.../vectorization_short_regress.q.out | 40 +-
.../clientpositive/vectorized_case.q.out | 2 +-
.../clientpositive/vectorized_casts.q.out | 66 +-
.../results/clientpositive/vectorized_ptf.q.out | 67 +-
.../gen/thrift/gen-cpp/complex_constants.cpp | 2 +-
.../src/gen/thrift/gen-cpp/complex_constants.h | 2 +-
serde/src/gen/thrift/gen-cpp/complex_types.cpp | 442 +-
serde/src/gen/thrift/gen-cpp/complex_types.h | 174 +-
.../gen/thrift/gen-cpp/megastruct_constants.cpp | 2 +-
.../gen/thrift/gen-cpp/megastruct_constants.h | 2 +-
.../src/gen/thrift/gen-cpp/megastruct_types.cpp | 585 +-
serde/src/gen/thrift/gen-cpp/megastruct_types.h | 175 +-
.../src/gen/thrift/gen-cpp/serde_constants.cpp | 2 +-
serde/src/gen/thrift/gen-cpp/serde_constants.h | 2 +-
serde/src/gen/thrift/gen-cpp/serde_types.cpp | 5 +-
serde/src/gen/thrift/gen-cpp/serde_types.h | 5 +-
.../gen/thrift/gen-cpp/testthrift_constants.cpp | 2 +-
.../gen/thrift/gen-cpp/testthrift_constants.h | 2 +-
.../src/gen/thrift/gen-cpp/testthrift_types.cpp | 95 +-
serde/src/gen/thrift/gen-cpp/testthrift_types.h | 45 +-
.../hadoop/hive/serde/serdeConstants.java | 7 +-
.../hadoop/hive/serde/test/InnerStruct.java | 24 +-
.../hadoop/hive/serde/test/ThriftTestObj.java | 62 +-
.../hadoop/hive/serde2/thrift/test/Complex.java | 279 +-
.../hive/serde2/thrift/test/IntString.java | 40 +-
.../hive/serde2/thrift/test/MegaStruct.java | 521 +-
.../hive/serde2/thrift/test/MiniStruct.java | 38 +-
.../hadoop/hive/serde2/thrift/test/MyEnum.java | 2 +-
.../hive/serde2/thrift/test/PropValueUnion.java | 60 +-
.../hive/serde2/thrift/test/SetIntString.java | 54 +-
serde/src/gen/thrift/gen-php/Types.php | 15 +-
.../org/apache/hadoop/hive/serde/Types.php | 373 +-
.../src/gen/thrift/gen-py/complex/constants.py | 2 +-
serde/src/gen/thrift/gen-py/complex/ttypes.py | 50 +-
.../gen/thrift/gen-py/megastruct/constants.py | 2 +-
.../src/gen/thrift/gen-py/megastruct/ttypes.py | 44 +-
.../org_apache_hadoop_hive_serde/constants.py | 2 +-
.../org_apache_hadoop_hive_serde/ttypes.py | 2 +-
.../gen/thrift/gen-py/testthrift/constants.py | 2 +-
.../src/gen/thrift/gen-py/testthrift/ttypes.py | 14 +-
.../src/gen/thrift/gen-rb/complex_constants.rb | 2 +-
serde/src/gen/thrift/gen-rb/complex_types.rb | 2 +-
.../gen/thrift/gen-rb/megastruct_constants.rb | 2 +-
serde/src/gen/thrift/gen-rb/megastruct_types.rb | 2 +-
serde/src/gen/thrift/gen-rb/serde_constants.rb | 2 +-
serde/src/gen/thrift/gen-rb/serde_types.rb | 2 +-
.../gen/thrift/gen-rb/testthrift_constants.rb | 2 +-
serde/src/gen/thrift/gen-rb/testthrift_types.rb | 2 +-
.../hadoop/hive/ql/io/sarg/ExpressionTree.java | 157 -
.../hadoop/hive/ql/io/sarg/PredicateLeaf.java | 87 -
.../hadoop/hive/ql/io/sarg/SearchArgument.java | 278 -
.../apache/hadoop/hive/serde2/SerDeUtils.java | 14 +-
.../apache/hadoop/hive/serde2/WriteBuffers.java | 2 +-
.../serde2/avro/AvroLazyObjectInspector.java | 19 +-
.../hadoop/hive/serde2/avro/InstanceCache.java | 26 +-
.../hadoop/hive/serde2/io/DateWritable.java | 14 -
.../hive/serde2/io/HiveDecimalWritable.java | 185 -
.../hive/serde2/lazy/LazyHiveDecimal.java | 3 +-
.../lazy/fast/LazySimpleDeserializeRead.java | 16 +-
.../hive/serde2/lazybinary/LazyBinaryDate.java | 4 +-
.../lazybinary/LazyBinaryHiveDecimal.java | 2 +-
.../hive/serde2/lazybinary/LazyBinarySerDe.java | 37 +-
.../fast/LazyBinaryDeserializeRead.java | 6 +-
.../fast/LazyBinarySerializeWrite.java | 5 +-
.../ObjectInspectorConverters.java | 31 +-
.../objectinspector/ObjectInspectorFactory.java | 68 +-
.../objectinspector/ObjectInspectorUtils.java | 19 +
.../ReflectionStructObjectInspector.java | 60 +-
.../SettableUnionObjectInspector.java | 4 +-
.../StandardConstantStructObjectInspector.java | 51 +
.../StandardStructObjectInspector.java | 7 +-
.../StandardUnionObjectInspector.java | 4 +-
.../ThriftUnionObjectInspector.java | 44 +-
.../hive/serde2/typeinfo/HiveDecimalUtils.java | 35 +-
.../hive/serde2/typeinfo/TypeInfoUtils.java | 2 +-
.../avro/TestAvroLazyObjectInspector.java | 59 +
.../hive/serde2/avro/TestInstanceCache.java | 40 +-
.../TestObjectInspectorConverters.java | 89 +-
.../TestReflectionObjectInspectors.java | 71 +-
.../TestThriftObjectInspectors.java | 10 +-
service/src/gen/thrift/gen-cpp/TCLIService.cpp | 458 +-
service/src/gen/thrift/gen-cpp/TCLIService.h | 821 +-
.../thrift/gen-cpp/TCLIService_constants.cpp | 2 +-
.../gen/thrift/gen-cpp/TCLIService_constants.h | 2 +-
.../gen/thrift/gen-cpp/TCLIService_types.cpp | 3250 +-
.../src/gen/thrift/gen-cpp/TCLIService_types.h | 1482 +-
service/src/gen/thrift/gen-cpp/ThriftHive.cpp | 286 +-
service/src/gen/thrift/gen-cpp/ThriftHive.h | 389 +-
.../thrift/gen-cpp/hive_service_constants.cpp | 2 +-
.../gen/thrift/gen-cpp/hive_service_constants.h | 2 +-
.../gen/thrift/gen-cpp/hive_service_types.cpp | 110 +-
.../src/gen/thrift/gen-cpp/hive_service_types.h | 75 +-
.../hadoop/hive/service/HiveClusterStatus.java | 68 +-
.../hive/service/HiveServerException.java | 40 +-
.../hadoop/hive/service/JobTrackerState.java | 2 +-
.../apache/hadoop/hive/service/ThriftHive.java | 914 +-
.../service/cli/thrift/TArrayTypeEntry.java | 24 +-
.../hive/service/cli/thrift/TBinaryColumn.java | 64 +-
.../hive/service/cli/thrift/TBoolColumn.java | 62 +-
.../hive/service/cli/thrift/TBoolValue.java | 26 +-
.../hive/service/cli/thrift/TByteColumn.java | 62 +-
.../hive/service/cli/thrift/TByteValue.java | 26 +-
.../hive/service/cli/thrift/TCLIService.java | 1734 +-
.../cli/thrift/TCLIServiceConstants.java | 7 +-
.../cli/thrift/TCancelDelegationTokenReq.java | 32 +-
.../cli/thrift/TCancelDelegationTokenResp.java | 24 +-
.../service/cli/thrift/TCancelOperationReq.java | 24 +-
.../cli/thrift/TCancelOperationResp.java | 24 +-
.../service/cli/thrift/TCloseOperationReq.java | 24 +-
.../service/cli/thrift/TCloseOperationResp.java | 24 +-
.../service/cli/thrift/TCloseSessionReq.java | 24 +-
.../service/cli/thrift/TCloseSessionResp.java | 24 +-
.../apache/hive/service/cli/thrift/TColumn.java | 20 +-
.../hive/service/cli/thrift/TColumnDesc.java | 50 +-
.../hive/service/cli/thrift/TColumnValue.java | 20 +-
.../hive/service/cli/thrift/TDoubleColumn.java | 62 +-
.../hive/service/cli/thrift/TDoubleValue.java | 26 +-
.../cli/thrift/TExecuteStatementReq.java | 87 +-
.../cli/thrift/TExecuteStatementResp.java | 34 +-
.../service/cli/thrift/TFetchOrientation.java | 2 +-
.../service/cli/thrift/TFetchResultsReq.java | 54 +-
.../service/cli/thrift/TFetchResultsResp.java | 42 +-
.../service/cli/thrift/TGetCatalogsReq.java | 24 +-
.../service/cli/thrift/TGetCatalogsResp.java | 34 +-
.../hive/service/cli/thrift/TGetColumnsReq.java | 58 +-
.../service/cli/thrift/TGetColumnsResp.java | 34 +-
.../cli/thrift/TGetDelegationTokenReq.java | 40 +-
.../cli/thrift/TGetDelegationTokenResp.java | 34 +-
.../service/cli/thrift/TGetFunctionsReq.java | 50 +-
.../service/cli/thrift/TGetFunctionsResp.java | 34 +-
.../hive/service/cli/thrift/TGetInfoReq.java | 36 +-
.../hive/service/cli/thrift/TGetInfoResp.java | 32 +-
.../hive/service/cli/thrift/TGetInfoType.java | 2 +-
.../hive/service/cli/thrift/TGetInfoValue.java | 20 +-
.../cli/thrift/TGetOperationStatusReq.java | 24 +-
.../cli/thrift/TGetOperationStatusResp.java | 62 +-
.../cli/thrift/TGetResultSetMetadataReq.java | 24 +-
.../cli/thrift/TGetResultSetMetadataResp.java | 34 +-
.../hive/service/cli/thrift/TGetSchemasReq.java | 42 +-
.../service/cli/thrift/TGetSchemasResp.java | 34 +-
.../service/cli/thrift/TGetTableTypesReq.java | 24 +-
.../service/cli/thrift/TGetTableTypesResp.java | 34 +-
.../hive/service/cli/thrift/TGetTablesReq.java | 79 +-
.../hive/service/cli/thrift/TGetTablesResp.java | 34 +-
.../service/cli/thrift/TGetTypeInfoReq.java | 24 +-
.../service/cli/thrift/TGetTypeInfoResp.java | 34 +-
.../service/cli/thrift/THandleIdentifier.java | 50 +-
.../hive/service/cli/thrift/TI16Column.java | 62 +-
.../hive/service/cli/thrift/TI16Value.java | 26 +-
.../hive/service/cli/thrift/TI32Column.java | 62 +-
.../hive/service/cli/thrift/TI32Value.java | 26 +-
.../hive/service/cli/thrift/TI64Column.java | 62 +-
.../hive/service/cli/thrift/TI64Value.java | 26 +-
.../hive/service/cli/thrift/TMapTypeEntry.java | 32 +-
.../service/cli/thrift/TOpenSessionReq.java | 91 +-
.../service/cli/thrift/TOpenSessionResp.java | 91 +-
.../service/cli/thrift/TOperationHandle.java | 54 +-
.../service/cli/thrift/TOperationState.java | 2 +-
.../hive/service/cli/thrift/TOperationType.java | 2 +-
.../service/cli/thrift/TPrimitiveTypeEntry.java | 38 +-
.../service/cli/thrift/TProtocolVersion.java | 2 +-
.../cli/thrift/TRenewDelegationTokenReq.java | 32 +-
.../cli/thrift/TRenewDelegationTokenResp.java | 24 +-
.../apache/hive/service/cli/thrift/TRow.java | 46 +-
.../apache/hive/service/cli/thrift/TRowSet.java | 86 +-
.../hive/service/cli/thrift/TSessionHandle.java | 24 +-
.../apache/hive/service/cli/thrift/TStatus.java | 83 +-
.../hive/service/cli/thrift/TStatusCode.java | 2 +-
.../hive/service/cli/thrift/TStringColumn.java | 62 +-
.../hive/service/cli/thrift/TStringValue.java | 26 +-
.../service/cli/thrift/TStructTypeEntry.java | 50 +-
.../hive/service/cli/thrift/TTableSchema.java | 46 +-
.../hive/service/cli/thrift/TTypeDesc.java | 46 +-
.../hive/service/cli/thrift/TTypeEntry.java | 20 +-
.../apache/hive/service/cli/thrift/TTypeId.java | 2 +-
.../service/cli/thrift/TTypeQualifierValue.java | 20 +-
.../service/cli/thrift/TTypeQualifiers.java | 54 +-
.../service/cli/thrift/TUnionTypeEntry.java | 50 +-
.../cli/thrift/TUserDefinedTypeEntry.java | 24 +-
service/src/gen/thrift/gen-php/TCLIService.php | 269 +-
service/src/gen/thrift/gen-php/ThriftHive.php | 125 +-
service/src/gen/thrift/gen-php/Types.php | 30 +-
.../gen-py/TCLIService/TCLIService-remote | 102 +-
.../thrift/gen-py/TCLIService/TCLIService.py | 439 +-
.../gen/thrift/gen-py/TCLIService/constants.py | 2 +-
.../src/gen/thrift/gen-py/TCLIService/ttypes.py | 478 +-
.../gen-py/hive_service/ThriftHive-remote | 1021 +-
.../thrift/gen-py/hive_service/ThriftHive.py | 266 +-
.../gen/thrift/gen-py/hive_service/constants.py | 2 +-
.../gen/thrift/gen-py/hive_service/ttypes.py | 19 +-
.../gen/thrift/gen-rb/hive_service_constants.rb | 2 +-
.../src/gen/thrift/gen-rb/hive_service_types.rb | 2 +-
.../src/gen/thrift/gen-rb/t_c_l_i_service.rb | 2 +-
.../thrift/gen-rb/t_c_l_i_service_constants.rb | 2 +-
.../gen/thrift/gen-rb/t_c_l_i_service_types.rb | 2 +-
service/src/gen/thrift/gen-rb/thrift_hive.rb | 2 +-
.../hive/service/cli/CLIServiceUtils.java | 7 -
.../cli/operation/GetColumnsOperation.java | 10 +-
.../cli/operation/GetTablesOperation.java | 7 +-
.../cli/operation/LogDivertAppender.java | 223 +-
.../service/cli/operation/OperationManager.java | 17 +-
.../service/cli/session/SessionManager.java | 42 +-
.../apache/hive/service/server/HiveServer2.java | 74 +-
.../session/TestPluggableHiveSessionImpl.java | 55 +
shims/0.20S/pom.xml | 8 +-
.../hadoop/hive/shims/Hadoop20SShims.java | 46 +-
shims/0.23/pom.xml | 21 +-
.../apache/hadoop/hive/shims/Hadoop23Shims.java | 145 +-
shims/common/pom.xml | 17 +-
.../apache/hadoop/hive/shims/HadoopShims.java | 37 +
.../hadoop/hive/shims/HadoopShimsSecure.java | 32 +
.../hadoop/hive/shims/HiveEventCounter.java | 102 -
spark-client/pom.xml | 5 +
.../hive/spark/client/SparkClientImpl.java | 24 +-
.../hive/spark/client/SparkClientUtilities.java | 13 +-
.../hive/spark/client/TestSparkClient.java | 4 +-
.../src/test/resources/log4j.properties | 23 -
spark-client/src/test/resources/log4j2.xml | 39 +
storage-api/pom.xml | 78 +
.../hadoop/hive/common/type/HiveDecimal.java | 313 +
.../hive/ql/exec/vector/BytesColumnVector.java | 322 +
.../hive/ql/exec/vector/ColumnVector.java | 173 +
.../ql/exec/vector/DecimalColumnVector.java | 106 +
.../hive/ql/exec/vector/DoubleColumnVector.java | 143 +
.../hive/ql/exec/vector/LongColumnVector.java | 189 +
.../hive/ql/exec/vector/VectorizedRowBatch.java | 186 +
.../hadoop/hive/ql/io/sarg/ExpressionTree.java | 156 +
.../hadoop/hive/ql/io/sarg/PredicateLeaf.java | 103 +
.../hadoop/hive/ql/io/sarg/SearchArgument.java | 287 +
.../hive/ql/io/sarg/SearchArgumentFactory.java | 28 +
.../hive/ql/io/sarg/SearchArgumentImpl.java | 687 +
.../hive/serde2/io/HiveDecimalWritable.java | 174 +
testutils/ptest2/pom.xml | 32 +-
.../ptest2/src/main/resources/log4j.properties | 37 -
testutils/ptest2/src/main/resources/log4j2.xml | 80 +
1291 files changed, 156107 insertions(+), 50140 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/fc53e5d7/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/fc53e5d7/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
----------------------------------------------------------------------
diff --cc beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
index b6f244b,3388391..8e1d11b
--- a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
@@@ -79,10 -78,9 +79,11 @@@ class BeeLineOpts implements Completer
int timeout = -1;
private String isolation = DEFAULT_ISOLATION_LEVEL;
private String outputFormat = "table";
+ // This configuration is used only for client side configuration.
+ private HiveConf conf;
private boolean trimScripts = true;
private boolean allowMultiLineCommand = true;
+ private boolean showConnectedUrl = false;
//This can be set for old behavior of nulls printed as empty strings
private boolean nullEmptyString = false;
http://git-wip-us.apache.org/repos/asf/hive/blob/fc53e5d7/jdbc/src/java/org/apache/hive/jdbc/Utils.java
----------------------------------------------------------------------
diff --cc jdbc/src/java/org/apache/hive/jdbc/Utils.java
index 0e4693b,d8368a4..e4df7f4
--- a/jdbc/src/java/org/apache/hive/jdbc/Utils.java
+++ b/jdbc/src/java/org/apache/hive/jdbc/Utils.java
@@@ -37,8 -36,8 +36,8 @@@ import org.apache.hive.service.cli.thri
import org.apache.http.client.CookieStore;
import org.apache.http.cookie.Cookie;
-class Utils {
+public class Utils {
- public static final Log LOG = LogFactory.getLog(Utils.class.getName());
+ static final Log LOG = LogFactory.getLog(Utils.class.getName());
/**
* The required prefix for the connection URL.
*/
http://git-wip-us.apache.org/repos/asf/hive/blob/fc53e5d7/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
----------------------------------------------------------------------
diff --cc ql/src/java/org/apache/hadoop/hive/ql/Driver.java
index a381f73,4030075..9ee6023
--- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
@@@ -388,12 -387,10 +388,15 @@@ public class Driver implements CommandP
SessionState.get().setupQueryCurrentTimestamp();
try {
+ // Initialize the transaction manager. This must be done before analyze is called.
+ SessionState.get().initTxnMgr(conf);
-
- command = new VariableSubstitution().substitute(conf, command);
++
+ command = new VariableSubstitution(new HiveVariableSource() {
+ @Override
+ public Map<String, String> getHiveVariable() {
+ return SessionState.get().getHiveVariables();
+ }
+ }).substitute(conf, command);
ctx = new Context(conf);
ctx.setTryCount(getTryCount());
ctx.setCmd(command);
http://git-wip-us.apache.org/repos/asf/hive/blob/fc53e5d7/ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/fc53e5d7/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/fc53e5d7/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
----------------------------------------------------------------------
[32/33] hive git commit: HIVE-11958: Merge branch 'master' into
beeline-cli
Posted by xu...@apache.org.
HIVE-11958: Merge branch 'master' into beeline-cli
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/6b3e82d3
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/6b3e82d3
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/6b3e82d3
Branch: refs/heads/master
Commit: 6b3e82d39c159f11829007fbbeff2fdf1216bb78
Parents: 046c5eb 41a12cb
Author: Ferdinand Xu <ch...@intel.com>
Authored: Thu Sep 24 21:29:17 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Thu Sep 24 21:34:20 2015 -0400
----------------------------------------------------------------------
NOTICE | 3 +
.../apache/hadoop/hive/ant/GenVectorCode.java | 31 -
.../apache/hadoop/hive/ant/QTestGenTask.java | 11 +
beeline/src/main/resources/beeline-log4j2.xml | 5 +-
bin/beeline | 5 +
bin/ext/hbaseimport.cmd | 35 +
bin/ext/hbaseimport.sh | 27 +
bin/ext/hbaseschematool.sh | 27 +
bin/hive | 2 +-
.../apache/hadoop/hive/common/ObjectPair.java | 5 +
.../hadoop/hive/common/jsonexplain/tez/Op.java | 8 +-
.../hive/common/jsonexplain/tez/Stage.java | 14 +-
.../common/jsonexplain/tez/TezJsonParser.java | 17 +-
.../org/apache/hadoop/hive/conf/HiveConf.java | 113 +-
.../apache/hadoop/hive/ql/log/PerfLogger.java | 196 +
.../apache/hive/common/util/BloomFilter.java | 20 +-
common/src/main/resources/hive-log4j2.xml | 5 +-
.../test/resources/hive-exec-log4j2-test.xml | 5 +-
common/src/test/resources/hive-log4j2-test.xml | 5 +-
data/conf/hive-log4j2.xml | 5 +-
data/conf/tez/hive-site.xml | 10 +
data/files/dynpartdata1.txt | 5 +
data/files/dynpartdata2.txt | 6 +
.../HiveHBaseTableSnapshotInputFormat.java | 21 +-
.../queries/positive/hbase_handler_snapshot.q | 4 +
.../positive/hbase_handler_snapshot.q.out | 22 +
.../deployers/config/hive/hive-log4j2.xml | 5 +-
.../svr/src/main/config/webhcat-log4j2.xml | 5 +-
.../antlr4/org/apache/hive/hplsql/Hplsql.g4 | 70 +-
.../main/java/org/apache/hive/hplsql/Cmp.java | 314 +
.../java/org/apache/hive/hplsql/Column.java | 29 +-
.../main/java/org/apache/hive/hplsql/Conn.java | 21 +
.../main/java/org/apache/hive/hplsql/Copy.java | 50 +-
.../main/java/org/apache/hive/hplsql/Exec.java | 66 +-
.../java/org/apache/hive/hplsql/Expression.java | 33 +-
.../main/java/org/apache/hive/hplsql/File.java | 18 +-
.../main/java/org/apache/hive/hplsql/Meta.java | 28 +-
.../main/java/org/apache/hive/hplsql/Query.java | 18 +
.../java/org/apache/hive/hplsql/Select.java | 23 +-
.../main/java/org/apache/hive/hplsql/Stmt.java | 8 +-
.../main/java/org/apache/hive/hplsql/Var.java | 110 +-
.../apache/hive/hplsql/functions/Function.java | 6 +-
.../hive/hplsql/functions/FunctionMisc.java | 121 +
.../org/apache/hive/hplsql/TestHplsqlLocal.java | 18 +
.../apache/hive/hplsql/TestHplsqlOffline.java | 5 +
hplsql/src/test/queries/db/cmp_row_count.sql | 4 +
hplsql/src/test/queries/db/cmp_sum.sql | 3 +
hplsql/src/test/queries/db/copy_to_file.sql | 2 +
hplsql/src/test/queries/db/copy_to_hdfs.sql | 2 +
hplsql/src/test/queries/db/copy_to_table.sql | 2 +
hplsql/src/test/queries/db/part_count.sql | 17 +
hplsql/src/test/queries/db/part_count_by.sql | 4 +
hplsql/src/test/queries/db/schema.sql | 32 +
hplsql/src/test/queries/db/select_into.sql | 20 +-
hplsql/src/test/queries/db/select_into2.sql | 17 +
.../test/queries/local/create_procedure2.sql | 16 +
hplsql/src/test/queries/local/if2.sql | 5 +
hplsql/src/test/queries/local/include.sql | 2 +
hplsql/src/test/queries/local/include_file.sql | 1 +
hplsql/src/test/queries/local/mult_div.sql | 8 +
hplsql/src/test/queries/offline/select_db2.sql | 5 +
.../src/test/results/db/cmp_row_count.out.txt | 12 +
hplsql/src/test/results/db/cmp_sum.out.txt | 320 +
hplsql/src/test/results/db/copy_to_file.out.txt | 6 +
hplsql/src/test/results/db/copy_to_hdfs.out.txt | 4 +
.../src/test/results/db/copy_to_table.out.txt | 2 +
hplsql/src/test/results/db/part_count.out.txt | 15 +
.../src/test/results/db/part_count_by.out.txt | 13 +
hplsql/src/test/results/db/select_into.out.txt | 58 +-
hplsql/src/test/results/db/select_into2.out.txt | 19 +
.../results/local/create_procedure2.out.txt | 10 +
hplsql/src/test/results/local/if2.out.txt | 4 +
hplsql/src/test/results/local/include.out.txt | 8 +
hplsql/src/test/results/local/mult_div.out.txt | 7 +
.../src/test/results/offline/select_db2.out.txt | 6 +
.../benchmark/serde/LazySimpleSerDeBench.java | 453 +
.../vectorization/VectorizationBench.java | 32 +-
.../hive/thrift/TestHadoop20SAuthBridge.java | 420 -
.../hive/thrift/TestHadoopAuthBridge23.java | 423 +
itests/hive-unit/pom.xml | 35 +
.../hadoop/hive/metastore/TestAdminUser.java | 4 +-
.../hive/metastore/TestHiveMetaStore.java | 3 +
.../metastore/hbase/HBaseIntegrationTests.java | 117 +
.../TestHBaseAggrStatsCacheIntegration.java | 691 +
.../hive/metastore/hbase/TestHBaseImport.java | 650 +
.../metastore/hbase/TestHBaseMetastoreSql.java | 223 +
.../hbase/TestHBaseStoreIntegration.java | 1794 +
.../hbase/TestStorageDescriptorSharing.java | 191 +
.../hive/ql/security/FolderPermissionBase.java | 17 +-
.../org/apache/hive/jdbc/TestJdbcDriver2.java | 80 +-
itests/qtest/pom.xml | 10 +-
.../test/resources/testconfiguration.properties | 4 +
itests/util/pom.xml | 32 +
.../metastore/hbase/HBaseStoreTestUtil.java | 45 +
.../org/apache/hadoop/hive/ql/QTestUtil.java | 50 +-
.../apache/hive/jdbc/HivePreparedStatement.java | 4 +-
.../hive/jdbc/ZooKeeperHiveClientHelper.java | 34 +-
metastore/if/hive_metastore.thrift | 54 +
metastore/pom.xml | 82 +
.../oracle/hive-schema-0.13.0.oracle.sql | 10 +-
.../oracle/hive-schema-0.14.0.oracle.sql | 10 +-
.../oracle/hive-txn-schema-0.13.0.oracle.sql | 10 +-
.../oracle/hive-txn-schema-0.14.0.oracle.sql | 10 +-
.../metastore/hbase/HbaseMetastoreProto.java | 34901 +++++++++++++++++
.../gen/thrift/gen-cpp/ThriftHiveMetastore.cpp | 6919 ++--
.../gen/thrift/gen-cpp/ThriftHiveMetastore.h | 664 +
.../ThriftHiveMetastore_server.skeleton.cpp | 25 +
.../gen/thrift/gen-cpp/hive_metastore_types.cpp | 1294 +-
.../gen/thrift/gen-cpp/hive_metastore_types.h | 371 +
.../hive/metastore/api/AbortTxnRequest.java | 2 +-
.../metastore/api/AddDynamicPartitions.java | 2 +-
.../metastore/api/AddPartitionsRequest.java | 2 +-
.../hive/metastore/api/AddPartitionsResult.java | 2 +-
.../hadoop/hive/metastore/api/AggrStats.java | 2 +-
.../metastore/api/AlreadyExistsException.java | 2 +-
.../metastore/api/BinaryColumnStatsData.java | 2 +-
.../metastore/api/BooleanColumnStatsData.java | 2 +-
.../hive/metastore/api/CheckLockRequest.java | 2 +-
.../metastore/api/ClearFileMetadataRequest.java | 438 +
.../metastore/api/ClearFileMetadataResult.java | 283 +
.../hive/metastore/api/ColumnStatistics.java | 2 +-
.../metastore/api/ColumnStatisticsDesc.java | 2 +-
.../hive/metastore/api/ColumnStatisticsObj.java | 2 +-
.../hive/metastore/api/CommitTxnRequest.java | 2 +-
.../hive/metastore/api/CompactionRequest.java | 2 +-
.../api/ConfigValSecurityException.java | 2 +-
.../api/CurrentNotificationEventId.java | 2 +-
.../hadoop/hive/metastore/api/Database.java | 2 +-
.../apache/hadoop/hive/metastore/api/Date.java | 2 +-
.../hive/metastore/api/DateColumnStatsData.java | 2 +-
.../hadoop/hive/metastore/api/Decimal.java | 2 +-
.../metastore/api/DecimalColumnStatsData.java | 2 +-
.../metastore/api/DoubleColumnStatsData.java | 2 +-
.../hive/metastore/api/DropPartitionsExpr.java | 2 +-
.../metastore/api/DropPartitionsRequest.java | 2 +-
.../metastore/api/DropPartitionsResult.java | 2 +-
.../hive/metastore/api/EnvironmentContext.java | 2 +-
.../hadoop/hive/metastore/api/FieldSchema.java | 2 +-
.../hive/metastore/api/FireEventRequest.java | 2 +-
.../hive/metastore/api/FireEventResponse.java | 2 +-
.../hadoop/hive/metastore/api/Function.java | 2 +-
.../metastore/api/GetAllFunctionsResponse.java | 38 +-
.../api/GetFileMetadataByExprRequest.java | 548 +
.../api/GetFileMetadataByExprResult.java | 703 +
.../metastore/api/GetFileMetadataRequest.java | 438 +
.../metastore/api/GetFileMetadataResult.java | 540 +
.../metastore/api/GetOpenTxnsInfoResponse.java | 2 +-
.../hive/metastore/api/GetOpenTxnsResponse.java | 2 +-
.../api/GetPrincipalsInRoleRequest.java | 2 +-
.../api/GetPrincipalsInRoleResponse.java | 2 +-
.../api/GetRoleGrantsForPrincipalRequest.java | 2 +-
.../api/GetRoleGrantsForPrincipalResponse.java | 2 +-
.../api/GrantRevokePrivilegeRequest.java | 2 +-
.../api/GrantRevokePrivilegeResponse.java | 2 +-
.../metastore/api/GrantRevokeRoleRequest.java | 2 +-
.../metastore/api/GrantRevokeRoleResponse.java | 2 +-
.../hive/metastore/api/HeartbeatRequest.java | 2 +-
.../metastore/api/HeartbeatTxnRangeRequest.java | 2 +-
.../api/HeartbeatTxnRangeResponse.java | 2 +-
.../hive/metastore/api/HiveObjectPrivilege.java | 2 +-
.../hive/metastore/api/HiveObjectRef.java | 2 +-
.../apache/hadoop/hive/metastore/api/Index.java | 2 +-
.../api/IndexAlreadyExistsException.java | 2 +-
.../metastore/api/InsertEventRequestData.java | 2 +-
.../metastore/api/InvalidInputException.java | 2 +-
.../metastore/api/InvalidObjectException.java | 2 +-
.../api/InvalidOperationException.java | 2 +-
.../api/InvalidPartitionException.java | 2 +-
.../hive/metastore/api/LockComponent.java | 2 +-
.../hadoop/hive/metastore/api/LockRequest.java | 2 +-
.../hadoop/hive/metastore/api/LockResponse.java | 2 +-
.../hive/metastore/api/LongColumnStatsData.java | 2 +-
.../hive/metastore/api/MetaException.java | 2 +-
.../hive/metastore/api/MetadataPpdResult.java | 508 +
.../hive/metastore/api/NoSuchLockException.java | 2 +-
.../metastore/api/NoSuchObjectException.java | 2 +-
.../hive/metastore/api/NoSuchTxnException.java | 2 +-
.../hive/metastore/api/NotificationEvent.java | 2 +-
.../metastore/api/NotificationEventRequest.java | 2 +-
.../api/NotificationEventResponse.java | 2 +-
.../hive/metastore/api/OpenTxnRequest.java | 2 +-
.../hive/metastore/api/OpenTxnsResponse.java | 2 +-
.../apache/hadoop/hive/metastore/api/Order.java | 2 +-
.../hadoop/hive/metastore/api/Partition.java | 2 +-
.../api/PartitionListComposingSpec.java | 2 +-
.../hive/metastore/api/PartitionSpec.java | 2 +-
.../api/PartitionSpecWithSharedSD.java | 2 +-
.../hive/metastore/api/PartitionWithoutSD.java | 2 +-
.../metastore/api/PartitionsByExprRequest.java | 2 +-
.../metastore/api/PartitionsByExprResult.java | 2 +-
.../metastore/api/PartitionsStatsRequest.java | 2 +-
.../metastore/api/PartitionsStatsResult.java | 2 +-
.../metastore/api/PrincipalPrivilegeSet.java | 2 +-
.../hadoop/hive/metastore/api/PrivilegeBag.java | 2 +-
.../hive/metastore/api/PrivilegeGrantInfo.java | 2 +-
.../metastore/api/PutFileMetadataRequest.java | 588 +
.../metastore/api/PutFileMetadataResult.java | 283 +
.../hadoop/hive/metastore/api/ResourceUri.java | 2 +-
.../apache/hadoop/hive/metastore/api/Role.java | 2 +-
.../hive/metastore/api/RolePrincipalGrant.java | 2 +-
.../hadoop/hive/metastore/api/Schema.java | 2 +-
.../hadoop/hive/metastore/api/SerDeInfo.java | 2 +-
.../api/SetPartitionsStatsRequest.java | 2 +-
.../hive/metastore/api/ShowCompactRequest.java | 2 +-
.../hive/metastore/api/ShowCompactResponse.java | 2 +-
.../api/ShowCompactResponseElement.java | 2 +-
.../hive/metastore/api/ShowLocksRequest.java | 2 +-
.../hive/metastore/api/ShowLocksResponse.java | 2 +-
.../metastore/api/ShowLocksResponseElement.java | 2 +-
.../hadoop/hive/metastore/api/SkewedInfo.java | 2 +-
.../hive/metastore/api/StorageDescriptor.java | 2 +-
.../metastore/api/StringColumnStatsData.java | 2 +-
.../apache/hadoop/hive/metastore/api/Table.java | 2 +-
.../hive/metastore/api/TableStatsRequest.java | 2 +-
.../hive/metastore/api/TableStatsResult.java | 2 +-
.../hive/metastore/api/ThriftHiveMetastore.java | 8422 ++--
.../hive/metastore/api/TxnAbortedException.java | 2 +-
.../hadoop/hive/metastore/api/TxnInfo.java | 2 +-
.../hive/metastore/api/TxnOpenException.java | 2 +-
.../apache/hadoop/hive/metastore/api/Type.java | 2 +-
.../hive/metastore/api/UnknownDBException.java | 2 +-
.../api/UnknownPartitionException.java | 2 +-
.../metastore/api/UnknownTableException.java | 2 +-
.../hive/metastore/api/UnlockRequest.java | 2 +-
.../hadoop/hive/metastore/api/Version.java | 2 +-
.../gen-php/metastore/ThriftHiveMetastore.php | 2810 +-
.../src/gen/thrift/gen-php/metastore/Types.php | 1009 +-
.../hive_metastore/ThriftHiveMetastore-remote | 49 +-
.../hive_metastore/ThriftHiveMetastore.py | 1563 +-
.../gen/thrift/gen-py/hive_metastore/ttypes.py | 734 +-
.../gen/thrift/gen-rb/hive_metastore_types.rb | 167 +
.../gen/thrift/gen-rb/thrift_hive_metastore.rb | 267 +
.../hadoop/hive/metastore/HiveAlterHandler.java | 38 +-
.../hadoop/hive/metastore/HiveMetaStore.java | 272 +-
.../hive/metastore/HiveMetaStoreClient.java | 112 +-
.../hadoop/hive/metastore/IMetaStoreClient.java | 6 +
.../hadoop/hive/metastore/ObjectStore.java | 453 +-
.../hive/metastore/PartFilterExprUtil.java | 149 +
.../apache/hadoop/hive/metastore/RawStore.java | 66 +-
.../hadoop/hive/metastore/RawStoreProxy.java | 5 +-
.../hive/metastore/RetryingHMSHandler.java | 33 +-
.../hbase/AggrStatsInvalidatorFilter.java | 121 +
.../hadoop/hive/metastore/hbase/Counter.java | 53 +
.../hive/metastore/hbase/HBaseConnection.java | 96 +
.../metastore/hbase/HBaseFilterPlanUtil.java | 612 +
.../hive/metastore/hbase/HBaseImport.java | 535 +
.../hive/metastore/hbase/HBaseReadWrite.java | 2106 +
.../hive/metastore/hbase/HBaseSchemaTool.java | 239 +
.../hadoop/hive/metastore/hbase/HBaseStore.java | 2387 ++
.../hadoop/hive/metastore/hbase/HBaseUtils.java | 1340 +
.../hive/metastore/hbase/ObjectCache.java | 81 +
.../hive/metastore/hbase/PartitionCache.java | 168 +
.../metastore/hbase/PartitionKeyComparator.java | 292 +
.../hbase/SharedStorageDescriptor.java | 251 +
.../hadoop/hive/metastore/hbase/StatsCache.java | 326 +
.../metastore/hbase/TephraHBaseConnection.java | 127 +
.../metastore/hbase/VanillaHBaseConnection.java | 137 +
.../stats/BinaryColumnStatsAggregator.java | 35 +
.../stats/BooleanColumnStatsAggregator.java | 35 +
.../hbase/stats/ColumnStatsAggregator.java | 26 +
.../stats/ColumnStatsAggregatorFactory.java | 94 +
.../stats/DecimalColumnStatsAggregator.java | 43 +
.../stats/DoubleColumnStatsAggregator.java | 36 +
.../hbase/stats/LongColumnStatsAggregator.java | 36 +
.../stats/StringColumnStatsAggregator.java | 36 +
.../hive/metastore/parser/ExpressionTree.java | 9 +-
.../hive/metastore/tools/HiveMetaTool.java | 5 +
.../hadoop/hive/metastore/txn/TxnHandler.java | 66 +-
.../metastore/hbase/hbase_metastore_proto.proto | 282 +
.../DummyRawStoreControlledCommit.java | 56 +-
.../DummyRawStoreForJdoConnection.java | 50 +-
.../hadoop/hive/metastore/TestObjectStore.java | 43 +-
.../hadoop/hive/metastore/hbase/MockUtils.java | 199 +
.../hbase/TestHBaseAggregateStatsCache.java | 316 +
.../hbase/TestHBaseFilterPlanUtil.java | 483 +
.../hive/metastore/hbase/TestHBaseStore.java | 1307 +
.../metastore/hbase/TestHBaseStoreCached.java | 378 +
.../hbase/TestSharedStorageDescriptor.java | 153 +
packaging/src/main/assembly/bin.xml | 1 +
pom.xml | 25 +-
.../hadoop/hive/ql/plan/api/Adjacency.java | 2 +-
.../apache/hadoop/hive/ql/plan/api/Graph.java | 2 +-
.../hadoop/hive/ql/plan/api/Operator.java | 2 +-
.../apache/hadoop/hive/ql/plan/api/Query.java | 2 +-
.../hadoop/hive/ql/plan/api/QueryPlan.java | 2 +-
.../apache/hadoop/hive/ql/plan/api/Stage.java | 2 +-
.../apache/hadoop/hive/ql/plan/api/Task.java | 2 +-
.../ExpressionTemplates/IfExprColumnColumn.txt | 186 -
.../java/org/apache/hadoop/hive/ql/Driver.java | 17 +-
.../org/apache/hadoop/hive/ql/ErrorMsg.java | 2 +-
.../org/apache/hadoop/hive/ql/exec/DDLTask.java | 333 +-
.../apache/hadoop/hive/ql/exec/ExplainTask.java | 24 +-
.../hadoop/hive/ql/exec/FunctionRegistry.java | 3 +-
.../hadoop/hive/ql/exec/KeyWrapperFactory.java | 4 +
.../hadoop/hive/ql/exec/MapJoinOperator.java | 8 +-
.../apache/hadoop/hive/ql/exec/MoveTask.java | 31 +-
.../apache/hadoop/hive/ql/exec/Operator.java | 3 +-
.../ql/exec/SparkHashTableSinkOperator.java | 3 +-
.../hadoop/hive/ql/exec/StatsNoJobTask.java | 25 +-
.../apache/hadoop/hive/ql/exec/StatsTask.java | 13 +-
.../apache/hadoop/hive/ql/exec/Utilities.java | 11 +-
.../persistence/BytesBytesMultiHashMap.java | 11 +-
.../persistence/HybridHashTableContainer.java | 68 +-
.../ql/exec/persistence/PTFRowContainer.java | 14 +-
.../hive/ql/exec/persistence/RowContainer.java | 12 +-
.../hadoop/hive/ql/exec/spark/SparkPlan.java | 3 +-
.../hive/ql/exec/spark/SparkPlanGenerator.java | 3 +-
.../hive/ql/exec/spark/SparkRecordHandler.java | 3 +-
.../hadoop/hive/ql/exec/spark/SparkTask.java | 2 +-
.../ql/exec/spark/status/SparkJobMonitor.java | 2 +-
.../hadoop/hive/ql/exec/tez/DagUtils.java | 3 +
.../hive/ql/exec/tez/HashTableLoader.java | 7 +-
.../hadoop/hive/ql/exec/tez/InPlaceUpdates.java | 65 +
.../hive/ql/exec/tez/RecordProcessor.java | 3 +-
.../hive/ql/exec/tez/ReduceRecordProcessor.java | 1 -
.../hive/ql/exec/tez/ReduceRecordSource.java | 3 +-
.../hadoop/hive/ql/exec/tez/TezJobMonitor.java | 70 +-
.../hadoop/hive/ql/exec/tez/TezProcessor.java | 3 +-
.../apache/hadoop/hive/ql/exec/tez/TezTask.java | 20 +-
.../ql/exec/tez/tools/KeyValuesInputMerger.java | 1 -
.../ql/exec/vector/VectorGroupByOperator.java | 5 +-
.../exec/vector/VectorSMBMapJoinOperator.java | 15 +-
.../ql/exec/vector/VectorizationContext.java | 213 +-
.../expressions/FilterStringColumnInList.java | 13 +-
.../expressions/FilterStructColumnInList.java | 178 +
.../exec/vector/expressions/IStructInExpr.java | 36 +
.../IfExprDoubleColumnDoubleColumn.java | 167 +
.../expressions/IfExprLongColumnLongColumn.java | 166 +
.../vector/expressions/StringColumnInList.java | 4 +
.../vector/expressions/StructColumnInList.java | 174 +
.../apache/hadoop/hive/ql/hooks/ATSHook.java | 9 +-
.../hadoop/hive/ql/hooks/LineageLogger.java | 95 +-
.../hive/ql/io/CombineHiveInputFormat.java | 10 +-
.../hadoop/hive/ql/io/HiveInputFormat.java | 5 +-
.../hadoop/hive/ql/io/orc/OrcInputFormat.java | 155 +-
.../apache/hadoop/hive/ql/io/orc/OrcSerde.java | 1 +
.../apache/hadoop/hive/ql/io/orc/OrcStruct.java | 2 +-
.../hadoop/hive/ql/io/orc/RecordReaderImpl.java | 4 +-
.../hive/ql/io/parquet/ProjectionPusher.java | 3 +-
.../serde/ParquetHiveArrayInspector.java | 12 +
.../ql/io/parquet/timestamp/NanoTimeUtils.java | 23 +-
.../hive/ql/io/sarg/ConvertAstToSearchArg.java | 4 +
.../apache/hadoop/hive/ql/lib/RuleRegExp.java | 61 +-
.../apache/hadoop/hive/ql/log/PerfLogger.java | 195 -
.../apache/hadoop/hive/ql/metadata/Hive.java | 34 +-
.../hadoop/hive/ql/metadata/Partition.java | 29 +-
.../ql/optimizer/ColumnPrunerProcFactory.java | 3 +
.../hive/ql/optimizer/ConvertJoinMapJoin.java | 22 +-
.../hive/ql/optimizer/GenMapRedUtils.java | 57 +-
.../ql/optimizer/ReduceSinkMapJoinProc.java | 19 +-
.../functions/HiveSqlCountAggFunction.java | 72 +
.../functions/HiveSqlMinMaxAggFunction.java | 49 +
.../functions/HiveSqlSumAggFunction.java | 125 +
.../calcite/reloperators/HiveBetween.java | 75 +
.../optimizer/calcite/reloperators/HiveIn.java | 41 +
.../calcite/reloperators/HiveLimit.java | 57 -
.../calcite/reloperators/HiveSort.java | 110 -
.../calcite/reloperators/HiveSortLimit.java | 110 +
.../rules/HiveAggregateJoinTransposeRule.java | 372 +
.../rules/HiveAggregateProjectMergeRule.java | 151 +
.../calcite/rules/HivePreFilteringRule.java | 37 +-
.../calcite/rules/HiveRelFieldTrimmer.java | 145 +-
.../calcite/stats/HiveRelMdMemory.java | 9 +-
.../calcite/stats/HiveRelMdParallelism.java | 4 +-
.../calcite/translator/ASTConverter.java | 24 +-
.../calcite/translator/HiveOpConverter.java | 8 +-
.../translator/PlanModifierForASTConv.java | 14 +-
.../translator/PlanModifierForReturnPath.java | 4 -
.../calcite/translator/PlanModifierUtil.java | 4 +-
.../translator/SqlFunctionConverter.java | 56 +-
.../hive/ql/optimizer/lineage/LineageCtx.java | 8 +-
.../hive/ql/optimizer/physical/Vectorizer.java | 87 +-
.../ql/optimizer/physical/Vectorizer.java.orig | 1744 +
.../ql/optimizer/physical/Vectorizer.java.rej | 86 +
.../hive/ql/optimizer/ppr/PartitionPruner.java | 7 +-
.../hadoop/hive/ql/parse/CalcitePlanner.java | 33 +-
.../hive/ql/parse/DDLSemanticAnalyzer.java | 17 +
.../apache/hadoop/hive/ql/parse/HiveParser.g | 9 +-
.../apache/hadoop/hive/ql/parse/QBSubQuery.java | 7 -
.../hadoop/hive/ql/parse/SemanticAnalyzer.java | 12 +-
.../hive/ql/parse/SemanticAnalyzerFactory.java | 2 +
.../hadoop/hive/ql/parse/SubQueryUtils.java | 11 -
.../hive/ql/parse/spark/SparkCompiler.java | 3 +-
.../org/apache/hadoop/hive/ql/plan/DDLWork.java | 21 +
.../hive/ql/plan/ExprNodeGenericFuncDesc.java | 10 +-
.../hadoop/hive/ql/plan/HiveOperation.java | 1 +
.../hive/ql/plan/ShowCreateDatabaseDesc.java | 94 +
.../hadoop/hive/ql/plan/VectorGroupByDesc.java | 10 +
.../AuthorizationPreEventListener.java | 2 +-
.../authorization/plugin/HiveOperationType.java | 1 +
.../plugin/sqlstd/Operation2Privilege.java | 2 +
.../sqlstd/SQLStdHiveAccessController.java | 5 +
.../hadoop/hive/ql/session/SessionState.java | 40 +-
.../apache/hadoop/hive/ql/stats/StatsUtils.java | 269 +-
.../hive/ql/stats/jdbc/JDBCStatsPublisher.java | 13 +-
.../ql/stats/jdbc/JDBCStatsSetupConstants.java | 4 +-
.../org/apache/hadoop/hive/ql/udf/UDFJson.java | 2 +
.../hive/ql/udf/generic/GenericUDAFMax.java | 16 +-
.../hive/ql/udf/generic/GenericUDAFSum.java | 2 +-
.../udf/generic/GenericUDAFSumEmptyIsZero.java | 63 +
.../hive/ql/udf/generic/GenericUDFIf.java | 4 +-
ql/src/main/resources/hive-exec-log4j2.xml | 5 +-
ql/src/main/resources/tez-container-log4j2.xml | 5 +-
.../hive/metastore/TestMetastoreExpr.java | 2 +-
.../persistence/TestBytesBytesMultiHashMap.java | 3 +
.../ql/exec/persistence/TestHashPartition.java | 29 +
.../exec/persistence/TestPTFRowContainer.java | 31 +-
.../exec/vector/TestVectorizationContext.java | 4 +-
.../TestVectorConditionalExpressions.java | 3 +-
.../hive/ql/io/orc/TestInputOutputFormat.java | 19 +
.../hadoop/hive/ql/io/orc/TestOrcStruct.java | 2 +
.../serde/TestParquetTimestampUtils.java | 38 +-
...nMapRedUtilsUsePartitionColumnsNegative.java | 73 +
...nMapRedUtilsUsePartitionColumnsPositive.java | 61 +
.../test/queries/clientnegative/ctasnullcol.q | 2 +
.../authorization_set_show_current_role.q | 3 +
.../clientpositive/bucket_map_join_tez1.q | 31 +
.../queries/clientpositive/cbo_rp_auto_join17.q | 14 +
.../cbo_rp_cross_product_check_2.q | 31 +
.../clientpositive/drop_table_with_index.q | 35 +
.../test/queries/clientpositive/dynpart_merge.q | 28 +
.../dynpart_sort_opt_vectorization.q | 2 +
.../clientpositive/dynpart_sort_optimization.q | 2 +
.../queries/clientpositive/exchgpartition2lel.q | 32 +
.../clientpositive/groupby_join_pushdown.q | 55 +
ql/src/test/queries/clientpositive/lineage3.q | 26 +
.../test/queries/clientpositive/load_orc_part.q | 5 +
.../parquet_mixed_partition_formats.q | 42 +
.../clientpositive/parquet_ppd_boolean.q | 42 +-
.../queries/clientpositive/parquet_ppd_char.q | 46 +-
.../queries/clientpositive/parquet_ppd_date.q | 64 +-
.../clientpositive/parquet_ppd_decimal.q | 106 +-
.../clientpositive/parquet_ppd_timestamp.q | 62 +-
.../clientpositive/parquet_ppd_varchar.q | 46 +-
.../clientpositive/parquet_predicate_pushdown.q | 20 +-
.../clientpositive/show_create_database.q | 3 +
.../queries/clientpositive/subquery_views.q | 22 +-
.../queries/clientpositive/union_fast_stats.q | 68 +
.../clientpositive/vector_auto_smb_mapjoin_14.q | 297 +
.../queries/clientpositive/vector_char_cast.q | 9 +
.../clientpositive/vector_groupby_reduce.q | 62 +-
.../queries/clientpositive/vector_struct_in.q | 247 +
.../clientpositive/vectorization_limit.q | 4 +-
.../queries/clientpositive/windowing_udaf.q | 4 +
.../results/clientnegative/ctasnullcol.q.out | 5 +
.../subquery_exists_implicit_gby.q.out | 8 +-
.../subquery_nested_subquery.q.out | 4 +-
.../subquery_notexists_implicit_gby.q.out | 8 +-
.../subquery_windowing_corr.q.out | 7 +-
.../alter_partition_coltype.q.out | 8 +-
.../clientpositive/annotate_stats_groupby.q.out | 106 +-
.../annotate_stats_groupby2.q.out | 28 +-
.../authorization_explain.q.java1.7.out | 2 +-
.../authorization_explain.q.java1.8.out | 2 +-
.../authorization_set_show_current_role.q.out | 8 +
.../results/clientpositive/auto_join18.q.out | 12 +-
.../auto_join18_multi_distinct.q.out | 12 +-
.../results/clientpositive/auto_join27.q.out | 18 +-
.../results/clientpositive/auto_join32.q.out | 4 +-
.../clientpositive/binarysortable_1.q.out | Bin 4329 -> 4325 bytes
.../clientpositive/cbo_rp_auto_join17.q.out | 118 +
.../cbo_rp_cross_product_check_2.q.out | 699 +
.../clientpositive/correlationoptimizer2.q.out | 220 +-
.../clientpositive/correlationoptimizer6.q.out | 232 +-
ql/src/test/results/clientpositive/count.q.out | 14 +-
.../results/clientpositive/ctas_colname.q.out | 52 +-
.../test/results/clientpositive/database.q.out | 2 +-
.../clientpositive/decimal_precision.q.out | 4 +-
.../results/clientpositive/decimal_udf.q.out | 30 +-
.../results/clientpositive/distinct_stats.q.out | 14 +-
.../clientpositive/drop_table_with_index.q.out | 152 +
.../results/clientpositive/dynpart_merge.q.out | 99 +
.../dynpart_sort_opt_vectorization.q.out | 117 +-
.../dynpart_sort_optimization.q.out | 117 +-
...ryption_select_read_only_encrypted_tbl.q.out | 4 +-
.../clientpositive/exchgpartition2lel.q.out | 182 +
.../clientpositive/explain_dependency.q.out | 18 +-
.../clientpositive/explain_dependency2.q.out | 16 +-
.../clientpositive/explain_logical.q.out | 78 +-
.../clientpositive/fetch_aggregation.q.out | 4 +-
.../test/results/clientpositive/gby_star.q.out | 54 +-
.../test/results/clientpositive/groupby12.q.out | 6 +-
.../results/clientpositive/groupby5_map.q.out | 4 +-
.../clientpositive/groupby5_map_skew.q.out | 4 +-
.../results/clientpositive/groupby_cube1.q.out | 12 +-
.../groupby_distinct_samekey.q.out | 6 +-
.../clientpositive/groupby_grouping_sets2.q.out | 10 +-
.../clientpositive/groupby_grouping_sets3.q.out | 12 +-
.../clientpositive/groupby_grouping_sets5.q.out | 8 +-
.../clientpositive/groupby_grouping_sets6.q.out | 8 +-
.../clientpositive/groupby_join_pushdown.q.out | 1522 +
.../clientpositive/groupby_position.q.out | 36 +-
.../clientpositive/groupby_resolution.q.out | 60 +-
.../clientpositive/groupby_rollup1.q.out | 12 +-
.../clientpositive/groupby_sort_10.q.out | 8 +-
.../clientpositive/groupby_sort_11.q.out | 10 +-
.../results/clientpositive/groupby_sort_8.q.out | 12 +-
ql/src/test/results/clientpositive/having.q.out | 62 +-
.../test/results/clientpositive/having2.q.out | 12 +-
.../clientpositive/index_auto_mult_tables.q.out | 12 +-
.../clientpositive/index_auto_self_join.q.out | 12 +-
.../clientpositive/index_auto_update.q.out | 6 +-
.../index_bitmap_auto_partitioned.q.out | 6 +-
.../index_bitmap_compression.q.out | 6 +-
.../infer_bucket_sort_dyn_part.q.out | 4 +-
.../infer_bucket_sort_map_operators.q.out | 4 +-
.../results/clientpositive/input4.q.java1.7.out | 2 +-
.../results/clientpositive/input4.q.java1.8.out | 2 +-
.../results/clientpositive/join0.q.java1.7.out | 2 +-
.../results/clientpositive/join0.q.java1.8.out | 4 +-
ql/src/test/results/clientpositive/join18.q.out | 12 +-
.../clientpositive/join18_multi_distinct.q.out | 12 +-
ql/src/test/results/clientpositive/join31.q.out | 36 +-
.../limit_partition_metadataonly.q.out | 4 +-
.../results/clientpositive/limit_pushdown.q.out | 36 +-
.../test/results/clientpositive/lineage2.q.out | 2 +-
.../test/results/clientpositive/lineage3.q.out | 72 +-
.../list_bucket_dml_6.q.java1.7.out | 12 +-
.../list_bucket_dml_6.q.java1.8.out | 12 +-
.../clientpositive/list_bucket_dml_7.q.out | 12 +-
.../list_bucket_query_multiskew_3.q.out | 2 +-
.../results/clientpositive/load_orc_part.q.out | 26 +
.../clientpositive/mapjoin_mapjoin.q.out | 32 +-
.../clientpositive/metadata_only_queries.q.out | 4 +-
.../results/clientpositive/metadataonly1.q.out | 112 +-
.../results/clientpositive/multiMapJoin2.q.out | 226 +-
.../nonblock_op_deduplicate.q.out | 8 +-
.../results/clientpositive/nonmr_fetch.q.out | 14 +-
.../results/clientpositive/parallel_join0.q.out | 2 +-
.../parquet_mixed_partition_formats.q.out | 303 +
.../clientpositive/parquet_ppd_boolean.q.out | 194 +-
.../clientpositive/parquet_ppd_char.q.out | 224 +-
.../clientpositive/parquet_ppd_date.q.out | 324 +-
.../clientpositive/parquet_ppd_decimal.q.out | 594 +-
.../clientpositive/parquet_ppd_timestamp.q.out | 314 +-
.../clientpositive/parquet_ppd_varchar.q.out | 224 +-
.../parquet_predicate_pushdown.q.out | 118 +-
.../clientpositive/partition_multilevels.q.out | 8 +-
.../clientpositive/plan_json.q.java1.7.out | 2 +-
.../clientpositive/plan_json.q.java1.8.out | 2 +-
.../test/results/clientpositive/ppd_gby.q.out | 12 +-
.../test/results/clientpositive/ppd_gby2.q.out | 60 +-
.../clientpositive/ppd_join_filter.q.out | 98 +-
.../ql_rewrite_gbtoidx_cbo_1.q.out | 168 +-
.../ql_rewrite_gbtoidx_cbo_2.q.out | 94 +-
.../reduce_deduplicate_extended.q.out | 32 +-
.../clientpositive/selectDistinctStar.q.out | 44 +-
.../clientpositive/show_create_database.q.out | 19 +
.../results/clientpositive/show_functions.q.out | 1 +
.../clientpositive/spark/auto_join18.q.out | 10 +-
.../spark/auto_join18_multi_distinct.q.out | 12 +-
.../clientpositive/spark/auto_join27.q.out | 18 +-
.../clientpositive/spark/auto_join32.q.out | 53 +-
.../spark/bucket_map_join_tez1.q.out | 357 +
.../results/clientpositive/spark/count.q.out | 14 +-
.../clientpositive/spark/groupby5_map.q.out | 4 +-
.../spark/groupby5_map_skew.q.out | 4 +-
.../clientpositive/spark/groupby_cube1.q.out | 12 +-
.../clientpositive/spark/groupby_position.q.out | 18 +-
.../spark/groupby_resolution.q.out | 60 +-
.../clientpositive/spark/groupby_rollup1.q.out | 12 +-
.../results/clientpositive/spark/having.q.out | 62 +-
.../spark/infer_bucket_sort_map_operators.q.out | 4 +-
.../results/clientpositive/spark/join18.q.out | 10 +-
.../spark/join18_multi_distinct.q.out | 12 +-
.../results/clientpositive/spark/join31.q.out | 36 +-
.../spark/limit_partition_metadataonly.q.out | 4 +-
.../clientpositive/spark/limit_pushdown.q.out | 34 +-
.../clientpositive/spark/mapjoin_mapjoin.q.out | 24 +-
.../spark/metadata_only_queries.q.out | 4 +-
.../clientpositive/spark/ppd_join_filter.q.out | 90 +-
.../spark/ql_rewrite_gbtoidx_cbo_1.q.out | 168 +-
.../clientpositive/spark/stats_only_null.q.out | 8 +-
.../clientpositive/spark/subquery_in.q.out | 36 +-
.../results/clientpositive/spark/union11.q.out | 42 +-
.../results/clientpositive/spark/union14.q.out | 28 +-
.../results/clientpositive/spark/union15.q.out | 28 +-
.../results/clientpositive/spark/union28.q.out | 4 +-
.../results/clientpositive/spark/union30.q.out | 4 +-
.../results/clientpositive/spark/union33.q.out | 8 +-
.../results/clientpositive/spark/union5.q.out | 34 +-
.../results/clientpositive/spark/union7.q.out | 28 +-
.../clientpositive/spark/union_remove_21.q.out | 4 +-
.../spark/vector_count_distinct.q.out | 4 +-
.../spark/vector_decimal_aggregate.q.out | 12 +-
.../spark/vector_distinct_2.q.out | 28 +-
.../clientpositive/spark/vector_groupby_3.q.out | 30 +-
.../spark/vector_mapjoin_reduce.q.out | 36 +-
.../clientpositive/spark/vector_orderby_5.q.out | 6 +-
.../clientpositive/spark/vectorization_0.q.out | 16 +-
.../clientpositive/spark/vectorization_13.q.out | 32 +-
.../clientpositive/spark/vectorization_15.q.out | 16 +-
.../clientpositive/spark/vectorization_16.q.out | 16 +-
.../clientpositive/spark/vectorization_9.q.out | 16 +-
.../spark/vectorization_pushdown.q.out | 4 +-
.../spark/vectorization_short_regress.q.out | 74 +-
.../spark/vectorized_nested_mapjoin.q.out | 18 +-
.../spark/vectorized_timestamp_funcs.q.out | 12 +-
.../clientpositive/stats_only_null.q.out | 8 +-
.../results/clientpositive/stats_ppr_all.q.out | 16 +-
.../subq_where_serialization.q.out | 18 +-
.../clientpositive/subquery_exists_having.q.out | 48 +-
.../results/clientpositive/subquery_in.q.out | 36 +-
.../clientpositive/subquery_in_having.q.out | 260 +-
.../clientpositive/subquery_notexists.q.out | 18 +-
.../subquery_notexists_having.q.out | 26 +-
.../results/clientpositive/subquery_notin.q.out | 24 +-
.../subquery_notin_having.q.java1.7.out | 50 +-
.../subquery_unqualcolumnrefs.q.out | 74 +-
.../results/clientpositive/subquery_views.q.out | 124 +-
.../tez/bucket_map_join_tez1.q.out | 333 +
.../clientpositive/tez/constprog_dpp.q.out | 4 +-
.../test/results/clientpositive/tez/count.q.out | 14 +-
.../tez/dynamic_partition_pruning.q.out | 88 +-
.../tez/dynpart_sort_opt_vectorization.q.out | 102 +-
.../tez/dynpart_sort_optimization.q.out | 101 +-
.../clientpositive/tez/explainuser_1.q.out | 2799 +-
.../clientpositive/tez/explainuser_2.q.out | 4004 +-
.../clientpositive/tez/explainuser_3.q.out | 10 +-
.../results/clientpositive/tez/having.q.out | 62 +-
.../clientpositive/tez/limit_pushdown.q.out | 34 +-
.../clientpositive/tez/mapjoin_mapjoin.q.out | 24 +-
.../tez/metadata_only_queries.q.out | 4 +-
.../clientpositive/tez/metadataonly1.q.out | 44 +-
.../test/results/clientpositive/tez/mrr.q.out | 94 +-
.../clientpositive/tez/selectDistinctStar.q.out | 44 +-
.../tez/show_create_database.q.out | 19 +
.../clientpositive/tez/stats_only_null.q.out | 8 +-
.../clientpositive/tez/subquery_in.q.out | 36 +-
.../results/clientpositive/tez/tez_dml.q.out | 6 +-
.../results/clientpositive/tez/union5.q.out | 44 +-
.../results/clientpositive/tez/union7.q.out | 28 +-
.../clientpositive/tez/unionDistinct_1.q.out | 8 +-
.../clientpositive/tez/union_fast_stats.q.out | 526 +
.../clientpositive/tez/vector_aggregate_9.q.out | 4 +-
.../tez/vector_auto_smb_mapjoin_14.q.out | 1576 +
.../tez/vector_binary_join_groupby.q.out | 4 +-
.../clientpositive/tez/vector_char_cast.q.out | 35 +
.../tez/vector_count_distinct.q.out | 4 +-
.../tez/vector_decimal_aggregate.q.out | 12 +-
.../tez/vector_decimal_precision.q.out | 4 +-
.../clientpositive/tez/vector_decimal_udf.q.out | 30 +-
.../clientpositive/tez/vector_distinct_2.q.out | 28 +-
.../clientpositive/tez/vector_groupby_3.q.out | 30 +-
.../tez/vector_groupby_reduce.q.out | 1460 +-
.../tez/vector_grouping_sets.q.out | 8 +-
.../tez/vector_mapjoin_reduce.q.out | 36 +-
.../clientpositive/tez/vector_orderby_5.q.out | 6 +-
.../clientpositive/tez/vector_outer_join2.q.out | 20 +-
.../tez/vector_partition_diff_num_cols.q.out | 20 +-
.../tez/vector_partitioned_date_time.q.out | 12 +-
.../tez/vector_reduce_groupby_decimal.q.out | 24 +-
.../clientpositive/tez/vectorization_0.q.out | 16 +-
.../clientpositive/tez/vectorization_13.q.out | 32 +-
.../clientpositive/tez/vectorization_15.q.out | 16 +-
.../clientpositive/tez/vectorization_16.q.out | 16 +-
.../clientpositive/tez/vectorization_9.q.out | 16 +-
.../tez/vectorization_limit.q.out | 22 +-
.../tez/vectorization_pushdown.q.out | 4 +-
.../tez/vectorization_short_regress.q.out | 74 +-
.../tez/vectorized_distinct_gby.q.out | 8 +-
.../vectorized_dynamic_partition_pruning.q.out | 88 +-
.../tez/vectorized_nested_mapjoin.q.out | 18 +-
.../clientpositive/tez/vectorized_parquet.q.out | 6 +-
.../tez/vectorized_timestamp_funcs.q.out | 12 +-
ql/src/test/results/clientpositive/udf8.q.out | 4 +-
.../test/results/clientpositive/udf_count.q.out | 16 +-
.../test/results/clientpositive/union11.q.out | 70 +-
.../test/results/clientpositive/union14.q.out | 32 +-
.../test/results/clientpositive/union15.q.out | 38 +-
.../test/results/clientpositive/union28.q.out | 8 +-
.../test/results/clientpositive/union30.q.out | 8 +-
.../test/results/clientpositive/union33.q.out | 8 +-
ql/src/test/results/clientpositive/union5.q.out | 48 +-
ql/src/test/results/clientpositive/union7.q.out | 32 +-
.../clientpositive/unionDistinct_1.q.out | 8 +-
.../clientpositive/union_fast_stats.q.out | 526 +
.../clientpositive/union_remove_21.q.out | 8 +-
.../clientpositive/vector_aggregate_9.q.out | 4 +-
.../vector_aggregate_without_gby.q.out | 4 +-
.../vector_auto_smb_mapjoin_14.q.out | 1792 +
.../vector_binary_join_groupby.q.out | 4 +-
.../clientpositive/vector_char_cast.q.out | 35 +
.../clientpositive/vector_count_distinct.q.out | 6 +-
.../vector_decimal_aggregate.q.out | 12 +-
.../vector_decimal_precision.q.out | 4 +-
.../clientpositive/vector_decimal_udf.q.out | 30 +-
.../clientpositive/vector_distinct_2.q.out | 28 +-
.../clientpositive/vector_groupby_3.q.out | 30 +-
.../clientpositive/vector_groupby_reduce.q.out | 1474 +-
.../clientpositive/vector_grouping_sets.q.out | 8 +-
.../clientpositive/vector_left_outer_join.q.out | 8 +-
.../clientpositive/vector_mapjoin_reduce.q.out | 36 +-
.../clientpositive/vector_orderby_5.q.out | 6 +-
.../clientpositive/vector_outer_join1.q.out | 8 +-
.../clientpositive/vector_outer_join2.q.out | 28 +-
.../clientpositive/vector_outer_join3.q.out | 24 +-
.../clientpositive/vector_outer_join4.q.out | 8 +-
.../clientpositive/vector_outer_join5.q.out | 48 +-
.../vector_partition_diff_num_cols.q.out | 20 +-
.../vector_partitioned_date_time.q.out | 12 +-
.../vector_reduce_groupby_decimal.q.out | 24 +-
.../clientpositive/vector_struct_in.q.out | 825 +
.../clientpositive/vectorization_0.q.out | 16 +-
.../clientpositive/vectorization_13.q.out | 32 +-
.../clientpositive/vectorization_15.q.out | 16 +-
.../clientpositive/vectorization_16.q.out | 16 +-
.../clientpositive/vectorization_9.q.out | 16 +-
.../clientpositive/vectorization_limit.q.out | 24 +-
.../clientpositive/vectorization_pushdown.q.out | 4 +-
.../vectorization_short_regress.q.out | 74 +-
.../vectorized_distinct_gby.q.out | 12 +-
.../vectorized_nested_mapjoin.q.out | 26 +-
.../clientpositive/vectorized_parquet.q.out | 6 +-
.../vectorized_parquet_types.q.out | 6 +-
.../vectorized_timestamp_funcs.q.out | 12 +-
.../results/clientpositive/windowing_udaf.q.out | 12 +
ql/src/test/templates/TestCliDriver.vm | 3 +-
.../hadoop/hive/serde/test/InnerStruct.java | 2 +-
.../hadoop/hive/serde/test/ThriftTestObj.java | 2 +-
.../hadoop/hive/serde2/thrift/test/Complex.java | 2 +-
.../hive/serde2/thrift/test/IntString.java | 2 +-
.../hive/serde2/thrift/test/MegaStruct.java | 2 +-
.../hive/serde2/thrift/test/MiniStruct.java | 2 +-
.../hive/serde2/thrift/test/SetIntString.java | 2 +-
.../hive/serde2/ColumnProjectionUtils.java | 22 +
.../apache/hadoop/hive/serde2/WriteBuffers.java | 10 +-
.../BinarySortableSerDeWithEndPrefix.java | 41 +
.../hadoop/hive/serde2/lazy/LazyByte.java | 4 +
.../hadoop/hive/serde2/lazy/LazyDouble.java | 4 +
.../hadoop/hive/serde2/lazy/LazyFloat.java | 4 +
.../hadoop/hive/serde2/lazy/LazyInteger.java | 4 +
.../hadoop/hive/serde2/lazy/LazyLong.java | 4 +
.../hadoop/hive/serde2/lazy/LazyShort.java | 4 +
.../hadoop/hive/serde2/lazy/LazyUtils.java | 28 +
.../hadoop/hive/service/HiveClusterStatus.java | 2 +-
.../hive/service/HiveServerException.java | 2 +-
.../apache/hadoop/hive/service/ThriftHive.java | 2 +-
.../service/cli/thrift/TArrayTypeEntry.java | 2 +-
.../hive/service/cli/thrift/TBinaryColumn.java | 2 +-
.../hive/service/cli/thrift/TBoolColumn.java | 2 +-
.../hive/service/cli/thrift/TBoolValue.java | 2 +-
.../hive/service/cli/thrift/TByteColumn.java | 2 +-
.../hive/service/cli/thrift/TByteValue.java | 2 +-
.../hive/service/cli/thrift/TCLIService.java | 2 +-
.../cli/thrift/TCancelDelegationTokenReq.java | 2 +-
.../cli/thrift/TCancelDelegationTokenResp.java | 2 +-
.../service/cli/thrift/TCancelOperationReq.java | 2 +-
.../cli/thrift/TCancelOperationResp.java | 2 +-
.../service/cli/thrift/TCloseOperationReq.java | 2 +-
.../service/cli/thrift/TCloseOperationResp.java | 2 +-
.../service/cli/thrift/TCloseSessionReq.java | 2 +-
.../service/cli/thrift/TCloseSessionResp.java | 2 +-
.../hive/service/cli/thrift/TColumnDesc.java | 2 +-
.../hive/service/cli/thrift/TDoubleColumn.java | 2 +-
.../hive/service/cli/thrift/TDoubleValue.java | 2 +-
.../cli/thrift/TExecuteStatementReq.java | 2 +-
.../cli/thrift/TExecuteStatementResp.java | 2 +-
.../service/cli/thrift/TFetchResultsReq.java | 2 +-
.../service/cli/thrift/TFetchResultsResp.java | 2 +-
.../service/cli/thrift/TGetCatalogsReq.java | 2 +-
.../service/cli/thrift/TGetCatalogsResp.java | 2 +-
.../hive/service/cli/thrift/TGetColumnsReq.java | 2 +-
.../service/cli/thrift/TGetColumnsResp.java | 2 +-
.../cli/thrift/TGetDelegationTokenReq.java | 2 +-
.../cli/thrift/TGetDelegationTokenResp.java | 2 +-
.../service/cli/thrift/TGetFunctionsReq.java | 2 +-
.../service/cli/thrift/TGetFunctionsResp.java | 2 +-
.../hive/service/cli/thrift/TGetInfoReq.java | 2 +-
.../hive/service/cli/thrift/TGetInfoResp.java | 2 +-
.../cli/thrift/TGetOperationStatusReq.java | 2 +-
.../cli/thrift/TGetOperationStatusResp.java | 2 +-
.../cli/thrift/TGetResultSetMetadataReq.java | 2 +-
.../cli/thrift/TGetResultSetMetadataResp.java | 2 +-
.../hive/service/cli/thrift/TGetSchemasReq.java | 2 +-
.../service/cli/thrift/TGetSchemasResp.java | 2 +-
.../service/cli/thrift/TGetTableTypesReq.java | 2 +-
.../service/cli/thrift/TGetTableTypesResp.java | 2 +-
.../hive/service/cli/thrift/TGetTablesReq.java | 2 +-
.../hive/service/cli/thrift/TGetTablesResp.java | 2 +-
.../service/cli/thrift/TGetTypeInfoReq.java | 2 +-
.../service/cli/thrift/TGetTypeInfoResp.java | 2 +-
.../service/cli/thrift/THandleIdentifier.java | 2 +-
.../hive/service/cli/thrift/TI16Column.java | 2 +-
.../hive/service/cli/thrift/TI16Value.java | 2 +-
.../hive/service/cli/thrift/TI32Column.java | 2 +-
.../hive/service/cli/thrift/TI32Value.java | 2 +-
.../hive/service/cli/thrift/TI64Column.java | 2 +-
.../hive/service/cli/thrift/TI64Value.java | 2 +-
.../hive/service/cli/thrift/TMapTypeEntry.java | 2 +-
.../service/cli/thrift/TOpenSessionReq.java | 2 +-
.../service/cli/thrift/TOpenSessionResp.java | 2 +-
.../service/cli/thrift/TOperationHandle.java | 2 +-
.../service/cli/thrift/TPrimitiveTypeEntry.java | 2 +-
.../cli/thrift/TRenewDelegationTokenReq.java | 2 +-
.../cli/thrift/TRenewDelegationTokenResp.java | 2 +-
.../apache/hive/service/cli/thrift/TRow.java | 2 +-
.../apache/hive/service/cli/thrift/TRowSet.java | 2 +-
.../hive/service/cli/thrift/TSessionHandle.java | 2 +-
.../apache/hive/service/cli/thrift/TStatus.java | 2 +-
.../hive/service/cli/thrift/TStringColumn.java | 2 +-
.../hive/service/cli/thrift/TStringValue.java | 2 +-
.../service/cli/thrift/TStructTypeEntry.java | 2 +-
.../hive/service/cli/thrift/TTableSchema.java | 2 +-
.../hive/service/cli/thrift/TTypeDesc.java | 2 +-
.../service/cli/thrift/TTypeQualifiers.java | 2 +-
.../service/cli/thrift/TUnionTypeEntry.java | 2 +-
.../cli/thrift/TUserDefinedTypeEntry.java | 2 +-
.../gen-py/hive_service/ThriftHive-remote | 49 +-
.../auth/LdapAuthenticationProviderImpl.java | 82 +-
.../org/apache/hive/service/cli/Column.java | 2 +-
.../thrift/RetryingThriftCLIServiceClient.java | 331 +
.../org/apache/hive/service/cli/TestColumn.java | 129 +
.../cli/TestRetryingThriftCLIServiceClient.java | 133 +
.../hadoop/hive/shims/Hadoop20SShims.java | 5 +-
shims/0.23/pom.xml | 1 -
.../apache/hadoop/hive/shims/Hadoop23Shims.java | 27 +-
.../hive/thrift/HadoopThriftAuthBridge.java | 3 +
.../hive/ql/io/sarg/SearchArgumentFactory.java | 5 +-
.../hive/ql/io/sarg/SearchArgumentImpl.java | 7 +-
testutils/ptest2/src/main/resources/log4j2.xml | 5 +-
821 files changed, 105344 insertions(+), 16997 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/6b3e82d3/bin/beeline
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/6b3e82d3/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/6b3e82d3/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
----------------------------------------------------------------------
[20/33] hive git commit: HIVE-11624:Beeline-cli: support
hive.cli.print.header in new CLI[beeline-cli branch](Ke Jia,
reviewed by Ferdinand Xu)
Posted by xu...@apache.org.
HIVE-11624:Beeline-cli: support hive.cli.print.header in new CLI[beeline-cli branch](Ke Jia, reviewed by Ferdinand Xu)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/1f5c745c
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/1f5c745c
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/1f5c745c
Branch: refs/heads/master
Commit: 1f5c745cd0347321b0462e6a1a9d4b6ebf17599d
Parents: 80f6184
Author: Ke Jia <ke...@intel.com>
Authored: Tue Aug 25 01:57:47 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Tue Aug 25 01:57:47 2015 -0400
----------------------------------------------------------------------
beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java | 9 ++++++++-
.../src/test/org/apache/hive/beeline/cli/TestHiveCli.java | 7 +++++++
2 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/1f5c745c/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
index 72e9037..b6f244b 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
@@ -409,7 +409,14 @@ class BeeLineOpts implements Completer {
}
public boolean getShowHeader() {
- return showHeader;
+ if (beeLine.isBeeLine()) {
+ return showHeader;
+ } else {
+ boolean header;
+ HiveConf conf = beeLine.getCommands().getHiveConf(true);
+ header = HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVE_CLI_PRINT_HEADER);
+ return header;
+ }
}
public void setHeaderInterval(int headerInterval) {
http://git-wip-us.apache.org/repos/asf/hive/blob/1f5c745c/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index c7eaa8e..7f6ab13 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -95,6 +95,13 @@ public class TestHiveCli {
}
@Test
+ public void testSetHeaderValue() {
+ verifyCMD(
+ "create database if not exists test;\ncreate table if not exists test.testTbl(a string, b string);\nset hive.cli.print.header=true;\n select * from test.testTbl;\n",
+ "testtbl.a testtbl.b", os, null, ERRNO_OK);
+ }
+
+ @Test
public void testHelp() {
verifyCMD(null, "usage: hive", os, new String[] { "-H" }, ERRNO_ARGS);
}
[15/33] hive git commit: HIVE-11275: Merge branch 'master' into
beeline-cl branch 07/14/2015i
Posted by xu...@apache.org.
HIVE-11275: Merge branch 'master' into beeline-cl branch 07/14/2015i
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/e6adedc1
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/e6adedc1
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/e6adedc1
Branch: refs/heads/master
Commit: e6adedc1ca83ee30492dc3c05b16aeb81e640aef
Parents: 0ac8f6c e61a1a9
Author: Xuefu Zhang <xz...@Cloudera.com>
Authored: Wed Jul 15 21:33:21 2015 -0700
Committer: Xuefu Zhang <xz...@Cloudera.com>
Committed: Wed Jul 15 21:33:21 2015 -0700
----------------------------------------------------------------------
.gitignore | 1 +
.../org/apache/hive/beeline/BeeLineOpts.java | 4 +-
.../java/org/apache/hive/beeline/Commands.java | 23 +-
bin/ext/hplsql.sh | 37 +
bin/hplsql | 25 +
bin/hplsql.cmd | 58 +
.../apache/hadoop/hive/common/FileUtils.java | 9 +-
.../hadoop/hive/common/JvmPauseMonitor.java | 7 +-
.../hive/common/metrics/LegacyMetrics.java | 30 +-
.../hive/common/metrics/common/Metrics.java | 27 +
.../common/metrics/common/MetricsConstant.java | 35 +
.../common/metrics/common/MetricsVariable.java | 26 +
.../metrics/metrics2/CodahaleMetrics.java | 58 +-
.../org/apache/hadoop/hive/conf/HiveConf.java | 12 +-
.../metrics/metrics2/TestCodahaleMetrics.java | 42 +
data/files/encoding-utf8.txt | 12 +
data/files/encoding_iso-8859-1.txt | 4 +
.../results/positive/external_table_ppd.q.out | 1 -
.../positive/hbase_binary_storage_queries.q.out | 2 -
.../src/test/results/positive/hbase_stats.q.out | 7 -
.../test/results/positive/hbase_stats2.q.out | 7 -
.../test/results/positive/hbase_stats3.q.out | 12 -
.../positive/hbase_stats_empty_partition.q.out | 2 -
.../SemanticAnalysis/HCatSemanticAnalyzer.java | 7 +-
.../src/test/e2e/templeton/deployers/env.sh | 5 +-
hcatalog/streaming/pom.xml | 6 +
.../streaming/AbstractRecordWriter.java | 4 +-
.../streaming/mutate/HiveConfFactory.java | 63 +
.../mutate/UgiMetaStoreClientFactory.java | 102 +
.../streaming/mutate/client/AcidTable.java | 112 +
.../mutate/client/AcidTableSerializer.java | 100 +
.../mutate/client/ClientException.java | 15 +
.../mutate/client/ConnectionException.java | 15 +
.../streaming/mutate/client/MutatorClient.java | 149 +
.../mutate/client/MutatorClientBuilder.java | 115 +
.../streaming/mutate/client/TableType.java | 37 +
.../streaming/mutate/client/Transaction.java | 114 +
.../mutate/client/TransactionException.java | 15 +
.../mutate/client/lock/HeartbeatFactory.java | 30 +
.../mutate/client/lock/HeartbeatTimerTask.java | 66 +
.../streaming/mutate/client/lock/Lock.java | 305 ++
.../mutate/client/lock/LockException.java | 15 +
.../mutate/client/lock/LockFailureListener.java | 26 +
.../mutate/doc-files/system-overview.dot | 27 +
.../hive/hcatalog/streaming/mutate/package.html | 495 +++
.../mutate/worker/BucketIdException.java | 11 +
.../mutate/worker/BucketIdResolver.java | 11 +
.../mutate/worker/BucketIdResolverImpl.java | 76 +
.../mutate/worker/CreatePartitionHelper.java | 83 +
.../mutate/worker/GroupRevisitedException.java | 11 +
.../mutate/worker/GroupingValidator.java | 74 +
.../streaming/mutate/worker/Mutator.java | 21 +
.../mutate/worker/MutatorCoordinator.java | 281 ++
.../worker/MutatorCoordinatorBuilder.java | 76 +
.../streaming/mutate/worker/MutatorFactory.java | 16 +
.../streaming/mutate/worker/MutatorImpl.java | 86 +
.../streaming/mutate/worker/OperationType.java | 7 +
.../worker/PartitionCreationException.java | 15 +
.../mutate/worker/RecordInspector.java | 11 +
.../mutate/worker/RecordInspectorImpl.java | 45 +
.../mutate/worker/RecordSequenceException.java | 11 +
.../mutate/worker/SequenceValidator.java | 49 +
.../mutate/worker/WorkerException.java | 15 +
.../streaming/mutate/ExampleUseCase.java | 82 +
.../streaming/mutate/MutableRecord.java | 50 +
.../mutate/ReflectiveMutatorFactory.java | 51 +
.../streaming/mutate/StreamingAssert.java | 191 +
.../streaming/mutate/StreamingTestUtils.java | 261 ++
.../streaming/mutate/TestMutations.java | 544 +++
.../mutate/client/TestAcidTableSerializer.java | 66 +
.../mutate/client/TestMutatorClient.java | 176 +
.../mutate/client/TestTransaction.java | 95 +
.../client/lock/TestHeartbeatTimerTask.java | 100 +
.../streaming/mutate/client/lock/TestLock.java | 310 ++
.../mutate/worker/TestBucketIdResolverImpl.java | 38 +
.../mutate/worker/TestGroupingValidator.java | 70 +
.../mutate/worker/TestMutatorCoordinator.java | 234 ++
.../mutate/worker/TestMutatorImpl.java | 99 +
.../mutate/worker/TestRecordInspectorImpl.java | 31 +
.../mutate/worker/TestSequenceValidator.java | 91 +
.../hive/hcatalog/api/HCatClientHMSImpl.java | 14 +-
.../hive/hcatalog/templeton/AppConfig.java | 28 +-
.../hcatalog/templeton/SecureProxySupport.java | 6 +-
hplsql/pom.xml | 128 +
.../antlr4/org/apache/hive/hplsql/Hplsql.g4 | 1426 ++++++++
.../java/org/apache/hive/hplsql/Arguments.java | 206 ++
.../main/java/org/apache/hive/hplsql/Conf.java | 175 +
.../main/java/org/apache/hive/hplsql/Conn.java | 243 ++
.../java/org/apache/hive/hplsql/Converter.java | 56 +
.../main/java/org/apache/hive/hplsql/Copy.java | 426 +++
.../main/java/org/apache/hive/hplsql/Exec.java | 1959 +++++++++++
.../java/org/apache/hive/hplsql/Expression.java | 574 +++
.../main/java/org/apache/hive/hplsql/File.java | 132 +
.../java/org/apache/hive/hplsql/Handler.java | 41 +
.../java/org/apache/hive/hplsql/Hplsql.java | 25 +
.../java/org/apache/hive/hplsql/Interval.java | 109 +
.../main/java/org/apache/hive/hplsql/Query.java | 155 +
.../main/java/org/apache/hive/hplsql/Scope.java | 69 +
.../java/org/apache/hive/hplsql/Select.java | 411 +++
.../java/org/apache/hive/hplsql/Signal.java | 48 +
.../main/java/org/apache/hive/hplsql/Stmt.java | 1021 ++++++
.../org/apache/hive/hplsql/StreamGobbler.java | 51 +
.../main/java/org/apache/hive/hplsql/Timer.java | 59 +
.../main/java/org/apache/hive/hplsql/Udf.java | 117 +
.../main/java/org/apache/hive/hplsql/Utils.java | 289 ++
.../main/java/org/apache/hive/hplsql/Var.java | 430 +++
.../apache/hive/hplsql/functions/Function.java | 709 ++++
.../hive/hplsql/functions/FunctionDatetime.java | 151 +
.../hive/hplsql/functions/FunctionMisc.java | 188 +
.../hive/hplsql/functions/FunctionOra.java | 231 ++
.../hive/hplsql/functions/FunctionString.java | 276 ++
.../org/apache/hive/hplsql/TestHplsqlLocal.java | 330 ++
hplsql/src/test/queries/local/add.sql | 2 +
hplsql/src/test/queries/local/assign.sql | 7 +
hplsql/src/test/queries/local/bool_expr.sql | 47 +
hplsql/src/test/queries/local/break.sql | 10 +
hplsql/src/test/queries/local/case.sql | 35 +
hplsql/src/test/queries/local/cast.sql | 4 +
hplsql/src/test/queries/local/char.sql | 1 +
hplsql/src/test/queries/local/coalesce.sql | 4 +
hplsql/src/test/queries/local/concat.sql | 2 +
.../src/test/queries/local/create_function.sql | 11 +
.../src/test/queries/local/create_function2.sql | 11 +
.../src/test/queries/local/create_procedure.sql | 9 +
hplsql/src/test/queries/local/date.sql | 5 +
hplsql/src/test/queries/local/dbms_output.sql | 6 +
hplsql/src/test/queries/local/declare.sql | 16 +
.../test/queries/local/declare_condition.sql | 8 +
.../test/queries/local/declare_condition2.sql | 10 +
hplsql/src/test/queries/local/decode.sql | 10 +
hplsql/src/test/queries/local/equal.sql | 55 +
hplsql/src/test/queries/local/exception.sql | 14 +
hplsql/src/test/queries/local/exception2.sql | 10 +
hplsql/src/test/queries/local/exception3.sql | 5 +
hplsql/src/test/queries/local/exception4.sql | 7 +
hplsql/src/test/queries/local/exception5.sql | 10 +
hplsql/src/test/queries/local/exit.sql | 31 +
hplsql/src/test/queries/local/expr.sql | 21 +
hplsql/src/test/queries/local/for_range.sql | 20 +
hplsql/src/test/queries/local/if.sql | 68 +
hplsql/src/test/queries/local/instr.sql | 49 +
hplsql/src/test/queries/local/interval.sql | 15 +
hplsql/src/test/queries/local/lang.sql | 57 +
hplsql/src/test/queries/local/leave.sql | 33 +
hplsql/src/test/queries/local/len.sql | 1 +
hplsql/src/test/queries/local/length.sql | 1 +
hplsql/src/test/queries/local/lower.sql | 1 +
hplsql/src/test/queries/local/nvl.sql | 4 +
hplsql/src/test/queries/local/nvl2.sql | 2 +
hplsql/src/test/queries/local/print.sql | 5 +
hplsql/src/test/queries/local/return.sql | 3 +
hplsql/src/test/queries/local/seterror.sql | 10 +
hplsql/src/test/queries/local/sub.sql | 1 +
hplsql/src/test/queries/local/substr.sql | 2 +
hplsql/src/test/queries/local/substring.sql | 8 +
hplsql/src/test/queries/local/timestamp.sql | 4 +
hplsql/src/test/queries/local/timestamp_iso.sql | 2 +
hplsql/src/test/queries/local/to_char.sql | 1 +
hplsql/src/test/queries/local/to_timestamp.sql | 5 +
hplsql/src/test/queries/local/trim.sql | 1 +
hplsql/src/test/queries/local/twopipes.sql | 1 +
hplsql/src/test/queries/local/upper.sql | 1 +
hplsql/src/test/queries/local/values_into.sql | 6 +
hplsql/src/test/queries/local/while.sql | 20 +
hplsql/src/test/results/local/add.out.txt | 2 +
hplsql/src/test/results/local/assign.out.txt | 8 +
hplsql/src/test/results/local/bool_expr.out.txt | 32 +
hplsql/src/test/results/local/break.out.txt | 29 +
hplsql/src/test/results/local/case.out.txt | 12 +
hplsql/src/test/results/local/cast.out.txt | 8 +
hplsql/src/test/results/local/char.out.txt | 1 +
hplsql/src/test/results/local/coalesce.out.txt | 4 +
hplsql/src/test/results/local/concat.out.txt | 2 +
.../test/results/local/create_function.out.txt | 9 +
.../test/results/local/create_function2.out.txt | 10 +
.../test/results/local/create_procedure.out.txt | 8 +
hplsql/src/test/results/local/date.out.txt | 4 +
.../src/test/results/local/dbms_output.out.txt | 3 +
hplsql/src/test/results/local/declare.out.txt | 13 +
.../results/local/declare_condition.out.txt | 7 +
.../results/local/declare_condition2.out.txt | 12 +
hplsql/src/test/results/local/decode.out.txt | 13 +
hplsql/src/test/results/local/equal.out.txt | 48 +
hplsql/src/test/results/local/exception.out.txt | 13 +
.../src/test/results/local/exception2.out.txt | 5 +
hplsql/src/test/results/local/exit.out.txt | 42 +
hplsql/src/test/results/local/expr.out.txt | 29 +
hplsql/src/test/results/local/for_range.out.txt | 65 +
hplsql/src/test/results/local/if.out.txt | 40 +
hplsql/src/test/results/local/instr.out.txt | 33 +
hplsql/src/test/results/local/interval.out.txt | 11 +
hplsql/src/test/results/local/lang.out.txt | 34 +
hplsql/src/test/results/local/leave.out.txt | 42 +
hplsql/src/test/results/local/len.out.txt | 1 +
hplsql/src/test/results/local/length.out.txt | 1 +
hplsql/src/test/results/local/lower.out.txt | 1 +
hplsql/src/test/results/local/nvl.out.txt | 4 +
hplsql/src/test/results/local/nvl2.out.txt | 2 +
.../test/results/local/plhqlexception.out.txt | 6 +
.../test/results/local/plhqlexception1.out.txt | 10 +
.../test/results/local/plhqlexception2.out.txt | 106 +
hplsql/src/test/results/local/print.out.txt | 6 +
hplsql/src/test/results/local/return.out.txt | 3 +
.../results/local/select_conversion.out.txt | 9 +
hplsql/src/test/results/local/seterror.out.txt | 6 +
hplsql/src/test/results/local/sub.out.txt | 1 +
hplsql/src/test/results/local/substr.out.txt | 2 +
hplsql/src/test/results/local/substring.out.txt | 8 +
hplsql/src/test/results/local/timestamp.out.txt | 4 +
.../test/results/local/timestamp_iso.out.txt | 2 +
hplsql/src/test/results/local/to_char.out.txt | 1 +
.../src/test/results/local/to_timestamp.out.txt | 4 +
hplsql/src/test/results/local/trim.out.txt | 1 +
hplsql/src/test/results/local/twopipes.out.txt | 1 +
hplsql/src/test/results/local/upper.out.txt | 1 +
.../src/test/results/local/values_into.out.txt | 11 +
hplsql/src/test/results/local/while.out.txt | 72 +
.../hive/metastore/TestMetaStoreMetrics.java | 66 +-
.../hive/beeline/TestBeeLineWithArgs.java | 87 +
.../test/resources/testconfiguration.properties | 2 +
.../org/apache/hive/jdbc/HiveConnection.java | 15 +-
.../hive/metastore/AggregateStatsCache.java | 5 +-
.../hadoop/hive/metastore/HiveMetaStore.java | 74 +-
.../hive/metastore/HiveMetaStoreClient.java | 7 +-
.../hadoop/hive/metastore/IMetaStoreClient.java | 57 +-
.../hive/metastore/MetaStoreDirectSql.java | 56 +-
.../hive/metastore/MetaStoreSchemaInfo.java | 6 +-
.../hadoop/hive/metastore/MetaStoreUtils.java | 26 -
.../hadoop/hive/metastore/ObjectStore.java | 1894 +++++-----
.../hive/metastore/PartitionDropOptions.java | 6 -
.../hadoop/hive/metastore/ProtectMode.java | 97 -
.../hive/metastore/tools/HiveMetaTool.java | 23 +-
.../hadoop/hive/metastore/TestObjectStore.java | 230 ++
pom.xml | 9 +-
ql/pom.xml | 5 +
.../java/org/apache/hadoop/hive/ql/Driver.java | 34 +-
.../org/apache/hadoop/hive/ql/ErrorMsg.java | 22 +-
.../org/apache/hadoop/hive/ql/QueryPlan.java | 9 +-
.../hive/ql/exec/CommonMergeJoinOperator.java | 76 +-
.../org/apache/hadoop/hive/ql/exec/DDLTask.java | 207 +-
.../hadoop/hive/ql/exec/FilterOperator.java | 3 +-
.../hive/ql/exec/mr/ExecMapperContext.java | 10 +-
.../ql/exec/spark/SparkReduceRecordHandler.java | 29 +-
.../hive/ql/exec/tez/HashTableLoader.java | 19 +-
.../ql/exec/tez/MergeFileRecordProcessor.java | 42 +-
.../hive/ql/exec/tez/ReduceRecordSource.java | 33 +-
.../ql/exec/vector/VectorizedBatchUtil.java | 41 +-
.../ql/exec/vector/VectorizedRowBatchCtx.java | 2 +-
.../mapjoin/VectorMapJoinRowBytesContainer.java | 9 +-
.../hadoop/hive/ql/hooks/HookContext.java | 12 +
.../hadoop/hive/ql/hooks/LineageInfo.java | 96 +
.../hadoop/hive/ql/hooks/LineageLogger.java | 441 +++
.../hadoop/hive/ql/hooks/WriteEntity.java | 6 +-
.../hadoop/hive/ql/io/AcidInputFormat.java | 60 +-
.../hadoop/hive/ql/io/AcidOutputFormat.java | 49 +-
.../org/apache/hadoop/hive/ql/io/AcidUtils.java | 152 +-
.../hadoop/hive/ql/io/FileFormatException.java | 30 +
.../ql/io/HiveContextAwareRecordReader.java | 2 +-
.../hadoop/hive/ql/io/HiveFileFormatUtils.java | 19 +-
.../org/apache/hadoop/hive/ql/io/IOContext.java | 43 -
.../apache/hadoop/hive/ql/io/IOContextMap.java | 81 +
.../apache/hadoop/hive/ql/io/orc/FileDump.java | 7 +-
.../hadoop/hive/ql/io/orc/MemoryManager.java | 39 +-
.../apache/hadoop/hive/ql/io/orc/OrcFile.java | 15 +-
.../hadoop/hive/ql/io/orc/OrcInputFormat.java | 60 +-
.../hive/ql/io/orc/OrcNewInputFormat.java | 16 +-
.../hadoop/hive/ql/io/orc/OrcNewSplit.java | 13 +-
.../hive/ql/io/orc/OrcRawRecordMerger.java | 66 +-
.../hadoop/hive/ql/io/orc/OrcRecordUpdater.java | 63 +-
.../apache/hadoop/hive/ql/io/orc/OrcSplit.java | 16 +-
.../hadoop/hive/ql/io/orc/ReaderImpl.java | 19 +-
.../hive/ql/io/orc/RecordReaderFactory.java | 7 +-
.../ql/io/orc/RunLengthIntegerReaderV2.java | 8 +-
.../hadoop/hive/ql/io/orc/WriterImpl.java | 67 +-
.../read/ParquetRecordReaderWrapper.java | 102 +-
.../ql/io/parquet/write/DataWritableWriter.java | 638 ++--
.../hive/ql/io/sarg/SearchArgumentImpl.java | 343 +-
.../hadoop/hive/ql/lockmgr/DbTxnManager.java | 20 +-
.../hadoop/hive/ql/lockmgr/DummyTxnManager.java | 4 +
.../hadoop/hive/ql/lockmgr/HiveLockObject.java | 35 +
.../hadoop/hive/ql/lockmgr/HiveTxnManager.java | 50 +-
.../hive/ql/lockmgr/HiveTxnManagerImpl.java | 140 +
.../ql/log/NoDeleteRollingFileAppender.java | 176 +
.../apache/hadoop/hive/ql/log/PerfLogger.java | 1 -
.../apache/hadoop/hive/ql/metadata/Hive.java | 64 +-
.../hadoop/hive/ql/metadata/HiveUtils.java | 8 -
.../hadoop/hive/ql/metadata/Partition.java | 51 -
.../apache/hadoop/hive/ql/metadata/Table.java | 65 +-
.../formatting/MetaDataFormatUtils.java | 24 +-
.../BucketingSortingReduceSinkOptimizer.java | 4 +
.../hive/ql/optimizer/ConstantPropagate.java | 1 +
.../ql/optimizer/ConstantPropagateProcCtx.java | 10 +-
.../optimizer/ConstantPropagateProcFactory.java | 4 +-
.../optimizer/RemoveDynamicPruningBySize.java | 2 +-
.../ql/optimizer/calcite/HiveCalciteUtil.java | 25 +-
.../ql/optimizer/calcite/HiveRelOptUtil.java | 73 +-
.../calcite/cost/HiveOnTezCostModel.java | 25 +-
.../calcite/reloperators/HiveJoin.java | 25 +-
.../calcite/reloperators/HiveMultiJoin.java | 37 +-
.../calcite/reloperators/HiveSemiJoin.java | 57 +-
.../rules/HiveInsertExchange4JoinRule.java | 13 +-
.../calcite/rules/HiveJoinAddNotNullRule.java | 16 +-
.../calcite/rules/HiveJoinCommuteRule.java | 96 +
.../HiveJoinPushTransitivePredicatesRule.java | 139 +
.../calcite/rules/HiveJoinToMultiJoinRule.java | 106 +-
.../calcite/rules/HiveRelFieldTrimmer.java | 3 +-
.../calcite/stats/HiveRelMdSelectivity.java | 11 +-
.../calcite/translator/ASTConverter.java | 20 +-
.../calcite/translator/ExprNodeConverter.java | 17 +
.../calcite/translator/HiveOpConverter.java | 161 +-
.../translator/HiveOpConverterPostProc.java | 34 +-
.../translator/PlanModifierForASTConv.java | 12 +-
.../ql/optimizer/lineage/ExprProcFactory.java | 98 +
.../hive/ql/optimizer/lineage/Generator.java | 16 +-
.../hive/ql/optimizer/lineage/LineageCtx.java | 79 +-
.../ql/optimizer/lineage/OpProcFactory.java | 228 +-
.../ql/optimizer/physical/MemoryDecider.java | 288 ++
.../ql/optimizer/physical/SerializeFilter.java | 178 +
.../stats/annotation/StatsRulesProcFactory.java | 42 +-
.../hadoop/hive/ql/parse/CalcitePlanner.java | 78 +-
.../hive/ql/parse/DDLSemanticAnalyzer.java | 112 +-
.../apache/hadoop/hive/ql/parse/EximUtil.java | 31 +-
.../hadoop/hive/ql/parse/GenTezProcContext.java | 8 +
.../hadoop/hive/ql/parse/GenTezUtils.java | 59 +-
.../apache/hadoop/hive/ql/parse/GenTezWork.java | 10 +-
.../org/apache/hadoop/hive/ql/parse/HiveLexer.g | 5 -
.../apache/hadoop/hive/ql/parse/HiveParser.g | 38 +-
.../hive/ql/parse/LoadSemanticAnalyzer.java | 79 +-
.../hadoop/hive/ql/parse/SemanticAnalyzer.java | 96 +-
.../hive/ql/parse/SemanticAnalyzerFactory.java | 8 +-
.../hadoop/hive/ql/parse/TezCompiler.java | 28 +-
.../hive/ql/plan/AbstractOperatorDesc.java | 14 +
.../hadoop/hive/ql/plan/AlterTableDesc.java | 20 +-
.../apache/hadoop/hive/ql/plan/BaseWork.java | 7 +
.../hadoop/hive/ql/plan/DropTableDesc.java | 26 +-
.../hadoop/hive/ql/plan/FileSinkDesc.java | 27 +-
.../apache/hadoop/hive/ql/plan/FilterDesc.java | 14 +
.../hadoop/hive/ql/plan/HiveOperation.java | 2 -
.../apache/hadoop/hive/ql/plan/JoinDesc.java | 4 +
.../hadoop/hive/ql/plan/MergeJoinWork.java | 8 +-
.../hadoop/hive/ql/plan/OperatorDesc.java | 2 +
.../hadoop/hive/ql/plan/TableScanDesc.java | 15 +-
.../authorization/plugin/HiveAuthorizer.java | 11 +
.../plugin/HiveAuthorizerImpl.java | 22 +
.../authorization/plugin/HiveV1Authorizer.java | 20 +
.../hadoop/hive/ql/session/LineageState.java | 9 +-
.../hadoop/hive/ql/session/SessionState.java | 18 +-
.../apache/hadoop/hive/ql/stats/StatsUtils.java | 11 +
.../hive/ql/txn/compactor/CompactorMR.java | 4 +-
.../ql/udf/generic/GenericUDAFCollectList.java | 5 -
.../ql/udf/generic/GenericUDAFCollectSet.java | 5 -
.../ql/udf/generic/GenericUDAFComputeStats.java | 4 +-
.../hive/ql/udf/generic/GenericUDAFCount.java | 4 -
.../ql/udf/generic/GenericUDAFCovariance.java | 4 -
.../ql/udf/generic/GenericUDAFCumeDist.java | 4 -
.../ql/udf/generic/GenericUDAFDenseRank.java | 4 -
.../generic/GenericUDAFHistogramNumeric.java | 2 +-
.../generic/GenericUDAFPercentileApprox.java | 2 +-
.../udf/generic/NumDistinctValueEstimator.java | 18 +
.../hive/ql/udf/generic/NumericHistogram.java | 14 +
.../hadoop/hive/ql/util/JavaDataModel.java | 30 -
.../hive/ql/exec/TestFileSinkOperator.java | 3 +-
.../hadoop/hive/ql/exec/TestOperators.java | 3 +-
.../apache/hadoop/hive/ql/io/TestAcidUtils.java | 73 +-
.../ql/io/TestHiveBinarySearchRecordReader.java | 2 +-
.../hadoop/hive/ql/io/TestIOContextMap.java | 133 +
.../hadoop/hive/ql/io/orc/TestFileDump.java | 50 +
.../hive/ql/io/orc/TestInputOutputFormat.java | 114 +-
.../hive/ql/io/orc/TestOrcRawRecordMerger.java | 57 +-
.../hive/ql/io/orc/TestOrcRecordUpdater.java | 6 +-
.../hive/ql/io/sarg/TestSearchArgumentImpl.java | 32 +-
.../parse/TestUpdateDeleteSemanticAnalyzer.java | 2 +-
.../hive/ql/txn/compactor/CompactorTest.java | 20 +-
.../hive/ql/txn/compactor/TestCleaner.java | 8 +-
.../hive/ql/txn/compactor/TestCleaner2.java | 14 +
.../hive/ql/txn/compactor/TestInitiator.java | 4 +
.../hive/ql/txn/compactor/TestWorker.java | 49 +-
.../hive/ql/txn/compactor/TestWorker2.java | 16 +
.../alter_partition_invalidspec.q | 8 -
.../clientnegative/alter_partition_nodrop.q | 9 -
.../alter_partition_nodrop_table.q | 9 -
.../clientnegative/alter_partition_offline.q | 11 -
.../clientnegative/drop_table_failure3.q | 12 -
.../queries/clientnegative/exchange_partition.q | 19 +
.../queries/clientnegative/load_orc_negative1.q | 4 +
.../queries/clientnegative/load_orc_negative2.q | 6 +
.../clientnegative/load_orc_negative_part.q | 14 +
.../queries/clientnegative/protectmode_part.q | 15 -
.../queries/clientnegative/protectmode_part1.q | 21 -
.../queries/clientnegative/protectmode_part2.q | 9 -
.../clientnegative/protectmode_part_no_drop.q | 10 -
.../clientnegative/protectmode_part_no_drop2.q | 11 -
.../queries/clientnegative/protectmode_tbl1.q | 8 -
.../queries/clientnegative/protectmode_tbl2.q | 12 -
.../queries/clientnegative/protectmode_tbl3.q | 10 -
.../queries/clientnegative/protectmode_tbl4.q | 15 -
.../queries/clientnegative/protectmode_tbl5.q | 15 -
.../queries/clientnegative/protectmode_tbl6.q | 8 -
.../queries/clientnegative/protectmode_tbl7.q | 13 -
.../queries/clientnegative/protectmode_tbl8.q | 13 -
.../clientnegative/protectmode_tbl_no_drop.q | 9 -
.../test/queries/clientnegative/sa_fail_hook3.q | 4 -
.../alter_partition_protect_mode.q | 26 -
.../queries/clientpositive/ba_table_union.q | 2 +-
.../queries/clientpositive/cbo_rp_auto_join0.q | 1 +
.../queries/clientpositive/cbo_rp_auto_join1.q | 1 +
.../test/queries/clientpositive/cbo_rp_join0.q | 1 +
.../test/queries/clientpositive/constprog_dpp.q | 17 +
ql/src/test/queries/clientpositive/cp_sel.q | 11 +
.../drop_partitions_ignore_protection.q | 10 -
.../queries/clientpositive/encoding_nonutf8.q | 7 +
.../encryption_insert_partition_static.q | 17 -
.../queries/clientpositive/fouter_join_ppr.q | 73 +
.../insert_non_utf8_encoding_table.q | 20 +
ql/src/test/queries/clientpositive/lineage2.q | 116 +
ql/src/test/queries/clientpositive/lineage3.q | 162 +
ql/src/test/queries/clientpositive/load_orc.q | 10 +
.../test/queries/clientpositive/load_orc_part.q | 15 +
ql/src/test/queries/clientpositive/mrr.q | 2 +
.../test/queries/clientpositive/protectmode.q | 63 -
.../test/queries/clientpositive/protectmode2.q | 23 -
.../queries/clientpositive/select_same_col.q | 5 +-
.../clientpositive/vectorization_part_varchar.q | 7 +
.../resources/orc-file-dump-bloomfilter.out | 92 +-
.../resources/orc-file-dump-bloomfilter2.out | 92 +-
.../orc-file-dump-dictionary-threshold.out | 76 +-
ql/src/test/resources/orc-file-dump.json | 108 +-
ql/src/test/resources/orc-file-dump.out | 84 +-
ql/src/test/resources/orc-file-has-null.out | 62 +-
.../alter_numbuckets_partitioned_table.q.out | 8 -
.../results/beelinepositive/create_like.q.out | 3 -
.../results/beelinepositive/create_like2.q.out | 1 -
.../beelinepositive/create_like_view.q.out | 4 -
.../beelinepositive/create_skewed_table1.q.out | 3 -
.../results/beelinepositive/create_view.q.out | 14 -
.../create_view_partitioned.q.out | 3 -
ql/src/test/results/beelinepositive/ctas.q.out | 5 -
.../describe_formatted_view_partitioned.q.out | 1 -
.../beelinepositive/describe_table.q.out | 3 -
.../test/results/beelinepositive/merge3.q.out | 1 -
.../part_inherit_tbl_props.q.out | 1 -
.../part_inherit_tbl_props_empty.q.out | 1 -
.../part_inherit_tbl_props_with_star.q.out | 1 -
.../results/beelinepositive/protectmode2.q.out | 2 -
.../test/results/beelinepositive/stats1.q.out | 2 -
.../test/results/beelinepositive/stats10.q.out | 3 -
.../test/results/beelinepositive/stats11.q.out | 4 -
.../test/results/beelinepositive/stats12.q.out | 5 -
.../test/results/beelinepositive/stats13.q.out | 6 -
.../test/results/beelinepositive/stats14.q.out | 5 -
.../test/results/beelinepositive/stats15.q.out | 5 -
.../test/results/beelinepositive/stats16.q.out | 2 -
.../test/results/beelinepositive/stats18.q.out | 2 -
.../test/results/beelinepositive/stats2.q.out | 2 -
.../test/results/beelinepositive/stats3.q.out | 2 -
.../test/results/beelinepositive/stats4.q.out | 6 -
.../test/results/beelinepositive/stats5.q.out | 1 -
.../test/results/beelinepositive/stats6.q.out | 5 -
.../test/results/beelinepositive/stats7.q.out | 3 -
.../test/results/beelinepositive/stats8.q.out | 10 -
.../test/results/beelinepositive/stats9.q.out | 1 -
.../beelinepositive/stats_empty_partition.q.out | 1 -
.../clientnegative/alter_file_format.q.out | 1 -
.../alter_view_as_select_with_partition.q.out | 1 -
.../clientnegative/exchange_partition.q.out | 54 +
.../clientnegative/load_orc_negative1.q.out | 9 +
.../clientnegative/load_orc_negative2.q.out | 25 +
.../clientnegative/load_orc_negative_part.q.out | 52 +
.../stats_partialscan_autogether.q.out | 2 -
.../clientnegative/udf_assert_true.q.out | 12 +-
.../clientnegative/udf_assert_true2.q.out | 6 +-
.../clientpositive/alter_file_format.q.out | 19 -
.../clientpositive/alter_merge_orc.q.out | 24 +-
.../clientpositive/alter_merge_stats_orc.q.out | 30 +-
.../alter_numbuckets_partitioned_table.q.out | 16 -
.../alter_numbuckets_partitioned_table2.q.out | 27 -
...lter_numbuckets_partitioned_table2_h23.q.out | 27 -
...alter_numbuckets_partitioned_table_h23.q.out | 16 -
.../alter_partition_change_col.q.out | 8 +-
.../alter_partition_clusterby_sortby.q.out | 7 -
.../clientpositive/alter_skewed_table.q.out | 6 -
.../clientpositive/alter_table_cascade.q.out | 8 +-
.../clientpositive/alter_table_not_sorted.q.out | 2 -
.../clientpositive/alter_table_serde2.q.out | 6 -
.../clientpositive/alter_view_as_select.q.out | 3 -
.../clientpositive/annotate_stats_groupby.q.out | 28 +-
.../annotate_stats_groupby2.q.out | 8 +-
.../annotate_stats_join_pkfk.q.out | 20 +-
.../clientpositive/annotate_stats_part.q.out | 6 +-
.../clientpositive/annotate_stats_select.q.out | 52 +-
.../clientpositive/annotate_stats_table.q.out | 4 +-
.../clientpositive/authorization_index.q.out | 1 -
.../results/clientpositive/auto_join12.q.out | 54 +-
.../results/clientpositive/auto_join13.q.out | 26 +-
.../results/clientpositive/auto_join5.q.out | 8 +-
.../results/clientpositive/auto_join8.q.out | 2 +-
.../auto_join_without_localtask.q.out | 218 +-
.../results/clientpositive/ba_table_union.q.out | 16 +-
.../test/results/clientpositive/bucket5.q.out | 1 -
.../clientpositive/cbo_rp_auto_join0.q.out | 32 +-
.../clientpositive/cbo_rp_auto_join1.q.out | 619 ++--
.../results/clientpositive/cbo_rp_join0.q.out | 185 +-
.../test/results/clientpositive/cluster.q.out | 20 +-
.../test/results/clientpositive/combine2.q.out | 16 +-
.../constantPropagateForSubQuery.q.out | 38 +-
.../clientpositive/correlationoptimizer15.q.out | 120 +-
.../clientpositive/correlationoptimizer6.q.out | 1011 +++---
ql/src/test/results/clientpositive/cp_sel.q.out | 195 ++
.../create_alter_list_bucketing_table1.q.out | 7 -
.../results/clientpositive/create_like.q.out | 9 -
.../results/clientpositive/create_like2.q.out | 1 -
.../clientpositive/create_like_tbl_props.q.out | 5 -
.../clientpositive/create_like_view.q.out | 4 -
.../clientpositive/create_or_replace_view.q.out | 5 -
.../clientpositive/create_skewed_table1.q.out | 3 -
.../results/clientpositive/create_view.q.out | 14 -
.../create_view_partitioned.q.out | 3 -
.../clientpositive/create_view_translate.q.out | 2 -
.../results/clientpositive/cross_join.q.out | 8 +-
ql/src/test/results/clientpositive/ctas.q.out | 5 -
.../results/clientpositive/ctas_colname.q.out | 7 -
.../results/clientpositive/ctas_hadoop20.q.out | 5 -
.../ctas_uses_database_location.q.out | 1 -
.../clientpositive/database_location.q.out | 2 -
.../results/clientpositive/decimal_serde.q.out | 2 -
.../clientpositive/default_file_format.q.out | 5 -
.../describe_comment_indent.q.out | 1 -
.../describe_comment_nonascii.q.out | 1 -
.../describe_formatted_view_partitioned.q.out | 2 -
.../clientpositive/describe_syntax.q.out | 6 -
.../results/clientpositive/describe_table.q.out | 7 -
.../dynpart_sort_opt_vectorization.q.out | 48 +-
.../dynpart_sort_optimization.q.out | 32 -
.../dynpart_sort_optimization2.q.out | 32 +-
.../dynpart_sort_optimization_acid.q.out | 60 +-
.../clientpositive/encoding_nonutf8.q.out | 36 +
.../encryption_insert_partition_dynamic.q.out | 18 +-
.../encryption_insert_partition_static.q.out | 739 +---
.../encrypted/encryption_insert_values.q.out | 1 -
.../clientpositive/exim_hidden_files.q.out | 1 -
.../extrapolate_part_stats_full.q.out | 24 +-
.../extrapolate_part_stats_partial.q.out | 76 +-
.../extrapolate_part_stats_partial_ndv.q.out | 38 +-
.../clientpositive/fouter_join_ppr.q.out | 1694 +++++++++
.../clientpositive/groupby_sort_1_23.q.out | 10 +-
.../clientpositive/groupby_sort_skew_1_23.q.out | 10 +-
.../clientpositive/index_auto_mult_tables.q.out | 12 +
.../index_auto_mult_tables_compact.q.out | 9 +
.../clientpositive/index_auto_partitioned.q.out | 9 +
.../clientpositive/index_auto_update.q.out | 2 +
.../results/clientpositive/index_bitmap.q.out | 24 +
.../index_bitmap_auto_partitioned.q.out | 12 +
.../clientpositive/index_bitmap_rc.q.out | 24 +
.../results/clientpositive/index_compact.q.out | 18 +
.../clientpositive/index_compact_2.q.out | 18 +
.../clientpositive/index_skewtable.q.out | 1 -
.../clientpositive/infer_bucket_sort.q.out | 50 -
.../infer_bucket_sort_bucketed_table.q.out | 2 -
.../infer_bucket_sort_convert_join.q.out | 4 -
.../infer_bucket_sort_dyn_part.q.out | 16 -
.../infer_bucket_sort_grouping_operators.q.out | 12 -
.../infer_bucket_sort_list_bucket.q.out | 4 -
.../infer_bucket_sort_map_operators.q.out | 8 -
.../infer_bucket_sort_merge.q.out | 4 -
.../infer_bucket_sort_multi_insert.q.out | 16 -
.../infer_bucket_sort_num_buckets.q.out | 4 -
.../infer_bucket_sort_reducers_power_two.q.out | 12 -
ql/src/test/results/clientpositive/input7.q.out | 2 +-
.../results/clientpositive/input_part10.q.out | 5 +-
.../results/clientpositive/insert_into5.q.out | 5 +-
.../insert_non_utf8_encoding_table.q.out | 89 +
ql/src/test/results/clientpositive/join12.q.out | 28 +-
ql/src/test/results/clientpositive/join13.q.out | 32 +-
ql/src/test/results/clientpositive/join32.q.out | 36 +-
.../clientpositive/join32_lessSize.q.out | 118 +-
ql/src/test/results/clientpositive/join33.q.out | 36 +-
ql/src/test/results/clientpositive/join34.q.out | 2 +-
ql/src/test/results/clientpositive/join35.q.out | 2 +-
ql/src/test/results/clientpositive/join5.q.out | 20 +-
ql/src/test/results/clientpositive/join8.q.out | 2 +-
.../clientpositive/join_alt_syntax.q.out | 104 +-
.../clientpositive/join_cond_pushdown_1.q.out | 42 +-
.../clientpositive/join_cond_pushdown_2.q.out | 62 +-
.../clientpositive/join_cond_pushdown_3.q.out | 42 +-
.../clientpositive/join_cond_pushdown_4.q.out | 62 +-
.../results/clientpositive/join_merging.q.out | 117 +-
.../results/clientpositive/join_nulls.q.out | 2 +-
.../results/clientpositive/lateral_view.q.out | 68 +-
.../clientpositive/lateral_view_explode2.q.out | 6 +-
.../clientpositive/lateral_view_noalias.q.out | 22 +-
.../results/clientpositive/lb_fs_stats.q.out | 2 -
.../results/clientpositive/limit_pushdown.q.out | 98 +-
.../test/results/clientpositive/lineage1.q.out | 4 +-
.../test/results/clientpositive/lineage2.q.out | 2905 ++++++++++++++++
.../test/results/clientpositive/lineage3.q.out | 2482 +++++++++++++
.../clientpositive/list_bucket_dml_1.q.out | 4 -
.../list_bucket_dml_10.q.java1.7.out | 2 -
.../list_bucket_dml_10.q.java1.8.out | 2 -
.../list_bucket_dml_11.q.java1.7.out | 2 -
.../list_bucket_dml_11.q.java1.8.out | 2 -
.../list_bucket_dml_12.q.java1.7.out | 4 +-
.../list_bucket_dml_12.q.java1.8.out | 2 -
.../list_bucket_dml_13.q.java1.7.out | 4 +-
.../list_bucket_dml_13.q.java1.8.out | 2 -
.../clientpositive/list_bucket_dml_14.q.out | 1 -
.../list_bucket_dml_2.q.java1.7.out | 2 -
.../list_bucket_dml_2.q.java1.8.out | 2 -
.../clientpositive/list_bucket_dml_3.q.out | 2 -
.../list_bucket_dml_4.q.java1.7.out | 4 -
.../list_bucket_dml_4.q.java1.8.out | 4 -
.../list_bucket_dml_5.q.java1.7.out | 4 -
.../list_bucket_dml_5.q.java1.8.out | 4 -
.../list_bucket_dml_6.q.java1.7.out | 8 -
.../list_bucket_dml_6.q.java1.8.out | 8 -
.../clientpositive/list_bucket_dml_7.q.out | 8 -
.../list_bucket_dml_8.q.java1.7.out | 6 -
.../list_bucket_dml_8.q.java1.8.out | 6 -
.../list_bucket_dml_9.q.java1.7.out | 4 -
.../list_bucket_dml_9.q.java1.8.out | 4 -
.../list_bucket_query_multiskew_1.q.out | 2 -
.../list_bucket_query_multiskew_2.q.out | 2 -
.../list_bucket_query_multiskew_3.q.out | 6 -
.../list_bucket_query_oneskew_1.q.out | 2 -
.../list_bucket_query_oneskew_2.q.out | 2 -
.../list_bucket_query_oneskew_3.q.out | 2 -
.../clientpositive/load_dyn_part13.q.out | 8 +-
.../clientpositive/load_dyn_part14.q.out | 63 +-
.../test/results/clientpositive/load_orc.q.out | 43 +
.../results/clientpositive/load_orc_part.q.out | 70 +
.../clientpositive/louter_join_ppr.q.out | 74 +-
.../clientpositive/mapjoin_mapjoin.q.out | 120 +-
ql/src/test/results/clientpositive/merge3.q.out | 1 -
.../results/clientpositive/multiMapJoin1.q.out | 10 +-
.../results/clientpositive/multi_insert.q.out | 32 +-
...i_insert_move_tasks_share_dependencies.q.out | 32 +-
.../results/clientpositive/optional_outer.q.out | 36 +-
.../results/clientpositive/orc_analyze.q.out | 48 -
.../results/clientpositive/orc_create.q.out | 6 -
.../orc_dictionary_threshold.q.out | 2 +-
.../clientpositive/outer_join_ppr.q.java1.7.out | 168 +-
.../clientpositive/parallel_orderby.q.out | 2 -
.../parquet_array_null_element.q.out | 1 -
.../results/clientpositive/parquet_create.q.out | 1 -
.../clientpositive/parquet_partitioned.q.out | 1 -
.../results/clientpositive/parquet_serde.q.out | 5 -
.../clientpositive/part_inherit_tbl_props.q.out | 2 -
.../part_inherit_tbl_props_empty.q.out | 2 -
.../part_inherit_tbl_props_with_star.q.out | 2 -
.../partition_coltype_literals.q.out | 16 -
.../results/clientpositive/ppd_gby_join.q.out | 104 +-
.../test/results/clientpositive/ppd_join.q.out | 106 +-
.../test/results/clientpositive/ppd_join2.q.out | 88 +-
.../test/results/clientpositive/ppd_join3.q.out | 114 +-
.../clientpositive/ppd_outer_join4.q.out | 88 +-
.../results/clientpositive/ppd_random.q.out | 80 +-
.../results/clientpositive/ppd_udf_case.q.out | 40 +-
.../results/clientpositive/ppd_union_view.q.out | 78 +-
.../results/clientpositive/protectmode2.q.out | 2 -
ql/src/test/results/clientpositive/ptf.q.out | 28 +-
.../clientpositive/rcfile_default_format.q.out | 8 -
.../clientpositive/rcfile_null_value.q.out | 20 +-
.../clientpositive/router_join_ppr.q.out | 170 +-
.../clientpositive/selectDistinctStar.q.out | 2 -
.../clientpositive/select_same_col.q.out | 8 +-
.../test/results/clientpositive/skewjoin.q.out | 46 +-
.../clientpositive/spark/alter_merge_orc.q.out | 24 +-
.../spark/alter_merge_stats_orc.q.out | 30 +-
.../clientpositive/spark/auto_join12.q.out | 54 +-
.../clientpositive/spark/auto_join13.q.out | 40 +-
.../clientpositive/spark/auto_join5.q.out | 10 +-
.../clientpositive/spark/auto_join8.q.out | 2 +-
.../spark/auto_join_without_localtask.q.out | 90 +-
.../results/clientpositive/spark/bucket5.q.out | 1 -
.../clientpositive/spark/cross_join.q.out | 8 +-
.../results/clientpositive/spark/ctas.q.out | 5 -
.../spark/groupby_sort_1_23.q.out | 10 +-
.../spark/groupby_sort_skew_1_23.q.out | 10 +-
.../infer_bucket_sort_bucketed_table.q.out | 2 -
.../spark/infer_bucket_sort_convert_join.q.out | 4 -
.../spark/infer_bucket_sort_map_operators.q.out | 8 -
.../spark/infer_bucket_sort_merge.q.out | 4 -
.../spark/infer_bucket_sort_num_buckets.q.out | 4 -
.../infer_bucket_sort_reducers_power_two.q.out | 12 -
.../results/clientpositive/spark/join12.q.out | 26 +-
.../results/clientpositive/spark/join13.q.out | 82 +-
.../results/clientpositive/spark/join32.q.out | 102 +-
.../clientpositive/spark/join32_lessSize.q.out | 232 +-
.../results/clientpositive/spark/join33.q.out | 102 +-
.../results/clientpositive/spark/join34.q.out | 2 +-
.../results/clientpositive/spark/join35.q.out | 2 +-
.../results/clientpositive/spark/join5.q.out | 20 +-
.../results/clientpositive/spark/join8.q.out | 2 +-
.../clientpositive/spark/join_alt_syntax.q.out | 272 +-
.../spark/join_cond_pushdown_1.q.out | 70 +-
.../spark/join_cond_pushdown_2.q.out | 134 +-
.../spark/join_cond_pushdown_3.q.out | 70 +-
.../spark/join_cond_pushdown_4.q.out | 134 +-
.../clientpositive/spark/join_merging.q.out | 115 +-
.../spark/lateral_view_explode2.q.out | 6 +-
.../clientpositive/spark/limit_pushdown.q.out | 80 +-
.../spark/list_bucket_dml_10.q.java1.7.out | 2 -
.../spark/list_bucket_dml_10.q.java1.8.out | 2 -
.../spark/list_bucket_dml_2.q.java1.7.out | 2 -
.../spark/list_bucket_dml_2.q.java1.8.out | 2 -
.../spark/list_bucket_dml_2.q.out | Bin 28747 -> 28667 bytes
.../clientpositive/spark/load_dyn_part13.q.out | 8 +-
.../clientpositive/spark/load_dyn_part14.q.out | 57 +-
.../clientpositive/spark/louter_join_ppr.q.out | 172 +-
.../clientpositive/spark/mapjoin_mapjoin.q.out | 202 +-
.../clientpositive/spark/multi_insert.q.out | 32 +-
...i_insert_move_tasks_share_dependencies.q.out | 32 +-
.../clientpositive/spark/orc_analyze.q.out | 22 -
.../spark/outer_join_ppr.q.java1.7.out | 362 +-
.../clientpositive/spark/parallel_orderby.q.out | 2 -
.../clientpositive/spark/ppd_gby_join.q.out | 106 +-
.../results/clientpositive/spark/ppd_join.q.out | 110 +-
.../clientpositive/spark/ppd_join2.q.out | 86 +-
.../clientpositive/spark/ppd_join3.q.out | 116 +-
.../clientpositive/spark/ppd_outer_join4.q.out | 124 +-
.../test/results/clientpositive/spark/ptf.q.out | 28 +-
.../clientpositive/spark/router_join_ppr.q.out | 370 +-
.../results/clientpositive/spark/skewjoin.q.out | 46 +-
.../results/clientpositive/spark/stats1.q.out | 2 -
.../results/clientpositive/spark/stats10.q.out | 5 -
.../results/clientpositive/spark/stats12.q.out | 9 -
.../results/clientpositive/spark/stats13.q.out | 10 -
.../results/clientpositive/spark/stats14.q.out | 7 -
.../results/clientpositive/spark/stats15.q.out | 7 -
.../results/clientpositive/spark/stats16.q.out | 2 -
.../results/clientpositive/spark/stats18.q.out | 4 -
.../results/clientpositive/spark/stats2.q.out | 2 -
.../results/clientpositive/spark/stats20.q.out | 2 -
.../results/clientpositive/spark/stats3.q.out | 2 -
.../results/clientpositive/spark/stats5.q.out | 1 -
.../results/clientpositive/spark/stats6.q.out | 9 -
.../results/clientpositive/spark/stats7.q.out | 5 -
.../results/clientpositive/spark/stats8.q.out | 18 -
.../results/clientpositive/spark/stats9.q.out | 1 -
.../clientpositive/spark/stats_counter.q.out | 2 -
.../spark/stats_counter_partitioned.q.out | 16 -
.../clientpositive/spark/stats_noscan_1.q.out | 17 -
.../clientpositive/spark/stats_noscan_2.q.out | 6 -
.../clientpositive/spark/stats_only_null.q.out | 4 -
.../spark/stats_partscan_1_23.q.out | 6 -
.../results/clientpositive/spark/statsfs.q.out | 14 -
.../results/clientpositive/spark/union22.q.out | 4 +-
.../results/clientpositive/spark/union28.q.out | 4 +-
.../results/clientpositive/spark/union29.q.out | 4 +-
.../results/clientpositive/spark/union30.q.out | 4 +-
.../results/clientpositive/spark/union33.q.out | 4 +-
.../clientpositive/spark/union_date_trim.q.out | 4 +-
.../clientpositive/spark/union_remove_1.q.out | 5 +-
.../clientpositive/spark/union_remove_10.q.out | 3 +-
.../clientpositive/spark/union_remove_11.q.out | 3 +-
.../clientpositive/spark/union_remove_12.q.out | 3 +-
.../clientpositive/spark/union_remove_13.q.out | 1 -
.../clientpositive/spark/union_remove_14.q.out | 3 +-
.../clientpositive/spark/union_remove_15.q.out | 9 +-
.../clientpositive/spark/union_remove_16.q.out | 9 +-
.../clientpositive/spark/union_remove_17.q.out | 5 +-
.../clientpositive/spark/union_remove_18.q.out | 25 +-
.../clientpositive/spark/union_remove_19.q.out | 13 +-
.../clientpositive/spark/union_remove_2.q.out | 3 +-
.../clientpositive/spark/union_remove_20.q.out | 5 +-
.../clientpositive/spark/union_remove_21.q.out | 3 +-
.../clientpositive/spark/union_remove_22.q.out | 13 +-
.../clientpositive/spark/union_remove_23.q.out | 3 +-
.../clientpositive/spark/union_remove_24.q.out | 5 +-
.../clientpositive/spark/union_remove_25.q.out | 22 +-
.../clientpositive/spark/union_remove_3.q.out | 3 +-
.../clientpositive/spark/union_remove_4.q.out | 5 +-
.../clientpositive/spark/union_remove_5.q.out | 3 +-
.../clientpositive/spark/union_remove_6.q.out | 8 +-
.../spark/union_remove_6_subq.q.out | 8 +-
.../clientpositive/spark/union_remove_7.q.out | 5 +-
.../clientpositive/spark/union_remove_8.q.out | 3 +-
.../clientpositive/spark/union_remove_9.q.out | 3 +-
.../clientpositive/spark/union_top_level.q.out | 358 +-
.../clientpositive/spark/vectorized_ptf.q.out | 136 +-
.../clientpositive/spark/windowing.q.out | 40 +-
ql/src/test/results/clientpositive/stats1.q.out | 2 -
.../test/results/clientpositive/stats10.q.out | 5 -
.../test/results/clientpositive/stats11.q.out | 8 -
.../test/results/clientpositive/stats12.q.out | 9 -
.../test/results/clientpositive/stats13.q.out | 10 -
.../test/results/clientpositive/stats14.q.out | 7 -
.../test/results/clientpositive/stats15.q.out | 7 -
.../test/results/clientpositive/stats16.q.out | 2 -
.../test/results/clientpositive/stats18.q.out | 4 -
.../test/results/clientpositive/stats19.q.out | 12 -
ql/src/test/results/clientpositive/stats2.q.out | 2 -
.../test/results/clientpositive/stats20.q.out | 2 -
ql/src/test/results/clientpositive/stats3.q.out | 2 -
ql/src/test/results/clientpositive/stats4.q.out | 10 -
ql/src/test/results/clientpositive/stats5.q.out | 1 -
ql/src/test/results/clientpositive/stats6.q.out | 9 -
ql/src/test/results/clientpositive/stats7.q.out | 5 -
ql/src/test/results/clientpositive/stats8.q.out | 18 -
ql/src/test/results/clientpositive/stats9.q.out | 1 -
.../results/clientpositive/stats_counter.q.out | 2 -
.../stats_counter_partitioned.q.out | 16 -
.../clientpositive/stats_empty_partition.q.out | 2 -
.../clientpositive/stats_invalidation.q.out | 2 -
.../stats_list_bucket.q.java1.7.out | 3 -
.../stats_list_bucket.q.java1.8.out | 3 -
.../results/clientpositive/stats_noscan_1.q.out | 17 -
.../results/clientpositive/stats_noscan_2.q.out | 6 -
.../clientpositive/stats_only_null.q.out | 4 -
.../clientpositive/stats_partscan_1.q.out | 6 -
.../clientpositive/stats_partscan_1_23.q.out | 6 -
.../test/results/clientpositive/statsfs.q.out | 14 -
.../temp_table_windowing_expressions.q.out | 8 +-
.../clientpositive/tez/alter_merge_orc.q.out | 24 +-
.../tez/alter_merge_stats_orc.q.out | 30 +-
.../clientpositive/tez/constprog_dpp.q.out | 113 +
.../results/clientpositive/tez/cross_join.q.out | 8 +-
.../test/results/clientpositive/tez/ctas.q.out | 5 -
.../tez/dynpart_sort_opt_vectorization.q.out | 48 +-
.../tez/dynpart_sort_optimization.q.out | 32 -
.../tez/dynpart_sort_optimization2.q.out | 32 +-
.../clientpositive/tez/explainuser_1.q.out | 1729 +++++----
.../clientpositive/tez/explainuser_2.q.out | 3270 +++++++++---------
.../results/clientpositive/tez/insert1.q.out | 392 +--
.../clientpositive/tez/limit_pushdown.q.out | 78 +-
.../clientpositive/tez/mapjoin_mapjoin.q.out | 266 +-
.../test/results/clientpositive/tez/mrr.q.out | 82 +-
.../clientpositive/tez/orc_analyze.q.out | 48 -
.../results/clientpositive/tez/orc_merge9.q.out | 186 +
.../test/results/clientpositive/tez/ptf.q.out | 28 +-
.../clientpositive/tez/selectDistinctStar.q.out | 2 -
.../results/clientpositive/tez/skewjoin.q.out | 26 +-
.../clientpositive/tez/stats_counter.q.out | 2 -
.../tez/stats_counter_partitioned.q.out | 16 -
.../clientpositive/tez/stats_noscan_1.q.out | 17 -
.../clientpositive/tez/stats_only_null.q.out | 4 -
.../results/clientpositive/tez/tez_fsstat.q.out | 2 -
.../results/clientpositive/tez/tez_union.q.out | 88 +-
.../tez/tez_union_dynamic_partition.q.out | 44 +-
.../tez/tez_union_multiinsert.q.out | 4 +-
.../clientpositive/tez/unionDistinct_1.q.out | 20 +-
.../clientpositive/tez/vector_coalesce.q.out | 6 +-
.../clientpositive/tez/vector_decimal_2.q.out | 55 +-
.../tez/vector_decimal_round_2.q.out | 8 +-
.../clientpositive/tez/vector_interval_1.q.out | 24 +-
.../clientpositive/tez/vectorized_ptf.q.out | 136 +-
.../clientpositive/truncate_column.q.out | 11 -
.../results/clientpositive/udtf_stack.q.out | 12 +-
.../clientpositive/unicode_notation.q.out | 3 -
.../test/results/clientpositive/union22.q.out | 4 +-
.../test/results/clientpositive/union28.q.out | 4 +-
.../test/results/clientpositive/union29.q.out | 4 +-
.../test/results/clientpositive/union30.q.out | 4 +-
.../test/results/clientpositive/union33.q.out | 4 +-
.../clientpositive/unionDistinct_1.q.out | 20 +-
.../clientpositive/union_date_trim.q.out | 4 +-
.../results/clientpositive/union_remove_1.q.out | 5 +-
.../clientpositive/union_remove_10.q.out | 3 +-
.../clientpositive/union_remove_11.q.out | 3 +-
.../clientpositive/union_remove_12.q.out | 3 +-
.../clientpositive/union_remove_13.q.out | 1 -
.../clientpositive/union_remove_14.q.out | 3 +-
.../clientpositive/union_remove_15.q.out | 9 +-
.../clientpositive/union_remove_16.q.out | 9 +-
.../clientpositive/union_remove_17.q.out | 5 +-
.../clientpositive/union_remove_18.q.out | 25 +-
.../clientpositive/union_remove_19.q.out | 13 +-
.../results/clientpositive/union_remove_2.q.out | 3 +-
.../clientpositive/union_remove_20.q.out | 5 +-
.../clientpositive/union_remove_21.q.out | 3 +-
.../clientpositive/union_remove_22.q.out | 13 +-
.../clientpositive/union_remove_23.q.out | 3 +-
.../clientpositive/union_remove_24.q.out | 5 +-
.../clientpositive/union_remove_25.q.out | 22 +-
.../results/clientpositive/union_remove_3.q.out | 3 +-
.../results/clientpositive/union_remove_4.q.out | 5 +-
.../results/clientpositive/union_remove_5.q.out | 3 +-
.../results/clientpositive/union_remove_6.q.out | 8 +-
.../clientpositive/union_remove_6_subq.q.out | 8 +-
.../results/clientpositive/union_remove_7.q.out | 5 +-
.../results/clientpositive/union_remove_8.q.out | 3 +-
.../results/clientpositive/union_remove_9.q.out | 3 +-
.../clientpositive/union_top_level.q.out | 316 +-
.../clientpositive/vector_coalesce.q.out | 6 +-
.../clientpositive/vector_decimal_2.q.out | 55 +-
.../clientpositive/vector_decimal_round_2.q.out | 8 +-
.../clientpositive/vector_interval_1.q.out | 24 +-
.../vectorization_part_varchar.q.out | 72 +
.../results/clientpositive/vectorized_ptf.q.out | 132 +-
.../test/results/clientpositive/windowing.q.out | 40 +-
.../clientpositive/windowing_expressions.q.out | 8 +-
.../hadoop/hive/ql/io/sarg/ExpressionTree.java | 157 +
.../hadoop/hive/ql/io/sarg/SearchArgument.java | 14 +-
.../hive/serde2/AbstractEncodingAwareSerDe.java | 7 +-
.../apache/hadoop/hive/serde2/SerDeUtils.java | 4 +-
.../hive/serde2/avro/AvroDeserializer.java | 11 +-
.../objectinspector/ObjectInspectorUtils.java | 18 +-
.../hive/serde2/avro/TestAvroDeserializer.java | 63 +-
.../avro/TestAvroObjectInspectorGenerator.java | 33 +
.../TestObjectInspectorUtils.java | 22 +
.../service/cli/session/HiveSessionBase.java | 2 -
.../service/cli/session/HiveSessionImpl.java | 74 +-
.../cli/session/HiveSessionImplwithUGI.java | 63 +-
.../service/cli/thrift/ThriftCLIService.java | 21 +-
.../apache/hive/service/server/HiveServer2.java | 6 +-
.../apache/hive/service/cli/CLIServiceTest.java | 135 +-
.../apache/hadoop/hive/shims/Hadoop23Shims.java | 5 +-
906 files changed, 41224 insertions(+), 14620 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/e6adedc1/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/e6adedc1/beeline/src/java/org/apache/hive/beeline/Commands.java
----------------------------------------------------------------------
diff --cc beeline/src/java/org/apache/hive/beeline/Commands.java
index 8c406a3,3cdcfb8..01349e2
--- a/beeline/src/java/org/apache/hive/beeline/Commands.java
+++ b/beeline/src/java/org/apache/hive/beeline/Commands.java
@@@ -46,8 -43,8 +46,9 @@@ import java.sql.ResultSet
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.SQLWarning;
+ import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
@@@ -1091,27 -798,42 +1093,36 @@@ public class Commands
}
line = line.trim();
- String[] cmds;
+ List<String> cmdList = new ArrayList<String>();
if (entireLineAsCommand) {
- cmds = new String[1];
- cmds[0] = line;
+ cmdList.add(line);
} else {
- cmds = line.split(";");
+ StringBuffer command = new StringBuffer();
+ for (String cmdpart: line.split(";")) {
+ if (cmdpart.endsWith("\\")) {
+ command.append(cmdpart.substring(0, cmdpart.length() -1)).append(";");
+ continue;
+ } else {
+ command.append(cmdpart);
+ }
+ cmdList.add(command.toString());
+ command.setLength(0);
+ }
}
- for (int i = 0; i < cmds.length; i++) {
- String sql = cmds[i].trim();
+ for (int i = 0; i < cmdList.size(); i++) {
+ String sql = cmdList.get(i).trim();
if (sql.length() != 0) {
- if (beeLine.isComment(sql)) {
- //skip this and rest cmds in the line
- break;
- }
- if (sql.startsWith(BeeLine.COMMAND_PREFIX)) {
- sql = sql.substring(1);
- }
-
- String prefix = call ? "call" : "sql";
-
- if (sql.startsWith(prefix)) {
- sql = sql.substring(prefix.length());
+ if (!beeLine.isBeeLine()) {
+ sql = cliToBeelineCmd(sql);
+ if (sql.equalsIgnoreCase("quit") || sql.equalsIgnoreCase("exit")) {
+ beeLine.setExit(true);
+ return true;
+ }
}
- // batch statements?
- if (beeLine.getBatch() != null) {
- beeLine.getBatch().add(sql);
+ // is source CMD
+ if (isSourceCMD(sql)) {
+ sourceFile(sql);
continue;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/e6adedc1/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
----------------------------------------------------------------------
[18/33] hive git commit: HIVE-11336: Support initial file option for
new CLI [beeline-cli branch](Ferdinand Xu, reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11336: Support initial file option for new CLI [beeline-cli branch](Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/e28043fb
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/e28043fb
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/e28043fb
Branch: refs/heads/master
Commit: e28043fb4753b26daaa8a01da61ceda04b970645
Parents: edbd8db
Author: Ferdinand Xu <ch...@intel.com>
Authored: Mon Jul 27 22:34:47 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Mon Jul 27 22:34:47 2015 -0400
----------------------------------------------------------------------
.../java/org/apache/hive/beeline/BeeLine.java | 44 +++++++++++++++-----
.../org/apache/hive/beeline/BeeLineOpts.java | 10 ++---
2 files changed, 39 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/e28043fb/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index d4beefc..406059d 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -22,7 +22,6 @@
*/
package org.apache.hive.beeline;
-import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
@@ -31,7 +30,6 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.io.InputStreamReader;
import java.io.PrintStream;
import java.io.SequenceInputStream;
import java.lang.reflect.InvocationTargetException;
@@ -672,6 +670,10 @@ public class BeeLine implements Closeable {
getOpts().setScriptFile(commandLine.getOptionValue("f"));
+ if (commandLine.getOptionValues("i") != null) {
+ getOpts().setInitFiles(commandLine.getOptionValues("i"));
+ }
+
dbName = commandLine.getOptionValue("database");
getOpts().setVerbose(Boolean.valueOf(commandLine.getOptionValue("verbose")));
getOpts().setSilent(Boolean.valueOf(commandLine.getOptionValue("slient")));
@@ -747,7 +749,7 @@ public class BeeLine implements Closeable {
pass = cl.getOptionValue("p");
}
url = cl.getOptionValue("u");
- getOpts().setInitFile(cl.getOptionValue("i"));
+ getOpts().setInitFiles(cl.getOptionValues("i"));
getOpts().setScriptFile(cl.getOptionValue("f"));
if (cl.getOptionValues('e') != null) {
commands = Arrays.asList(cl.getOptionValues('e'));
@@ -835,6 +837,8 @@ public class BeeLine implements Closeable {
getOpts().setShowHeader(false);
getOpts().setOutputFormat("dsv");
getOpts().setDelimiterForDSV(' ');
+
+ processInitFiles(opts.getInitFiles());
}
if (getOpts().getScriptFile() != null) {
@@ -853,13 +857,15 @@ public class BeeLine implements Closeable {
}
int runInit() {
- String initFile = getOpts().getInitFile();
- if (initFile != null) {
- info("Running init script " + initFile);
- try {
- return executeFile(initFile);
- } finally {
- exit = false;
+ String initFiles[] = getOpts().getInitFiles();
+ if (initFiles != null && initFiles.length != 0) {
+ for (String initFile : initFiles) {
+ info("Running init script " + initFile);
+ try {
+ return executeFile(initFile);
+ } finally {
+ exit = false;
+ }
}
}
return ERRNO_OK;
@@ -920,6 +926,24 @@ public class BeeLine implements Closeable {
}
}
+ /**
+ * Only initial files specified by i option will be executed. The hiverc file will be processed by session manager.
+ *
+ * @param files
+ * @throws IOException
+ */
+ public void processInitFiles(String[] files) throws IOException {
+ if (files == null || files.length == 0) {
+ return;
+ }
+ for (String initFile : files) {
+ int rc = executeFile(initFile);
+ if (rc != 0) {
+ System.exit(rc);
+ }
+ }
+ }
+
private int execute(ConsoleReader reader, boolean exitOnError) {
String line;
while (!exit) {
http://git-wip-us.apache.org/repos/asf/hive/blob/e28043fb/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
index fec95f2..d9f726d 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
@@ -93,7 +93,7 @@ class BeeLineOpts implements Completer {
private String historyFile = new File(saveDir(), "history").getAbsolutePath();
private String scriptFile = null;
- private String initFile = null;
+ private String[] initFiles = null;
private String authType = null;
private char delimiterForDSV = DEFAULT_DELIMITER_FOR_DSV;
@@ -388,12 +388,12 @@ class BeeLineOpts implements Completer {
return scriptFile;
}
- public String getInitFile() {
- return initFile;
+ public String[] getInitFiles() {
+ return initFiles;
}
- public void setInitFile(String initFile) {
- this.initFile = initFile;
+ public void setInitFiles(String[] initFiles) {
+ this.initFiles = initFiles;
}
public void setColor(boolean color) {
[13/33] hive git commit: HIVE-11236 BeeLine-Cli: use the same output
format as old CLI in the new CLI(Ferdinand Xu, reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11236 BeeLine-Cli: use the same output format as old CLI in the new CLI(Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/30aa1555
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/30aa1555
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/30aa1555
Branch: refs/heads/master
Commit: 30aa15556f85b08b4dd8c072bbf3b6ba792459fd
Parents: eccfdf0
Author: Ferdinand Xu <ch...@intel.com>
Authored: Mon Jul 13 21:49:25 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Mon Jul 13 21:49:25 2015 -0400
----------------------------------------------------------------------
beeline/src/java/org/apache/hive/beeline/BeeLine.java | 3 +++
.../test/org/apache/hive/beeline/cli/TestHiveCli.java | 12 ++++++------
2 files changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/30aa1555/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index 7c53997..5a22956 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -827,6 +827,9 @@ public class BeeLine implements Closeable {
return code;
}
getOpts().updateBeeLineOptsFromConf();
+ getOpts().setShowHeader(false);
+ getOpts().setOutputFormat("dsv");
+ getOpts().setDelimiterForDSV(' ');
}
if (getOpts().getScriptFile() != null) {
http://git-wip-us.apache.org/repos/asf/hive/blob/30aa1555/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index fa94c89..ed4e7c6 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -41,11 +41,11 @@ public class TestHiveCli {
private static final int ERRNO_OTHER = 2;
private final static String SOURCE_CONTEXT =
- "create table if not exists test.testSrcTbl(a string, b string);";
+ "create table if not exists test.testSrcTbl(sc1 string);";
private final static String SOURCE_CONTEXT2 =
- "create table if not exists test.testSrcTbl2(a string);";
+ "create table if not exists test.testSrcTbl2(sc2 string);";
private final static String SOURCE_CONTEXT3 =
- "create table if not exists test.testSrcTbl3(a string);";
+ "create table if not exists test.testSrcTbl3(sc3 string);";
final static String CMD =
"create database if not exists test;\ncreate table if not exists test.testTbl(a string, b "
+ "string);\n";
@@ -107,7 +107,7 @@ public class TestHiveCli {
@Test
public void testSourceCmd() {
File f = generateTmpFile(SOURCE_CONTEXT);
- verifyCMD("source " + f.getPath() + ";" + "desc testSrcTbl;\nquit;\n", "col_name", os,
+ verifyCMD("source " + f.getPath() + ";" + "desc testSrcTbl;\nquit;\n", "sc1", os,
new String[] { "--database", "test" }, ERRNO_OK);
f.delete();
}
@@ -115,7 +115,7 @@ public class TestHiveCli {
@Test
public void testSourceCmd2() {
File f = generateTmpFile(SOURCE_CONTEXT3);
- verifyCMD("source " + f.getPath() + ";" + "desc testSrcTbl3;\nquit;\n", "col_name", os,
+ verifyCMD("source " + f.getPath() + ";" + "desc testSrcTbl3;\nquit;\n", "sc3", os,
new String[] { "--database", "test" }, ERRNO_OK);
f.delete();
}
@@ -153,7 +153,7 @@ public class TestHiveCli {
File f = generateTmpFile(SOURCE_CONTEXT2);
verifyCMD(
"set hiveconf:zzz=" + f.getAbsolutePath() + ";\nsource ${hiveconf:zzz};\ndesc testSrcTbl2;",
- "col_name", os, new String[] { "--database", "test" }, ERRNO_OK);
+ "sc2", os, new String[] { "--database", "test" }, ERRNO_OK);
f.delete();
}
[27/33] hive git commit: HIVE-11779 Beeline-cli: Format the output of
describe pretty table command in new CLI[beeline-cli branch](Ke Jia,
reviewed by Ferdinand Xu)
Posted by xu...@apache.org.
HIVE-11779 Beeline-cli: Format the output of describe pretty table command in new CLI[beeline-cli branch](Ke Jia, reviewed by Ferdinand Xu)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/4a91efc3
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/4a91efc3
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/4a91efc3
Branch: refs/heads/master
Commit: 4a91efc3c4b0d05b8f333049e0b0e0c1a5517bc3
Parents: 6e3b173
Author: Jia Ke <ke...@intel.com>
Authored: Thu Sep 17 01:50:13 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Thu Sep 17 01:50:13 2015 -0400
----------------------------------------------------------------------
.../formatting/MetaDataPrettyFormatUtils.java | 24 +-
.../clientpositive/describe_pretty.q.out | 366 +++++++++----------
2 files changed, 199 insertions(+), 191 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/4a91efc3/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataPrettyFormatUtils.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataPrettyFormatUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataPrettyFormatUtils.java
index 8f939e6..c653252 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataPrettyFormatUtils.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataPrettyFormatUtils.java
@@ -89,7 +89,8 @@ public final class MetaDataPrettyFormatUtils {
String columnHeaders[] = MetaDataFormatUtils.getColumnsHeader(null);
formatOutputPretty(columnHeaders[0], columnHeaders[1], columnHeaders[2],
columnInformation, maxColNameLen, prettyOutputNumCols);
- columnInformation.append(MetaDataFormatUtils.LINE_DELIM);
+ columnInformation.append(MetaDataFormatUtils.FIELD_DELIM)
+ .append(MetaDataFormatUtils.FIELD_DELIM).append(MetaDataFormatUtils.LINE_DELIM);
}
private static void formatAllFieldsPretty(StringBuilder tableInfo,
@@ -202,6 +203,7 @@ public final class MetaDataPrettyFormatUtils {
String delim = StringUtils.repeat(" ", delimCount);
sb.append(paddedText);
sb.append(delim);
+ sb.append(MetaDataFormatUtils.FIELD_DELIM);
return paddedText.length() + delim.length();
}
@@ -209,23 +211,29 @@ public final class MetaDataPrettyFormatUtils {
private static void formatOutputPretty(String colName, String colType,
String colComment, StringBuilder tableInfo, int maxColNameLength,
int prettyOutputNumCols) {
- int colsConsumed = 0;
- colsConsumed += appendFormattedColumn(tableInfo, colName, maxColNameLength + 1);
- colsConsumed += appendFormattedColumn(tableInfo, colType, PRETTY_ALIGNMENT);
+ int colsNameConsumed = appendFormattedColumn(tableInfo, colName, maxColNameLength + 1);
+ int colsTypeConsumed =appendFormattedColumn(tableInfo, colType, PRETTY_ALIGNMENT);
- colComment = breakCommentIntoMultipleLines(colComment, colsConsumed, prettyOutputNumCols);
+ colComment = breakCommentIntoMultipleLines(colComment, colsNameConsumed + colsTypeConsumed,
+ prettyOutputNumCols);
/* Comment indent processing for multi-line comments.
* Comments should be indented the same amount on each line
* if the first line comment starts indented by k,
- * the following line comments should also be indented by k.
+ * the following line comments should also be indented by k
+ * The following line comments will as a new line,so we need to
+ * add colsNameConsumed spaces as the first column and
+ * colsTypeConsumed spaces as the second column and the
+ * comment as the last column.we use two FIELD_DELIM to
+ * split them.
*/
String[] commentSegments = colComment.split("\n|\r|\r\n");
tableInfo.append(trimTrailingWS(commentSegments[0]));
tableInfo.append(MetaDataFormatUtils.LINE_DELIM);
for (int i = 1; i < commentSegments.length; i++) {
- tableInfo.append(StringUtils.repeat(" ", colsConsumed));
- tableInfo.append(trimTrailingWS(commentSegments[i]));
+ tableInfo.append(String.format(
+ "%" + colsNameConsumed + "s" + MetaDataFormatUtils.FIELD_DELIM + "%" + colsTypeConsumed
+ + "s" + MetaDataFormatUtils.FIELD_DELIM + "%s", "", "", commentSegments[i]));
tableInfo.append(MetaDataFormatUtils.LINE_DELIM);
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/4a91efc3/ql/src/test/results/clientpositive/describe_pretty.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/describe_pretty.q.out b/ql/src/test/results/clientpositive/describe_pretty.q.out
index 1c05e0d..279f567 100644
--- a/ql/src/test/results/clientpositive/describe_pretty.q.out
+++ b/ql/src/test/results/clientpositive/describe_pretty.q.out
@@ -72,136 +72,136 @@ POSTHOOK: query: -- There will be an extra tab at the end of each comment line i
DESCRIBE PRETTY test_table
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@test_table
-col_name data_type comment
-
-col1 int col1 one line comment
-col2 string col2
- two lines comment
-col3 string col3
- three lines
- comment
-col4 string col4 very long comment that is greater than 80
- chars and is likely to spill into multiple
- lines
-col5 string col5 very long multi-line comment where each
- line is very long by itself and is likely to
- spill
- into multiple lines. Lorem ipsum dolor sit
- amet, consectetur adipiscing elit. Proin in
- dolor nisl, sodales
- adipiscing tortor. Integer venenatis
-col6 string This comment has a very long single word ABCDEF
- GHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvzxyz12
- 3 which will not fit in a line by itself for
- small column widths.
-col7_nocomment string
+col_name data_type comment
+
+col1 int col1 one line comment
+col2 string col2
+ two lines comment
+col3 string col3
+ three lines
+ comment
+col4 string col4 very long comment that is greater than 80
+ chars and is likely to spill into multiple
+ lines
+col5 string col5 very long multi-line comment where each
+ line is very long by itself and is likely to
+ spill
+ into multiple lines. Lorem ipsum dolor sit
+ amet, consectetur adipiscing elit. Proin in
+ dolor nisl, sodales
+ adipiscing tortor. Integer venenatis
+col6 string This comment has a very long single word ABCDEF
+ GHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvzxyz12
+ 3 which will not fit in a line by itself for
+ small column widths.
+col7_nocomment string
PREHOOK: query: DESCRIBE PRETTY test_table
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@test_table
POSTHOOK: query: DESCRIBE PRETTY test_table
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@test_table
-col_name data_type comment
-
-col1 int col1 one line comment
-col2 string col2
- two lines comment
-col3 string col3
- three lines
- comment
-col4 string col4 very long comment that is greater than 80 chars and is likely to spill into multiple lines
-col5 string col5 very long multi-line comment where each line is very long by itself and is likely to spill
- into multiple lines. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in dolor nisl, sodales
- adipiscing tortor. Integer venenatis
-col6 string This comment has a very long single word ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvzxyz123 which will not fit in a line by itself for small column widths.
-col7_nocomment string
+col_name data_type comment
+
+col1 int col1 one line comment
+col2 string col2
+ two lines comment
+col3 string col3
+ three lines
+ comment
+col4 string col4 very long comment that is greater than 80 chars and is likely to spill into multiple lines
+col5 string col5 very long multi-line comment where each line is very long by itself and is likely to spill
+ into multiple lines. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in dolor nisl, sodales
+ adipiscing tortor. Integer venenatis
+col6 string This comment has a very long single word ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvzxyz123 which will not fit in a line by itself for small column widths.
+col7_nocomment string
PREHOOK: query: DESCRIBE PRETTY test_table
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@test_table
POSTHOOK: query: DESCRIBE PRETTY test_table
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@test_table
-col_name data_type comment
-
-col1 int col1 one line
- comment
-col2 string col2
- two lines comment
-col3 string col3
- three lines
- comment
-col4 string col4 very long
- comment that is
- greater than 80
- chars and is
- likely to spill
- into multiple
- lines
-col5 string col5 very long
- multi-line
- comment where
- each line is very
- long by itself
- and is likely to
- spill
- into multiple
- lines. Lorem
- ipsum dolor sit
- amet, consectetur
- adipiscing elit.
- Proin in dolor
- nisl, sodales
- adipiscing
- tortor. Integer
- venenatis
-col6 string This comment has
- a very long
- single word ABCDE
- FGHIJKLMNOPQRSTUV
- XYZabcdefghijklmn
- opqrstuvzxyz123
- which will not
- fit in a line by
- itself for small
- column widths.
-col7_nocomment string
+col_name data_type comment
+
+col1 int col1 one line
+ comment
+col2 string col2
+ two lines comment
+col3 string col3
+ three lines
+ comment
+col4 string col4 very long
+ comment that is
+ greater than 80
+ chars and is
+ likely to spill
+ into multiple
+ lines
+col5 string col5 very long
+ multi-line
+ comment where
+ each line is very
+ long by itself
+ and is likely to
+ spill
+ into multiple
+ lines. Lorem
+ ipsum dolor sit
+ amet, consectetur
+ adipiscing elit.
+ Proin in dolor
+ nisl, sodales
+ adipiscing
+ tortor. Integer
+ venenatis
+col6 string This comment has
+ a very long
+ single word ABCDE
+ FGHIJKLMNOPQRSTUV
+ XYZabcdefghijklmn
+ opqrstuvzxyz123
+ which will not
+ fit in a line by
+ itself for small
+ column widths.
+col7_nocomment string
PREHOOK: query: DESCRIBE PRETTY test_table
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@test_table
POSTHOOK: query: DESCRIBE PRETTY test_table
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@test_table
-col_name data_type comment
-
-col1 int col1 one line comment
-col2 string col2
- two lines comment
-col3 string col3
- three lines
- comment
-col4 string col4 very long comment that
- is greater than 80 chars
- and is likely to spill into
- multiple lines
-col5 string col5 very long multi-line
- comment where each line is
- very long by itself and is
- likely to spill
- into multiple lines. Lorem
- ipsum dolor sit amet,
- consectetur adipiscing
- elit. Proin in dolor nisl,
- sodales
- adipiscing tortor. Integer
- venenatis
-col6 string This comment has a very
- long single word ABCDEFGHIJ
- KLMNOPQRSTUVXYZabcdefghijkl
- mnopqrstuvzxyz123 which
- will not fit in a line by
- itself for small column
- widths.
-col7_nocomment string
+col_name data_type comment
+
+col1 int col1 one line comment
+col2 string col2
+ two lines comment
+col3 string col3
+ three lines
+ comment
+col4 string col4 very long comment that
+ is greater than 80 chars
+ and is likely to spill into
+ multiple lines
+col5 string col5 very long multi-line
+ comment where each line is
+ very long by itself and is
+ likely to spill
+ into multiple lines. Lorem
+ ipsum dolor sit amet,
+ consectetur adipiscing
+ elit. Proin in dolor nisl,
+ sodales
+ adipiscing tortor. Integer
+ venenatis
+col6 string This comment has a very
+ long single word ABCDEFGHIJ
+ KLMNOPQRSTUVXYZabcdefghijkl
+ mnopqrstuvzxyz123 which
+ will not fit in a line by
+ itself for small column
+ widths.
+col7_nocomment string
PREHOOK: query: CREATE TABLE test_table_very_long_column_name(
col1 INT COMMENT 'col1 one line comment',
col2_abcdefghiklmnopqrstuvxyz STRING COMMENT 'col2
@@ -230,48 +230,48 @@ PREHOOK: Input: default@test_table_very_long_column_name
POSTHOOK: query: DESCRIBE PRETTY test_table_very_long_column_name
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@test_table_very_long_column_name
-col_name data_type comment
-
-col1 int col1 one line comment
-col2_abcdefghiklmnopqrstuvxyz string col2
- two lines comment
-col3 string col3
- three lines
- comment
-col4 string col4 very long comment that is
- greater than 80 chars and is
- likely to spill into multiple
- lines
+col_name data_type comment
+
+col1 int col1 one line comment
+col2_abcdefghiklmnopqrstuvxyz string col2
+ two lines comment
+col3 string col3
+ three lines
+ comment
+col4 string col4 very long comment that is
+ greater than 80 chars and is
+ likely to spill into multiple
+ lines
PREHOOK: query: DESCRIBE PRETTY test_table_very_long_column_name
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@test_table_very_long_column_name
POSTHOOK: query: DESCRIBE PRETTY test_table_very_long_column_name
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@test_table_very_long_column_name
-col_name data_type comment
-
-col1 int col1 one
- line
- comment
-col2_abcdefghiklmnopqrstuvxyz string col2
- two lines
- comment
-col3 string col3
- three
- lines
- comment
-col4 string col4 very
- long
- comment
- that is
- greater
- than 80
- chars and
- is likely
- to spill
- into
- multiple
- lines
+col_name data_type comment
+
+col1 int col1 one
+ line
+ comment
+col2_abcdefghiklmnopqrstuvxyz string col2
+ two lines
+ comment
+col3 string col3
+ three
+ lines
+ comment
+col4 string col4 very
+ long
+ comment
+ that is
+ greater
+ than 80
+ chars and
+ is likely
+ to spill
+ into
+ multiple
+ lines
PREHOOK: query: CREATE TABLE test_table_partitioned(
col1 INT COMMENT 'col1 one line comment',
col2 STRING COMMENT 'col2
@@ -316,40 +316,40 @@ PREHOOK: Input: default@test_table_partitioned
POSTHOOK: query: DESCRIBE PRETTY test_table_partitioned
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@test_table_partitioned
-col_name data_type comment
-
-col1 int col1 one line comment
-col2 string col2
- two lines comment
-col3 string col3
- three lines
- comment
-col4 string col4 very long comment that
- is greater than 80 chars
- and is likely to spill into
- multiple lines
-col5 string col5 very long multi-line
- comment where each line is
- very long by itself and is
- likely to spill
- into multiple lines. Lorem
- ipsum dolor sit amet,
- consectetur adipiscing
- elit. Proin in dolor nisl,
- sodales
- adipiscing tortor. Integer
- venenatis
-col6 string This comment has a very
- long single word ABCDEFGHIJ
- KLMNOPQRSTUVXYZabcdefghijkl
- mnopqrstuvzxyz123 which
- will not fit in a line by
- itself for small column
- widths.
-col7_nocomment string
-ds string
+col_name data_type comment
+
+col1 int col1 one line comment
+col2 string col2
+ two lines comment
+col3 string col3
+ three lines
+ comment
+col4 string col4 very long comment that
+ is greater than 80 chars
+ and is likely to spill into
+ multiple lines
+col5 string col5 very long multi-line
+ comment where each line is
+ very long by itself and is
+ likely to spill
+ into multiple lines. Lorem
+ ipsum dolor sit amet,
+ consectetur adipiscing
+ elit. Proin in dolor nisl,
+ sodales
+ adipiscing tortor. Integer
+ venenatis
+col6 string This comment has a very
+ long single word ABCDEFGHIJ
+ KLMNOPQRSTUVXYZabcdefghijkl
+ mnopqrstuvzxyz123 which
+ will not fit in a line by
+ itself for small column
+ widths.
+col7_nocomment string
+ds string
# Partition Information
-col_name data_type comment
-
-ds string
+col_name data_type comment
+
+ds string
[24/33] hive git commit: HIVE-11746: Connect command should not to be
allowed from user[beeline-cli branch] (Ferdinand Xu, reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11746: Connect command should not to be allowed from user[beeline-cli branch] (Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/5c39d077
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/5c39d077
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/5c39d077
Branch: refs/heads/master
Commit: 5c39d0772da89eb3692cfb012831f2884d811f6f
Parents: fc53e5d
Author: Ferdinand Xu <ch...@intel.com>
Authored: Wed Sep 9 21:38:16 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Wed Sep 9 21:38:16 2015 -0400
----------------------------------------------------------------------
beeline/src/java/org/apache/hive/beeline/BeeLine.java | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/5c39d077/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index 6bc2451..5db1bf7 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -881,7 +881,7 @@ public class BeeLine implements Closeable {
}
private int embeddedConnect() {
- if (!dispatch("!connect " + Utils.URL_PREFIX + " '' ''")) {
+ if (!execCommandWithPrefix("!connect " + Utils.URL_PREFIX + " '' ''")) {
return ERRNO_OTHER;
} else {
return ERRNO_OK;
@@ -1135,11 +1135,7 @@ public class BeeLine implements Closeable {
return commands.sql(line, getOpts().getEntireLineAsCommand());
}
} else {
- if (line.toLowerCase().startsWith("!connect")) {
- return execCommandWithPrefix(line);
- } else {
- return commands.sql(line, getOpts().getEntireLineAsCommand());
- }
+ return commands.sql(line, getOpts().getEntireLineAsCommand());
}
}
[29/33] hive git commit: HIVE-11717: nohup mode is not support for new hive cli(Ferdinand Xu, reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11717: nohup mode is not support for new hive cli(Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/dc9ca294
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/dc9ca294
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/dc9ca294
Branch: refs/heads/master
Commit: dc9ca294eff7f4309beb18cb540b6eccbe7e0b13
Parents: fdf6bd0
Author: Ferdinand Xu <ch...@intel.com>
Authored: Sun Sep 20 21:52:08 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Sun Sep 20 21:52:08 2015 -0400
----------------------------------------------------------------------
bin/beeline | 5 +++++
bin/ext/cli.sh | 9 +++++++++
2 files changed, 14 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/dc9ca294/bin/beeline
----------------------------------------------------------------------
diff --git a/bin/beeline b/bin/beeline
index bceb7b9..6ca53b2 100644
--- a/bin/beeline
+++ b/bin/beeline
@@ -18,6 +18,11 @@
bin=`dirname "$0"`
bin=`cd "$bin"; pwd`
+# If process is backgrounded, don't change terminal settings
+if [[ ! $(ps -o stat= -p $$) == *+ ]]; then
+ export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Djline.terminal=jline.UnsupportedTerminal"
+fi
+
# Set Hadoop User classpath to true so that httpclient jars are taken from
# hive lib instead of hadoop lib.
export HADOOP_USER_CLASSPATH_FIRST=true
http://git-wip-us.apache.org/repos/asf/hive/blob/dc9ca294/bin/ext/cli.sh
----------------------------------------------------------------------
diff --git a/bin/ext/cli.sh b/bin/ext/cli.sh
index 96a69b0..893b7fc 100644
--- a/bin/ext/cli.sh
+++ b/bin/ext/cli.sh
@@ -16,6 +16,14 @@
THISSERVICE=cli
export SERVICE_LIST="${SERVICE_LIST}${THISSERVICE} "
+updateBeelineOpts() {
+ # If process is backgrounded, don't change terminal settings
+ if [[ ! $(ps -o stat= -p $$) == *+ ]]; then
+ echo "background"
+ export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Djline.terminal=jline.UnsupportedTerminal"
+ fi
+}
+
updateCli() {
if [ "$USE_DEPRECATED_CLI" == "true" ]; then
CLASS=org.apache.hadoop.hive.cli.CliDriver
@@ -24,6 +32,7 @@ updateCli() {
export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Dlog4j.configuration=beeline-log4j.properties"
CLASS=org.apache.hive.beeline.cli.HiveCli
JAR=hive-beeline-*.jar
+ updateBeelineOpts
fi
}
[16/33] hive git commit: HIVE-11280: Support executing script file
from hdfs in new CLI [Beeline-CLI branch](Ferdinand Xu,
reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11280: Support executing script file from hdfs in new CLI [Beeline-CLI branch](Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/804f20a4
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/804f20a4
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/804f20a4
Branch: refs/heads/master
Commit: 804f20a4dd7d77aced7c4973930ce453f71641fb
Parents: e6adedc
Author: Ferdinand Xu <ch...@intel.com>
Authored: Sun Jul 19 21:10:29 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Sun Jul 19 21:10:29 2015 -0400
----------------------------------------------------------------------
.../java/org/apache/hive/beeline/BeeLine.java | 23 +++++++++++++++++---
.../apache/hive/beeline/cli/TestHiveCli.java | 3 ++-
2 files changed, 22 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/804f20a4/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index d2b8590..c47b9fe 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -22,6 +22,7 @@
*/
package org.apache.hive.beeline;
+import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
@@ -30,6 +31,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
import java.io.PrintStream;
import java.io.SequenceInputStream;
import java.lang.reflect.InvocationTargetException;
@@ -87,6 +89,8 @@ import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.io.IOUtils;
import org.apache.hive.beeline.cli.CliOptionsProcessor;
@@ -889,9 +893,22 @@ public class BeeLine implements Closeable {
}
private int executeFile(String fileName) {
- FileInputStream initStream = null;
+ InputStream initStream = null;
try {
- initStream = new FileInputStream(fileName);
+ if (!isBeeLine) {
+ org.apache.hadoop.fs.Path path = new org.apache.hadoop.fs.Path(fileName);
+ FileSystem fs;
+ HiveConf conf = getCommands().getHiveConf(true);
+ if (!path.toUri().isAbsolute()) {
+ fs = FileSystem.getLocal(conf);
+ path = fs.makeQualified(path);
+ } else {
+ fs = FileSystem.get(path.toUri(), conf);
+ }
+ initStream = fs.open(path);
+ } else {
+ initStream = new FileInputStream(fileName);
+ }
return execute(getConsoleReader(initStream), !getOpts().getForce());
} catch (Throwable t) {
handleException(t);
@@ -973,7 +990,7 @@ public class BeeLine implements Closeable {
handleException(e);
}
- if (inputStream instanceof FileInputStream) {
+ if (inputStream instanceof FileInputStream || inputStream instanceof FSDataInputStream) {
// from script.. no need to load history and no need of completer, either
return consoleReader;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/804f20a4/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index 542f1ee..c465eac 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -79,7 +79,8 @@ public class TestHiveCli {
executeCMD(options, CMD, retCode);
String output = os.toString();
LOG.debug(output);
- Assert.assertTrue("The expected keyword " + keywords + "doesn't occur in the output: " + output,
+ Assert.assertTrue(
+ "The expected keyword \"" + keywords + "\" doesn't occur in the output: " + output,
output.contains(keywords));
}
[04/33] hive git commit: HIVE-10822: CLI start script throwing error
message on console (Chinna Rao Lalam, reviewed by Ferdinand Xu)
Posted by xu...@apache.org.
HIVE-10822: CLI start script throwing error message on console (Chinna Rao Lalam, reviewed by Ferdinand Xu)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/328ac4d7
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/328ac4d7
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/328ac4d7
Branch: refs/heads/master
Commit: 328ac4d7383a71c219cb77611c9ed4b6e6cd9bea
Parents: 0336639
Author: Ferdinand Xu <ch...@intel.com>
Authored: Tue May 26 03:04:02 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Tue May 26 03:04:02 2015 -0400
----------------------------------------------------------------------
bin/ext/cli.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/328ac4d7/bin/ext/cli.sh
----------------------------------------------------------------------
diff --git a/bin/ext/cli.sh b/bin/ext/cli.sh
index 733705a..cdce7e3 100644
--- a/bin/ext/cli.sh
+++ b/bin/ext/cli.sh
@@ -17,7 +17,7 @@ THISSERVICE=cli
export SERVICE_LIST="${SERVICE_LIST}${THISSERVICE} "
updateCli() {
- if [ $USE_DEPRECATED_CLI == "true" ]; then
+ if [ "$USE_DEPRECATED_CLI" == "true" ]; then
CLASS=org.apache.hadoop.hive.cli.CliDriver
JAR=hive-cli-*.jar
else
@@ -34,4 +34,4 @@ cli () {
cli_help () {
updateCli
execHiveCmd $CLASS $JAR "--help"
-}
\ No newline at end of file
+}
[31/33] hive git commit: HIVE-11943: Set old CLI as the default
Client when using hive script(Ferdinand Xu, reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11943: Set old CLI as the default Client when using hive script(Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/046c5ebd
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/046c5ebd
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/046c5ebd
Branch: refs/heads/master
Commit: 046c5ebdbeaa8155189db13f78ddb28c63c7500c
Parents: 1857956
Author: Ferdinand Xu <ch...@intel.com>
Authored: Thu Sep 24 21:14:33 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Thu Sep 24 21:14:33 2015 -0400
----------------------------------------------------------------------
bin/ext/cli.cmd | 6 +++++-
bin/ext/cli.sh | 6 +++++-
2 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/046c5ebd/bin/ext/cli.cmd
----------------------------------------------------------------------
diff --git a/bin/ext/cli.cmd b/bin/ext/cli.cmd
index 3a96d03..d9185c0 100644
--- a/bin/ext/cli.cmd
+++ b/bin/ext/cli.cmd
@@ -28,9 +28,13 @@ goto :EOF
goto :EOF
:update_cli
+ if [%USE_DEPRECATED_CLI%] == [] (
+ set USE_DEPRECATED_CLI=false
+ )
+
if /I "%USE_DEPRECATED_CLI%" == "true" (
call :old_cli
- ) else if (
+ ) else (
call :new_cli
)
goto :EOF
http://git-wip-us.apache.org/repos/asf/hive/blob/046c5ebd/bin/ext/cli.sh
----------------------------------------------------------------------
diff --git a/bin/ext/cli.sh b/bin/ext/cli.sh
index 893b7fc..e7897b3 100644
--- a/bin/ext/cli.sh
+++ b/bin/ext/cli.sh
@@ -16,10 +16,14 @@
THISSERVICE=cli
export SERVICE_LIST="${SERVICE_LIST}${THISSERVICE} "
+# Set old CLI as the default client
+if [ -n '$USE_DEPRECATED_CLI' ]; then
+ USE_DEPRECATED_CLI="true"
+fi
+
updateBeelineOpts() {
# If process is backgrounded, don't change terminal settings
if [[ ! $(ps -o stat= -p $$) == *+ ]]; then
- echo "background"
export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Djline.terminal=jline.UnsupportedTerminal"
fi
}
[07/33] hive git commit: HIVE-10905 Quit&Exit fails ending with ';
' [beeline-cli Branch](Chinna Rao Lalam, reviewed by Ferdinand Xu)
Posted by xu...@apache.org.
HIVE-10905 Quit&Exit fails ending with ';' [beeline-cli Branch](Chinna Rao Lalam, reviewed by Ferdinand Xu)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/2243de3b
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/2243de3b
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/2243de3b
Branch: refs/heads/master
Commit: 2243de3b2bc4ef5a12dc869ea2d4b2ec787a6b74
Parents: 120e33a
Author: Ferdinand Xu <ch...@intel.com>
Authored: Wed Jun 3 18:48:41 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Wed Jun 3 18:48:41 2015 -0400
----------------------------------------------------------------------
beeline/src/java/org/apache/hive/beeline/BeeLine.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/2243de3b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index 45a7e87..b7d2f2e 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -1053,7 +1053,8 @@ public class BeeLine implements Closeable {
if (cmd == null)
return null;
String[] tokens = tokenizeCmd(cmd);
- if (cmd.equalsIgnoreCase("quit") || cmd.equalsIgnoreCase("exit")) {
+ if (cmd.equalsIgnoreCase("quit") || cmd.equalsIgnoreCase("exit")
+ || cmd.equalsIgnoreCase("quit;") || cmd.equals("exit;")) {
return null;
} else if (tokens[0].equalsIgnoreCase("source")) {
return COMMAND_PREFIX + cmd;
[26/33] hive git commit: HIVE-11796: CLI option is not updated when
executing the initial files[beeline-cli](Ferdinand Xu,
reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11796: CLI option is not updated when executing the initial files[beeline-cli](Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/6e3b1736
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/6e3b1736
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/6e3b1736
Branch: refs/heads/master
Commit: 6e3b173684f44245c15df64940862f00f6075460
Parents: 6380de2
Author: Ferdinand Xu <ch...@intel.com>
Authored: Wed Sep 16 22:07:47 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Wed Sep 16 22:07:47 2015 -0400
----------------------------------------------------------------------
.../java/org/apache/hive/beeline/BeeLine.java | 24 +-------------------
.../java/org/apache/hive/beeline/Commands.java | 4 ++++
2 files changed, 5 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/6e3b1736/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index d8e44de..e96d933 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -694,7 +694,6 @@ public class BeeLine implements Closeable {
if (!commands.isEmpty()) {
embeddedConnect();
connectDBInEmbededMode();
- updateOptsForCli();
for (Iterator<String> i = commands.iterator(); i.hasNext(); ) {
String command = i.next().toString();
debug(loc("executing-command", command));
@@ -811,7 +810,7 @@ public class BeeLine implements Closeable {
}
}
- private void updateOptsForCli() {
+ public void updateOptsForCli() {
getOpts().updateBeeLineOptsFromConf();
getOpts().setShowHeader(false);
getOpts().setOutputFormat("dsv");
@@ -844,9 +843,6 @@ public class BeeLine implements Closeable {
return code;
}
defaultConnect(false);
- updateOptsForCli();
-
- processInitFiles(opts.getInitFiles());
}
if (getOpts().getScriptFile() != null) {
@@ -934,24 +930,6 @@ public class BeeLine implements Closeable {
}
}
- /**
- * Only initial files specified by i option will be executed. The hiverc file will be processed by session manager.
- *
- * @param files
- * @throws IOException
- */
- public void processInitFiles(String[] files) throws IOException {
- if (files == null || files.length == 0) {
- return;
- }
- for (String initFile : files) {
- int rc = executeFile(initFile);
- if (rc != 0) {
- System.exit(rc);
- }
- }
- }
-
private int execute(ConsoleReader reader, boolean exitOnError) {
String line;
while (!exit) {
http://git-wip-us.apache.org/repos/asf/hive/blob/6e3b1736/beeline/src/java/org/apache/hive/beeline/Commands.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/Commands.java b/beeline/src/java/org/apache/hive/beeline/Commands.java
index d16b4ec..44dd18b 100644
--- a/beeline/src/java/org/apache/hive/beeline/Commands.java
+++ b/beeline/src/java/org/apache/hive/beeline/Commands.java
@@ -1389,6 +1389,10 @@ public class Commands {
beeLine.getDatabaseConnections().setConnection(
new DatabaseConnection(beeLine, driver, url, props));
beeLine.getDatabaseConnection().getConnection();
+
+ if (!beeLine.isBeeLine()) {
+ beeLine.updateOptsForCli();
+ }
beeLine.runInit();
beeLine.setCompletions();
[06/33] hive git commit: HIVE-10904 Use beeline-log4j.properties for
migrated CLI [beeline-cli Branch] (Chinna Rao Lalam, reviewed by Ferdinand Xu)
Posted by xu...@apache.org.
HIVE-10904 Use beeline-log4j.properties for migrated CLI [beeline-cli Branch] (Chinna Rao Lalam, reviewed by Ferdinand Xu)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/120e33aa
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/120e33aa
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/120e33aa
Branch: refs/heads/master
Commit: 120e33aa56f1a294bf6d2ad0cc7278272cf519b7
Parents: 0b38cd0
Author: Ferdinand Xu <ch...@intel.com>
Authored: Wed Jun 3 18:13:38 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Wed Jun 3 18:14:41 2015 -0400
----------------------------------------------------------------------
bin/ext/cli.sh | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/120e33aa/bin/ext/cli.sh
----------------------------------------------------------------------
diff --git a/bin/ext/cli.sh b/bin/ext/cli.sh
index cdce7e3..96a69b0 100644
--- a/bin/ext/cli.sh
+++ b/bin/ext/cli.sh
@@ -21,6 +21,7 @@ updateCli() {
CLASS=org.apache.hadoop.hive.cli.CliDriver
JAR=hive-cli-*.jar
else
+ export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Dlog4j.configuration=beeline-log4j.properties"
CLASS=org.apache.hive.beeline.cli.HiveCli
JAR=hive-beeline-*.jar
fi
[08/33] hive git commit: Merge branch 'master' into beeline-cli
Posted by xu...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/00e0d55a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/00e0d55a/beeline/src/java/org/apache/hive/beeline/Commands.java
----------------------------------------------------------------------
[05/33] hive git commit: HIVE-10821 Beeline-CLI: Implement CLI source
command using Beeline functionality(Ferdinand Xu,
Reviewed By Zhang Xuefu and Chinna Rao Lalam)
Posted by xu...@apache.org.
HIVE-10821 Beeline-CLI: Implement CLI source command using Beeline functionality(Ferdinand Xu, Reviewed By Zhang Xuefu and Chinna Rao Lalam)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/0b38cd03
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/0b38cd03
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/0b38cd03
Branch: refs/heads/master
Commit: 0b38cd03d15ba0f2941c1ca8a64ea69c7ff87a45
Parents: 328ac4d
Author: Ferdinand Xu <ch...@intel.com>
Authored: Tue Jun 2 20:03:51 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Tue Jun 2 20:03:51 2015 -0400
----------------------------------------------------------------------
.../java/org/apache/hive/beeline/BeeLine.java | 75 ++++++++++-----
.../java/org/apache/hive/beeline/Commands.java | 1 -
.../apache/hive/beeline/cli/TestHiveCli.java | 97 +++++++++++---------
3 files changed, 106 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/0b38cd03/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index 4a82635..45a7e87 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -824,12 +824,13 @@ public class BeeLine implements Closeable {
}
} else {
int code = initArgsFromCliVars(args);
+ defaultConnect(false);
if (code != 0)
return code;
}
if (getOpts().getScriptFile() != null) {
- return executeFile(getOpts().getScriptFile());
+ return executeFile(getOpts().getScriptFile(), false);
}
try {
info(getApplicationTitle());
@@ -848,7 +849,7 @@ public class BeeLine implements Closeable {
if (initFile != null) {
info("Running init script " + initFile);
try {
- return executeFile(initFile);
+ return executeFile(initFile, false);
} finally {
exit = false;
}
@@ -883,7 +884,7 @@ public class BeeLine implements Closeable {
return ERRNO_OK;
}
- private int executeFile(String fileName) {
+ private int executeFile(String fileName, boolean isSourceCMD) {
FileInputStream initStream = null;
try {
initStream = new FileInputStream(fileName);
@@ -893,27 +894,49 @@ public class BeeLine implements Closeable {
return ERRNO_OTHER;
} finally {
IOUtils.closeStream(initStream);
- consoleReader = null;
- output(""); // dummy new line
+ if(!isSourceCMD) {
+ consoleReader = null;
+ output(""); // dummy new line
+ }
+ }
+ }
+
+ private boolean isSourceCMD(String cmd) {
+ if (cmd == null || cmd.isEmpty())
+ return false;
+ String[] tokens = tokenizeCmd(cmd);
+ return tokens[0].equalsIgnoreCase("!source");
+ }
+
+ private boolean sourceFile(String cmd) {
+ String[] tokens = tokenizeCmd(cmd);
+ String cmd_1 = getFirstCmd(cmd, tokens[0].length());
+ File sourceFile = new File(cmd_1);
+ if (!sourceFile.isFile()) {
+ return false;
+ } else {
+ boolean ret = (executeFile(cmd_1, true) == ERRNO_OK);
+ // For source command, we should not exit even when meeting some empty line.
+ setExit(false);
+ return ret;
}
}
private int execute(ConsoleReader reader, boolean exitOnError) {
String line;
- if (!isBeeLine) {
- if (defaultConnect(exitOnError) != ERRNO_OK && exitOnError) {
- return ERRNO_OTHER;
- }
- }
while (!exit) {
try {
// Execute one instruction; terminate on executing a script if there is an error
// in silent mode, prevent the query and prompt being echoed back to terminal
- line = (getOpts().isSilent() && getOpts().getScriptFile() != null) ?
- reader.readLine(null, ConsoleReader.NULL_MASK) : reader.readLine(getPrompt());
+ line = (getOpts().isSilent() && getOpts().getScriptFile() != null) ? reader
+ .readLine(null, ConsoleReader.NULL_MASK) : reader.readLine(getPrompt());
+
+ // trim line
+ line = (line == null) ? null : line.trim();
if (!isBeeLine) {
line = cliToBeelineCmd(line);
}
+
if (!dispatch(line) && exitOnError) {
return ERRNO_OTHER;
}
@@ -1011,7 +1034,6 @@ public class BeeLine implements Closeable {
return consoleReader;
}
-
void usage() {
output(loc("cmd-usage"));
}
@@ -1020,19 +1042,23 @@ public class BeeLine implements Closeable {
return cmd.split("\\s+");
}
- public String cliToBeelineCmd(String cmd) {
+ /**
+ * Extract and clean up the first command in the input.
+ */
+ private String getFirstCmd(String cmd, int length) {
+ return cmd.substring(length).trim();
+ }
+
+ private String cliToBeelineCmd(String cmd) {
if (cmd == null)
return null;
- String cmd_trimmed = cmd.trim();
- String[] tokens = tokenizeCmd(cmd_trimmed);
-
- if (cmd_trimmed.equalsIgnoreCase("quit") || cmd_trimmed.equalsIgnoreCase("exit")) {
+ String[] tokens = tokenizeCmd(cmd);
+ if (cmd.equalsIgnoreCase("quit") || cmd.equalsIgnoreCase("exit")) {
return null;
} else if (tokens[0].equalsIgnoreCase("source")) {
- //TODO
- return cmd;
- } else if (cmd_trimmed.startsWith("!")) {
- String shell_cmd = cmd_trimmed.substring(1);
+ return COMMAND_PREFIX + cmd;
+ } else if (cmd.startsWith("!")) {
+ String shell_cmd = cmd.substring(1);
return "!sh " + shell_cmd;
} else { // local mode
// command like dfs
@@ -1040,7 +1066,6 @@ public class BeeLine implements Closeable {
}
}
-
/**
* Dispatch the specified line to the appropriate {@link CommandHandler}.
*
@@ -1063,6 +1088,10 @@ public class BeeLine implements Closeable {
return true;
}
+ if(isSourceCMD(line)){
+ return sourceFile(line);
+ }
+
line = line.trim();
// save it to the current script, if any
http://git-wip-us.apache.org/repos/asf/hive/blob/0b38cd03/beeline/src/java/org/apache/hive/beeline/Commands.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/Commands.java b/beeline/src/java/org/apache/hive/beeline/Commands.java
index 4c60525..a42baa3 100644
--- a/beeline/src/java/org/apache/hive/beeline/Commands.java
+++ b/beeline/src/java/org/apache/hive/beeline/Commands.java
@@ -1188,7 +1188,6 @@ public class Commands {
return true;
}
-
public boolean all(String line) {
int index = beeLine.getDatabaseConnections().getIndex();
boolean success = true;
http://git-wip-us.apache.org/repos/asf/hive/blob/0b38cd03/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index cc0b598..6cbb030 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -36,10 +36,15 @@ import java.io.PrintStream;
public class TestHiveCli {
private static final Log LOG = LogFactory.getLog(TestHiveCli.class.getName());
-
- final static String CMD = "create database if not exists test;\ncreate table if not exists test" +
- ".testTbl(a " +
- "" + "string, b string);\n";
+ private static final int ERRNO_OK = 0;
+ private static final int ERRNO_ARGS = 1;
+ private static final int ERRNO_OTHER = 2;
+
+ private final static String SOURCE_CONTEXT =
+ "create table if not exists test.testSrcTbl(a string, b string);";
+ final static String CMD =
+ "create database if not exists test;\ncreate table if not exists test.testTbl(a string, b "
+ + "string);\n";
private HiveCli cli;
private OutputStream os;
private PrintStream ps;
@@ -65,53 +70,53 @@ public class TestHiveCli {
}
}
- private void verifyCMD(String CMD, String keywords, OutputStream os, String[] options, int
- retCode) {
+ private void verifyCMD(String CMD, String keywords, OutputStream os, String[] options,
+ int retCode) {
executeCMD(options, CMD, retCode);
String output = os.toString();
Assert.assertTrue(output.contains(keywords));
}
- @Test
- public void testInValidCmd() {
- verifyCMD("!lss\n", "Failed to execute lss", errS, null, 0);
+ @Test public void testInValidCmd() {
+ verifyCMD("!lss\n", "Failed to execute lss", errS, null, ERRNO_OK);
+ }
+
+ @Test public void testHelp() {
+ verifyCMD(null, "usage: hive", os, new String[] { "-H" }, ERRNO_ARGS);
}
- @Test
- public void testHelp() {
- verifyCMD(null, "usage: hive", os, new String[]{"-H"}, 1);
+ @Test public void testInvalidDatabaseOptions() {
+ verifyCMD("\nshow tables\nquit\n", "Database does not exist: invalidDB", errS,
+ new String[] { "--database", "invalidDB" }, ERRNO_OK);
}
- @Test
- public void testInvalidDatabaseOptions() {
- verifyCMD("\nshow tables\nquit\n", "Database does not exist: invalidDB", errS, new
- String[]{"--database", "invalidDB"}, 0);
+ @Test public void testDatabaseOptions() {
+ verifyCMD("\nshow tables;\nquit;", "testTbl", os, new String[] { "--database", "test" },
+ ERRNO_OK);
}
- @Test
- public void testDatabaseOptions() {
- verifyCMD("\nshow tables;\nquit;", "testTbl", os, new String[]{"--database", "test"}, 0);
+ @Test public void testSourceCmd() {
+ File f = generateTmpFile(SOURCE_CONTEXT);
+ verifyCMD("source " + f.getPath() + "\n" + "desc testSrcTbl\n" + "quit\n", "col_name", os,
+ new String[] { "--database", "test" }, ERRNO_OK);
}
- @Test
- public void testSqlFromCmd() {
- verifyCMD(null, "", os, new String[]{"-e", "show databases;"}, 0);
+ @Test public void testSqlFromCmd() {
+ verifyCMD(null, "", os, new String[] { "-e", "show databases;" }, ERRNO_OK);
}
- @Test
- public void testSqlFromCmdWithDBName() {
- verifyCMD(null, "testTbl", os, new String[]{"-e", "show tables;", "--database", "test"}, 0);
+ @Test public void testSqlFromCmdWithDBName() {
+ verifyCMD(null, "testTbl", os, new String[] { "-e", "show tables;", "--database", "test" },
+ ERRNO_OK);
}
- @Test
- public void testInvalidOptions() {
- verifyCMD(null, "The '-e' and '-f' options cannot be specified simultaneously", errS, new
- String[]{"-e", "show tables;", "-f", "path/to/file"}, 1);
+ @Test public void testInvalidOptions() {
+ verifyCMD(null, "The '-e' and '-f' options cannot be specified simultaneously", errS,
+ new String[] { "-e", "show tables;", "-f", "path/to/file" }, ERRNO_ARGS);
}
- @Test
- public void testInvalidOptions2() {
- verifyCMD(null, "Unrecognized option: -k", errS, new String[]{"-k"}, 1);
+ @Test public void testInvalidOptions2() {
+ verifyCMD(null, "Unrecognized option: -k", errS, new String[] { "-k" }, ERRNO_ARGS);
}
private void redirectOutputStream() {
@@ -124,30 +129,36 @@ public class TestHiveCli {
System.setErr(errPs);
}
- private void initFileFromFile() {
+ private void initFromFile() {
+ tmp = generateTmpFile(CMD);
+ if (tmp == null) {
+ Assert.fail("Fail to create the initial file");
+ }
+ executeCMD(new String[] { "-f", "\"" + tmp.getAbsolutePath() + "\"" }, null, 0);
+ }
+
+ private File generateTmpFile(String context) {
+ File file = null;
BufferedWriter bw = null;
try {
- // create a tmp file
- tmp = File.createTempFile("test", ".sql");
- bw = new BufferedWriter(new FileWriter(tmp));
- bw.write(CMD);
+ file = File.createTempFile("test", ".sql");
+ bw = new BufferedWriter(new FileWriter(file));
+ bw.write(context);
} catch (IOException e) {
LOG.error("Failed to write tmp file due to the exception: " + e);
} finally {
IOUtils.closeQuietly(bw);
}
- executeCMD(new String[]{"-f", "\"" + tmp.getAbsolutePath() + "\""}, null, 0);
+ return file;
}
- @Before
- public void setup() {
+ @Before public void setup() {
cli = new HiveCli();
redirectOutputStream();
- initFileFromFile();
+ initFromFile();
}
- @After
- public void tearDown() {
+ @After public void tearDown() {
tmp.delete();
}
}
[12/33] hive git commit: HIVE-11191: Beeline-cli: support
hive.cli.errors.ignore in new CLI(Ferdinand Xu, reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11191: Beeline-cli: support hive.cli.errors.ignore in new CLI(Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/eccfdf0e
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/eccfdf0e
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/eccfdf0e
Branch: refs/heads/master
Commit: eccfdf0ed7f1847ba1c0e3ad5aee0f2a6c9857c8
Parents: f589e2c
Author: Ferdinand Xu <ch...@intel.com>
Authored: Thu Jul 9 20:58:14 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Thu Jul 9 20:58:14 2015 -0400
----------------------------------------------------------------------
.../java/org/apache/hive/beeline/BeeLine.java | 37 ++++++++++++++++----
.../org/apache/hive/beeline/BeeLineOpts.java | 18 ++++++++++
.../java/org/apache/hive/beeline/Commands.java | 36 ++++++++++++++-----
.../apache/hive/beeline/cli/TestHiveCli.java | 3 +-
4 files changed, 77 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/eccfdf0e/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index c4dbcd4..7c53997 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -87,7 +87,6 @@ import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
-import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.io.IOUtils;
import org.apache.hive.beeline.cli.CliOptionsProcessor;
import org.apache.hive.jdbc.Utils;
@@ -406,10 +405,8 @@ public class BeeLine implements Closeable {
String getApplicationTitle() {
Package pack = BeeLine.class.getPackage();
- return loc("app-introduction", new Object[] {
- "Beeline",
- pack.getImplementationVersion() == null ? "???"
- : pack.getImplementationVersion(),
+ return loc("app-introduction", new Object[] { "Beeline",
+ pack.getImplementationVersion() == null ? "???" : pack.getImplementationVersion(),
"Apache Hive",
// getManifestAttribute ("Specification-Title"),
// getManifestAttribute ("Implementation-Version"),
@@ -826,8 +823,10 @@ public class BeeLine implements Closeable {
} else {
int code = initArgsFromCliVars(args);
defaultConnect(false);
- if (code != 0)
+ if (code != 0){
return code;
+ }
+ getOpts().updateBeeLineOptsFromConf();
}
if (getOpts().getScriptFile() != null) {
@@ -1077,8 +1076,32 @@ public class BeeLine implements Closeable {
return cmdMap.values().iterator().next()
.execute(line);
} else {
- return commands.sql(line, getOpts().getEntireLineAsCommand());
+ boolean needsUpdate = isConfNeedsUpdate(line);
+ boolean res = commands.sql(line, getOpts().getEntireLineAsCommand());
+ if (needsUpdate) {
+ getOpts().setHiveConf(getCommands().getHiveConf(true));
+ }
+ return res;
+ }
+ }
+
+ /**
+ * Update the configurations for the CLI mode in the client side
+ *
+ * @param line
+ */
+ private boolean isConfNeedsUpdate(String line) {
+ if (isBeeLine) {
+ return false;
+ }
+ String[] cmds = line.split(";");
+ boolean containsSetCMD = false;
+ for (String s : cmds) {
+ if (s.toLowerCase().startsWith("set")) {
+ return true;
+ }
}
+ return containsSetCMD;
}
/**
http://git-wip-us.apache.org/repos/asf/hive/blob/eccfdf0e/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
index c1ec82a..894f74f 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
@@ -42,6 +42,7 @@ import jline.Terminal;
import jline.TerminalFactory;
import jline.console.completer.Completer;
import jline.console.completer.StringsCompleter;
+import org.apache.hadoop.hive.conf.HiveConf;
class BeeLineOpts implements Completer {
public static final int DEFAULT_MAX_WIDTH = 80;
@@ -78,6 +79,8 @@ class BeeLineOpts implements Completer {
int timeout = -1;
private String isolation = DEFAULT_ISOLATION_LEVEL;
private String outputFormat = "table";
+ // This configuration is used only for client side configuration.
+ private HiveConf conf;
private boolean trimScripts = true;
private boolean allowMultiLineCommand = true;
@@ -219,6 +222,21 @@ class BeeLineOpts implements Completer {
loadProperties(p);
}
+ /**
+ * Update the options after connection is established in CLI mode.
+ */
+ public void updateBeeLineOptsFromConf() {
+ if (!beeLine.isBeeLine()) {
+ if (conf == null) {
+ conf = beeLine.getCommands().getHiveConf(true);
+ }
+ setForce(HiveConf.getBoolVar(conf, HiveConf.ConfVars.CLIIGNOREERRORS));
+ }
+ }
+
+ public void setHiveConf(HiveConf conf) {
+ this.conf = conf;
+ }
public void loadProperties(Properties props) {
for (Object element : props.keySet()) {
http://git-wip-us.apache.org/repos/asf/hive/blob/eccfdf0e/beeline/src/java/org/apache/hive/beeline/Commands.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/Commands.java b/beeline/src/java/org/apache/hive/beeline/Commands.java
index d490273..b07388a 100644
--- a/beeline/src/java/org/apache/hive/beeline/Commands.java
+++ b/beeline/src/java/org/apache/hive/beeline/Commands.java
@@ -721,7 +721,7 @@ public class Commands {
*/
private Map<String, String> getHiveVariables() {
Map<String, String> result = new HashMap<>();
- BufferedRows rows = getConfInternal();
+ BufferedRows rows = getConfInternal(true);
while (rows.hasNext()) {
Rows.Row row = (Rows.Row) rows.next();
if (!row.isMeta) {
@@ -731,27 +731,45 @@ public class Commands {
return result;
}
- private HiveConf getHiveConf() {
+ /**
+ * This method should only be used in CLI mode.
+ *
+ * @return the hive configuration from server side
+ */
+ public HiveConf getHiveConf(boolean call) {
HiveConf conf = new HiveConf();
- BufferedRows rows = getConfInternal();
- while (rows.hasNext()) {
+ BufferedRows rows = getConfInternal(call);
+ while (rows != null && rows.hasNext()) {
addConf((Rows.Row) rows.next(), conf);
}
return conf;
}
- private BufferedRows getConfInternal() {
+ /**
+ * Use call statement to retrieve the configurations for substitution and sql for the substitution.
+ *
+ * @param call
+ * @return
+ */
+ private BufferedRows getConfInternal(boolean call) {
Statement stmnt = null;
BufferedRows rows = null;
try {
- stmnt = beeLine.createStatement();
- boolean hasResults = stmnt.execute("set");
+ boolean hasResults;
+ if (call) {
+ stmnt = beeLine.getDatabaseConnection().getConnection().prepareCall("set");
+ hasResults = ((CallableStatement) stmnt).execute();
+ } else {
+ stmnt = beeLine.createStatement();
+ hasResults = stmnt.execute("set");
+ }
if (hasResults) {
ResultSet rs = stmnt.getResultSet();
rows = new BufferedRows(beeLine, rs);
}
} catch (SQLException e) {
beeLine.error(e);
+ } finally {
if (stmnt != null) {
try {
stmnt.close();
@@ -802,7 +820,7 @@ public class Commands {
String[] tokens = tokenizeCmd(cmd);
String cmd_1 = getFirstCmd(cmd, tokens[0].length());
- cmd_1 = substituteVariables(getHiveConf(), cmd_1);
+ cmd_1 = substituteVariables(getHiveConf(false), cmd_1);
File sourceFile = new File(cmd_1);
if (!sourceFile.isFile()) {
return false;
@@ -1020,7 +1038,7 @@ public class Commands {
}
line = line.substring("sh".length()).trim();
- line = substituteVariables(getHiveConf(), line.trim());
+ line = substituteVariables(getHiveConf(false), line.trim());
try {
ShellCmdExecutor executor = new ShellCmdExecutor(line, beeLine.getOutputStream(),
http://git-wip-us.apache.org/repos/asf/hive/blob/eccfdf0e/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index ff8ab17..fa94c89 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -78,7 +78,8 @@ public class TestHiveCli {
int retCode) {
executeCMD(options, CMD, retCode);
String output = os.toString();
- Assert.assertTrue(output.contains(keywords));
+ Assert.assertTrue("The expected keyword doesn't occur in the output: " + output,
+ output.contains(keywords));
}
@Test
[25/33] hive git commit: HIVE-11770: Use the static variable from
beeline instead of untils from JDBC(Ferdinand Xu, reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11770: Use the static variable from beeline instead of untils from JDBC(Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/6380de2b
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/6380de2b
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/6380de2b
Branch: refs/heads/master
Commit: 6380de2bcaf300d24d55fcc86c23fc2fd6bf68c3
Parents: 5c39d07
Author: Ferdinand Xu <ch...@intel.com>
Authored: Wed Sep 9 21:45:17 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Wed Sep 9 21:45:17 2015 -0400
----------------------------------------------------------------------
beeline/src/java/org/apache/hive/beeline/BeeLine.java | 3 +--
beeline/src/java/org/apache/hive/beeline/cli/HiveCli.java | 4 ----
jdbc/src/java/org/apache/hive/jdbc/Utils.java | 4 ++--
3 files changed, 3 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/6380de2b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index 5db1bf7..d8e44de 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -92,7 +92,6 @@ import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.io.IOUtils;
import org.apache.hive.beeline.cli.CliOptionsProcessor;
-import org.apache.hive.jdbc.Utils;
import static org.apache.hadoop.hive.metastore.MetaStoreUtils.DEFAULT_DATABASE_NAME;
@@ -881,7 +880,7 @@ public class BeeLine implements Closeable {
}
private int embeddedConnect() {
- if (!execCommandWithPrefix("!connect " + Utils.URL_PREFIX + " '' ''")) {
+ if (!execCommandWithPrefix("!connect " + BEELINE_DEFAULT_JDBC_URL + " '' ''")) {
return ERRNO_OTHER;
} else {
return ERRNO_OK;
http://git-wip-us.apache.org/repos/asf/hive/blob/6380de2b/beeline/src/java/org/apache/hive/beeline/cli/HiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/cli/HiveCli.java b/beeline/src/java/org/apache/hive/beeline/cli/HiveCli.java
index 3e0da77..1e7f068 100644
--- a/beeline/src/java/org/apache/hive/beeline/cli/HiveCli.java
+++ b/beeline/src/java/org/apache/hive/beeline/cli/HiveCli.java
@@ -18,13 +18,9 @@
package org.apache.hive.beeline.cli;
import org.apache.hive.beeline.BeeLine;
-import org.apache.hive.jdbc.Utils;
import java.io.IOException;
import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
public class HiveCli {
private BeeLine beeLine;
http://git-wip-us.apache.org/repos/asf/hive/blob/6380de2b/jdbc/src/java/org/apache/hive/jdbc/Utils.java
----------------------------------------------------------------------
diff --git a/jdbc/src/java/org/apache/hive/jdbc/Utils.java b/jdbc/src/java/org/apache/hive/jdbc/Utils.java
index e4df7f4..d8368a4 100644
--- a/jdbc/src/java/org/apache/hive/jdbc/Utils.java
+++ b/jdbc/src/java/org/apache/hive/jdbc/Utils.java
@@ -36,12 +36,12 @@ import org.apache.hive.service.cli.thrift.TStatusCode;
import org.apache.http.client.CookieStore;
import org.apache.http.cookie.Cookie;
-public class Utils {
+class Utils {
static final Log LOG = LogFactory.getLog(Utils.class.getName());
/**
* The required prefix for the connection URL.
*/
- public static final String URL_PREFIX = "jdbc:hive2://";
+ static final String URL_PREFIX = "jdbc:hive2://";
/**
* If host is provided, without a port.
[02/33] hive git commit: Merge branch 'master' into beeline-cli
Posted by xu...@apache.org.
Merge branch 'master' into beeline-cli
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/753b2b30
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/753b2b30
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/753b2b30
Branch: refs/heads/master
Commit: 753b2b308afeb3808a3c10de5474f863d975a46f
Parents: 2ddd86d 3e713bc
Author: Xuefu Zhang <xz...@Cloudera.com>
Authored: Thu May 14 21:31:01 2015 -0700
Committer: Xuefu Zhang <xz...@Cloudera.com>
Committed: Thu May 14 21:31:01 2015 -0700
----------------------------------------------------------------------
.../src/test/templates/TestAccumuloCliDriver.vm | 19 +-
.../apache/hadoop/hive/ant/QTestGenTask.java | 25 +
.../java/org/apache/hive/beeline/BeeLine.java | 10 +-
bin/beeline.cmd | 11 +-
bin/ext/hiveserver2.cmd | 2 +-
bin/ext/orcfiledump.sh | 9 +-
bin/hive | 2 +-
.../org/apache/hadoop/hive/conf/HiveConf.java | 27 +-
data/files/tjoin1.txt | 3 +
data/files/tjoin2.txt | 4 +
dev-support/jenkins-execute-build.sh | 2 +-
dev-support/jenkins-execute-hms-test.sh | 4 +-
.../src/test/templates/TestHBaseCliDriver.vm | 18 +-
.../templates/TestHBaseNegativeCliDriver.vm | 19 +-
.../apache/hive/hcatalog/common/HCatUtil.java | 37 +-
.../hive/hcatalog/common/HiveClientCache.java | 94 +-
.../DefaultOutputCommitterContainer.java | 6 +-
.../mapreduce/FileOutputCommitterContainer.java | 22 +-
.../mapreduce/FileOutputFormatContainer.java | 8 +-
.../hcatalog/mapreduce/HCatBaseInputFormat.java | 50 +-
.../hcatalog/mapreduce/HCatOutputFormat.java | 6 +-
.../hcatalog/mapreduce/HCatRecordReader.java | 4 +-
.../hive/hcatalog/mapreduce/HCatSplit.java | 21 +-
.../hive/hcatalog/mapreduce/HCatTableInfo.java | 12 +
.../hcatalog/mapreduce/InitializeInput.java | 6 +-
.../hive/hcatalog/mapreduce/InputJobInfo.java | 5 +
.../hive/hcatalog/mapreduce/PartInfo.java | 117 +-
.../hive/hcatalog/mapreduce/Security.java | 10 +-
.../mapreduce/TaskCommitContextRegistry.java | 6 +-
.../hcatalog/common/TestHiveClientCache.java | 37 +-
.../hcatalog/mapreduce/HCatMapReduceTest.java | 3 +-
.../mapreduce/TestHCatOutputFormat.java | 5 +-
.../hcatalog/mapreduce/TestHCatPartitioned.java | 32 +-
.../hcatalog/mapreduce/TestPassProperties.java | 5 +-
.../apache/hive/hcatalog/pig/PigHCatUtil.java | 10 +-
.../deployers/config/webhcat/webhcat-site.xml | 9 +-
.../templeton/deployers/deploy_e2e_artifacts.sh | 3 +
.../src/test/e2e/templeton/deployers/env.sh | 1 +
.../streaming/AbstractRecordWriter.java | 11 +-
.../hive/hcatalog/streaming/HiveEndPoint.java | 9 +-
.../hive/hcatalog/api/HCatClientHMSImpl.java | 17 +-
.../hcatalog/api/repl/TestReplicationTask.java | 14 +-
hcatalog/webhcat/svr/pom.xml | 13 +-
.../svr/src/main/config/webhcat-default.xml | 10 +-
.../hcatalog/templeton/CompleteDelegator.java | 6 +-
.../hcatalog/templeton/SecureProxySupport.java | 9 +-
.../hcatalog/templeton/tool/LaunchMapper.java | 2 +-
.../templeton/tool/TempletonControllerJob.java | 15 +-
.../hive/metastore/TestHiveMetaStore.java | 30 +
.../hive/beeline/TestBeeLineWithArgs.java | 12 +
.../test/resources/testconfiguration.properties | 9 +-
.../org/apache/hadoop/hive/ql/QTestUtil.java | 46 +
.../org/apache/hive/jdbc/HiveConnection.java | 3 +-
metastore/dbs/derby/execute.sh | 37 +
metastore/dbs/derby/prepare.sh | 63 +
metastore/dbs/postgres/execute.sh | 29 +
metastore/dbs/postgres/prepare.sh | 72 +
.../upgrade/mssql/006-HIVE-9456.mssql.sql | 323 +
.../upgrade/mssql/hive-schema-1.2.0.mssql.sql | 256 +-
.../upgrade/mssql/hive-schema-1.3.0.mssql.sql | 256 +-
.../mssql/upgrade-1.1.0-to-1.2.0.mssql.sql | 1 +
.../upgrade/mysql/021-HIVE-7018.mysql.sql | 53 -
.../upgrade/mysql/hive-schema-1.2.0.mysql.sql | 10 +-
.../upgrade/mysql/hive-schema-1.3.0.mysql.sql | 10 +-
.../mysql/upgrade-1.1.0-to-1.2.0.mysql.sql | 2 +-
.../hive/metastore/AggregateStatsCache.java | 33 +-
.../hadoop/hive/metastore/HiveMetaStore.java | 27 +-
.../hive/metastore/HiveMetaStoreClient.java | 6 +-
.../hadoop/hive/metastore/IMetaStoreClient.java | 3 +
.../hive/metastore/MetaStoreDirectSql.java | 24 +-
.../hive/metastore/RetryingMetaStoreClient.java | 89 +-
.../hadoop/hive/metastore/txn/TxnHandler.java | 35 +-
.../hive/metastore/TestHiveMetastoreCli.java | 63 +
.../hive/metastore/txn/TestTxnHandler.java | 39 +-
packaging/src/main/assembly/bin.xml | 1 +
pom.xml | 5 +
.../java/org/apache/hadoop/hive/ql/Context.java | 10 +-
.../hive/ql/exec/CommonMergeJoinOperator.java | 54 +-
.../hadoop/hive/ql/exec/FunctionRegistry.java | 7 +-
.../hadoop/hive/ql/exec/HashTableLoader.java | 4 +-
.../hadoop/hive/ql/exec/MapJoinOperator.java | 227 +-
.../apache/hadoop/hive/ql/exec/ObjectCache.java | 7 +
.../apache/hadoop/hive/ql/exec/Operator.java | 4 +
.../hadoop/hive/ql/exec/ReduceSinkOperator.java | 3 +-
.../apache/hadoop/hive/ql/exec/Registry.java | 29 +-
.../apache/hadoop/hive/ql/exec/Utilities.java | 18 +
.../hadoop/hive/ql/exec/mr/ExecDriver.java | 1 +
.../hadoop/hive/ql/exec/mr/HashTableLoader.java | 2 +-
.../hadoop/hive/ql/exec/mr/ObjectCache.java | 5 +
.../persistence/BytesBytesMultiHashMap.java | 1 +
.../exec/persistence/HybridHashTableConf.java | 86 +
.../persistence/HybridHashTableContainer.java | 248 +-
.../ql/exec/persistence/KeyValueContainer.java | 31 +-
.../ql/exec/persistence/ObjectContainer.java | 31 +-
.../hive/ql/exec/spark/HashTableLoader.java | 2 +-
.../hadoop/hive/ql/exec/tez/DagUtils.java | 1 +
.../hive/ql/exec/tez/HashTableLoader.java | 65 +-
.../hadoop/hive/ql/exec/tez/ObjectCache.java | 6 +
.../hive/ql/exec/tez/TezSessionState.java | 13 +-
.../ql/exec/vector/VectorColumnSetInfo.java | 3 +-
.../exec/vector/VectorMapJoinBaseOperator.java | 185 +
.../ql/exec/vector/VectorMapJoinOperator.java | 127 +-
.../VectorMapJoinOuterFilteredOperator.java | 120 +
.../mapjoin/VectorMapJoinCommonOperator.java | 16 +-
.../VectorMapJoinGenerateResultOperator.java | 34 +-
.../VectorMapJoinInnerBigOnlyLongOperator.java | 5 +
...ctorMapJoinInnerBigOnlyMultiKeyOperator.java | 5 +
...VectorMapJoinInnerBigOnlyStringOperator.java | 5 +
...ectorMapJoinInnerGenerateResultOperator.java | 15 +
.../mapjoin/VectorMapJoinInnerLongOperator.java | 4 +
.../VectorMapJoinInnerMultiKeyOperator.java | 4 +
.../VectorMapJoinInnerStringOperator.java | 4 +
.../VectorMapJoinLeftSemiLongOperator.java | 5 +
.../VectorMapJoinLeftSemiMultiKeyOperator.java | 5 +
.../VectorMapJoinLeftSemiStringOperator.java | 5 +
...ectorMapJoinOuterGenerateResultOperator.java | 31 +-
.../mapjoin/VectorMapJoinOuterLongOperator.java | 4 +
.../VectorMapJoinOuterMultiKeyOperator.java | 4 +
.../VectorMapJoinOuterStringOperator.java | 4 +
.../mapjoin/VectorMapJoinRowBytesContainer.java | 2 +-
.../fast/VectorMapJoinFastBytesHashMap.java | 4 +-
.../VectorMapJoinFastBytesHashMultiSet.java | 4 +-
.../fast/VectorMapJoinFastBytesHashSet.java | 4 +-
.../fast/VectorMapJoinFastBytesHashTable.java | 4 +-
.../mapjoin/fast/VectorMapJoinFastHashMap.java | 4 +-
.../fast/VectorMapJoinFastHashMultiSet.java | 4 +-
.../mapjoin/fast/VectorMapJoinFastHashSet.java | 4 +-
.../fast/VectorMapJoinFastHashTable.java | 4 +-
.../fast/VectorMapJoinFastHashTableLoader.java | 4 +-
.../fast/VectorMapJoinFastLongHashMap.java | 4 +-
.../fast/VectorMapJoinFastLongHashMultiSet.java | 4 +-
.../fast/VectorMapJoinFastLongHashSet.java | 4 +-
.../fast/VectorMapJoinFastLongHashTable.java | 4 +-
.../fast/VectorMapJoinFastMultiKeyHashMap.java | 6 +-
.../VectorMapJoinFastMultiKeyHashMultiSet.java | 4 +-
.../fast/VectorMapJoinFastMultiKeyHashSet.java | 4 +-
.../fast/VectorMapJoinFastStringHashMap.java | 4 +-
.../VectorMapJoinFastStringHashMultiSet.java | 4 +-
.../fast/VectorMapJoinFastStringHashSet.java | 4 +-
.../fast/VectorMapJoinFastTableContainer.java | 23 +-
.../hive/ql/io/orc/ColumnStatisticsImpl.java | 33 +-
.../hive/ql/io/orc/DateColumnStatistics.java | 6 +-
.../apache/hadoop/hive/ql/io/orc/FileDump.java | 91 +-
.../hadoop/hive/ql/io/orc/JsonFileDump.java | 365 +
.../hadoop/hive/ql/io/orc/RecordReaderImpl.java | 222 +-
.../hive/ql/io/sarg/SearchArgumentImpl.java | 85 +-
.../ql/lockmgr/zookeeper/ZooKeeperHiveLock.java | 22 +
.../BucketingSortingReduceSinkOptimizer.java | 13 +
.../optimizer/ConstantPropagateProcFactory.java | 83 +-
.../ql/optimizer/IdentityProjectRemover.java | 12 +
.../ql/optimizer/LimitPushdownOptimizer.java | 9 +-
.../ql/optimizer/NonBlockingOpDeDupProc.java | 11 +
.../hadoop/hive/ql/optimizer/Optimizer.java | 12 +-
.../ql/optimizer/calcite/cost/HiveCost.java | 16 +-
.../calcite/reloperators/HiveSortExchange.java | 37 +-
.../rules/HiveInsertExchange4JoinRule.java | 6 +-
.../calcite/translator/HiveOpConverter.java | 28 +-
.../translator/HiveOpConverterPostProc.java | 10 +
.../hive/ql/optimizer/physical/Vectorizer.java | 23 +-
.../hadoop/hive/ql/parse/CalcitePlanner.java | 1 +
.../apache/hadoop/hive/ql/parse/HiveParser.g | 19 +-
.../org/apache/hadoop/hive/ql/parse/QB.java | 10 +-
.../hadoop/hive/ql/parse/SemanticAnalyzer.java | 104 +-
.../hadoop/hive/ql/parse/WindowingSpec.java | 7 +-
.../apache/hadoop/hive/ql/plan/MapJoinDesc.java | 2 +-
.../apache/hadoop/hive/ql/plan/PlanUtils.java | 46 +-
.../MetaStoreAuthzAPIAuthorizerEmbedOnly.java | 3 +-
.../hadoop/hive/ql/session/SessionState.java | 31 +-
.../hadoop/hive/ql/txn/compactor/Cleaner.java | 38 +-
.../hive/ql/txn/compactor/CompactorThread.java | 12 +-
.../hadoop/hive/ql/txn/compactor/Initiator.java | 11 +-
.../hadoop/hive/ql/txn/compactor/Worker.java | 42 +-
.../org/apache/hadoop/hive/ql/udf/UDFMd5.java | 79 +
.../hive/ql/udf/generic/GenericUDFQuarter.java | 85 +
.../apache/hadoop/hive/ql/TestTxnCommands2.java | 18 +-
.../fast/TestVectorMapJoinFastLongHashMap.java | 14 +-
.../TestVectorMapJoinFastMultiKeyHashMap.java | 14 +-
.../hive/ql/io/orc/TestColumnStatistics.java | 20 +-
.../hadoop/hive/ql/io/orc/TestJsonFileDump.java | 138 +
.../hive/ql/io/orc/TestRecordReaderImpl.java | 170 +-
.../hive/ql/io/sarg/TestSearchArgumentImpl.java | 104 +-
...tedCharsInColumnNameCreateTableNegative.java | 87 +
.../hadoop/hive/ql/plan/TestViewEntity.java | 108 +
.../hive/ql/txn/compactor/TestCleaner.java | 56 +-
.../hive/ql/txn/compactor/TestInitiator.java | 63 +-
.../hive/ql/txn/compactor/TestWorker.java | 45 +
.../hadoop/hive/ql/udf/TestGenericUDFDate.java | 92 -
.../hive/ql/udf/TestGenericUDFDateAdd.java | 145 -
.../hive/ql/udf/TestGenericUDFDateDiff.java | 116 -
.../hive/ql/udf/TestGenericUDFDateSub.java | 143 -
.../hadoop/hive/ql/udf/TestGenericUDFUtils.java | 58 -
.../apache/hadoop/hive/ql/udf/TestUDFMd5.java | 57 +
.../hive/ql/udf/generic/TestGenericUDFDate.java | 92 +
.../ql/udf/generic/TestGenericUDFDateAdd.java | 143 +
.../ql/udf/generic/TestGenericUDFDateDiff.java | 116 +
.../ql/udf/generic/TestGenericUDFDateSub.java | 143 +
.../ql/udf/generic/TestGenericUDFQuarter.java | 182 +
.../ql/udf/generic/TestGenericUDFUtils.java | 57 +
.../clientpositive/auto_sortmerge_join_13.q | 2 +
.../test/queries/clientpositive/bucket_many.q | 16 +
.../test/queries/clientpositive/explainuser_2.q | 1 +
.../extrapolate_part_stats_partial.q | 2 +
.../extrapolate_part_stats_partial_ndv.q | 2 +
ql/src/test/queries/clientpositive/fold_case.q | 12 +
ql/src/test/queries/clientpositive/fold_when.q | 31 +
.../clientpositive/hybridgrace_hashjoin_1.q | 258 +
.../clientpositive/hybridgrace_hashjoin_2.q | 152 +
.../queries/clientpositive/hybridhashjoin.q | 250 -
.../clientpositive/insert_overwrite_directory.q | 141 +
.../queries/clientpositive/limit_pushdown.q | 4 +
.../queries/clientpositive/mapjoin_mapjoin.q | 1 +
ql/src/test/queries/clientpositive/mergejoin.q | 17 +
.../test/queries/clientpositive/tez_join_hash.q | 2 +
.../test/queries/clientpositive/tez_smb_main.q | 6 +
ql/src/test/queries/clientpositive/udf_md5.q | 13 +
.../test/queries/clientpositive/udf_quarter.q | 100 +
.../clientpositive/vector_binary_join_groupby.q | 55 +
.../clientpositive/vector_left_outer_join2.q | 62 +
.../clientpositive/vector_leftsemi_mapjoin.q | 403 +
.../clientpositive/windowing_windowspec.q | 2 +
ql/src/test/resources/orc-file-dump.json | 1354 ++
.../annotate_stats_join_pkfk.q.out | 20 +-
.../results/clientpositive/bucket_many.q.out | 230 +
.../encryption_insert_partition_static.q.out | 14 +-
.../test/results/clientpositive/fold_case.q.out | 301 +
.../test/results/clientpositive/fold_when.q.out | 480 +
.../insert_overwrite_directory.q.out | 1813 +++
ql/src/test/results/clientpositive/join32.q.out | 84 +-
.../clientpositive/join32_lessSize.q.out | 423 +-
ql/src/test/results/clientpositive/join33.q.out | 84 +-
.../clientpositive/join_alt_syntax.q.out | 306 +-
.../clientpositive/join_cond_pushdown_2.q.out | 150 +-
.../clientpositive/join_cond_pushdown_4.q.out | 150 +-
.../results/clientpositive/limit_pushdown.q.out | 88 +
.../test/results/clientpositive/mergejoin.q.out | 844 +-
.../ql_rewrite_gbtoidx_cbo_2.q.out | 14 +-
.../results/clientpositive/show_functions.q.out | 3 +
.../results/clientpositive/spark/cbo_gby.q.out | 4 +-
.../clientpositive/spark/cbo_udf_udaf.q.out | 2 +-
...pby_complex_types_multi_single_reducer.q.out | 38 +-
.../results/clientpositive/spark/join32.q.out | 88 +-
.../clientpositive/spark/join32_lessSize.q.out | 286 +-
.../results/clientpositive/spark/join33.q.out | 88 +-
.../clientpositive/spark/join_alt_syntax.q.out | 210 +-
.../spark/join_cond_pushdown_2.q.out | 98 +-
.../spark/join_cond_pushdown_4.q.out | 98 +-
.../spark/lateral_view_explode2.q.out | 4 +-
.../clientpositive/spark/limit_pushdown.q.out | 94 +
.../clientpositive/spark/union_remove_25.q.out | 2 +-
.../clientpositive/spark/union_top_level.q.out | 16 +-
.../spark/vector_cast_constant.q.java1.7.out | 16 +-
.../spark/vector_cast_constant.q.java1.8.out | 16 +-
.../spark/vectorized_timestamp_funcs.q.out | 4 +-
.../clientpositive/tez/auto_join29.q.out | 500 +
.../clientpositive/tez/explainuser_2.q.out | 1529 +-
.../tez/hybridgrace_hashjoin_1.q.out | 1587 ++
.../tez/hybridgrace_hashjoin_2.q.out | 1417 ++
.../clientpositive/tez/hybridhashjoin.q.out | 1566 --
.../clientpositive/tez/limit_pushdown.q.out | 94 +
.../results/clientpositive/tez/mergejoin.q.out | 844 +-
.../tez/vector_binary_join_groupby.q.out | 303 +
.../tez/vector_left_outer_join2.q.out | 553 +
.../tez/vector_leftsemi_mapjoin.q.out | 13807 +++++++++++++++++
.../test/results/clientpositive/udf_md5.q.out | 61 +
.../results/clientpositive/udf_quarter.q.out | 246 +
.../vector_binary_join_groupby.q.out | 293 +
.../vector_left_outer_join2.q.out | 568 +
.../vector_leftsemi_mapjoin.q.out | 13572 ++++++++++++++++
.../clientpositive/windowing_windowspec.q.out | 108 +
ql/src/test/templates/TestCliDriver.vm | 18 +-
ql/src/test/templates/TestCompareCliDriver.vm | 21 +-
ql/src/test/templates/TestNegativeCliDriver.vm | 18 +-
ql/src/test/templates/TestParseNegative.vm | 17 +-
.../hadoop/hive/ql/io/sarg/PredicateLeaf.java | 19 +-
service/pom.xml | 5 +
.../auth/LdapAuthenticationProviderImpl.java | 2 +-
.../thrift/EmbeddedThriftBinaryCLIService.java | 5 +
.../cli/thrift/ThriftBinaryCLIService.java | 1 -
.../apache/hive/service/server/HiveServer2.java | 106 +-
.../service/cli/session/TestSessionHooks.java | 3 +-
testutils/metastore/execute-test-on-lxc.sh | 7 +-
.../ptest2/src/main/resources/source-prep.vm | 11 +
.../hive/ptest/execution/TestScripts.java | 23 +
.../TestScripts.testPrepGit.approved.txt | 2 +-
.../TestScripts.testPrepHadoop1.approved.txt | 111 +
.../TestScripts.testPrepNone.approved.txt | 2 +-
.../TestScripts.testPrepSvn.approved.txt | 2 +-
287 files changed, 47828 insertions(+), 6152 deletions(-)
----------------------------------------------------------------------
[21/33] hive git commit: HIVE-11637: Support
hive.cli.print.current.db in new CLI[beeline-cli branch](Ferdinand Xu,
reviewed by Dong Chen)
Posted by xu...@apache.org.
HIVE-11637: Support hive.cli.print.current.db in new CLI[beeline-cli branch](Ferdinand Xu, reviewed by Dong Chen)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/3d088de0
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/3d088de0
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/3d088de0
Branch: refs/heads/master
Commit: 3d088de024ee277e9bb1d650ffef71c300266e7f
Parents: 1f5c745
Author: Ferdinand Xu <ch...@intel.com>
Authored: Wed Aug 26 23:18:43 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Wed Aug 26 23:18:43 2015 -0400
----------------------------------------------------------------------
.../java/org/apache/hive/beeline/BeeLine.java | 62 ++++++-----
.../hive/beeline/ClientCommandHookFactory.java | 85 +++++++++++++++
.../org/apache/hive/beeline/ClientHook.java | 33 ++++++
.../java/org/apache/hive/beeline/Commands.java | 8 ++
.../beeline/TestClientCommandHookFactory.java | 32 ++++++
.../apache/hive/beeline/cli/TestHiveCli.java | 103 ++++++++++++++-----
6 files changed, 269 insertions(+), 54 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/3d088de0/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index 406059d..1e4759b 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -94,6 +94,8 @@ import org.apache.hadoop.io.IOUtils;
import org.apache.hive.beeline.cli.CliOptionsProcessor;
import org.apache.hive.jdbc.Utils;
+import static org.apache.hadoop.hive.metastore.MetaStoreUtils.DEFAULT_DATABASE_NAME;
+
/**
* A console SQL shell with command completion.
* <p>
@@ -132,6 +134,7 @@ public class BeeLine implements Closeable {
private List<String> batch = null;
private final Reflector reflector;
private String dbName = null;
+ private String currentDatabase = null;
private History history;
private boolean isBeeLine = true;
@@ -1121,32 +1124,8 @@ public class BeeLine implements Closeable {
return cmdMap.values().iterator().next()
.execute(line);
} else {
- boolean needsUpdate = isConfNeedsUpdate(line);
- boolean res = commands.sql(line, getOpts().getEntireLineAsCommand());
- if (needsUpdate) {
- getOpts().setHiveConf(getCommands().getHiveConf(false));
- }
- return res;
- }
- }
-
- /**
- * Update the configurations for the CLI mode in the client side
- *
- * @param line
- */
- private boolean isConfNeedsUpdate(String line) {
- if (isBeeLine) {
- return false;
- }
- String[] cmds = line.split(";");
- boolean containsSetCMD = false;
- for (String s : cmds) {
- if (s.toLowerCase().startsWith("set")) {
- return true;
- }
+ return commands.sql(line, getOpts().getEntireLineAsCommand());
}
- return containsSetCMD;
}
/**
@@ -1410,7 +1389,27 @@ public class BeeLine implements Closeable {
HiveConf conf = getCommands().getHiveConf(true);
prompt = conf.getVar(HiveConf.ConfVars.CLIPROMPT);
prompt = getCommands().substituteVariables(conf, prompt);
- return prompt + "> ";
+ return prompt + getFormattedDb(conf) + "> ";
+ }
+
+ /**
+ * Retrieve the current database name string to display, based on the
+ * configuration value.
+ *
+ * @param conf storing whether or not to show current db
+ * @return String to show user for current db value
+ */
+ String getFormattedDb(HiveConf conf) {
+ if (!HiveConf.getBoolVar(conf, HiveConf.ConfVars.CLIPRINTCURRENTDB)) {
+ return "";
+ }
+ String currDb = getCurrentDatabase();
+
+ if (currDb == null) {
+ return "";
+ }
+
+ return " (" + currDb + ")";
}
String getPromptForBeeline() {
@@ -2158,4 +2157,15 @@ public class BeeLine implements Closeable {
public void setBeeLine(boolean isBeeLine) {
this.isBeeLine = isBeeLine;
}
+
+ public String getCurrentDatabase() {
+ if (currentDatabase == null) {
+ currentDatabase = DEFAULT_DATABASE_NAME;
+ }
+ return currentDatabase;
+ }
+
+ public void setCurrentDatabase(String currentDatabase) {
+ this.currentDatabase = currentDatabase;
+ }
}
http://git-wip-us.apache.org/repos/asf/hive/blob/3d088de0/beeline/src/java/org/apache/hive/beeline/ClientCommandHookFactory.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/ClientCommandHookFactory.java b/beeline/src/java/org/apache/hive/beeline/ClientCommandHookFactory.java
new file mode 100644
index 0000000..c4d97bc
--- /dev/null
+++ b/beeline/src/java/org/apache/hive/beeline/ClientCommandHookFactory.java
@@ -0,0 +1,85 @@
+/**
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.beeline;
+
+/**
+ * We need to update some client side information after executing some Hive Commands
+ */
+public class ClientCommandHookFactory {
+ private final static ClientCommandHookFactory instance = new ClientCommandHookFactory();
+
+ private ClientCommandHookFactory() {
+ }
+
+ public static ClientCommandHookFactory get() {
+ return instance;
+ }
+
+ public class SetCommandHook extends ClientHook {
+
+ public SetCommandHook(String sql) {
+ super(sql);
+ }
+
+ @Override
+ public void postHook(BeeLine beeLine) {
+ if (!beeLine.isBeeLine()) {
+ beeLine.getOpts().setHiveConf(beeLine.getCommands().getHiveConf(false));
+ }
+ }
+ }
+
+ public class UseCommandHook extends ClientHook {
+
+ public UseCommandHook(String sql) {
+ super(sql);
+ }
+
+ @Override
+ public void postHook(BeeLine beeLine) {
+ if (!beeLine.isBeeLine()) {
+ // Handler multi-line sql
+ String line = sql.replaceAll("\\s+", " ");
+ String strs[] = line.split(" ");
+ String dbName;
+ if (strs == null || strs.length != 2) {
+ // unable to parse the use command
+ dbName = "";
+ } else {
+ dbName = strs[1];
+ }
+ beeLine.setCurrentDatabase(dbName);
+ }
+ }
+ }
+
+ public ClientHook getHook(String cmdLine) {
+ if (cmdLine.toLowerCase().startsWith("set")) {
+ // Only set A = B command needs updating the configuration stored in client side.
+ if (cmdLine.contains("=")) {
+ return new SetCommandHook(cmdLine);
+ } else {
+ return null;
+ }
+ } else if (cmdLine.toLowerCase().startsWith("use")) {
+ return new UseCommandHook(cmdLine);
+ } else {
+ return null;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/3d088de0/beeline/src/java/org/apache/hive/beeline/ClientHook.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/ClientHook.java b/beeline/src/java/org/apache/hive/beeline/ClientHook.java
new file mode 100644
index 0000000..3de6def
--- /dev/null
+++ b/beeline/src/java/org/apache/hive/beeline/ClientHook.java
@@ -0,0 +1,33 @@
+/**
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.beeline;
+
+/**
+ * This is the client's hook and used for new Hive CLI. For some configurations like
+ * set and use, it may change some prompt information in the client side. So the hook
+ * will be executed after some of the commands are used.
+ */
+public abstract class ClientHook {
+ protected String sql;
+
+ public ClientHook(String sql) {
+ this.sql = sql;
+ }
+
+ abstract void postHook(BeeLine beeLine);
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/3d088de0/beeline/src/java/org/apache/hive/beeline/Commands.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/Commands.java b/beeline/src/java/org/apache/hive/beeline/Commands.java
index 01349e2..5e5cfec 100644
--- a/beeline/src/java/org/apache/hive/beeline/Commands.java
+++ b/beeline/src/java/org/apache/hive/beeline/Commands.java
@@ -921,6 +921,11 @@ public class Commands {
return true;
}
+ ClientHook hook = null;
+ if (!beeLine.isBeeLine()) {
+ hook = ClientCommandHookFactory.get().getHook(sql);
+ }
+
try {
Statement stmnt = null;
boolean hasResults;
@@ -988,6 +993,9 @@ public class Commands {
return beeLine.error(e);
}
beeLine.showWarnings();
+ if (hook != null) {
+ hook.postHook(beeLine);
+ }
return true;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/3d088de0/beeline/src/test/org/apache/hive/beeline/TestClientCommandHookFactory.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/TestClientCommandHookFactory.java b/beeline/src/test/org/apache/hive/beeline/TestClientCommandHookFactory.java
new file mode 100644
index 0000000..c86de0a
--- /dev/null
+++ b/beeline/src/test/org/apache/hive/beeline/TestClientCommandHookFactory.java
@@ -0,0 +1,32 @@
+/**
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.beeline;
+
+import junit.framework.Assert;
+import org.junit.Test;
+
+public class TestClientCommandHookFactory {
+ @Test
+ public void testGetHook() {
+ Assert.assertNull(ClientCommandHookFactory.get().getHook("set a;"));
+ Assert.assertTrue(ClientCommandHookFactory.get()
+ .getHook("set a=b;") instanceof ClientCommandHookFactory.SetCommandHook);
+ Assert.assertTrue(ClientCommandHookFactory.get()
+ .getHook("USE a.b") instanceof ClientCommandHookFactory.UseCommandHook);
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/3d088de0/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index 7f6ab13..e06d2ea 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -74,92 +74,111 @@ public class TestHiveCli {
}
}
- private void verifyCMD(String CMD, String keywords, OutputStream os, String[] options,
- int retCode) {
+ /**
+ * This method is used for verifying CMD to see whether the output contains the keywords provided.
+ *
+ * @param CMD
+ * @param keywords
+ * @param os
+ * @param options
+ * @param retCode
+ * @param contains
+ */
+ private void verifyCMD(String CMD, String keywords, OutputStream os, String[] options, int retCode,
+ boolean contains) {
executeCMD(options, CMD, retCode);
String output = os.toString();
LOG.debug(output);
- Assert.assertTrue(
- "The expected keyword \"" + keywords + "\" doesn't occur in the output: " + output,
- output.contains(keywords));
+ if (contains) {
+ Assert.assertTrue(
+ "The expected keyword \"" + keywords + "\" doesn't occur in the output: " + output,
+ output.contains(keywords));
+ } else {
+ Assert.assertFalse(
+ "The expected keyword \"" + keywords + "\" doesn't occur in the output: " + output,
+ output.contains(keywords));
+ }
}
@Test
public void testInValidCmd() {
- verifyCMD("!lss\n", "Unknown command: lss", errS, null, ERRNO_OK);
+ verifyCMD("!lss\n", "Unknown command: lss", errS, null, ERRNO_OK, true);
}
@Test
public void testSetPromptValue() {
- verifyCMD("set hive.cli.prompt=MYCLI;SHOW\nTABLES;", "MYCLI> ", os, null, ERRNO_OK);
+ verifyCMD("set hive.cli.prompt=MYCLI;SHOW\nTABLES;", "MYCLI> ", os, null,
+ ERRNO_OK, true);
}
@Test
public void testSetHeaderValue() {
verifyCMD(
"create database if not exists test;\ncreate table if not exists test.testTbl(a string, b string);\nset hive.cli.print.header=true;\n select * from test.testTbl;\n",
- "testtbl.a testtbl.b", os, null, ERRNO_OK);
+ "testtbl.a testtbl.b", os, null, ERRNO_OK, true);
}
@Test
public void testHelp() {
- verifyCMD(null, "usage: hive", os, new String[] { "-H" }, ERRNO_ARGS);
+ verifyCMD(null, "usage: hive", os, new String[] { "-H" }, ERRNO_ARGS, true);
}
@Test
public void testInvalidDatabaseOptions() {
- verifyCMD("\nshow tables;\nquit;\n", "Database does not exist: invalidDB", errS,
- new String[] { "--database", "invalidDB" }, ERRNO_OK);
+ verifyCMD("\nshow tables;\nquit;\n", "Database does not exist: invalidDB",
+ errS, new String[] { "--database", "invalidDB" }, ERRNO_OK, true);
}
@Test
public void testDatabaseOptions() {
- verifyCMD("\nshow tables;\nquit;", "testtbl", os, new String[] { "--database", "test" },
- ERRNO_OK);
+ verifyCMD("\nshow tables;\nquit;", "testtbl", os,
+ new String[] { "--database", "test" }, ERRNO_OK, true);
}
@Test
public void testSourceCmd() {
File f = generateTmpFile(SOURCE_CONTEXT);
- verifyCMD("source " + f.getPath() + ";" + "desc testSrcTbl;\nquit;\n", "sc1", os,
- new String[] { "--database", "test" }, ERRNO_OK);
+ verifyCMD("source " + f.getPath() + ";" + "desc testSrcTbl;\nquit;\n",
+ "sc1", os, new String[] { "--database", "test" }, ERRNO_OK, true);
f.delete();
}
@Test
public void testSourceCmd2() {
File f = generateTmpFile(SOURCE_CONTEXT3);
- verifyCMD("source " + f.getPath() + ";" + "desc testSrcTbl3;\nquit;\n", "sc3", os,
- new String[] { "--database", "test" }, ERRNO_OK);
+ verifyCMD("source " + f.getPath() + ";" + "desc testSrcTbl3;\nquit;\n",
+ "sc3", os, new String[] { "--database", "test" }, ERRNO_OK, true);
f.delete();
}
@Test
public void testSqlFromCmd() {
- verifyCMD(null, "", os, new String[] { "-e", "show databases;" }, ERRNO_OK);
+ verifyCMD(null, "", os, new String[] { "-e", "show databases;" }, ERRNO_OK, true);
}
@Test
public void testSqlFromCmdWithDBName() {
- verifyCMD(null, "testtbl", os, new String[] { "-e", "show tables;", "--database", "test" },
- ERRNO_OK);
+ verifyCMD(null, "testtbl", os,
+ new String[] { "-e", "show tables;", "--database", "test" }, ERRNO_OK, true);
}
@Test
public void testInvalidOptions() {
- verifyCMD(null, "The '-e' and '-f' options cannot be specified simultaneously", errS,
- new String[] { "-e", "show tables;", "-f", "path/to/file" }, ERRNO_ARGS);
+ verifyCMD(null,
+ "The '-e' and '-f' options cannot be specified simultaneously", errS,
+ new String[] { "-e", "show tables;", "-f", "path/to/file" }, ERRNO_ARGS, true);
}
@Test
public void testInvalidOptions2() {
- verifyCMD(null, "Unrecognized option: -k", errS, new String[] { "-k" }, ERRNO_ARGS);
+ verifyCMD(null, "Unrecognized option: -k", errS, new String[] { "-k" },
+ ERRNO_ARGS, true);
}
@Test
public void testVariables() {
- verifyCMD("set system:xxx=5;\nset system:yyy=${system:xxx};\nset system:yyy;", "", os, null,
- ERRNO_OK);
+ verifyCMD(
+ "set system:xxx=5;\nset system:yyy=${system:xxx};\nset system:yyy;", "", os, null, ERRNO_OK, true);
}
@Test
@@ -167,14 +186,42 @@ public class TestHiveCli {
File f = generateTmpFile(SOURCE_CONTEXT2);
verifyCMD(
"set hiveconf:zzz=" + f.getAbsolutePath() + ";\nsource ${hiveconf:zzz};\ndesc testSrcTbl2;",
- "sc2", os, new String[] { "--database", "test" }, ERRNO_OK);
+ "sc2", os, new String[] { "--database", "test" }, ERRNO_OK, true);
f.delete();
}
@Test
public void testErrOutput() {
- verifyCMD("show tables;set system:xxx=5;set system:yyy=${system:xxx};\nlss;",
- "cannot recognize input near 'lss' '<EOF>' '<EOF>'", errS, null, ERRNO_OK);
+ verifyCMD(
+ "show tables;set system:xxx=5;set system:yyy=${system:xxx};\nlss;",
+ "cannot recognize input near 'lss' '<EOF>' '<EOF>'", errS, null, ERRNO_OK, true);
+ }
+
+ @Test
+ public void testUseCurrentDB1() {
+ verifyCMD(
+ "create database if not exists testDB; set hive.cli.print.current.db=true;use testDB;\n"
+ + "use default;drop if exists testDB;", "hive (testDB)>", os, null, ERRNO_OK, true);
+ }
+
+ @Test
+ public void testUseCurrentDB2() {
+ verifyCMD(
+ "create database if not exists testDB; set hive.cli.print.current.db=true;use\ntestDB;\nuse default;drop if exists testDB;",
+ "hive (testDB)>", os, null, ERRNO_OK, true);
+ }
+
+ @Test
+ public void testUseCurrentDB3() {
+ verifyCMD(
+ "create database if not exists testDB; set hive.cli.print.current.db=true;use testDB;\n"
+ + "use default;drop if exists testDB;", "hive (testDB)>", os, null, ERRNO_OK, true);
+ }
+
+ @Test
+ public void testUseInvalidDB() {
+ verifyCMD("set hive.cli.print.current.db=true;use invalidDB;",
+ "hive (invalidDB)>", os, null, ERRNO_OK, false);
}
private void redirectOutputStream() {
[30/33] hive git commit: HIVE-11944: Address the review items on
HIVE-11778(Ferdinand Xu, reviewed by Xuefu Zhang)
Posted by xu...@apache.org.
HIVE-11944: Address the review items on HIVE-11778(Ferdinand Xu, reviewed by Xuefu Zhang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/18579569
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/18579569
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/18579569
Branch: refs/heads/master
Commit: 185795696fda8c587d9994ca3f16cbac699832ea
Parents: dc9ca29
Author: Ferdinand Xu <ch...@intel.com>
Authored: Thu Sep 24 20:45:57 2015 -0400
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Thu Sep 24 20:45:57 2015 -0400
----------------------------------------------------------------------
beeline/src/java/org/apache/hive/beeline/BeeLine.java | 3 +--
ql/src/java/org/apache/hadoop/hive/ql/Driver.java | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/18579569/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index e96d933..f2aeac5 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -93,8 +93,6 @@ import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.io.IOUtils;
import org.apache.hive.beeline.cli.CliOptionsProcessor;
-import static org.apache.hadoop.hive.metastore.MetaStoreUtils.DEFAULT_DATABASE_NAME;
-
/**
* A console SQL shell with command completion.
* <p>
@@ -142,6 +140,7 @@ public class BeeLine implements Closeable {
public static final String BEELINE_DEFAULT_JDBC_DRIVER = "org.apache.hive.jdbc.HiveDriver";
public static final String BEELINE_DEFAULT_JDBC_URL = "jdbc:hive2://";
+ public static final String DEFAULT_DATABASE_NAME = "default";
private static final String SCRIPT_OUTPUT_PREFIX = ">>>";
private static final int SCRIPT_OUTPUT_PAD_SIZE = 5;
http://git-wip-us.apache.org/repos/asf/hive/blob/18579569/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
index 9ee6023..db5fa62 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
@@ -390,7 +390,7 @@ public class Driver implements CommandProcessor {
try {
// Initialize the transaction manager. This must be done before analyze is called.
SessionState.get().initTxnMgr(conf);
-
+
command = new VariableSubstitution(new HiveVariableSource() {
@Override
public Map<String, String> getHiveVariable() {