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/beeline-cli Commit: e6adedc1ca83ee30492dc3c05b16aeb81e640aef Parents: 0ac8f6c e61a1a9 Author: Xuefu Zhang <xzh...@cloudera.com> Authored: Wed Jul 15 21:33:21 2015 -0700 Committer: Xuefu Zhang <xzh...@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 ----------------------------------------------------------------------