├── .asf.yaml ├── .gitignore ├── BUILDING.md ├── Jenkinsfile ├── Jenkinsfile.github ├── Jenkinsfile.yetus ├── LICENSE ├── NOTICE ├── README.md ├── bin ├── argparse-1.4.0 │ └── argparse.py ├── daemon.py ├── end2endTest.py ├── hadoop-metrics2-hbase.properties ├── hadoop-metrics2-phoenix.properties ├── hbase-omid-client-config.yml ├── hbase-site.xml ├── log4j2.properties ├── performance.py ├── pherf-standalone.py ├── phoenix_sandbox.py ├── phoenix_utils.py ├── psql.py ├── readme.txt ├── sandbox-log4j2.properties ├── sqlline.py └── traceserver.py ├── config ├── apache-access-logs.properties └── csv-bulk-load-config.properties ├── dev ├── PhoenixCodeTemplate.xml ├── cache-apache-project-artifact.sh ├── code-coverage │ ├── README.md │ └── run-coverage.sh ├── create-release │ ├── README.txt │ ├── cache-apache-project-artifact.sh │ ├── do-release-docker.sh │ ├── do-release.sh │ ├── mac-sshd-gpg-agent │ │ └── Dockerfile │ ├── phoenix-rm │ │ └── Dockerfile │ ├── rebuild_hbase.sh │ ├── release-build.sh │ ├── release-util.sh │ └── vote.tmpl ├── docker │ ├── Dockerfile.multibranch │ └── Dockerfile.yetus ├── eclipse_prefs_phoenix.epf ├── gather_machine_environment.sh ├── jenkinsEnv.sh ├── jenkins_precommit_github_yetus.sh ├── jenkins_precommit_jira_yetus.sh ├── make_rc.sh ├── misc_utils │ ├── README.md │ └── git_jira_fix_version_check.py ├── phoenix-personality.sh ├── phoenix-vote.sh ├── phoenix.importorder ├── rebuild_hbase.sh ├── release_files │ ├── LICENSE │ └── NOTICE ├── smart-apply-patch.sh ├── test-patch.properties └── test-patch.sh ├── docs └── phoenix.csv ├── examples ├── STOCK_SYMBOL.csv ├── STOCK_SYMBOL.sql ├── WEB_STAT.csv ├── WEB_STAT.sql └── WEB_STAT_QUERIES.sql ├── phoenix-assembly ├── pom.xml └── src │ └── build │ ├── components │ ├── all-common-dependencies.xml │ ├── all-common-files.xml │ └── all-common-jars.xml │ └── package-to-tar-all.xml ├── phoenix-client-parent ├── phoenix-client-embedded │ └── pom.xml ├── phoenix-client-lite │ └── pom.xml └── pom.xml ├── phoenix-core-client ├── pom.xml └── src │ ├── build │ └── phoenix-core.xml │ └── main │ ├── antlr3 │ ├── PhoenixBsonExpression.g │ └── PhoenixSQL.g │ ├── java │ ├── org │ │ └── apache │ │ │ ├── hadoop │ │ │ └── hbase │ │ │ │ ├── PhoenixTagType.java │ │ │ │ ├── client │ │ │ │ └── RegionInfoUtil.java │ │ │ │ └── ipc │ │ │ │ └── controller │ │ │ │ ├── ClientRpcControllerFactory.java │ │ │ │ ├── IndexRpcController.java │ │ │ │ ├── InterRegionServerIndexRpcControllerFactory.java │ │ │ │ ├── InvalidateMetadataCacheController.java │ │ │ │ ├── InvalidateMetadataCacheControllerFactory.java │ │ │ │ ├── MetadataRpcController.java │ │ │ │ ├── ServerSideRPCControllerFactory.java │ │ │ │ ├── ServerToServerRpcController.java │ │ │ │ └── ServerToServerRpcControllerImpl.java │ │ │ └── phoenix │ │ │ ├── cache │ │ │ ├── HashCache.java │ │ │ ├── IndexMetaDataCache.java │ │ │ ├── JodaTimezoneCache.java │ │ │ ├── ServerCacheClient.java │ │ │ ├── ServerMetadataCache.java │ │ │ ├── ServerMetadataCacheImpl.java │ │ │ ├── TenantCache.java │ │ │ └── TenantCacheImpl.java │ │ │ ├── call │ │ │ ├── CallRunner.java │ │ │ └── CallWrapper.java │ │ │ ├── compile │ │ │ ├── AggregationManager.java │ │ │ ├── BaseMutationPlan.java │ │ │ ├── BindManager.java │ │ │ ├── CloseStatementCompiler.java │ │ │ ├── ColumnNameTrackingExpressionCompiler.java │ │ │ ├── ColumnProjector.java │ │ │ ├── ColumnResolver.java │ │ │ ├── CompiledOffset.java │ │ │ ├── CreateFunctionCompiler.java │ │ │ ├── CreateIndexCompiler.java │ │ │ ├── CreateSchemaCompiler.java │ │ │ ├── CreateSequenceCompiler.java │ │ │ ├── CreateTableCompiler.java │ │ │ ├── DeclareCursorCompiler.java │ │ │ ├── DelegateMutationPlan.java │ │ │ ├── DeleteCompiler.java │ │ │ ├── DropSequenceCompiler.java │ │ │ ├── ExplainPlan.java │ │ │ ├── ExplainPlanAttributes.java │ │ │ ├── ExpressionCompiler.java │ │ │ ├── ExpressionManager.java │ │ │ ├── ExpressionProjector.java │ │ │ ├── FromCompiler.java │ │ │ ├── GroupByCompiler.java │ │ │ ├── HavingCompiler.java │ │ │ ├── IndexExpressionCompiler.java │ │ │ ├── IndexStatementRewriter.java │ │ │ ├── JoinCompiler.java │ │ │ ├── KeyPart.java │ │ │ ├── LimitCompiler.java │ │ │ ├── ListJarsQueryPlan.java │ │ │ ├── MutatingParallelIteratorFactory.java │ │ │ ├── MutationPlan.java │ │ │ ├── OffsetCompiler.java │ │ │ ├── OpenStatementCompiler.java │ │ │ ├── OrderByCompiler.java │ │ │ ├── OrderPreservingTracker.java │ │ │ ├── PostDDLCompiler.java │ │ │ ├── PostIndexDDLCompiler.java │ │ │ ├── PostLocalIndexDDLCompiler.java │ │ │ ├── ProjectionCompiler.java │ │ │ ├── QueryCompiler.java │ │ │ ├── QueryPlan.java │ │ │ ├── RVCOffsetCompiler.java │ │ │ ├── RowProjector.java │ │ │ ├── ScanRanges.java │ │ │ ├── SequenceManager.java │ │ │ ├── SequenceValueExpression.java │ │ │ ├── ServerBuildIndexCompiler.java │ │ │ ├── ServerBuildTransformingTableCompiler.java │ │ │ ├── StatelessExpressionCompiler.java │ │ │ ├── StatementContext.java │ │ │ ├── StatementNormalizer.java │ │ │ ├── StatementPlan.java │ │ │ ├── SubqueryRewriter.java │ │ │ ├── SubselectRewriter.java │ │ │ ├── TraceQueryPlan.java │ │ │ ├── TupleProjectionCompiler.java │ │ │ ├── UnionCompiler.java │ │ │ ├── UpsertCompiler.java │ │ │ ├── WhereCompiler.java │ │ │ └── WhereOptimizer.java │ │ │ ├── coprocessorclient │ │ │ ├── BaseScannerRegionObserverConstants.java │ │ │ ├── HashJoinCacheNotFoundException.java │ │ │ ├── InvalidateServerMetadataCacheRequest.java │ │ │ ├── MetaDataEndpointImplConstants.java │ │ │ ├── MetaDataProtocol.java │ │ │ ├── RowKeyMatcher.java │ │ │ ├── ScanRegionObserverConstants.java │ │ │ ├── SequenceRegionObserverConstants.java │ │ │ ├── ServerCachingProtocol.java │ │ │ ├── TableInfo.java │ │ │ ├── TableTTLInfo.java │ │ │ ├── TableTTLInfoCache.java │ │ │ ├── UngroupedAggregateRegionObserverHelper.java │ │ │ ├── WhereConstantParser.java │ │ │ ├── metrics │ │ │ │ ├── MetricsMetadataCachingSource.java │ │ │ │ ├── MetricsMetadataCachingSourceImpl.java │ │ │ │ ├── MetricsPhoenixCoprocessorSourceFactory.java │ │ │ │ ├── MetricsPhoenixTTLSource.java │ │ │ │ └── MetricsPhoenixTTLSourceImpl.java │ │ │ └── tasks │ │ │ │ └── IndexRebuildTaskConstants.java │ │ │ ├── exception │ │ │ ├── DataExceedsCapacityException.java │ │ │ ├── FailoverSQLException.java │ │ │ ├── InvalidRegionSplitPolicyException.java │ │ │ ├── PhoenixIOException.java │ │ │ ├── PhoenixNonRetryableRuntimeException.java │ │ │ ├── PhoenixParserException.java │ │ │ ├── ResultSetOutOfScanRangeException.java │ │ │ ├── RetriableUpgradeException.java │ │ │ ├── SQLExceptionCode.java │ │ │ ├── SQLExceptionInfo.java │ │ │ ├── StaleMetadataCacheException.java │ │ │ ├── UndecodableByteException.java │ │ │ ├── UnknownFunctionException.java │ │ │ ├── UpgradeBlockedException.java │ │ │ ├── UpgradeInProgressException.java │ │ │ ├── UpgradeNotRequiredException.java │ │ │ └── UpgradeRequiredException.java │ │ │ ├── execute │ │ │ ├── AggregatePlan.java │ │ │ ├── BaseQueryPlan.java │ │ │ ├── ClientAggregatePlan.java │ │ │ ├── ClientProcessingPlan.java │ │ │ ├── ClientScanPlan.java │ │ │ ├── CommitException.java │ │ │ ├── CursorFetchPlan.java │ │ │ ├── DelegateHTable.java │ │ │ ├── DelegateQueryPlan.java │ │ │ ├── DescVarLengthFastByteComparisons.java │ │ │ ├── HashJoinPlan.java │ │ │ ├── LiteralResultIterationPlan.java │ │ │ ├── MutationState.java │ │ │ ├── PhoenixTxIndexMutationGenerator.java │ │ │ ├── RuntimeContext.java │ │ │ ├── RuntimeContextImpl.java │ │ │ ├── ScanPlan.java │ │ │ ├── SortMergeJoinPlan.java │ │ │ ├── TupleProjectionPlan.java │ │ │ ├── TupleProjector.java │ │ │ ├── UnionPlan.java │ │ │ ├── UnnestArrayPlan.java │ │ │ └── visitor │ │ │ │ ├── AvgRowWidthVisitor.java │ │ │ │ ├── ByteCountVisitor.java │ │ │ │ ├── QueryPlanVisitor.java │ │ │ │ └── RowCountVisitor.java │ │ │ ├── expression │ │ │ ├── AddExpression.java │ │ │ ├── AndExpression.java │ │ │ ├── AndOrExpression.java │ │ │ ├── ArithmeticExpression.java │ │ │ ├── ArrayConstructorExpression.java │ │ │ ├── BaseAddSubtractExpression.java │ │ │ ├── BaseCompoundExpression.java │ │ │ ├── BaseDecimalAddSubtractExpression.java │ │ │ ├── BaseExpression.java │ │ │ ├── BaseSingleExpression.java │ │ │ ├── BaseTerminalExpression.java │ │ │ ├── ByteBasedLikeExpression.java │ │ │ ├── CaseExpression.java │ │ │ ├── CoerceExpression.java │ │ │ ├── ColumnExpression.java │ │ │ ├── ComparisonExpression.java │ │ │ ├── CorrelateVariableFieldAccessExpression.java │ │ │ ├── CurrentDateTimeFunction.java │ │ │ ├── DateAddExpression.java │ │ │ ├── DateSubtractExpression.java │ │ │ ├── DecimalAddExpression.java │ │ │ ├── DecimalDivideExpression.java │ │ │ ├── DecimalMultiplyExpression.java │ │ │ ├── DecimalSubtractExpression.java │ │ │ ├── DelegateExpression.java │ │ │ ├── Determinism.java │ │ │ ├── DivideExpression.java │ │ │ ├── DoubleAddExpression.java │ │ │ ├── DoubleDivideExpression.java │ │ │ ├── DoubleMultiplyExpression.java │ │ │ ├── DoubleSubtractExpression.java │ │ │ ├── Expression.java │ │ │ ├── ExpressionType.java │ │ │ ├── InListExpression.java │ │ │ ├── IsNullExpression.java │ │ │ ├── KeyValueColumnExpression.java │ │ │ ├── LikeExpression.java │ │ │ ├── LiteralExpression.java │ │ │ ├── LongAddExpression.java │ │ │ ├── LongDivideExpression.java │ │ │ ├── LongMultiplyExpression.java │ │ │ ├── LongSubtractExpression.java │ │ │ ├── ModulusExpression.java │ │ │ ├── MultiplyExpression.java │ │ │ ├── NotExpression.java │ │ │ ├── OrExpression.java │ │ │ ├── OrderByExpression.java │ │ │ ├── ProjectedColumnExpression.java │ │ │ ├── RowKeyColumnExpression.java │ │ │ ├── RowKeyExpression.java │ │ │ ├── RowValueConstructorExpression.java │ │ │ ├── SingleCellColumnExpression.java │ │ │ ├── SingleCellConstructorExpression.java │ │ │ ├── StringBasedLikeExpression.java │ │ │ ├── StringConcatExpression.java │ │ │ ├── SubtractExpression.java │ │ │ ├── TimestampAddExpression.java │ │ │ ├── TimestampSubtractExpression.java │ │ │ ├── aggregator │ │ │ │ ├── Aggregator.java │ │ │ │ ├── Aggregators.java │ │ │ │ ├── BaseAggregator.java │ │ │ │ ├── BaseDecimalStddevAggregator.java │ │ │ │ ├── BaseStddevAggregator.java │ │ │ │ ├── ClientAggregators.java │ │ │ │ ├── CountAggregator.java │ │ │ │ ├── DecimalStddevPopAggregator.java │ │ │ │ ├── DecimalStddevSampAggregator.java │ │ │ │ ├── DecimalSumAggregator.java │ │ │ │ ├── DistinctCountClientAggregator.java │ │ │ │ ├── DistinctValueClientAggregator.java │ │ │ │ ├── DistinctValueWithCountClientAggregator.java │ │ │ │ ├── DistinctValueWithCountServerAggregator.java │ │ │ │ ├── DoubleSumAggregator.java │ │ │ │ ├── FirstLastValueBaseClientAggregator.java │ │ │ │ ├── FirstLastValueServerAggregator.java │ │ │ │ ├── IntSumAggregator.java │ │ │ │ ├── LongSumAggregator.java │ │ │ │ ├── MaxAggregator.java │ │ │ │ ├── MinAggregator.java │ │ │ │ ├── NonSizeTrackingServerAggregators.java │ │ │ │ ├── NumberSumAggregator.java │ │ │ │ ├── PercentRankClientAggregator.java │ │ │ │ ├── PercentileClientAggregator.java │ │ │ │ ├── PercentileDiscClientAggregator.java │ │ │ │ ├── ServerAggregators.java │ │ │ │ ├── SizeTrackingServerAggregators.java │ │ │ │ ├── StddevPopAggregator.java │ │ │ │ ├── StddevSampAggregator.java │ │ │ │ ├── UnsignedIntSumAggregator.java │ │ │ │ └── UnsignedLongSumAggregator.java │ │ │ ├── function │ │ │ │ ├── AbsFunction.java │ │ │ │ ├── AggregateFunction.java │ │ │ │ ├── ArrayAllComparisonExpression.java │ │ │ │ ├── ArrayAnyComparisonExpression.java │ │ │ │ ├── ArrayAppendFunction.java │ │ │ │ ├── ArrayConcatFunction.java │ │ │ │ ├── ArrayElemRefExpression.java │ │ │ │ ├── ArrayFillFunction.java │ │ │ │ ├── ArrayIndexFunction.java │ │ │ │ ├── ArrayLengthFunction.java │ │ │ │ ├── ArrayModifierFunction.java │ │ │ │ ├── ArrayPrependFunction.java │ │ │ │ ├── ArrayRemoveFunction.java │ │ │ │ ├── ArrayToStringFunction.java │ │ │ │ ├── AvgAggregateFunction.java │ │ │ │ ├── BsonConditionExpressionFunction.java │ │ │ │ ├── BsonUpdateExpressionFunction.java │ │ │ │ ├── BsonValueFunction.java │ │ │ │ ├── ByteBasedRegexpReplaceFunction.java │ │ │ │ ├── ByteBasedRegexpSplitFunction.java │ │ │ │ ├── ByteBasedRegexpSubstrFunction.java │ │ │ │ ├── CbrtFunction.java │ │ │ │ ├── CeilDateExpression.java │ │ │ │ ├── CeilDecimalExpression.java │ │ │ │ ├── CeilFunction.java │ │ │ │ ├── CeilMonthExpression.java │ │ │ │ ├── CeilTimestampExpression.java │ │ │ │ ├── CeilWeekExpression.java │ │ │ │ ├── CeilYearExpression.java │ │ │ │ ├── CoalesceFunction.java │ │ │ │ ├── CollationKeyFunction.java │ │ │ │ ├── CompositeAggregateFunction.java │ │ │ │ ├── ConvertTimezoneFunction.java │ │ │ │ ├── CosFunction.java │ │ │ │ ├── CountAggregateFunction.java │ │ │ │ ├── CurrentDateFunction.java │ │ │ │ ├── CurrentTimeFunction.java │ │ │ │ ├── DateScalarFunction.java │ │ │ │ ├── DayOfMonthFunction.java │ │ │ │ ├── DayOfWeekFunction.java │ │ │ │ ├── DayOfYearFunction.java │ │ │ │ ├── DecodeBinaryFunction.java │ │ │ │ ├── DecodeFunction.java │ │ │ │ ├── DecodeViewIndexIdFunction.java │ │ │ │ ├── DefaultValueExpression.java │ │ │ │ ├── DelegateConstantToCountAggregateFunction.java │ │ │ │ ├── DistinctCountAggregateFunction.java │ │ │ │ ├── DistinctCountHyperLogLogAggregateFunction.java │ │ │ │ ├── DistinctValueAggregateFunction.java │ │ │ │ ├── DistinctValueWithCountAggregateFunction.java │ │ │ │ ├── EncodeBinaryFunction.java │ │ │ │ ├── EncodeFormat.java │ │ │ │ ├── EncodeFunction.java │ │ │ │ ├── ExpFunction.java │ │ │ │ ├── ExternalSqlTypeIdFunction.java │ │ │ │ ├── FirstLastValueBaseFunction.java │ │ │ │ ├── FirstValueFunction.java │ │ │ │ ├── FirstValuesFunction.java │ │ │ │ ├── FloorDateExpression.java │ │ │ │ ├── FloorDecimalExpression.java │ │ │ │ ├── FloorFunction.java │ │ │ │ ├── FloorMonthExpression.java │ │ │ │ ├── FloorWeekExpression.java │ │ │ │ ├── FloorYearExpression.java │ │ │ │ ├── FunctionArgumentType.java │ │ │ │ ├── FunctionExpression.java │ │ │ │ ├── GetBitFunction.java │ │ │ │ ├── GetByteFunction.java │ │ │ │ ├── HourFunction.java │ │ │ │ ├── IndexStateNameFunction.java │ │ │ │ ├── InstrFunction.java │ │ │ │ ├── InvertFunction.java │ │ │ │ ├── JavaMathOneArgumentFunction.java │ │ │ │ ├── JavaMathTwoArgumentFunction.java │ │ │ │ ├── JsonExistsFunction.java │ │ │ │ ├── JsonModifyFunction.java │ │ │ │ ├── JsonQueryFunction.java │ │ │ │ ├── JsonValueFunction.java │ │ │ │ ├── LTrimFunction.java │ │ │ │ ├── LastValueFunction.java │ │ │ │ ├── LastValuesFunction.java │ │ │ │ ├── LengthFunction.java │ │ │ │ ├── LnFunction.java │ │ │ │ ├── LogFunction.java │ │ │ │ ├── LowerFunction.java │ │ │ │ ├── LpadFunction.java │ │ │ │ ├── MD5Function.java │ │ │ │ ├── MathPIFunction.java │ │ │ │ ├── MaxAggregateFunction.java │ │ │ │ ├── MinAggregateFunction.java │ │ │ │ ├── MinuteFunction.java │ │ │ │ ├── MonthFunction.java │ │ │ │ ├── NowFunction.java │ │ │ │ ├── NthValueFunction.java │ │ │ │ ├── OctetLengthFunction.java │ │ │ │ ├── PartitionIdFunction.java │ │ │ │ ├── PercentRankAggregateFunction.java │ │ │ │ ├── PercentileContAggregateFunction.java │ │ │ │ ├── PercentileDiscAggregateFunction.java │ │ │ │ ├── PhoenixRowTimestampFunction.java │ │ │ │ ├── PowerFunction.java │ │ │ │ ├── PrefixFunction.java │ │ │ │ ├── RTrimFunction.java │ │ │ │ ├── RandomFunction.java │ │ │ │ ├── RegexpReplaceFunction.java │ │ │ │ ├── RegexpSplitFunction.java │ │ │ │ ├── RegexpSubstrFunction.java │ │ │ │ ├── ReverseFunction.java │ │ │ │ ├── RoundDateExpression.java │ │ │ │ ├── RoundDecimalExpression.java │ │ │ │ ├── RoundFunction.java │ │ │ │ ├── RoundJodaDateExpression.java │ │ │ │ ├── RoundMonthExpression.java │ │ │ │ ├── RoundTimestampExpression.java │ │ │ │ ├── RoundWeekExpression.java │ │ │ │ ├── RoundYearExpression.java │ │ │ │ ├── RowKeyBytesStringFunction.java │ │ │ │ ├── SQLIndexTypeFunction.java │ │ │ │ ├── SQLTableTypeFunction.java │ │ │ │ ├── SQLViewTypeFunction.java │ │ │ │ ├── ScalarFunction.java │ │ │ │ ├── SecondFunction.java │ │ │ │ ├── SetBitFunction.java │ │ │ │ ├── SetByteFunction.java │ │ │ │ ├── SignFunction.java │ │ │ │ ├── SinFunction.java │ │ │ │ ├── SingleAggregateFunction.java │ │ │ │ ├── SqlTypeNameFunction.java │ │ │ │ ├── SqrtFunction.java │ │ │ │ ├── StddevPopFunction.java │ │ │ │ ├── StddevSampFunction.java │ │ │ │ ├── StringBasedRegexpReplaceFunction.java │ │ │ │ ├── StringBasedRegexpSplitFunction.java │ │ │ │ ├── StringBasedRegexpSubstrFunction.java │ │ │ │ ├── StringToArrayFunction.java │ │ │ │ ├── SubBinaryFunction.java │ │ │ │ ├── SubstrFunction.java │ │ │ │ ├── SumAggregateFunction.java │ │ │ │ ├── TanFunction.java │ │ │ │ ├── TimeUnit.java │ │ │ │ ├── TimezoneOffsetFunction.java │ │ │ │ ├── ToCharFunction.java │ │ │ │ ├── ToDateFunction.java │ │ │ │ ├── ToNumberFunction.java │ │ │ │ ├── ToTimeFunction.java │ │ │ │ ├── ToTimestampFunction.java │ │ │ │ ├── TransactionProviderNameFunction.java │ │ │ │ ├── TrimFunction.java │ │ │ │ ├── TruncFunction.java │ │ │ │ ├── UDFExpression.java │ │ │ │ ├── UpperFunction.java │ │ │ │ ├── WeekFunction.java │ │ │ │ └── YearFunction.java │ │ │ ├── rewrite │ │ │ │ └── RowValueConstructorExpressionRewriter.java │ │ │ ├── util │ │ │ │ ├── bson │ │ │ │ │ ├── CommonComparisonExpressionUtils.java │ │ │ │ │ ├── DocumentComparisonExpressionUtils.java │ │ │ │ │ ├── SQLComparisonExpressionUtils.java │ │ │ │ │ └── UpdateExpressionUtils.java │ │ │ │ └── regex │ │ │ │ │ ├── AbstractBasePattern.java │ │ │ │ │ ├── AbstractBaseSplitter.java │ │ │ │ │ ├── GuavaSplitter.java │ │ │ │ │ ├── JONIPattern.java │ │ │ │ │ └── JavaPattern.java │ │ │ └── visitor │ │ │ │ ├── BaseExpressionVisitor.java │ │ │ │ ├── CloneExpressionVisitor.java │ │ │ │ ├── ExpressionVisitor.java │ │ │ │ ├── KeyValueExpressionVisitor.java │ │ │ │ ├── ProjectedColumnExpressionVisitor.java │ │ │ │ ├── ReplaceArrayFunctionExpressionVisitor.java │ │ │ │ ├── RowKeyExpressionVisitor.java │ │ │ │ ├── SingleAggregateFunctionVisitor.java │ │ │ │ ├── StatelessTraverseAllExpressionVisitor.java │ │ │ │ ├── StatelessTraverseNoExpressionVisitor.java │ │ │ │ ├── TraverseAllExpressionVisitor.java │ │ │ │ └── TraverseNoExpressionVisitor.java │ │ │ ├── filter │ │ │ ├── AllVersionsIndexRebuildFilter.java │ │ │ ├── BooleanExpressionFilter.java │ │ │ ├── ColumnProjectionFilter.java │ │ │ ├── DelegateFilter.java │ │ │ ├── DistinctPrefixFilter.java │ │ │ ├── EmptyColumnOnlyFilter.java │ │ │ ├── EncodedQualifiersColumnProjectionFilter.java │ │ │ ├── MultiCFCQKeyValueComparisonFilter.java │ │ │ ├── MultiCQKeyValueComparisonFilter.java │ │ │ ├── MultiEncodedCQKeyValueComparisonFilter.java │ │ │ ├── MultiKeyValueComparisonFilter.java │ │ │ ├── PagingFilter.java │ │ │ ├── RowKeyComparisonFilter.java │ │ │ ├── SingleCFCQKeyValueComparisonFilter.java │ │ │ ├── SingleCQKeyValueComparisonFilter.java │ │ │ ├── SingleKeyValueComparisonFilter.java │ │ │ ├── SkipScanFilter.java │ │ │ ├── SystemCatalogViewIndexIdFilter.java │ │ │ └── UnverifiedRowFilter.java │ │ │ ├── hbase │ │ │ └── index │ │ │ │ ├── AbstractValueGetter.java │ │ │ │ ├── BaseIndexCodec.java │ │ │ │ ├── MultiMutation.java │ │ │ │ ├── OffsetCell.java │ │ │ │ ├── ValueGetter.java │ │ │ │ ├── builder │ │ │ │ ├── FatalIndexBuildingFailureException.java │ │ │ │ └── IndexBuildingFailureException.java │ │ │ │ ├── covered │ │ │ │ ├── Batch.java │ │ │ │ ├── IndexCodec.java │ │ │ │ ├── IndexMetaData.java │ │ │ │ ├── IndexUpdate.java │ │ │ │ ├── KeyValueStore.java │ │ │ │ ├── TableState.java │ │ │ │ ├── data │ │ │ │ │ ├── DelegateComparator.java │ │ │ │ │ ├── LazyValueGetter.java │ │ │ │ │ └── LocalHBaseState.java │ │ │ │ ├── filter │ │ │ │ │ ├── ApplyAndFilterDeletesFilter.java │ │ │ │ │ ├── ColumnTrackingNextLargestTimestampFilter.java │ │ │ │ │ ├── MaxTimestampFilter.java │ │ │ │ │ └── NewerTimestampFilter.java │ │ │ │ └── update │ │ │ │ │ ├── ColumnReference.java │ │ │ │ │ ├── ColumnTracker.java │ │ │ │ │ ├── IndexUpdateManager.java │ │ │ │ │ └── IndexedColumnGroup.java │ │ │ │ ├── exception │ │ │ │ ├── IndexWriteException.java │ │ │ │ ├── MultiIndexWriteFailureException.java │ │ │ │ └── SingleIndexWriteFailureException.java │ │ │ │ ├── metrics │ │ │ │ ├── GlobalIndexCheckerSource.java │ │ │ │ ├── GlobalIndexCheckerSourceImpl.java │ │ │ │ ├── MetricsIndexerSource.java │ │ │ │ ├── MetricsIndexerSourceFactory.java │ │ │ │ └── MetricsIndexerSourceImpl.java │ │ │ │ ├── parallel │ │ │ │ ├── BaseTaskRunner.java │ │ │ │ ├── EarlyExitFailure.java │ │ │ │ ├── QuickFailingTaskRunner.java │ │ │ │ ├── Task.java │ │ │ │ ├── TaskBatch.java │ │ │ │ ├── TaskRunner.java │ │ │ │ ├── ThreadPoolBuilder.java │ │ │ │ └── WaitForCompletionTaskRunner.java │ │ │ │ ├── scanner │ │ │ │ ├── EmptyScanner.java │ │ │ │ ├── FilteredKeyValueScanner.java │ │ │ │ ├── ReseekableScanner.java │ │ │ │ ├── Scanner.java │ │ │ │ └── ScannerBuilder.java │ │ │ │ ├── table │ │ │ │ ├── HTableFactory.java │ │ │ │ └── HTableInterfaceReference.java │ │ │ │ └── util │ │ │ │ ├── GenericKeyValueBuilder.java │ │ │ │ ├── ImmutableBytesPtr.java │ │ │ │ ├── IndexManagementUtil.java │ │ │ │ ├── KeyValueBuilder.java │ │ │ │ └── VersionUtil.java │ │ │ ├── index │ │ │ ├── CDCTableInfo.java │ │ │ ├── IndexMaintainer.java │ │ │ ├── IndexMetaDataCacheClient.java │ │ │ ├── IndexMetaDataCacheFactory.java │ │ │ ├── PhoenixIndexBuilderHelper.java │ │ │ ├── PhoenixIndexCodec.java │ │ │ ├── PhoenixIndexFailurePolicyHelper.java │ │ │ └── PhoenixIndexMetaData.java │ │ │ ├── iterate │ │ │ ├── AggregatingResultIterator.java │ │ │ ├── BaseGroupedAggregatingResultIterator.java │ │ │ ├── BaseResultIterator.java │ │ │ ├── BaseResultIterators.java │ │ │ ├── BufferedQueue.java │ │ │ ├── BufferedSortedQueue.java │ │ │ ├── BufferedTupleQueue.java │ │ │ ├── ChunkedResultIterator.java │ │ │ ├── ClientHashAggregatingResultIterator.java │ │ │ ├── ConcatResultIterator.java │ │ │ ├── CursorResultIterator.java │ │ │ ├── DefaultParallelScanGrouper.java │ │ │ ├── DefaultTableResultIteratorFactory.java │ │ │ ├── DelegateResultIterator.java │ │ │ ├── DistinctAggregatingResultIterator.java │ │ │ ├── ExplainTable.java │ │ │ ├── FilterAggregatingResultIterator.java │ │ │ ├── FilterResultIterator.java │ │ │ ├── GroupedAggregatingResultIterator.java │ │ │ ├── LimitingPeekingResultIterator.java │ │ │ ├── LimitingResultIterator.java │ │ │ ├── LookAheadResultIterator.java │ │ │ ├── MaterializedComparableResultIterator.java │ │ │ ├── MaterializedResultIterator.java │ │ │ ├── MergeSortResultIterator.java │ │ │ ├── MergeSortRowKeyResultIterator.java │ │ │ ├── MergeSortTopNResultIterator.java │ │ │ ├── OffsetResultIterator.java │ │ │ ├── OrderedAggregatingResultIterator.java │ │ │ ├── OrderedResultIterator.java │ │ │ ├── ParallelIteratorFactory.java │ │ │ ├── ParallelIteratorRegionSplitter.java │ │ │ ├── ParallelIterators.java │ │ │ ├── ParallelScanGrouper.java │ │ │ ├── ParallelScansCollector.java │ │ │ ├── PeekingResultIterator.java │ │ │ ├── PhoenixQueues.java │ │ │ ├── ResultIterator.java │ │ │ ├── ResultIterators.java │ │ │ ├── RoundRobinResultIterator.java │ │ │ ├── RowKeyOrderedAggregateResultIterator.java │ │ │ ├── ScanningResultIterator.java │ │ │ ├── ScanningResultPostDummyResultCaller.java │ │ │ ├── ScanningResultPostValidResultCaller.java │ │ │ ├── ScansWithRegionLocations.java │ │ │ ├── SequenceResultIterator.java │ │ │ ├── SerialIterators.java │ │ │ ├── SizeAwareQueue.java │ │ │ ├── SizeBoundQueue.java │ │ │ ├── SpoolTooBigToDiskException.java │ │ │ ├── SpoolingResultIterator.java │ │ │ ├── TableResultIterator.java │ │ │ ├── TableResultIteratorFactory.java │ │ │ ├── TableSamplerPredicate.java │ │ │ ├── UngroupedAggregatingResultIterator.java │ │ │ └── UnionResultIterators.java │ │ │ ├── jdbc │ │ │ ├── AbstractRPCConnectionInfo.java │ │ │ ├── ClusterRoleRecord.java │ │ │ ├── ClusterRoleRecordGeneratorTool.java │ │ │ ├── ConnectionInfo.java │ │ │ ├── DelegateConnection.java │ │ │ ├── DelegatePreparedStatement.java │ │ │ ├── DelegateResultSet.java │ │ │ ├── DelegateStatement.java │ │ │ ├── FailoverPhoenixConnection.java │ │ │ ├── FailoverPhoenixContext.java │ │ │ ├── FailoverPolicy.java │ │ │ ├── HAGroupStoreClient.java │ │ │ ├── HAGroupStoreManager.java │ │ │ ├── HAURLInfo.java │ │ │ ├── HighAvailabilityGroup.java │ │ │ ├── HighAvailabilityPolicy.java │ │ │ ├── LoggingPhoenixConnection.java │ │ │ ├── LoggingPhoenixPreparedStatement.java │ │ │ ├── LoggingPhoenixResultSet.java │ │ │ ├── LoggingPhoenixStatement.java │ │ │ ├── MasterConnectionInfo.java │ │ │ ├── ParallelPhoenixConnection.java │ │ │ ├── ParallelPhoenixContext.java │ │ │ ├── ParallelPhoenixMetrics.java │ │ │ ├── ParallelPhoenixNullComparingResultSet.java │ │ │ ├── ParallelPhoenixPreparedStatement.java │ │ │ ├── ParallelPhoenixResultSet.java │ │ │ ├── ParallelPhoenixResultSetFactory.java │ │ │ ├── ParallelPhoenixStatement.java │ │ │ ├── ParallelPhoenixUtil.java │ │ │ ├── PhoenixConnection.java │ │ │ ├── PhoenixDatabaseMetaData.java │ │ │ ├── PhoenixDriver.java │ │ │ ├── PhoenixEmbeddedDriver.java │ │ │ ├── PhoenixHAAdmin.java │ │ │ ├── PhoenixHAAdminTool.java │ │ │ ├── PhoenixHAExecutorServiceProvider.java │ │ │ ├── PhoenixHAGroupMetrics.java │ │ │ ├── PhoenixMetricsHolder.java │ │ │ ├── PhoenixMetricsLog.java │ │ │ ├── PhoenixMonitoredConnection.java │ │ │ ├── PhoenixMonitoredPreparedStatement.java │ │ │ ├── PhoenixMonitoredResultSet.java │ │ │ ├── PhoenixMonitoredStatement.java │ │ │ ├── PhoenixParameterMetaData.java │ │ │ ├── PhoenixPrefetchedResultSet.java │ │ │ ├── PhoenixPreparedStatement.java │ │ │ ├── PhoenixResultSet.java │ │ │ ├── PhoenixResultSetMetaData.java │ │ │ ├── PhoenixStatement.java │ │ │ ├── PhoenixStatementFactory.java │ │ │ ├── RPCConnectionInfo.java │ │ │ └── ZKConnectionInfo.java │ │ │ ├── job │ │ │ ├── AbstractRoundRobinQueue.java │ │ │ └── JobManager.java │ │ │ ├── join │ │ │ ├── HashCacheClient.java │ │ │ ├── HashCacheFactory.java │ │ │ ├── HashJoinInfo.java │ │ │ └── MaxServerCacheSizeExceededException.java │ │ │ ├── log │ │ │ ├── ActivityLogInfo.java │ │ │ ├── AuditQueryLogger.java │ │ │ ├── BaseConnectionLimiter.java │ │ │ ├── ConnectionActivityLogger.java │ │ │ ├── ConnectionLimiter.java │ │ │ ├── DefaultConnectionLimiter.java │ │ │ ├── LogLevel.java │ │ │ ├── LogWriter.java │ │ │ ├── LoggingConnectionLimiter.java │ │ │ ├── QueryLogDetailsWorkHandler.java │ │ │ ├── QueryLogInfo.java │ │ │ ├── QueryLogger.java │ │ │ ├── QueryLoggerDefaultExceptionHandler.java │ │ │ ├── QueryLoggerDisruptor.java │ │ │ ├── QueryLoggerUtil.java │ │ │ ├── QueryStatus.java │ │ │ ├── RingBufferEvent.java │ │ │ ├── RingBufferEventTranslator.java │ │ │ └── TableLogWriter.java │ │ │ ├── mapreduce │ │ │ └── util │ │ │ │ ├── ConnectionUtil.java │ │ │ │ └── PhoenixConfigurationUtilHelper.java │ │ │ ├── memory │ │ │ ├── ChildMemoryManager.java │ │ │ ├── DelegatingMemoryManager.java │ │ │ ├── GlobalMemoryManager.java │ │ │ ├── InsufficientMemoryException.java │ │ │ └── MemoryManager.java │ │ │ ├── metrics │ │ │ ├── MetricInfo.java │ │ │ └── Metrics.java │ │ │ ├── monitoring │ │ │ ├── AtomicMetric.java │ │ │ ├── CombinableMetric.java │ │ │ ├── CombinableMetricImpl.java │ │ │ ├── ConnectionQueryServicesMetric.java │ │ │ ├── ConnectionQueryServicesMetricImpl.java │ │ │ ├── GlobalClientMetrics.java │ │ │ ├── GlobalMetric.java │ │ │ ├── GlobalMetricImpl.java │ │ │ ├── GlobalMetricRegistriesAdapter.java │ │ │ ├── HistogramDistribution.java │ │ │ ├── HistogramDistributionImpl.java │ │ │ ├── JmxMetricProvider.java │ │ │ ├── LatencyHistogram.java │ │ │ ├── MemoryMetricsHolder.java │ │ │ ├── Metric.java │ │ │ ├── MetricPublisherSupplierFactory.java │ │ │ ├── MetricServiceResolver.java │ │ │ ├── MetricType.java │ │ │ ├── MetricUtil.java │ │ │ ├── MetricsRegistry.java │ │ │ ├── MetricsStopWatch.java │ │ │ ├── MutationMetricQueue.java │ │ │ ├── NoOpGlobalMetricImpl.java │ │ │ ├── NoOpTableMetricsManager.java │ │ │ ├── NonAtomicMetric.java │ │ │ ├── OverAllQueryMetrics.java │ │ │ ├── PhoenixTableMetric.java │ │ │ ├── PhoenixTableMetricImpl.java │ │ │ ├── RangeHistogram.java │ │ │ ├── ReadMetricQueue.java │ │ │ ├── ScanMetricsHolder.java │ │ │ ├── SizeHistogram.java │ │ │ ├── SpoolingMetricsHolder.java │ │ │ ├── TableClientMetrics.java │ │ │ ├── TableHistograms.java │ │ │ ├── TableMetricsManager.java │ │ │ ├── TaskExecutionMetricsHolder.java │ │ │ └── connectionqueryservice │ │ │ │ ├── ConnectionQueryServicesHistogram.java │ │ │ │ ├── ConnectionQueryServicesMetrics.java │ │ │ │ ├── ConnectionQueryServicesMetricsHistograms.java │ │ │ │ ├── ConnectionQueryServicesMetricsManager.java │ │ │ │ └── NoOpConnectionQueryServicesMetricsManager.java │ │ │ ├── optimize │ │ │ ├── Cost.java │ │ │ ├── GenSubqueryParamValuesRewriter.java │ │ │ └── QueryOptimizer.java │ │ │ ├── parse │ │ │ ├── AddColumnStatement.java │ │ │ ├── AddJarsStatement.java │ │ │ ├── AddParseNode.java │ │ │ ├── AggregateFunctionParseNode.java │ │ │ ├── AggregateFunctionWithinGroupParseNode.java │ │ │ ├── AliasedNode.java │ │ │ ├── AlterIndexStatement.java │ │ │ ├── AlterSessionStatement.java │ │ │ ├── AlterTableStatement.java │ │ │ ├── AndBooleanParseNodeVisitor.java │ │ │ ├── AndParseNode.java │ │ │ ├── AndRewriterBooleanParseNodeVisitor.java │ │ │ ├── ArithmeticParseNode.java │ │ │ ├── ArrayAllAnyComparisonNode.java │ │ │ ├── ArrayAllComparisonNode.java │ │ │ ├── ArrayAnyComparisonNode.java │ │ │ ├── ArrayConstructorNode.java │ │ │ ├── ArrayElemRefNode.java │ │ │ ├── ArrayModifierParseNode.java │ │ │ ├── AvgAggregateParseNode.java │ │ │ ├── BaseParseNodeVisitor.java │ │ │ ├── BetweenParseNode.java │ │ │ ├── BinaryParseNode.java │ │ │ ├── BindParseNode.java │ │ │ ├── BindTableNode.java │ │ │ ├── BindableStatement.java │ │ │ ├── BooleanParseNodeVisitor.java │ │ │ ├── BsonConditionExpressionParseNode.java │ │ │ ├── BsonExpressionParser.java │ │ │ ├── BsonUpdateExpressionParseNode.java │ │ │ ├── BsonValueParseNode.java │ │ │ ├── CaseParseNode.java │ │ │ ├── CastParseNode.java │ │ │ ├── CeilParseNode.java │ │ │ ├── ChangePermsStatement.java │ │ │ ├── CloseStatement.java │ │ │ ├── ColumnDef.java │ │ │ ├── ColumnDefInPkConstraint.java │ │ │ ├── ColumnFamilyDef.java │ │ │ ├── ColumnName.java │ │ │ ├── ColumnParseNode.java │ │ │ ├── ComparisonParseNode.java │ │ │ ├── CompoundParseNode.java │ │ │ ├── ConcreteTableNode.java │ │ │ ├── CreateCDCStatement.java │ │ │ ├── CreateFunctionStatement.java │ │ │ ├── CreateIndexStatement.java │ │ │ ├── CreateSchemaStatement.java │ │ │ ├── CreateSequenceStatement.java │ │ │ ├── CreateTableStatement.java │ │ │ ├── CurrentDateParseNode.java │ │ │ ├── CurrentTimeParseNode.java │ │ │ ├── CursorName.java │ │ │ ├── DMLStatement.java │ │ │ ├── DeclareCursorStatement.java │ │ │ ├── DecodeViewIndexIdParseNode.java │ │ │ ├── DelegateConstantToCountParseNode.java │ │ │ ├── DeleteJarStatement.java │ │ │ ├── DeleteStatement.java │ │ │ ├── DerivedTableNode.java │ │ │ ├── DistinctCountHyperLogLogAggregateParseNode.java │ │ │ ├── DistinctCountParseNode.java │ │ │ ├── DivideParseNode.java │ │ │ ├── DocumentFieldExistsParseNode.java │ │ │ ├── DropCDCStatement.java │ │ │ ├── DropColumnStatement.java │ │ │ ├── DropFunctionStatement.java │ │ │ ├── DropIndexStatement.java │ │ │ ├── DropSchemaStatement.java │ │ │ ├── DropSequenceStatement.java │ │ │ ├── DropTableStatement.java │ │ │ ├── EqualParseNode.java │ │ │ ├── ExecuteUpgradeStatement.java │ │ │ ├── ExistsParseNode.java │ │ │ ├── ExplainStatement.java │ │ │ ├── ExplainType.java │ │ │ ├── FamilyWildcardParseNode.java │ │ │ ├── FetchStatement.java │ │ │ ├── FilterableStatement.java │ │ │ ├── FirstValueAggregateParseNode.java │ │ │ ├── FirstValuesAggregateParseNode.java │ │ │ ├── FloorParseNode.java │ │ │ ├── FunctionParseNode.java │ │ │ ├── GreaterThanOrEqualParseNode.java │ │ │ ├── GreaterThanParseNode.java │ │ │ ├── HintNode.java │ │ │ ├── InListParseNode.java │ │ │ ├── InParseNode.java │ │ │ ├── IndexExpressionParseNodeRewriter.java │ │ │ ├── IndexKeyConstraint.java │ │ │ ├── IsNullParseNode.java │ │ │ ├── JoinTableNode.java │ │ │ ├── JsonExistsParseNode.java │ │ │ ├── JsonModifyParseNode.java │ │ │ ├── JsonQueryParseNode.java │ │ │ ├── JsonValueParseNode.java │ │ │ ├── LastValueAggregateParseNode.java │ │ │ ├── LastValuesAggregateParseNode.java │ │ │ ├── LessThanOrEqualParseNode.java │ │ │ ├── LessThanParseNode.java │ │ │ ├── LikeParseNode.java │ │ │ ├── LimitNode.java │ │ │ ├── ListJarsStatement.java │ │ │ ├── LiteralParseNode.java │ │ │ ├── MaxAggregateParseNode.java │ │ │ ├── MinAggregateParseNode.java │ │ │ ├── ModulusParseNode.java │ │ │ ├── MultiplyParseNode.java │ │ │ ├── MutableStatement.java │ │ │ ├── NamedNode.java │ │ │ ├── NamedParseNode.java │ │ │ ├── NamedTableNode.java │ │ │ ├── NotEqualParseNode.java │ │ │ ├── NotParseNode.java │ │ │ ├── NthValueAggregateParseNode.java │ │ │ ├── OffsetNode.java │ │ │ ├── OpenStatement.java │ │ │ ├── OrParseNode.java │ │ │ ├── OrderByNode.java │ │ │ ├── PFunction.java │ │ │ ├── PSchema.java │ │ │ ├── ParseContext.java │ │ │ ├── ParseException.java │ │ │ ├── ParseNode.java │ │ │ ├── ParseNodeFactory.java │ │ │ ├── ParseNodeRewriter.java │ │ │ ├── ParseNodeVisitor.java │ │ │ ├── PartitionIdParseNode.java │ │ │ ├── PhoenixRowTimestampParseNode.java │ │ │ ├── PrimaryKeyConstraint.java │ │ │ ├── PropertyName.java │ │ │ ├── RegexpReplaceParseNode.java │ │ │ ├── RegexpSplitParseNode.java │ │ │ ├── RegexpSubstrParseNode.java │ │ │ ├── RoundParseNode.java │ │ │ ├── RowValueConstructorParseNode.java │ │ │ ├── SQLParser.java │ │ │ ├── SelectStatement.java │ │ │ ├── SelectStatementRewriter.java │ │ │ ├── SequenceValueParseNode.java │ │ │ ├── ShowCreateTable.java │ │ │ ├── ShowCreateTableStatement.java │ │ │ ├── ShowSchemasStatement.java │ │ │ ├── ShowStatement.java │ │ │ ├── ShowTablesStatement.java │ │ │ ├── SingleTableStatement.java │ │ │ ├── StatelessTraverseAllParseNodeVisitor.java │ │ │ ├── StringConcatParseNode.java │ │ │ ├── SubqueryParseNode.java │ │ │ ├── SubtractParseNode.java │ │ │ ├── SumAggregateParseNode.java │ │ │ ├── TableName.java │ │ │ ├── TableNode.java │ │ │ ├── TableNodeVisitor.java │ │ │ ├── TableWildcardParseNode.java │ │ │ ├── TerminalParseNode.java │ │ │ ├── ToCharParseNode.java │ │ │ ├── ToDateParseNode.java │ │ │ ├── ToNumberParseNode.java │ │ │ ├── ToTimeParseNode.java │ │ │ ├── ToTimestampParseNode.java │ │ │ ├── TraceStatement.java │ │ │ ├── TraverseAllParseNodeVisitor.java │ │ │ ├── TraverseNoParseNodeVisitor.java │ │ │ ├── UDFParseNode.java │ │ │ ├── UnaryParseNode.java │ │ │ ├── UnsupportedAllParseNodeVisitor.java │ │ │ ├── UpdateStatisticsStatement.java │ │ │ ├── UpsertStatement.java │ │ │ ├── UseSchemaStatement.java │ │ │ └── WildcardParseNode.java │ │ │ ├── protobuf │ │ │ └── ProtobufUtil.java │ │ │ ├── query │ │ │ ├── AdminUtilWithFallback.java │ │ │ ├── BaseQueryServicesImpl.java │ │ │ ├── ChildLinkMetaDataServiceCallBack.java │ │ │ ├── ChildQueryServices.java │ │ │ ├── ConfigurationFactory.java │ │ │ ├── ConnectionQueryServices.java │ │ │ ├── ConnectionQueryServicesImpl.java │ │ │ ├── ConnectionlessQueryServicesImpl.java │ │ │ ├── DefaultGuidePostsCacheFactory.java │ │ │ ├── DelegateConnectionQueryServices.java │ │ │ ├── DelegateQueryServices.java │ │ │ ├── EmptyStatsLoader.java │ │ │ ├── GuidePostsCache.java │ │ │ ├── GuidePostsCacheFactory.java │ │ │ ├── GuidePostsCacheImpl.java │ │ │ ├── GuidePostsCacheProvider.java │ │ │ ├── GuidePostsCacheWrapper.java │ │ │ ├── HBaseFactoryProvider.java │ │ │ ├── HConnectionFactory.java │ │ │ ├── HTableFactory.java │ │ │ ├── ITGuidePostsCacheFactory.java │ │ │ ├── KeyRange.java │ │ │ ├── MetaDataMutated.java │ │ │ ├── PhoenixStatsCacheLoader.java │ │ │ ├── PhoenixStatsLoader.java │ │ │ ├── PropertyNotAllowedException.java │ │ │ ├── PropertyPolicy.java │ │ │ ├── PropertyPolicyProvider.java │ │ │ ├── QueryConstants.java │ │ │ ├── QueryServices.java │ │ │ ├── QueryServicesImpl.java │ │ │ ├── QueryServicesOptions.java │ │ │ └── StatsLoaderImpl.java │ │ │ ├── schema │ │ │ ├── AmbiguousColumnException.java │ │ │ ├── AmbiguousTableException.java │ │ │ ├── ArgumentTypeMismatchException.java │ │ │ ├── ColumnAlreadyExistsException.java │ │ │ ├── ColumnFamilyNotFoundException.java │ │ │ ├── ColumnMetaDataOps.java │ │ │ ├── ColumnModifier.java │ │ │ ├── ColumnNotFoundException.java │ │ │ ├── ColumnRef.java │ │ │ ├── ColumnValueDecoder.java │ │ │ ├── ColumnValueEncoder.java │ │ │ ├── ComparisonNotSupportedException.java │ │ │ ├── CompiledConditionalTTLExpression.java │ │ │ ├── CompiledTTLExpression.java │ │ │ ├── ConcurrentTableMutationException.java │ │ │ ├── ConditionalTTLExpression.java │ │ │ ├── ConnectionProperty.java │ │ │ ├── ConstraintViolationException.java │ │ │ ├── DelegateColumn.java │ │ │ ├── DelegateDatum.java │ │ │ ├── DelegateSQLException.java │ │ │ ├── DelegateTable.java │ │ │ ├── EmptySequenceCacheException.java │ │ │ ├── ExecuteQueryNotApplicableException.java │ │ │ ├── ExecuteUpdateNotApplicableException.java │ │ │ ├── FunctionAlreadyExistsException.java │ │ │ ├── FunctionNotFoundException.java │ │ │ ├── IllegalDataException.java │ │ │ ├── IndexNotFoundException.java │ │ │ ├── IndexUncoveredDataColumnRef.java │ │ │ ├── KeyValueSchema.java │ │ │ ├── LiteralTTLExpression.java │ │ │ ├── MaxMutationSizeBytesExceededException.java │ │ │ ├── MaxMutationSizeExceededException.java │ │ │ ├── MaxPhoenixColumnSizeExceededException.java │ │ │ ├── MetaDataClient.java │ │ │ ├── MetaDataEntityNotFoundException.java │ │ │ ├── NewerFunctionAlreadyExistsException.java │ │ │ ├── NewerSchemaAlreadyExistsException.java │ │ │ ├── NewerTableAlreadyExistsException.java │ │ │ ├── PColumn.java │ │ │ ├── PColumnFamily.java │ │ │ ├── PColumnFamilyImpl.java │ │ │ ├── PColumnImpl.java │ │ │ ├── PDatum.java │ │ │ ├── PIndexState.java │ │ │ ├── PMetaData.java │ │ │ ├── PMetaDataCache.java │ │ │ ├── PMetaDataEntity.java │ │ │ ├── PMetaDataImpl.java │ │ │ ├── PName.java │ │ │ ├── PNameFactory.java │ │ │ ├── PNameImpl.java │ │ │ ├── PRow.java │ │ │ ├── PSynchronizedMetaData.java │ │ │ ├── PTable.java │ │ │ ├── PTableImpl.java │ │ │ ├── PTableKey.java │ │ │ ├── PTableRef.java │ │ │ ├── PTableRefFactory.java │ │ │ ├── PTableRefImpl.java │ │ │ ├── PTableType.java │ │ │ ├── ProjectedColumn.java │ │ │ ├── ReadOnlyTableException.java │ │ │ ├── RowKeySchema.java │ │ │ ├── RowKeyValueAccessor.java │ │ │ ├── RowValueConstructorOffsetInternalErrorException.java │ │ │ ├── RowValueConstructorOffsetNotAllowedInQueryException.java │ │ │ ├── RowValueConstructorOffsetNotCoercibleException.java │ │ │ ├── SaltingUtil.java │ │ │ ├── SchemaAlreadyExistsException.java │ │ │ ├── SchemaNotFoundException.java │ │ │ ├── Sequence.java │ │ │ ├── SequenceAllocation.java │ │ │ ├── SequenceAlreadyExistsException.java │ │ │ ├── SequenceInfo.java │ │ │ ├── SequenceKey.java │ │ │ ├── SequenceNotFoundException.java │ │ │ ├── SerializedPTableRef.java │ │ │ ├── SerializedPTableRefFactory.java │ │ │ ├── SortOrder.java │ │ │ ├── StaleRegionBoundaryCacheException.java │ │ │ ├── TTLExpression.java │ │ │ ├── TTLExpressionFactory.java │ │ │ ├── TableAlreadyExistsException.java │ │ │ ├── TableNotFoundException.java │ │ │ ├── TableProperty.java │ │ │ ├── TableRef.java │ │ │ ├── TablesNotInSyncException.java │ │ │ ├── TypeMismatchException.java │ │ │ ├── UpsertColumnsValuesMismatchException.java │ │ │ ├── ValueBitSet.java │ │ │ ├── ValueRangeExcpetion.java │ │ │ ├── ValueSchema.java │ │ │ ├── export │ │ │ │ ├── DefaultSchemaRegistryRepository.java │ │ │ │ ├── DefaultSchemaWriter.java │ │ │ │ ├── SchemaImporter.java │ │ │ │ ├── SchemaRegistryRepository.java │ │ │ │ ├── SchemaRegistryRepositoryFactory.java │ │ │ │ ├── SchemaWriter.java │ │ │ │ └── SchemaWriterFactory.java │ │ │ ├── metrics │ │ │ │ ├── MetricsMetadataSource.java │ │ │ │ ├── MetricsMetadataSourceFactory.java │ │ │ │ └── MetricsMetadataSourceImpl.java │ │ │ ├── stats │ │ │ │ ├── GuidePostsInfo.java │ │ │ │ ├── GuidePostsInfoBuilder.java │ │ │ │ ├── GuidePostsKey.java │ │ │ │ ├── StatisticsCollectionRunTracker.java │ │ │ │ ├── StatisticsCollectionScope.java │ │ │ │ ├── StatisticsUtil.java │ │ │ │ └── StatsCollectionDisabledOnServerException.java │ │ │ ├── task │ │ │ │ ├── SystemTaskParams.java │ │ │ │ └── Task.java │ │ │ ├── tool │ │ │ │ ├── SchemaExtractionProcessor.java │ │ │ │ ├── SchemaProcessor.java │ │ │ │ ├── SchemaSQLUtil.java │ │ │ │ ├── SchemaSynthesisProcessor.java │ │ │ │ └── SchemaTool.java │ │ │ ├── transform │ │ │ │ ├── SystemTransformRecord.java │ │ │ │ ├── TransformClient.java │ │ │ │ └── TransformMaintainer.java │ │ │ ├── tuple │ │ │ │ ├── BaseTuple.java │ │ │ │ ├── DelegateTuple.java │ │ │ │ ├── EncodedColumnQualiferCellsList.java │ │ │ │ ├── MultiKeyValueTuple.java │ │ │ │ ├── PositionBasedMultiKeyValueTuple.java │ │ │ │ ├── PositionBasedResultTuple.java │ │ │ │ ├── ResultTuple.java │ │ │ │ ├── SingleKeyValueTuple.java │ │ │ │ ├── Tuple.java │ │ │ │ └── ValueGetterTuple.java │ │ │ └── types │ │ │ │ ├── PArrayDataType.java │ │ │ │ ├── PArrayDataTypeDecoder.java │ │ │ │ ├── PArrayDataTypeEncoder.java │ │ │ │ ├── PBinary.java │ │ │ │ ├── PBinaryArray.java │ │ │ │ ├── PBinaryBase.java │ │ │ │ ├── PBoolean.java │ │ │ │ ├── PBooleanArray.java │ │ │ │ ├── PBson.java │ │ │ │ ├── PChar.java │ │ │ │ ├── PCharArray.java │ │ │ │ ├── PDataType.java │ │ │ │ ├── PDataTypeFactory.java │ │ │ │ ├── PDate.java │ │ │ │ ├── PDateArray.java │ │ │ │ ├── PDecimal.java │ │ │ │ ├── PDecimalArray.java │ │ │ │ ├── PDouble.java │ │ │ │ ├── PDoubleArray.java │ │ │ │ ├── PFloat.java │ │ │ │ ├── PFloatArray.java │ │ │ │ ├── PInteger.java │ │ │ │ ├── PIntegerArray.java │ │ │ │ ├── PJson.java │ │ │ │ ├── PLong.java │ │ │ │ ├── PLongArray.java │ │ │ │ ├── PNumericType.java │ │ │ │ ├── PRealNumber.java │ │ │ │ ├── PSmallint.java │ │ │ │ ├── PSmallintArray.java │ │ │ │ ├── PTime.java │ │ │ │ ├── PTimeArray.java │ │ │ │ ├── PTimestamp.java │ │ │ │ ├── PTimestampArray.java │ │ │ │ ├── PTinyint.java │ │ │ │ ├── PTinyintArray.java │ │ │ │ ├── PUnsignedDate.java │ │ │ │ ├── PUnsignedDateArray.java │ │ │ │ ├── PUnsignedDouble.java │ │ │ │ ├── PUnsignedDoubleArray.java │ │ │ │ ├── PUnsignedFloat.java │ │ │ │ ├── PUnsignedFloatArray.java │ │ │ │ ├── PUnsignedInt.java │ │ │ │ ├── PUnsignedIntArray.java │ │ │ │ ├── PUnsignedLong.java │ │ │ │ ├── PUnsignedLongArray.java │ │ │ │ ├── PUnsignedSmallint.java │ │ │ │ ├── PUnsignedSmallintArray.java │ │ │ │ ├── PUnsignedTime.java │ │ │ │ ├── PUnsignedTimeArray.java │ │ │ │ ├── PUnsignedTimestamp.java │ │ │ │ ├── PUnsignedTimestampArray.java │ │ │ │ ├── PUnsignedTinyint.java │ │ │ │ ├── PUnsignedTinyintArray.java │ │ │ │ ├── PVarbinary.java │ │ │ │ ├── PVarbinaryArray.java │ │ │ │ ├── PVarbinaryEncoded.java │ │ │ │ ├── PVarchar.java │ │ │ │ ├── PVarcharArray.java │ │ │ │ ├── PWholeNumber.java │ │ │ │ └── PhoenixArray.java │ │ │ ├── trace │ │ │ ├── MetricsInfoImpl.java │ │ │ ├── PhoenixMetricsSink.java │ │ │ ├── TraceReader.java │ │ │ ├── TraceSpanReceiver.java │ │ │ ├── TraceWriter.java │ │ │ ├── TracingIterator.java │ │ │ ├── TracingUtils.java │ │ │ └── util │ │ │ │ ├── ConfigurationAdapter.java │ │ │ │ ├── NullSpan.java │ │ │ │ └── Tracing.java │ │ │ ├── transaction │ │ │ ├── NotAvailableTransactionProvider.java │ │ │ ├── OmidTransactionContext.java │ │ │ ├── OmidTransactionProvider.java │ │ │ ├── OmidTransactionTable.java │ │ │ ├── PhoenixTransactionClient.java │ │ │ ├── PhoenixTransactionContext.java │ │ │ ├── PhoenixTransactionProvider.java │ │ │ └── TransactionFactory.java │ │ │ └── util │ │ │ ├── Base62Encoder.java │ │ │ ├── BigDecimalUtil.java │ │ │ ├── BitSet.java │ │ │ ├── ByteUtil.java │ │ │ ├── CDCChangeBuilder.java │ │ │ ├── CDCUtil.java │ │ │ ├── CSVCommonsLoader.java │ │ │ ├── ClientUtil.java │ │ │ ├── Closeables.java │ │ │ ├── ColumnInfo.java │ │ │ ├── ConfigUtil.java │ │ │ ├── CostUtil.java │ │ │ ├── CursorUtil.java │ │ │ ├── DateUtil.java │ │ │ ├── DefaultEnvironmentEdge.java │ │ │ ├── DeferredStringBuilder.java │ │ │ ├── EncodedColumnsUtil.java │ │ │ ├── EnvironmentEdge.java │ │ │ ├── EnvironmentEdgeManager.java │ │ │ ├── EquiDepthStreamHistogram.java │ │ │ ├── ExpressionUtil.java │ │ │ ├── FirstLastNthValueDataContainer.java │ │ │ ├── IndexUtil.java │ │ │ ├── InstanceResolver.java │ │ │ ├── JDBCUtil.java │ │ │ ├── JacksonUtil.java │ │ │ ├── LogUtil.java │ │ │ ├── MajorMinorVersion.java │ │ │ ├── ManualEnvironmentEdge.java │ │ │ ├── MetaDataUtil.java │ │ │ ├── NumberUtil.java │ │ │ ├── ParseNodeUtil.java │ │ │ ├── PhoenixContextExecutor.java │ │ │ ├── PhoenixKeyValueUtil.java │ │ │ ├── PhoenixRuntime.java │ │ │ ├── PhoenixStopWatch.java │ │ │ ├── PrefixByteCodec.java │ │ │ ├── PrefixByteDecoder.java │ │ │ ├── PrefixByteEncoder.java │ │ │ ├── PropertiesUtil.java │ │ │ ├── QueryBuilder.java │ │ │ ├── QueryUtil.java │ │ │ ├── ReadOnlyProps.java │ │ │ ├── ResultUtil.java │ │ │ ├── SQLCloseable.java │ │ │ ├── SQLCloseables.java │ │ │ ├── ScanUtil.java │ │ │ ├── SchemaUtil.java │ │ │ ├── SequenceUtil.java │ │ │ ├── SizedUtil.java │ │ │ ├── StringUtil.java │ │ │ ├── TableViewFinderResult.java │ │ │ ├── TaskMetaDataServiceCallBack.java │ │ │ ├── TimeKeeper.java │ │ │ ├── TransactionUtil.java │ │ │ ├── TrustedByteArrayOutputStream.java │ │ │ ├── TupleUtil.java │ │ │ ├── UpgradeUtil.java │ │ │ ├── UpsertExecutor.java │ │ │ ├── ValidateLastDDLTimestampUtil.java │ │ │ ├── VarBinaryFormatter.java │ │ │ ├── ViewIndexIdRetrieveUtil.java │ │ │ ├── ViewUtil.java │ │ │ ├── WALAnnotationUtil.java │ │ │ ├── csv │ │ │ ├── CsvUpsertExecutor.java │ │ │ └── StringToArrayConverter.java │ │ │ ├── i18n │ │ │ ├── LinguisticSort.java │ │ │ ├── LocaleUtils.java │ │ │ ├── OracleUpper.java │ │ │ ├── OracleUpperTable.java │ │ │ └── package-info.java │ │ │ ├── json │ │ │ ├── BsonDataFormat.java │ │ │ ├── BsonJsonProvider.java │ │ │ ├── JsonDataFormat.java │ │ │ ├── JsonDataFormatFactory.java │ │ │ ├── JsonUpsertExecutor.java │ │ │ └── ObjectToArrayConverter.java │ │ │ └── regex │ │ │ └── RegexUpsertExecutor.java │ └── overview.html │ ├── protobuf │ ├── CDCInfo.proto │ ├── ChildLinkMetaDataService.proto │ ├── DynamicColumnMetaData.proto │ ├── MetaDataService.proto │ ├── PFunction.proto │ ├── PGuidePosts.proto │ ├── PSchema.proto │ ├── PTable.proto │ ├── RegionServerEndpointService.proto │ ├── ServerCacheFactory.proto │ ├── ServerCachingService.proto │ └── TaskMetaDataService.proto │ └── resources │ ├── META-INF │ └── services │ │ ├── java.sql.Driver │ │ ├── org.apache.phoenix.monitoring.MetricPublisherSupplierFactory │ │ └── org.apache.phoenix.query.GuidePostsCacheFactory │ └── phoenix-canary-file-sink.properties ├── phoenix-core-server ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── apache │ ├── hadoop │ └── hbase │ │ ├── ipc │ │ ├── PhoenixRpcScheduler.java │ │ ├── PhoenixRpcSchedulerFactory.java │ │ ├── RpcUtil.java │ │ └── controller │ │ │ ├── InterRegionServerMetadataRpcControllerFactory.java │ │ │ └── ServerRpcControllerFactory.java │ │ └── regionserver │ │ ├── DataTableLocalIndexRegionScanner.java │ │ ├── IndexHalfStoreFileReader.java │ │ ├── IndexHalfStoreFileReaderGenerator.java │ │ ├── IndexKeyValueSkipListSet.java │ │ ├── KeyValueSkipListSet.java │ │ ├── LocalIndexSplitter.java │ │ ├── LocalIndexStoreFileScanner.java │ │ ├── ScannerContextUtil.java │ │ └── wal │ │ ├── BinaryCompatibleBaseDecoder.java │ │ ├── IndexedHLogReader.java │ │ └── IndexedWALEditCodec.java │ └── phoenix │ ├── cache │ ├── GlobalCache.java │ └── aggcache │ │ ├── SpillFile.java │ │ ├── SpillManager.java │ │ ├── SpillMap.java │ │ └── SpillableGroupByCache.java │ ├── coprocessor │ ├── AddColumnMutator.java │ ├── BaseMetaDataEndpointObserver.java │ ├── BaseRegionScanner.java │ ├── BaseScannerRegionObserver.java │ ├── CDCGlobalIndexRegionScanner.java │ ├── ChildLinkMetaDataEndpoint.java │ ├── ColumnMutator.java │ ├── CompactionScanner.java │ ├── DelegateRegionCoprocessorEnvironment.java │ ├── DelegateRegionObserver.java │ ├── DelegateRegionScanner.java │ ├── DropColumnMutator.java │ ├── GlobalIndexRegionScanner.java │ ├── GroupByCache.java │ ├── GroupedAggregateRegionObserver.java │ ├── HashJoinRegionScanner.java │ ├── IndexRebuildRegionScanner.java │ ├── IndexRepairRegionScanner.java │ ├── IndexToolVerificationResult.java │ ├── IndexerRegionScanner.java │ ├── MetaDataEndpointImpl.java │ ├── MetaDataEndpointObserver.java │ ├── MetaDataRegionObserver.java │ ├── OmidGCProcessor.java │ ├── OmidTransactionalProcessor.java │ ├── PagingRegionScanner.java │ ├── PhoenixAccessController.java │ ├── PhoenixCoprocessor.java │ ├── PhoenixMasterObserver.java │ ├── PhoenixMetaDataCoprocessorHost.java │ ├── PhoenixRegionServerEndpoint.java │ ├── PhoenixTTLRegionObserver.java │ ├── ReplicationSinkEndpoint.java │ ├── ScanRegionObserver.java │ ├── SequenceRegionObserver.java │ ├── ServerCachingEndpointImpl.java │ ├── SuffixFilter.java │ ├── SystemCatalogRegionObserver.java │ ├── TTLRegionScanner.java │ ├── TaskMetaDataEndpoint.java │ ├── TaskRegionObserver.java │ ├── TephraTransactionalProcessor.java │ ├── UncoveredGlobalIndexRegionScanner.java │ ├── UncoveredIndexRegionScanner.java │ ├── UncoveredLocalIndexRegionScanner.java │ ├── UngroupedAggregateRegionObserver.java │ ├── UngroupedAggregateRegionScanner.java │ ├── VerifyLastDDLTimestamp.java │ └── tasks │ │ ├── BaseTask.java │ │ ├── CdcStreamPartitionMetadataTask.java │ │ ├── DropChildViewsTask.java │ │ ├── IndexRebuildTask.java │ │ └── TransformMonitorTask.java │ ├── hbase │ └── index │ │ ├── CapturingAbortable.java │ │ ├── IndexRegionObserver.java │ │ ├── IndexRegionSplitPolicy.java │ │ ├── Indexer.java │ │ ├── LockManager.java │ │ ├── balancer │ │ └── IndexLoadBalancer.java │ │ ├── builder │ │ ├── BaseIndexBuilder.java │ │ ├── IndexBuildManager.java │ │ └── IndexBuilder.java │ │ ├── covered │ │ ├── CoveredColumns.java │ │ ├── LocalTableState.java │ │ ├── NonTxIndexBuilder.java │ │ └── data │ │ │ ├── CachedLocalTable.java │ │ │ └── IndexMemStore.java │ │ ├── parallel │ │ └── ThreadPoolManager.java │ │ ├── wal │ │ ├── IndexedKeyValue.java │ │ └── KeyValueCodec.java │ │ └── write │ │ ├── AbstractParallelWriterIndexCommitter.java │ │ ├── DelegateIndexFailurePolicy.java │ │ ├── IndexCommitter.java │ │ ├── IndexFailurePolicy.java │ │ ├── IndexWriter.java │ │ ├── IndexWriterUtils.java │ │ ├── KillServerOnFailurePolicy.java │ │ ├── LazyParallelWriterIndexCommitter.java │ │ ├── LeaveIndexActiveFailurePolicy.java │ │ ├── ParallelWriterIndexCommitter.java │ │ ├── RecoveryIndexWriter.java │ │ ├── TrackingParallelWriterIndexCommitter.java │ │ └── recovery │ │ ├── PerRegionIndexWriteCache.java │ │ └── StoreFailuresInCachePolicy.java │ ├── index │ ├── GlobalIndexChecker.java │ ├── PhoenixIndexBuilder.java │ ├── PhoenixIndexFailurePolicy.java │ ├── PhoenixIndexMetaDataBuilder.java │ └── PhoenixTransactionalIndexer.java │ ├── iterate │ ├── MapReduceParallelScanGrouper.java │ ├── NonAggregateRegionScannerFactory.java │ ├── RegionScannerFactory.java │ ├── RegionScannerResultIterator.java │ ├── SnapshotScanner.java │ └── TableSnapshotResultIterator.java │ ├── mapreduce │ ├── AbstractBulkLoadTool.java │ ├── CsvBulkImportUtil.java │ ├── CsvBulkLoadTool.java │ ├── CsvToKeyValueMapper.java │ ├── FormatToBytesWritableMapper.java │ ├── FormatToKeyValueReducer.java │ ├── ImportPreUpsertKeyValueProcessor.java │ ├── JsonBulkLoadTool.java │ ├── JsonToKeyValueMapper.java │ ├── MultiHfileOutputFormat.java │ ├── OrphanViewTool.java │ ├── PhoenixInputFormat.java │ ├── PhoenixInputSplit.java │ ├── PhoenixJobCounters.java │ ├── PhoenixMultiViewInputFormat.java │ ├── PhoenixMultiViewInputSplit.java │ ├── PhoenixMultiViewReader.java │ ├── PhoenixOutputCommitter.java │ ├── PhoenixOutputFormat.java │ ├── PhoenixRecordReader.java │ ├── PhoenixRecordWritable.java │ ├── PhoenixRecordWriter.java │ ├── PhoenixServerBuildIndexInputFormat.java │ ├── PhoenixTTLDeleteJobMapper.java │ ├── PhoenixTTLTool.java │ ├── PhoenixTextInputFormat.java │ ├── RegexBulkLoadTool.java │ ├── RegexToKeyValueMapper.java │ ├── bulkload │ │ ├── TableRowkeyPair.java │ │ ├── TargetTableRef.java │ │ └── TargetTableRefFunctions.java │ ├── index │ │ ├── DirectHTableWriter.java │ │ ├── IndexScrutinyMapper.java │ │ ├── IndexScrutinyMapperForTest.java │ │ ├── IndexScrutinyTableOutput.java │ │ ├── IndexScrutinyTool.java │ │ ├── IndexTool.java │ │ ├── IndexToolUtil.java │ │ ├── IndexUpgradeTool.java │ │ ├── IndexVerificationOutputRepository.java │ │ ├── IndexVerificationOutputRow.java │ │ ├── IndexVerificationResultRepository.java │ │ ├── PhoenixIndexDBWritable.java │ │ ├── PhoenixIndexImportDirectMapper.java │ │ ├── PhoenixIndexImportDirectReducer.java │ │ ├── PhoenixIndexPartialBuildMapper.java │ │ ├── PhoenixIndexToolJobCounters.java │ │ ├── PhoenixScrutinyJobCounters.java │ │ ├── PhoenixServerBuildIndexDBWritable.java │ │ ├── PhoenixServerBuildIndexMapper.java │ │ ├── SourceTargetColumnNames.java │ │ └── automation │ │ │ ├── PhoenixAsyncIndex.java │ │ │ ├── PhoenixMRJobCallable.java │ │ │ ├── PhoenixMRJobSubmitter.java │ │ │ └── YarnApplication.java │ ├── transform │ │ ├── PhoenixTransformReducer.java │ │ ├── PhoenixTransformRepairMapper.java │ │ ├── PhoenixTransformWithViewsInputFormat.java │ │ └── TransformTool.java │ └── util │ │ ├── ColumnInfoToStringEncoderDecoder.java │ │ ├── DefaultMultiViewJobStatusTracker.java │ │ ├── DefaultMultiViewSplitStrategy.java │ │ ├── DefaultPhoenixMultiViewListProvider.java │ │ ├── IndexColumnNames.java │ │ ├── MultiViewJobStatusTracker.java │ │ ├── MultiViewSplitStrategy.java │ │ ├── PhoenixConfigurationUtil.java │ │ ├── PhoenixMapReduceUtil.java │ │ ├── PhoenixMultiInputUtil.java │ │ ├── PhoenixMultiViewListProvider.java │ │ ├── ViewInfoTracker.java │ │ └── ViewInfoWritable.java │ ├── replication │ └── SystemCatalogWALEntryFilter.java │ ├── schema │ ├── MetaDataSplitPolicy.java │ ├── SplitOnLeadingVarCharColumnsPolicy.java │ ├── SystemFunctionSplitPolicy.java │ ├── SystemStatsSplitPolicy.java │ ├── SystemTaskSplitPolicy.java │ ├── stats │ │ ├── DefaultStatisticsCollector.java │ │ ├── NoOpStatisticsCollector.java │ │ ├── StatisticsCollector.java │ │ ├── StatisticsCollectorFactory.java │ │ ├── StatisticsScanner.java │ │ ├── StatisticsWriter.java │ │ └── UpdateStatisticsTool.java │ ├── task │ │ └── ServerTask.java │ └── transform │ │ └── Transform.java │ └── util │ ├── MergeViewIndexIdSequencesTool.java │ ├── PhoenixMRJobUtil.java │ ├── RepairUtil.java │ ├── ServerIndexUtil.java │ ├── ServerUtil.java │ ├── ServerViewUtil.java │ └── ZKBasedMasterElectionUtil.java ├── phoenix-core ├── pom.xml └── src │ ├── it │ ├── java │ │ └── org │ │ │ └── apache │ │ │ ├── hadoop │ │ │ └── hbase │ │ │ │ └── regionserver │ │ │ │ └── wal │ │ │ │ ├── WALRecoveryRegionPostOpenIT.java │ │ │ │ └── WALReplayWithIndexWritesAndCompressedWALIT.java │ │ │ └── phoenix │ │ │ ├── Sandbox.java │ │ │ ├── cache │ │ │ └── ServerMetadataCacheIT.java │ │ │ ├── coprocessor │ │ │ └── StatisticsCollectionRunTrackerIT.java │ │ │ ├── end2end │ │ │ ├── AbsFunctionEnd2EndIT.java │ │ │ ├── AggregateIT.java │ │ │ ├── AggregateQueryIT.java │ │ │ ├── AggregateQueryWithRegionMoves2IT.java │ │ │ ├── AggregateQueryWithRegionMovesIT.java │ │ │ ├── AggregateWithRegionMoves2IT.java │ │ │ ├── AggregateWithRegionMovesIT.java │ │ │ ├── AlterAddCascadeIndexIT.java │ │ │ ├── AlterMultiTenantTableWithViewsIT.java │ │ │ ├── AlterSessionIT.java │ │ │ ├── AlterTableIT.java │ │ │ ├── AlterTableWithViewsIT.java │ │ │ ├── AppendOnlySchemaIT.java │ │ │ ├── ArithmeticQueryIT.java │ │ │ ├── Array1IT.java │ │ │ ├── Array2IT.java │ │ │ ├── Array3IT.java │ │ │ ├── ArrayAppendFunctionIT.java │ │ │ ├── ArrayConcatFunctionIT.java │ │ │ ├── ArrayFillFunctionIT.java │ │ │ ├── ArrayIT.java │ │ │ ├── ArrayPrependFunctionIT.java │ │ │ ├── ArrayRemoveFunctionIT.java │ │ │ ├── ArrayToStringFunctionIT.java │ │ │ ├── ArraysWithNullsIT.java │ │ │ ├── AuditLoggingIT.java │ │ │ ├── AutoCommitIT.java │ │ │ ├── AutoPartitionViewsIT.java │ │ │ ├── BackwardCompatibilityForSplittableSyscatIT.java │ │ │ ├── BackwardCompatibilityIT.java │ │ │ ├── BackwardCompatibilityTestUtil.java │ │ │ ├── BaseAggregateIT.java │ │ │ ├── BaseAggregateWithRegionMoves2IT.java │ │ │ ├── BaseAggregateWithRegionMoves3IT.java │ │ │ ├── BaseAggregateWithRegionMoves4IT.java │ │ │ ├── BaseAggregateWithRegionMovesIT.java │ │ │ ├── BaseMutationBatchFailedStateMetricIT.java │ │ │ ├── BaseOrderByIT.java │ │ │ ├── BaseOrderByWithRegionMovesIT.java │ │ │ ├── BaseOwnClusterIT.java │ │ │ ├── BasePermissionsIT.java │ │ │ ├── BaseQueryIT.java │ │ │ ├── BaseQueryWithRegionMovesIT.java │ │ │ ├── BaseRowKeyMatcherTestIT.java │ │ │ ├── BaseTenantSpecificTablesIT.java │ │ │ ├── BaseTenantSpecificViewIndexIT.java │ │ │ ├── BaseViewIT.java │ │ │ ├── BaseViewTTLIT.java │ │ │ ├── BinaryRowKeyIT.java │ │ │ ├── BinaryStringLiteralIT.java │ │ │ ├── BlockedUpgradeIT.java │ │ │ ├── Bson1IT.java │ │ │ ├── Bson2IT.java │ │ │ ├── Bson3IT.java │ │ │ ├── Bson4IT.java │ │ │ ├── CDCBaseIT.java │ │ │ ├── CDCDefinitionIT.java │ │ │ ├── CDCQueryIT.java │ │ │ ├── CDCStreamIT.java │ │ │ ├── CSVCommonsLoaderIT.java │ │ │ ├── CaseStatementIT.java │ │ │ ├── CastAndCoerceIT.java │ │ │ ├── CbrtFunctionEnd2EndIT.java │ │ │ ├── ClientHashAggregateIT.java │ │ │ ├── CoalesceFunctionIT.java │ │ │ ├── CollationKeyFunctionIT.java │ │ │ ├── ColumnEncodedBytesPropIT.java │ │ │ ├── ColumnProjectionOptimizationIT.java │ │ │ ├── ConcurrentGetTablesIT.java │ │ │ ├── ConcurrentMutationsExtendedIT.java │ │ │ ├── ConcurrentMutationsIT.java │ │ │ ├── ConcurrentUpsertsWithoutIndexedColsIT.java │ │ │ ├── ConfigurableCacheIT.java │ │ │ ├── ConnectionIT.java │ │ │ ├── ConnectionQueryServicesTestImpl.java │ │ │ ├── ConnectionUtilIT.java │ │ │ ├── ContextClassloaderIT.java │ │ │ ├── ConvertTimezoneFunctionIT.java │ │ │ ├── CostBasedDecisionIT.java │ │ │ ├── CountDistinctApproximateHyperLogLogIT.java │ │ │ ├── CountDistinctCompressionIT.java │ │ │ ├── CreateSchemaIT.java │ │ │ ├── CreateTableIT.java │ │ │ ├── CsvBulkLoadToolIT.java │ │ │ ├── CursorWithRowValueConstructorIT.java │ │ │ ├── CustomEntityDataIT.java │ │ │ ├── DateArithmeticIT.java │ │ │ ├── DateTimeIT.java │ │ │ ├── DecodeBinaryFunctionIT.java │ │ │ ├── DecodeFunctionIT.java │ │ │ ├── DefaultColumnValueIT.java │ │ │ ├── DefaultPhoenixMultiViewListProviderIT.java │ │ │ ├── DeleteIT.java │ │ │ ├── DerivedTableIT.java │ │ │ ├── DescOrderKeysIT.java │ │ │ ├── DisableLocalIndexIT.java │ │ │ ├── DistinctCountIT.java │ │ │ ├── DistinctPrefixFilterIT.java │ │ │ ├── DropIndexedColsIT.java │ │ │ ├── DropSchemaIT.java │ │ │ ├── DropTableIT.java │ │ │ ├── DropTableWithViewsIT.java │ │ │ ├── DynamicColumnIT.java │ │ │ ├── DynamicColumnWildcardIT.java │ │ │ ├── DynamicFamilyIT.java │ │ │ ├── DynamicUpsertIT.java │ │ │ ├── EmptyColumnIT.java │ │ │ ├── EncodeBinaryFunctionIT.java │ │ │ ├── EncodeFunctionIT.java │ │ │ ├── End2EndTestDriver.java │ │ │ ├── EvaluationOfORIT.java │ │ │ ├── ExecuteStatementsIT.java │ │ │ ├── ExpFunctionEnd2EndIT.java │ │ │ ├── ExplainPlanWithStatsDisabledIT.java │ │ │ ├── ExplainPlanWithStatsEnabledIT.java │ │ │ ├── ExtendedQueryExecIT.java │ │ │ ├── FailingPhoenixRegionServerEndpoint.java │ │ │ ├── FirstValueFunctionIT.java │ │ │ ├── FirstValuesFunctionIT.java │ │ │ ├── FlappingAlterTableIT.java │ │ │ ├── FlappingLocalIndexIT.java │ │ │ ├── FunkyNamesIT.java │ │ │ ├── GetSetByteBitFunctionEnd2EndIT.java │ │ │ ├── GetSetObjectIT.java │ │ │ ├── GlobalConnectionTenantTableIT.java │ │ │ ├── GroupByIT.java │ │ │ ├── ImmutableTableIT.java │ │ │ ├── ImmutableTablePropertiesIT.java │ │ │ ├── InListIT.java │ │ │ ├── InQueryIT.java │ │ │ ├── IndexBuildTimestampIT.java │ │ │ ├── IndexExtendedIT.java │ │ │ ├── IndexRebuildTaskIT.java │ │ │ ├── IndexRepairRegionScannerIT.java │ │ │ ├── IndexScrutinyToolBaseIT.java │ │ │ ├── IndexScrutinyToolForTenantIT.java │ │ │ ├── IndexScrutinyToolIT.java │ │ │ ├── IndexScrutinyWithMaxLookbackIT.java │ │ │ ├── IndexToolForDeleteBeforeRebuildIT.java │ │ │ ├── IndexToolForNonTxGlobalIndexIT.java │ │ │ ├── IndexToolForPartialBuildIT.java │ │ │ ├── IndexToolForPartialBuildWithNamespaceEnabledIT.java │ │ │ ├── IndexToolIT.java │ │ │ ├── IndexToolTimeRangeIT.java │ │ │ ├── IndexUpgradeToolIT.java │ │ │ ├── IndexVerificationOldDesignIT.java │ │ │ ├── IndexWithDefaultValueIT.java │ │ │ ├── InstrFunctionIT.java │ │ │ ├── IntArithmeticIT.java │ │ │ ├── InvalidateMetadataCacheIT.java │ │ │ ├── IsNullIT.java │ │ │ ├── KeyOnlyIT.java │ │ │ ├── LastValueFunctionIT.java │ │ │ ├── LastValuesFunctionIT.java │ │ │ ├── LikeExpressionIT.java │ │ │ ├── LnLogFunctionEnd2EndIT.java │ │ │ ├── LoadSystemTableSnapshotBase.java │ │ │ ├── LocalIndexSplitMergeIT.java │ │ │ ├── LogicalTableNameBaseIT.java │ │ │ ├── LogicalTableNameExtendedIT.java │ │ │ ├── LogicalTableNameIT.java │ │ │ ├── LongViewIndexDisabledBaseRowKeyMatcherIT.java │ │ │ ├── LongViewIndexEnabledBaseRowKeyMatcherIT.java │ │ │ ├── MD5FunctionIT.java │ │ │ ├── MapReduceIT.java │ │ │ ├── MappingTableDataTypeIT.java │ │ │ ├── MathPIFunctionEnd2EndIT.java │ │ │ ├── MathTrigFunctionEnd2EndIT.java │ │ │ ├── MaxLookbackExtendedIT.java │ │ │ ├── MaxLookbackIT.java │ │ │ ├── MergeViewIndexIdSequencesToolIT.java │ │ │ ├── MetaDataEndPointIT.java │ │ │ ├── MetaDataEndpointImplIT.java │ │ │ ├── MetadataGetTableReadLockIT.java │ │ │ ├── MetadataServerConnectionsIT.java │ │ │ ├── MigrateSystemTablesToSystemNamespaceIT.java │ │ │ ├── MinMaxAggregateFunctionIT.java │ │ │ ├── MixedCaseInnerJoinAliasesIT.java │ │ │ ├── ModulusExpressionIT.java │ │ │ ├── MoveTTLDuringUpgradeIT.java │ │ │ ├── MultiCfQueryExecIT.java │ │ │ ├── MutationBatchFailedStateMetricWithAllDeleteIT.java │ │ │ ├── MutationBatchFailedStateMetricWithAllUpsertIT.java │ │ │ ├── MutationBatchFailedStateMetricWithDeleteAndUpsertIT.java │ │ │ ├── MutationStateIT.java │ │ │ ├── NamespaceSchemaMappingIT.java │ │ │ ├── NativeHBaseTypesIT.java │ │ │ ├── NeedsOwnMiniClusterTest.java │ │ │ ├── NoLookbackMutableIndexExtendedIT.java │ │ │ ├── NonParameterizedIndexScrutinyToolIT.java │ │ │ ├── NotQueryIT.java │ │ │ ├── NotQueryWithGlobalImmutableIndexesIT.java │ │ │ ├── NotQueryWithLocalImmutableIndexesIT.java │ │ │ ├── NthValueFunctionIT.java │ │ │ ├── NullIT.java │ │ │ ├── NumericArithmeticIT.java │ │ │ ├── OctetLengthFunctionEnd2EndIT.java │ │ │ ├── OnDuplicateKey2IT.java │ │ │ ├── OnDuplicateKeyIT.java │ │ │ ├── OperationTimeoutWithReasonIT.java │ │ │ ├── OrderByIT.java │ │ │ ├── OrderByWithRegionMovesIT.java │ │ │ ├── OrderByWithServerClientSpoolingDisabledIT.java │ │ │ ├── OrderByWithServerMemoryLimitIT.java │ │ │ ├── OrderByWithSpillingIT.java │ │ │ ├── OrphanViewToolIT.java │ │ │ ├── ParallelIteratorsIT.java │ │ │ ├── ParallelStatsDisabledIT.java │ │ │ ├── ParallelStatsDisabledTest.java │ │ │ ├── ParallelStatsDisabledWithRegionMovesIT.java │ │ │ ├── ParallelStatsEnabledIT.java │ │ │ ├── ParallelStatsEnabledTest.java │ │ │ ├── ParameterizedIndexUpgradeToolIT.java │ │ │ ├── PartialResultServerConfigurationIT.java │ │ │ ├── PartialScannerResultsDisabledIT.java │ │ │ ├── PercentileIT.java │ │ │ ├── PermissionNSDisabledIT.java │ │ │ ├── PermissionNSDisabledWithCustomAccessControllerIT.java │ │ │ ├── PermissionNSEnabledIT.java │ │ │ ├── PermissionNSEnabledWithCustomAccessControllerIT.java │ │ │ ├── PermissionsCacheIT.java │ │ │ ├── PhoenixDriverIT.java │ │ │ ├── PhoenixRegionServerEndpointIT.java │ │ │ ├── PhoenixRegionServerEndpointTestImpl.java │ │ │ ├── PhoenixRowTimestampFunctionIT.java │ │ │ ├── PhoenixRuntimeIT.java │ │ │ ├── PhoenixTTLToolIT.java │ │ │ ├── PointInTimeQueryIT.java │ │ │ ├── PointInTimeScanQueryIT.java │ │ │ ├── PowerFunctionEnd2EndIT.java │ │ │ ├── PreMatureTimelyAbortScanIt.java │ │ │ ├── PrimitiveTypeIT.java │ │ │ ├── ProductMetricsIT.java │ │ │ ├── ProjectArrayElemAfterHashJoinIT.java │ │ │ ├── PropertiesInSyncIT.java │ │ │ ├── QueryDatabaseMetaDataIT.java │ │ │ ├── QueryExecWithoutSCNIT.java │ │ │ ├── QueryIT.java │ │ │ ├── QueryLoggerIT.java │ │ │ ├── QueryMoreIT.java │ │ │ ├── QueryTimeoutIT.java │ │ │ ├── QueryWithLimitIT.java │ │ │ ├── QueryWithOffsetIT.java │ │ │ ├── QueryWithTableSampleIT.java │ │ │ ├── RTrimFunctionIT.java │ │ │ ├── RangeScanIT.java │ │ │ ├── ReadIsolationLevelIT.java │ │ │ ├── ReadOnlyIT.java │ │ │ ├── ReadOnlyViewOnReadOnlyIT.java │ │ │ ├── RebuildIndexConnectionPropsIT.java │ │ │ ├── RegexBulkLoadToolIT.java │ │ │ ├── RegexpReplaceFunctionIT.java │ │ │ ├── RegexpSplitFunctionIT.java │ │ │ ├── RegexpSubstrFunctionIT.java │ │ │ ├── RenewLeaseIT.java │ │ │ ├── ReverseFunctionIT.java │ │ │ ├── ReverseScanIT.java │ │ │ ├── RoundFloorCeilFuncIT.java │ │ │ ├── RowKeyBytesStringFunctionIT.java │ │ │ ├── RowTimestampIT.java │ │ │ ├── RowValueConstructorIT.java │ │ │ ├── RowValueConstructorOffsetIT.java │ │ │ ├── RowValueConstructorOffsetOptionalIT.java │ │ │ ├── SCNIT.java │ │ │ ├── ScanUncommittedWithRegionMovesIT.java │ │ │ ├── SchemaRegistryFailureIT.java │ │ │ ├── SequenceBulkAllocationIT.java │ │ │ ├── SequenceIT.java │ │ │ ├── SequencePointInTimeIT.java │ │ │ ├── SerialIteratorsIT.java │ │ │ ├── ServerExceptionIT.java │ │ │ ├── ServerMetadataCacheTestImpl.java │ │ │ ├── ServerPagingIT.java │ │ │ ├── ServerPagingWithRegionMovesIT.java │ │ │ ├── SetPropertyIT.java │ │ │ ├── SetPropertyOnEncodedTableIT.java │ │ │ ├── SetPropertyOnNonEncodedTableIT.java │ │ │ ├── Shadower.java │ │ │ ├── ShowCreateTableIT.java │ │ │ ├── SignFunctionEnd2EndIT.java │ │ │ ├── SkipBlockUpgradeCheckIT.java │ │ │ ├── SkipScanAfterManualSplitIT.java │ │ │ ├── SkipScanQueryIT.java │ │ │ ├── SortMergeJoinMoreIT.java │ │ │ ├── SortOrderIT.java │ │ │ ├── SortOrderWithRegionMoves2IT.java │ │ │ ├── SortOrderWithRegionMovesIT.java │ │ │ ├── SpillableGroupByIT.java │ │ │ ├── SplitSystemCatalogIT.java │ │ │ ├── SpooledTmpFileDeleteIT.java │ │ │ ├── SqrtFunctionEnd2EndIT.java │ │ │ ├── StatementHintsIT.java │ │ │ ├── StatsEnabledSplitSystemCatalogIT.java │ │ │ ├── StddevIT.java │ │ │ ├── StoreNullsIT.java │ │ │ ├── StoreNullsPropIT.java │ │ │ ├── StringIT.java │ │ │ ├── StringToArrayFunctionIT.java │ │ │ ├── SubBinaryFunctionIT.java │ │ │ ├── SumFunctionIT.java │ │ │ ├── SyncUpdateCacheFreqIT.java │ │ │ ├── SystemCatalogRegionObserverIT.java │ │ │ ├── SystemCatalogRollbackEnabledIT.java │ │ │ ├── SystemTablesCreationOnConnectionIT.java │ │ │ ├── SystemTablesUpgradeIT.java │ │ │ ├── TTLAsPhoenixTTLIT.java │ │ │ ├── TTLIT.java │ │ │ ├── TableSnapshotReadsMapReduceIT.java │ │ │ ├── TableTTLIT.java │ │ │ ├── TenantIdTypeIT.java │ │ │ ├── TenantSpecificTablesDDLIT.java │ │ │ ├── TenantSpecificTablesDMLIT.java │ │ │ ├── TenantSpecificViewIndexIT.java │ │ │ ├── TenantSpecificViewIndexSaltedIT.java │ │ │ ├── TestUpsertBindNullParamToCaseExprIT.java │ │ │ ├── TimeZoneDisplacementIT.java │ │ │ ├── TimezoneOffsetFunctionIT.java │ │ │ ├── ToCharFunctionIT.java │ │ │ ├── ToDateFunctionIT.java │ │ │ ├── ToNumberFunctionIT.java │ │ │ ├── TopNIT.java │ │ │ ├── TransactionalViewIT.java │ │ │ ├── TruncateFunctionIT.java │ │ │ ├── UCFWithDisabledIndexIT.java │ │ │ ├── UCFWithDisabledIndexWithDDLValidationIT.java │ │ │ ├── UncoveredIndexWithRegionMovesIT.java │ │ │ ├── UngroupedIT.java │ │ │ ├── UnionAllIT.java │ │ │ ├── UnnestArrayIT.java │ │ │ ├── UpdatableViewRestrictionsIT.java │ │ │ ├── UpdateCacheAcrossDifferentClientsIT.java │ │ │ ├── UpgradeFromSnapshotIT.java │ │ │ ├── UpgradeIT.java │ │ │ ├── UpgradeNamespaceIT.java │ │ │ ├── UpperLowerFunctionIT.java │ │ │ ├── UpsertBigValuesIT.java │ │ │ ├── UpsertSelectAutoCommitIT.java │ │ │ ├── UpsertSelectIT.java │ │ │ ├── UpsertSelectWithRegionMovesIT.java │ │ │ ├── UpsertValuesIT.java │ │ │ ├── UpsertWithSCNIT.java │ │ │ ├── UseSchemaIT.java │ │ │ ├── UserDefinedFunctionsIT.java │ │ │ ├── VarBinaryEncoded1IT.java │ │ │ ├── VarBinaryEncoded2IT.java │ │ │ ├── VariableLengthPKIT.java │ │ │ ├── ViewConcurrencyAndFailureIT.java │ │ │ ├── ViewExtendsPkRestrictionsIT.java │ │ │ ├── ViewIT.java │ │ │ ├── ViewIndexIdRetrieveIT.java │ │ │ ├── ViewMetadataIT.java │ │ │ ├── ViewTTLIT.java │ │ │ ├── ViewTTLNotEnabledIT.java │ │ │ ├── ViewTTLWithLongViewIndexEnabledIT.java │ │ │ ├── ViewUtilIT.java │ │ │ ├── WALAnnotationIT.java │ │ │ ├── index │ │ │ │ ├── AlterIndexIT.java │ │ │ │ ├── AsyncIndexDisabledIT.java │ │ │ │ ├── BaseIndexIT.java │ │ │ │ ├── BaseIndexWithRegionMovesIT.java │ │ │ │ ├── BaseLocalIndexIT.java │ │ │ │ ├── ChildViewsUseParentViewIndexIT.java │ │ │ │ ├── DropColumnIT.java │ │ │ │ ├── DropIndexDuringUpsertIT.java │ │ │ │ ├── DropMetadataIT.java │ │ │ │ ├── GlobalImmutableNonTxIndexIT.java │ │ │ │ ├── GlobalImmutableNonTxIndexWithRegionMovesIT.java │ │ │ │ ├── GlobalImmutableTxIndexIT.java │ │ │ │ ├── GlobalImmutableTxIndexWithRegionMovesIT.java │ │ │ │ ├── GlobalIndexCheckerIT.java │ │ │ │ ├── GlobalIndexCheckerWithRegionMovesIT.java │ │ │ │ ├── GlobalIndexOptimizationIT.java │ │ │ │ ├── GlobalMutableNonTxIndexIT.java │ │ │ │ ├── GlobalMutableNonTxIndexWithLazyPostBatchWriteIT.java │ │ │ │ ├── GlobalMutableNonTxIndexWithRegionMovesIT.java │ │ │ │ ├── GlobalMutableTxIndexIT.java │ │ │ │ ├── ImmutableIndexExtendedIT.java │ │ │ │ ├── ImmutableIndexIT.java │ │ │ │ ├── ImmutableIndexWithStatsIT.java │ │ │ │ ├── IndexAsyncThresholdIT.java │ │ │ │ ├── IndexCoprocIT.java │ │ │ │ ├── IndexMaintenanceIT.java │ │ │ │ ├── IndexMetadataIT.java │ │ │ │ ├── IndexRebuildIncrementDisableCountIT.java │ │ │ │ ├── IndexTestUtil.java │ │ │ │ ├── IndexTwoPhaseCreateIT.java │ │ │ │ ├── IndexUsageIT.java │ │ │ │ ├── IndexVerificationOutputRepositoryIT.java │ │ │ │ ├── IndexVerificationResultRepositoryIT.java │ │ │ │ ├── IndexWithTableSchemaChangeIT.java │ │ │ │ ├── InvalidIndexStateClientSideIT.java │ │ │ │ ├── LocalImmutableNonTxIndexIT.java │ │ │ │ ├── LocalImmutableTxIndexIT.java │ │ │ │ ├── LocalIndexIT.java │ │ │ │ ├── LocalMutableNonTxIndexIT.java │ │ │ │ ├── LocalMutableTxIndexIT.java │ │ │ │ ├── MutableIndexExtendedIT.java │ │ │ │ ├── MutableIndexFailureIT.java │ │ │ │ ├── MutableIndexFailureWithNamespaceIT.java │ │ │ │ ├── MutableIndexIT.java │ │ │ │ ├── MutableIndexRebuilderIT.java │ │ │ │ ├── MutableIndexReplicationIT.java │ │ │ │ ├── MutableIndexSplitForwardScanIT.java │ │ │ │ ├── MutableIndexSplitIT.java │ │ │ │ ├── MutableIndexSplitReverseScanIT.java │ │ │ │ ├── PartialIndexIT.java │ │ │ │ ├── PartialIndexRebuilderIT.java │ │ │ │ ├── PartialSystemCatalogIndexIT.java │ │ │ │ ├── PhoenixMRJobSubmitterIT.java │ │ │ │ ├── ReplicationWithWALAnnotationIT.java │ │ │ │ ├── SaltedIndexIT.java │ │ │ │ ├── ShortViewIndexIdIT.java │ │ │ │ ├── SingleCellIndexIT.java │ │ │ │ ├── UncoveredGlobalImmutableNonTxIndex2IT.java │ │ │ │ ├── UncoveredGlobalImmutableNonTxIndexIT.java │ │ │ │ ├── UncoveredGlobalIndexRegionScanner2IT.java │ │ │ │ ├── UncoveredGlobalIndexRegionScannerIT.java │ │ │ │ ├── UncoveredGlobalMutableNonTxIndexIT.java │ │ │ │ ├── ViewIndexIT.java │ │ │ │ └── txn │ │ │ │ │ ├── MutableRollbackIT.java │ │ │ │ │ ├── RollbackIT.java │ │ │ │ │ └── TxWriteFailureIT.java │ │ │ ├── join │ │ │ │ ├── BaseJoinIT.java │ │ │ │ ├── HashJoinCacheIT.java │ │ │ │ ├── HashJoinGlobalIndexIT.java │ │ │ │ ├── HashJoinIT.java │ │ │ │ ├── HashJoinLocalIndexIT.java │ │ │ │ ├── HashJoinMoreIT.java │ │ │ │ ├── HashJoinNoIndexIT.java │ │ │ │ ├── HashJoinPersistentCacheIT.java │ │ │ │ ├── SortMergeJoinGlobalIndexIT.java │ │ │ │ ├── SortMergeJoinIT.java │ │ │ │ ├── SortMergeJoinLocalIndexIT.java │ │ │ │ ├── SortMergeJoinNoIndexIT.java │ │ │ │ ├── SortMergeJoinNoSpoolingIT.java │ │ │ │ ├── SubqueryIT.java │ │ │ │ ├── SubqueryUsingSortMergeJoinIT.java │ │ │ │ └── WhereOptimizerForJoinFiltersIT.java │ │ │ ├── json │ │ │ │ └── JsonFunctionsIT.java │ │ │ ├── salted │ │ │ │ ├── BaseSaltedTableIT.java │ │ │ │ ├── SaltedTableIT.java │ │ │ │ ├── SaltedTableMergeBucketsIT.java │ │ │ │ ├── SaltedTableUpsertSelectIT.java │ │ │ │ ├── SaltedTableVarLengthRowKeyIT.java │ │ │ │ └── SaltedTableWithParallelStatsEnabledIT.java │ │ │ └── transform │ │ │ │ ├── TransformIT.java │ │ │ │ ├── TransformMonitorExtendedIT.java │ │ │ │ ├── TransformMonitorIT.java │ │ │ │ └── TransformToolIT.java │ │ │ ├── execute │ │ │ ├── PartialCommitIT.java │ │ │ └── UpsertSelectOverlappingBatchesIT.java │ │ │ ├── hbase │ │ │ └── index │ │ │ │ ├── FailForUnsupportedHBaseVersionsIT.java │ │ │ │ └── write │ │ │ │ └── TestTrackingParallelWriterIndexCommitter.java │ │ │ ├── iterate │ │ │ ├── ChunkedResultIteratorIT.java │ │ │ ├── DelayedTableResultIteratorFactory.java │ │ │ ├── MockParallelIteratorFactory.java │ │ │ ├── MockResultIterator.java │ │ │ ├── PhoenixQueryTimeoutIT.java │ │ │ ├── RenewLeaseOnlyTableIterator.java │ │ │ ├── RoundRobinResultIteratorIT.java │ │ │ ├── RoundRobinResultIteratorWithStatsIT.java │ │ │ └── ScannerLeaseRenewalIT.java │ │ │ ├── jdbc │ │ │ ├── ClusterRoleRecordGeneratorToolIT.java │ │ │ ├── FailoverPhoenixConnection2IT.java │ │ │ ├── FailoverPhoenixConnectionIT.java │ │ │ ├── HAConnectionWithMasterAndRPCRegistryIT.java │ │ │ ├── HAGroupStoreClientIT.java │ │ │ ├── HAGroupStoreManagerIT.java │ │ │ ├── HighAvailabilityGroup2IT.java │ │ │ ├── HighAvailabilityGroupIT.java │ │ │ ├── HighAvailabilityGroupTestIT.java │ │ │ ├── HighAvailabilityTestingUtility.java │ │ │ ├── HighAvailabilityTestingUtilityIT.java │ │ │ ├── LoggingConnectionLimiterIT.java │ │ │ ├── LoggingHAConnectionLimiterIT.java │ │ │ ├── LoggingSingleConnectionLimiterIT.java │ │ │ ├── ParallelPhoenixConnectionFallbackIT.java │ │ │ ├── ParallelPhoenixConnectionIT.java │ │ │ ├── ParallelPhoenixConnectionWorkflowIT.java │ │ │ ├── ParallelPhoenixNullComparingResultSetIT.java │ │ │ ├── PhoenixHAAdminToolIT.java │ │ │ ├── PhoenixTestDriverIT.java │ │ │ └── SecureUserConnectionsIT.java │ │ │ ├── mapreduce │ │ │ └── PhoenixServerBuildIndexInputFormatIT.java │ │ │ ├── monitoring │ │ │ ├── BasePhoenixMetricsIT.java │ │ │ ├── CountRowsScannedIT.java │ │ │ ├── GlobalPhoenixMetricsTestSink.java │ │ │ ├── IndexMetricsIT.java │ │ │ ├── MetadataMetricsIT.java │ │ │ ├── PhoenixLoggingMetricsIT.java │ │ │ ├── PhoenixMetricsDisabledIT.java │ │ │ ├── PhoenixMetricsIT.java │ │ │ ├── PhoenixTableLevelAllowedTablesIT.java │ │ │ ├── PhoenixTableLevelMetricsIT.java │ │ │ └── connectionqueryservice │ │ │ │ └── ConnectionQueryServicesMetricsIT.java │ │ │ ├── query │ │ │ ├── ConnectionCachingIT.java │ │ │ ├── ConnectionQueryServicesImplThreadPoolIT.java │ │ │ ├── MaxConcurrentConnectionsIT.java │ │ │ ├── MetaDataCacheMetricsIT.java │ │ │ ├── MetaDataCachingIT.java │ │ │ └── SkipSystemTablesExistenceCheckIT.java │ │ │ ├── replication │ │ │ └── SystemCatalogWALEntryFilterIT.java │ │ │ ├── rpc │ │ │ ├── PhoenixClientRpcIT.java │ │ │ ├── PhoenixServerRpcIT.java │ │ │ ├── TestPhoenixIndexRpcSchedulerFactory.java │ │ │ ├── UpdateCacheConnectionLevelPropIT.java │ │ │ └── UpdateCacheIT.java │ │ │ ├── schema │ │ │ ├── ConditionalTTLExpressionIT.java │ │ │ ├── stats │ │ │ │ ├── BaseStatsCollectorIT.java │ │ │ │ ├── NamespaceDisabledStatsCollectorIT.java │ │ │ │ ├── NamespaceEnabledStatsCollectorIT.java │ │ │ │ ├── NoOpStatsCollectorIT.java │ │ │ │ ├── NonTxStatsCollectorIT.java │ │ │ │ └── TxStatsCollectorIT.java │ │ │ └── tool │ │ │ │ ├── SchemaToolExtractionIT.java │ │ │ │ └── SchemaToolSynthesisIT.java │ │ │ ├── trace │ │ │ ├── BaseTracingTestIT.java │ │ │ ├── PhoenixTableMetricsWriterIT.java │ │ │ ├── PhoenixTagImpl.java │ │ │ ├── PhoenixTracingEndToEndIT.java │ │ │ └── TracingTestUtil.java │ │ │ ├── tx │ │ │ ├── FlappingTransactionIT.java │ │ │ ├── ParameterizedTransactionIT.java │ │ │ ├── TransactionIT.java │ │ │ └── TxCheckpointIT.java │ │ │ └── util │ │ │ ├── CoprocessorHConnectionTableFactoryIT.java │ │ │ ├── DelayedOrFailingRegionServer.java │ │ │ ├── DelayedRegionServer.java │ │ │ └── IndexScrutinyIT.java │ └── resources │ │ ├── compatible_client_versions.json │ │ ├── gold_files │ │ ├── gold_query_add_data.txt │ │ ├── gold_query_add_delete.txt │ │ ├── gold_query_create_add.txt │ │ ├── gold_query_create_diverged_view.txt │ │ ├── gold_query_delete.txt │ │ ├── gold_query_delete_for_splitable_syscat.txt │ │ ├── gold_query_index_rebuild_async.txt │ │ ├── gold_query_offset.txt │ │ ├── gold_query_orderby_nonpk.txt │ │ ├── gold_query_ordered_groupby.txt │ │ ├── gold_query_select_and_drop_table.txt │ │ ├── gold_query_unorder_groupby.txt │ │ └── gold_query_view_index.txt │ │ ├── hbase-site.xml │ │ ├── json │ │ ├── json_datatypes.json │ │ ├── json_functions_basic.json │ │ ├── sample_01.json │ │ ├── sample_02.json │ │ ├── sample_03.json │ │ ├── sample_updated_01.json │ │ ├── sample_updated_02.json │ │ └── sample_updated_03.json │ │ ├── scripts │ │ └── execute_query.sh │ │ ├── snapshots4_7 │ │ └── snapshots47.tar.gz │ │ ├── sql_files │ │ ├── add_data.sql │ │ ├── add_delete.sql │ │ ├── add_view_index.sql │ │ ├── create_add.sql │ │ ├── create_diverged_view.sql │ │ ├── create_offset.sql │ │ ├── create_orderby_nonpk.sql │ │ ├── create_ordered_groupby.sql │ │ ├── create_tmp_table.sql │ │ ├── create_unorder_groupby.sql │ │ ├── index_rebuild_async.sql │ │ ├── query_add_data.sql │ │ ├── query_add_delete.sql │ │ ├── query_create_add.sql │ │ ├── query_create_diverged_view.sql │ │ ├── query_delete.sql │ │ ├── query_delete_for_splitable_syscat.sql │ │ ├── query_index_rebuild_async.sql │ │ ├── query_offset.sql │ │ ├── query_orderby_nonpk.sql │ │ ├── query_ordered_groupby.sql │ │ ├── query_select_and_drop_table.sql │ │ ├── query_unorder_groupby.sql │ │ └── query_view_index.sql │ │ └── synthesis │ │ ├── alter_add_property.sql │ │ ├── alter_change_property.sql │ │ ├── alter_index_add_property.sql │ │ ├── alter_index_change_property.sql │ │ ├── alter_table_add.sql │ │ ├── alter_table_add_pk.sql │ │ ├── alter_table_drop.sql │ │ ├── alter_table_multiple.sql │ │ ├── alter_view_add.sql │ │ ├── alter_view_drop.sql │ │ ├── create_function.sql │ │ ├── drop_create_table.sql │ │ ├── drop_index.sql │ │ ├── drop_table.sql │ │ ├── escape_column.sql │ │ ├── escape_property.sql │ │ └── mismatched_entity_name.sql │ └── test │ ├── java │ └── org │ │ └── apache │ │ ├── hadoop │ │ ├── hbase │ │ │ ├── ipc │ │ │ │ └── PhoenixRpcSchedulerTest.java │ │ │ └── regionserver │ │ │ │ ├── PhoenixRpcSchedulerFactoryTest.java │ │ │ │ └── wal │ │ │ │ ├── IndexedKeyValueTest.java │ │ │ │ ├── IndexedWALEditCodecTest.java │ │ │ │ └── ReadWriteKeyValuesWithCodecTest.java │ │ └── metrics2 │ │ │ ├── impl │ │ │ ├── ExposedMetricCounterLong.java │ │ │ └── ExposedMetricsRecordImpl.java │ │ │ └── lib │ │ │ └── ExposedMetricsInfoImpl.java │ │ └── phoenix │ │ ├── SystemExitRule.java │ │ ├── TestJVMExit.java │ │ ├── TestSecurityManager.java │ │ ├── cache │ │ ├── JodaTimezoneCacheTest.java │ │ ├── ServerCacheClientTest.java │ │ └── TenantCacheTest.java │ │ ├── compile │ │ ├── CreateTableCompilerTest.java │ │ ├── CursorCompilerTest.java │ │ ├── DocumentCompilerTest.java │ │ ├── HavingCompilerTest.java │ │ ├── JoinQueryCompilerTest.java │ │ ├── LimitCompilerTest.java │ │ ├── PostIndexDDLCompilerTest.java │ │ ├── QueryCompilerTest.java │ │ ├── QueryMetaDataTest.java │ │ ├── QueryOptimizerTest.java │ │ ├── RVCOffsetCompilerTest.java │ │ ├── SaltedScanRangesTest.java │ │ ├── ScanRangesIntersectTest.java │ │ ├── ScanRangesTest.java │ │ ├── SelectStatementRewriterTest.java │ │ ├── StatementHintsCompilationTest.java │ │ ├── TenantSpecificViewIndexCompileTest.java │ │ ├── ViewCompilerTest.java │ │ ├── WhereCompilerTest.java │ │ └── WhereOptimizerTest.java │ │ ├── coprocessor │ │ └── TaskMetaDataEndpointTest.java │ │ ├── execute │ │ ├── DescVarLengthFastByteComparisonsTest.java │ │ ├── LiteralResultIteratorPlanTest.java │ │ ├── MutationStateTest.java │ │ ├── SortMergeJoinTest.java │ │ └── UnnestArrayPlanTest.java │ │ ├── expression │ │ ├── AbsFunctionTest.java │ │ ├── AndExpressionTest.java │ │ ├── ArithmeticOperationTest.java │ │ ├── ArrayAppendFunctionTest.java │ │ ├── ArrayConcatFunctionTest.java │ │ ├── ArrayConstructorExpressionTest.java │ │ ├── ArrayFillFunctionTest.java │ │ ├── ArrayPrependFunctionTest.java │ │ ├── ArrayRemoveFunctionTest.java │ │ ├── ArrayToStringFunctionTest.java │ │ ├── CbrtFunctionTest.java │ │ ├── CoerceExpressionTest.java │ │ ├── ColumnExpressionTest.java │ │ ├── DeterminismTest.java │ │ ├── ExpFunctionTest.java │ │ ├── GetSetByteBitFunctionTest.java │ │ ├── ILikeExpressionTest.java │ │ ├── InListExpressionTest.java │ │ ├── LikeExpressionTest.java │ │ ├── LnLogFunctionTest.java │ │ ├── MathPIFunctionTest.java │ │ ├── MathTrigFunctionTest.java │ │ ├── NullValueTest.java │ │ ├── OctetLengthFunctionTest.java │ │ ├── OrExpressionTest.java │ │ ├── PowerFunctionTest.java │ │ ├── RegexpReplaceFunctionTest.java │ │ ├── RegexpSplitFunctionTest.java │ │ ├── RegexpSubstrFunctionTest.java │ │ ├── RoundFloorCeilExpressionsTest.java │ │ ├── SignFunctionTest.java │ │ ├── SortOrderExpressionTest.java │ │ ├── SqrtFunctionTest.java │ │ ├── StringToArrayFunctionTest.java │ │ ├── function │ │ │ ├── BuiltinFunctionConstructorTest.java │ │ │ ├── CollationKeyFunctionTest.java │ │ │ ├── ExternalSqlTypeIdFunctionTest.java │ │ │ ├── InstrFunctionTest.java │ │ │ ├── LowerFunctionTest.java │ │ │ └── UpperFunctionTest.java │ │ ├── rewrite │ │ │ └── RowValueConstructorExpressionRewriterTest.java │ │ └── util │ │ │ └── regex │ │ │ └── PatternPerformanceTest.java │ │ ├── filter │ │ ├── DistinctPrefixFilterTest.java │ │ ├── EncodedQualifiersColumnProjectionFilterTest.java │ │ ├── SkipScanBigFilterTest.java │ │ ├── SkipScanFilterIntersectTest.java │ │ └── SkipScanFilterTest.java │ │ ├── hbase │ │ └── index │ │ │ ├── IndexTableName.java │ │ │ ├── IndexTestingUtils.java │ │ │ ├── StubAbortable.java │ │ │ ├── covered │ │ │ ├── ColumnGroup.java │ │ │ ├── CoveredColumn.java │ │ │ ├── CoveredColumnIndexCodec.java │ │ │ ├── CoveredColumnIndexSpecifierBuilder.java │ │ │ ├── CoveredColumnsTest.java │ │ │ ├── CoveredIndexCodecForTesting.java │ │ │ ├── LocalTableStateTest.java │ │ │ ├── NonTxIndexBuilderTest.java │ │ │ ├── TestColumnTracker.java │ │ │ ├── TestCoveredColumnIndexCodec.java │ │ │ ├── TestCoveredIndexSpecifierBuilder.java │ │ │ ├── data │ │ │ │ └── TestIndexMemStore.java │ │ │ ├── filter │ │ │ │ ├── TestApplyAndFilterDeletesFilter.java │ │ │ │ └── TestNewerTimestampFilter.java │ │ │ └── update │ │ │ │ └── TestIndexUpdateManager.java │ │ │ ├── parallel │ │ │ ├── TestTaskRunner.java │ │ │ ├── TestThreadPoolBuilder.java │ │ │ └── TestThreadPoolManager.java │ │ │ ├── util │ │ │ └── TestIndexManagementUtil.java │ │ │ └── write │ │ │ ├── FakeTableFactory.java │ │ │ ├── TestIndexWriter.java │ │ │ ├── TestParalleIndexWriter.java │ │ │ ├── TestParalleWriterIndexCommitter.java │ │ │ ├── TestWALRecoveryCaching.java │ │ │ └── recovery │ │ │ └── TestPerRegionIndexWriteCache.java │ │ ├── index │ │ ├── IndexMaintainerTest.java │ │ ├── IndexRebuildRegionScannerTest.java │ │ ├── IndexScrutinyMapperTest.java │ │ ├── IndexToolTest.java │ │ ├── IndexUpgradeToolTest.java │ │ ├── PrepareIndexMutationsForRebuildTest.java │ │ ├── ShouldVerifyTest.java │ │ ├── VerifySingleIndexRowTest.java │ │ └── automated │ │ │ └── MRJobSubmitterTest.java │ │ ├── iterate │ │ ├── AggregateResultScannerTest.java │ │ ├── ConcatResultIteratorTest.java │ │ ├── DistinctAggregatingResultIteratorTest.java │ │ ├── MaterializedResultIterators.java │ │ ├── MergeSortResultIteratorTest.java │ │ ├── OrderedResultIteratorTest.java │ │ ├── RowKeyOrderedAggregateResultIteratorTest.java │ │ ├── SpoolingResultIteratorTest.java │ │ └── TestingMapReduceParallelScanGrouper.java │ │ ├── jdbc │ │ ├── ClusterRoleRecordGeneratorToolTest.java │ │ ├── ClusterRoleRecordTest.java │ │ ├── FailoverPhoenixConnectionTest.java │ │ ├── ParallelPhoenixConnectionFailureTest.java │ │ ├── ParallelPhoenixConnectionTest.java │ │ ├── ParallelPhoenixContextTest.java │ │ ├── ParallelPhoenixNullComparingResultSetTest.java │ │ ├── ParallelPhoenixPreparedStatementTest.java │ │ ├── ParallelPhoenixResultSetTest.java │ │ ├── ParallelPhoenixUtilTest.java │ │ ├── PhoenixDriverTest.java │ │ ├── PhoenixEmbeddedDriverTest.java │ │ ├── PhoenixHAAdminToolTest.java │ │ ├── PhoenixHAExecutorServiceProviderTest.java │ │ ├── PhoenixPreparedStatementTest.java │ │ ├── PhoenixResultSetMetadataTest.java │ │ ├── PhoenixStatementTest.java │ │ ├── PhoenixTestDriver.java │ │ └── ReadOnlyPropertiesTest.java │ │ ├── mapreduce │ │ ├── BulkLoadToolTest.java │ │ ├── CsvBulkImportUtilTest.java │ │ ├── CsvToKeyValueMapperTest.java │ │ ├── DefaultMultiViewSplitStrategyTest.java │ │ ├── FormatToBytesWritableMapperTest.java │ │ ├── PhoenixMultiViewInputFormatTest.java │ │ ├── PhoenixMultiViewReaderTest.java │ │ ├── PhoenixTTLToolTest.java │ │ ├── PhoenixTestingInputFormat.java │ │ ├── bulkload │ │ │ └── TestTableRowkeyPair.java │ │ ├── index │ │ │ ├── BaseIndexTest.java │ │ │ └── IndexScrutinyTableOutputTest.java │ │ └── util │ │ │ ├── ColumnInfoToStringEncoderDecoderTest.java │ │ │ ├── IndexColumnNamesTest.java │ │ │ └── PhoenixConfigurationUtilTest.java │ │ ├── memory │ │ └── MemoryManagerTest.java │ │ ├── metrics │ │ ├── LoggingSink.java │ │ └── MetricTypeTest.java │ │ ├── monitoring │ │ ├── LatencyHistogramTest.java │ │ ├── MetricUtilTest.java │ │ ├── OverAllQueryMetricsTest.java │ │ ├── PhoenixTableMetricImplTest.java │ │ ├── SizeHistogramTest.java │ │ ├── TableClientMetricsTest.java │ │ ├── TableHistogramsTest.java │ │ ├── TableLevelMetricsTestData.java │ │ ├── TableMetricsManagerTest.java │ │ └── connectionqueryservice │ │ │ ├── ConnectionQueryServicesHistogramTest.java │ │ │ ├── ConnectionQueryServicesMetricsHistogramsTest.java │ │ │ ├── ConnectionQueryServicesMetricsManagerTest.java │ │ │ ├── ConnectionQueryServicesMetricsTest.java │ │ │ └── ConnectionQueryServicesNameMetricsTest.java │ │ ├── parse │ │ ├── BuiltInFunctionInfoTest.java │ │ ├── CastParseNodeTest.java │ │ ├── CursorParserTest.java │ │ ├── DecodeViewIndexIdFunctionTest.java │ │ ├── PartitionIdFunctionTest.java │ │ ├── PhoenixRowTimestampFunctionTest.java │ │ └── QueryParserTest.java │ │ ├── query │ │ ├── BaseConnectionlessQueryTest.java │ │ ├── BaseTest.java │ │ ├── ConnectionQueryServicesImplTest.java │ │ ├── ConnectionlessTest.java │ │ ├── DelegateCell.java │ │ ├── EncodedColumnQualifierCellsListTest.java │ │ ├── ExplainPlanTextTest.java │ │ ├── GuidePostsCacheProviderTest.java │ │ ├── GuidePostsCacheWrapperTest.java │ │ ├── HBaseFactoryProviderTest.java │ │ ├── KeyRangeClipTest.java │ │ ├── KeyRangeCoalesceTest.java │ │ ├── KeyRangeIntersectTest.java │ │ ├── KeyRangeMoreTest.java │ │ ├── KeyRangeUnionTest.java │ │ ├── OrderByTest.java │ │ ├── ParallelIteratorsSplitTest.java │ │ ├── PhoenixStatsCacheLoaderTest.java │ │ ├── PhoenixStatsCacheRemovalListenerTest.java │ │ ├── PhoenixTestBuilder.java │ │ ├── PropertyPolicyProviderTest.java │ │ ├── QueryPlanTest.java │ │ ├── QueryServicesTestImpl.java │ │ ├── ScannerLeaseRenewalTest.java │ │ └── TestPropertyPolicy.java │ │ ├── schema │ │ ├── ConditionalTTLExpressionTest.java │ │ ├── ImmutableStorageSchemeTest.java │ │ ├── MetaDataClientTest.java │ │ ├── MutationTest.java │ │ ├── PBaseColumn.java │ │ ├── PCharPadTest.java │ │ ├── PLongColumn.java │ │ ├── PMetaDataImplTest.java │ │ ├── RowKeySchemaTest.java │ │ ├── RowKeyValueAccessorTest.java │ │ ├── SaltingUtilTest.java │ │ ├── SchemaUtilTest.java │ │ ├── SequenceAllocationTest.java │ │ ├── SortOrderTest.java │ │ ├── SystemSplitPolicyTest.java │ │ ├── TTLExpressionTest.java │ │ ├── ValueBitSetTest.java │ │ ├── stats │ │ │ ├── StatisticsScannerTest.java │ │ │ └── UpdateStatisticsToolTest.java │ │ ├── tuple │ │ │ └── SingleKeyValueTupleTest.java │ │ └── types │ │ │ ├── BasePhoenixArrayToStringTest.java │ │ │ ├── BasePrimitiveDoublePhoenixArrayToStringTest.java │ │ │ ├── BasePrimitiveIntPhoenixArrayToStringTest.java │ │ │ ├── PDataTypeForArraysTest.java │ │ │ ├── PDataTypeTest.java │ │ │ ├── PDateArrayToStringTest.java │ │ │ ├── PVarcharArrayToStringTest.java │ │ │ ├── PrimitiveBooleanPhoenixArrayToStringTest.java │ │ │ ├── PrimitiveBytePhoenixArrayToStringTest.java │ │ │ ├── PrimitiveDoublePhoenixArrayToStringTest.java │ │ │ ├── PrimitiveFloatPhoenixArrayToStringTest.java │ │ │ ├── PrimitiveIntPhoenixArrayToStringTest.java │ │ │ ├── PrimitiveLongPhoenixArrayToStringTest.java │ │ │ └── PrimitiveShortPhoenixArrayToStringTest.java │ │ ├── trace │ │ └── TraceSpanReceiverTest.java │ │ ├── transaction │ │ ├── NotAvailableTransactionService.java │ │ ├── OmidTransactionService.java │ │ ├── PhoenixTransactionService.java │ │ └── TransactionServiceManager.java │ │ └── util │ │ ├── AbstractUpsertExecutorTest.java │ │ ├── AssertResults.java │ │ ├── Base62EncoderTest.java │ │ ├── ByteUtilTest.java │ │ ├── CDCUtilTest.java │ │ ├── ClientUtilTest.java │ │ ├── ColumnInfoTest.java │ │ ├── DateUtilTest.java │ │ ├── EquiDepthStreamHistogramTest.java │ │ ├── GeneratePerformanceData.java │ │ ├── IndexScrutiny.java │ │ ├── IndexUtilTest.java │ │ ├── JDBCUtilTest.java │ │ ├── LikeExpressionTest.java │ │ ├── LogUtilTest.java │ │ ├── MetaDataUtilTest.java │ │ ├── MinVersionTestRunner.java │ │ ├── PhoenixContextExecutorTest.java │ │ ├── PhoenixEncodeDecodeTest.java │ │ ├── PhoenixMRJobUtilTest.java │ │ ├── PhoenixRuntimeTest.java │ │ ├── PrefixByteEncoderDecoderTest.java │ │ ├── PropertiesUtilTest.java │ │ ├── QualifierEncodingSchemeTest.java │ │ ├── QueryUtilTest.java │ │ ├── ReadOnlyPropsTest.java │ │ ├── Repeat.java │ │ ├── RowKeyMatcherTest.java │ │ ├── RunUntilFailure.java │ │ ├── SQLExceptionCodeTest.java │ │ ├── ScanUtilTest.java │ │ ├── SequenceUtilTest.java │ │ ├── StringUtilTest.java │ │ ├── TenantIdByteConversionTest.java │ │ ├── TestDDLUtil.java │ │ ├── TestUtil.java │ │ ├── bson │ │ ├── ComparisonExpressionUtilsTest.java │ │ └── UpdateExpressionUtilsTest.java │ │ ├── csv │ │ ├── CsvUpsertExecutorTest.java │ │ └── StringToArrayConverterTest.java │ │ ├── i18n │ │ ├── LinguisticSortTest.java │ │ └── OracleUpperTableGeneratorTest.java │ │ └── json │ │ └── JsonUpsertExecutorTest.java │ └── resources │ ├── META-INF │ └── services │ │ ├── org.apache.phoenix.query.GuidePostsCacheFactory │ │ └── org.apache.phoenix.query.PropertyPolicy │ ├── hadoop-metrics2.properties │ ├── json │ ├── test_role_record.json │ ├── test_role_record_old_format.json │ ├── test_role_record_wrong_format.json │ └── test_role_record_wrong_role_format.json │ ├── log4j2-test.properties │ └── phoenix-canary-file-sink.properties ├── phoenix-hbase-compat-2.4.1 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── apache │ └── phoenix │ └── compat │ └── hbase │ ├── CompatDelegateHTable.java │ ├── CompatIndexHalfStoreFileReader.java │ ├── CompatIndexedHLogReader.java │ ├── CompatLocalIndexStoreFileScanner.java │ ├── CompatOmidTransactionTable.java │ ├── CompatPhoenixRpcScheduler.java │ ├── CompatUtil.java │ ├── HbaseCompatCapabilities.java │ └── ReplicationSinkCompatEndpoint.java ├── phoenix-hbase-compat-2.5.0 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── apache │ └── phoenix │ └── compat │ └── hbase │ ├── CompatDelegateHTable.java │ ├── CompatIndexHalfStoreFileReader.java │ ├── CompatIndexedHLogReader.java │ ├── CompatLocalIndexStoreFileScanner.java │ ├── CompatOmidTransactionTable.java │ ├── CompatPhoenixRpcScheduler.java │ ├── CompatUtil.java │ ├── HbaseCompatCapabilities.java │ └── ReplicationSinkCompatEndpoint.java ├── phoenix-hbase-compat-2.5.4 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── apache │ └── phoenix │ └── compat │ └── hbase │ ├── CompatDelegateHTable.java │ ├── CompatIndexHalfStoreFileReader.java │ ├── CompatIndexedHLogReader.java │ ├── CompatLocalIndexStoreFileScanner.java │ ├── CompatOmidTransactionTable.java │ ├── CompatPhoenixRpcScheduler.java │ ├── CompatUtil.java │ ├── HbaseCompatCapabilities.java │ └── ReplicationSinkCompatEndpoint.java ├── phoenix-hbase-compat-2.6.0 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── apache │ └── phoenix │ └── compat │ └── hbase │ ├── CompatDelegateHTable.java │ ├── CompatIndexHalfStoreFileReader.java │ ├── CompatIndexedHLogReader.java │ ├── CompatLocalIndexStoreFileScanner.java │ ├── CompatOmidTransactionTable.java │ ├── CompatPhoenixRpcScheduler.java │ ├── CompatUtil.java │ ├── HbaseCompatCapabilities.java │ └── ReplicationSinkCompatEndpoint.java ├── phoenix-mapreduce-byo-shaded-hbase └── pom.xml ├── phoenix-pherf ├── README.md ├── config │ ├── datamodel │ │ └── user_defined_schema.sql │ ├── env.sh │ ├── log4j2.properties │ ├── pherf.properties │ └── scenario │ │ └── user_defined_scenario.xml ├── pom.xml └── src │ ├── it │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── phoenix │ │ │ └── pherf │ │ │ ├── DataIngestIT.java │ │ │ ├── PherfMainIT.java │ │ │ ├── ResultBaseTestIT.java │ │ │ ├── SchemaReaderIT.java │ │ │ └── workload │ │ │ └── mt │ │ │ ├── MultiTenantTestUtils.java │ │ │ ├── TenantTableOperationWorkloadIT.java │ │ │ └── TenantViewOperationWorkloadIT.java │ └── resources │ │ ├── datamodel │ │ └── create_prod_test_unsalted.sql │ │ ├── hbase-site.xml │ │ ├── pherf.properties │ │ └── scenario │ │ └── prod_test_unsalted_scenario.xml │ ├── main │ ├── assembly │ │ ├── cluster.xml │ │ ├── components-minimal.xml │ │ └── minimal.xml │ └── java │ │ └── org │ │ └── apache │ │ └── phoenix │ │ └── pherf │ │ ├── Pherf.java │ │ ├── PherfConstants.java │ │ ├── configuration │ │ ├── Column.java │ │ ├── DataModel.java │ │ ├── DataOverride.java │ │ ├── DataSequence.java │ │ ├── DataTypeMapping.java │ │ ├── Ddl.java │ │ ├── ExecutionType.java │ │ ├── IdleTime.java │ │ ├── LoadProfile.java │ │ ├── OperationGroup.java │ │ ├── Query.java │ │ ├── QuerySet.java │ │ ├── Scenario.java │ │ ├── TenantGroup.java │ │ ├── Upsert.java │ │ ├── UserDefined.java │ │ ├── WriteParams.java │ │ └── XMLConfigParser.java │ │ ├── exception │ │ ├── FileLoaderException.java │ │ ├── FileLoaderRuntimeException.java │ │ ├── PherfException.java │ │ └── PherfRuntimeException.java │ │ ├── jmx │ │ ├── MonitorDetails.java │ │ ├── MonitorManager.java │ │ ├── Stat.java │ │ └── monitors │ │ │ ├── CPULoadAverageMonitor.java │ │ │ ├── FreeMemoryMonitor.java │ │ │ ├── GarbageCollectorElapsedTimeMonitor.java │ │ │ ├── HeapMemoryMonitor.java │ │ │ ├── MaxMemoryMonitor.java │ │ │ ├── Monitor.java │ │ │ ├── NonHeapMemoryMonitor.java │ │ │ ├── ObjectPendingFinalizationCountMonitor.java │ │ │ ├── ThreadMonitor.java │ │ │ └── TotalMemoryMonitor.java │ │ ├── result │ │ ├── DataLoadThreadTime.java │ │ ├── DataLoadTimeSummary.java │ │ ├── DataModelResult.java │ │ ├── QueryResult.java │ │ ├── QuerySetResult.java │ │ ├── Result.java │ │ ├── ResultHandler.java │ │ ├── ResultManager.java │ │ ├── ResultUtil.java │ │ ├── ResultValue.java │ │ ├── RunTime.java │ │ ├── ScenarioResult.java │ │ ├── ThreadTime.java │ │ ├── file │ │ │ ├── Extension.java │ │ │ ├── Header.java │ │ │ └── ResultFileDetails.java │ │ └── impl │ │ │ ├── CSVFileResultHandler.java │ │ │ ├── CSVResultHandler.java │ │ │ ├── DefaultResultHandler.java │ │ │ └── XMLResultHandler.java │ │ ├── rules │ │ ├── DataValue.java │ │ ├── RuleBasedDataGenerator.java │ │ ├── RulesApplier.java │ │ ├── SequentialDateDataGenerator.java │ │ ├── SequentialIntegerDataGenerator.java │ │ ├── SequentialListDataGenerator.java │ │ └── SequentialVarcharDataGenerator.java │ │ ├── schema │ │ └── SchemaReader.java │ │ ├── util │ │ ├── GoogleChartGenerator.java │ │ ├── PhoenixUtil.java │ │ ├── ResourceList.java │ │ └── RowCalculator.java │ │ └── workload │ │ ├── MultiThreadedRunner.java │ │ ├── MultithreadedDiffer.java │ │ ├── QueryExecutor.java │ │ ├── QueryVerifier.java │ │ ├── Workload.java │ │ ├── WorkloadExecutor.java │ │ ├── WriteWorkload.java │ │ └── mt │ │ ├── MultiTenantWorkload.java │ │ ├── generators │ │ ├── BaseLoadEventGenerator.java │ │ ├── LoadEventGenerator.java │ │ ├── LoadEventGeneratorFactory.java │ │ ├── SequentialLoadEventGenerator.java │ │ ├── TenantLoadEventGeneratorFactory.java │ │ ├── TenantOperationInfo.java │ │ ├── UniformDistributionLoadEventGenerator.java │ │ └── WeightedRandomLoadEventGenerator.java │ │ ├── handlers │ │ ├── PherfWorkHandler.java │ │ ├── RendezvousingWorkHandler.java │ │ └── TenantOperationWorkHandler.java │ │ └── operations │ │ ├── BaseOperationSupplier.java │ │ ├── IdleTimeOperation.java │ │ ├── IdleTimeOperationSupplier.java │ │ ├── Operation.java │ │ ├── OperationStats.java │ │ ├── PreScenarioOperation.java │ │ ├── PreScenarioOperationSupplier.java │ │ ├── QueryOperation.java │ │ ├── QueryOperationSupplier.java │ │ ├── TenantOperationFactory.java │ │ ├── UpsertOperation.java │ │ ├── UpsertOperationSupplier.java │ │ ├── UserDefinedOperation.java │ │ └── UserDefinedOperationSupplier.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── phoenix │ │ └── pherf │ │ ├── ColumnTest.java │ │ ├── ConfigurationParserTest.java │ │ ├── PherfTest.java │ │ ├── ResourceTest.java │ │ ├── ResultBaseTest.java │ │ ├── ResultTest.java │ │ ├── RowCalculatorTest.java │ │ ├── RuleGeneratorTest.java │ │ ├── TestHBaseProps.java │ │ ├── XMLConfigParserTest.java │ │ ├── result │ │ └── impl │ │ │ └── XMLResultHandlerTest.java │ │ ├── rules │ │ ├── SequentialDateDataGeneratorTest.java │ │ ├── SequentialIntegerDataGeneratorTest.java │ │ ├── SequentialListDataGeneratorTest.java │ │ └── SequentialVarcharDataGeneratorTest.java │ │ ├── util │ │ └── ResourceListTest.java │ │ └── workload │ │ ├── MultiThreadedRunnerTest.java │ │ └── mt │ │ ├── SequentialLoadEventGeneratorTest.java │ │ ├── TenantOperationFactoryTest.java │ │ ├── UniformDistributionLoadEventGeneratorTest.java │ │ └── WeightedRandomLoadEventGeneratorTest.java │ └── resources │ ├── datamodel │ ├── test_mt_schema_base_table.sql │ ├── test_mt_schema_view1.sql │ ├── test_mt_schema_view2.sql │ ├── test_schema.sql │ ├── test_tbl_schema_simple.sql │ └── timeout_test_schema.sql │ ├── hbase-site.xml │ ├── malicious_results_with_dtd.xml │ ├── pherf.test.properties │ └── scenario │ ├── malicious_scenario_with_dtd.xml │ ├── scenario_with_query_timeouts.xml │ ├── test_evt_gen1.xml │ ├── test_evt_gen2.xml │ ├── test_evt_gen3.xml │ ├── test_evt_gen4.xml │ ├── test_mt_workload_template.xml │ ├── test_scenario.xml │ ├── test_tbl_workload_template.xml │ └── test_workload_with_load_profile.xml ├── phoenix-server └── pom.xml ├── phoenix-tracing-webapp ├── README.md ├── pom.xml └── src │ ├── build │ └── trace-server-runnable.xml │ ├── main │ ├── config │ │ └── checkstyle │ │ │ ├── checker.xml │ │ │ ├── header.txt │ │ │ └── suppressions.xml │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── phoenix │ │ │ └── tracingwebapp │ │ │ └── http │ │ │ ├── ConnectionFactory.java │ │ │ ├── EntityFactory.java │ │ │ ├── Main.java │ │ │ └── TraceServlet.java │ └── webapp │ │ ├── WEB-INF │ │ └── web.xml │ │ ├── css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ └── font-awesome.css │ │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ ├── fontawesome-webfont.woff2 │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ │ ├── index.html │ │ ├── js │ │ ├── api │ │ │ └── chart-model.js │ │ ├── app.js │ │ ├── config │ │ │ └── chart-config.js │ │ ├── controllers │ │ │ ├── accordion-controllers.js │ │ │ ├── dependency-tree-controllers.js │ │ │ ├── list-controllers.js │ │ │ ├── search-controllers.js │ │ │ ├── timeline-controllers.js │ │ │ ├── trace-count-controllers.js │ │ │ └── trace-distribution-controllers.js │ │ ├── factories │ │ │ ├── statement-factory-config.js │ │ │ └── statement-factory.js │ │ ├── lib │ │ │ ├── angular-mocks.js │ │ │ ├── angular-route.js │ │ │ ├── angular.js │ │ │ ├── bootstrap.js │ │ │ ├── jquery-3.5.1.js │ │ │ ├── jquery.min.js │ │ │ ├── ng-google-chart.js │ │ │ └── ui-bootstrap-tpls.js │ │ └── services │ │ │ └── generate-statement-service.js │ │ └── partials │ │ ├── about.html │ │ ├── chart.html │ │ ├── contact.html │ │ ├── dependency-tree.html │ │ ├── google-chart.html │ │ ├── help.html │ │ ├── home.html │ │ ├── list.html │ │ ├── phoenix-trace.html │ │ └── search.html │ └── test │ └── webapp │ └── js │ └── specs │ ├── app-route-spec.js │ ├── timeline-ctrl-spec.js │ ├── trace-list-ctrl-spec.js │ └── tracing-app-ctrl-spec.js ├── pom.xml └── src └── main └── config ├── checkstyle ├── checker.xml ├── header.txt └── suppressions.xml └── spotbugs └── spotbugs-exclude.xml /.gitignore: -------------------------------------------------------------------------------- 1 | #general java 2 | *.class 3 | *.war 4 | *.jar 5 | 6 | # python 7 | *.pyc 8 | .checkstyle 9 | 10 | # eclipse stuffs 11 | .settings/* 12 | **/.settings/ 13 | .classpath 14 | .project 15 | */.externalToolBuilders 16 | */maven-eclipse.xml 17 | 18 | # intellij stuff 19 | .idea/ 20 | *.iml 21 | *.ipr 22 | *.iws 23 | 24 | #maven stuffs 25 | target/ 26 | release/ 27 | RESULTS/ 28 | CSV_EXPORT/ 29 | .DS_Store 30 | 31 | phoenix-hbase-compat-1.3.0/ 32 | phoenix-hbase-compat-1.4.0/ 33 | phoenix-hbase-compat-1.5.0/ 34 | */hbase.log 35 | 36 | # Vim swap files 37 | .*.sw* 38 | 39 | # Code generators 40 | .codegenie 41 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Apache Phoenix 2 | Copyright 2013-2016 The Apache Software Foundation 3 | 4 | This product includes software developed by The Apache Software 5 | Foundation (http://www.apache.org/). 6 | 7 | This also includes: 8 | 9 | The phoenix-spark module has been adapted from the phoenix-spark library 10 | distributed under the terms of the Apache 2 license. Original source copyright: 11 | Copyright 2014 Simply Measured, Inc. 12 | Copyright 2015 Interset Software Inc. 13 | 14 | The file bin/daemon.py is based on the file of the same name in python-daemon 2.0.5 15 | (https://pypi.python.org/pypi/python-daemon/). Original source copyright: 16 | # Copyright © 2008–2015 Ben Finney 17 | # Copyright © 2007–2008 Robert Niederreiter, Jens Klein 18 | # Copyright © 2004–2005 Chad J. Schroeder 19 | # Copyright © 2003 Clark Evans 20 | # Copyright © 2002 Noah Spurrier 21 | # Copyright © 2001 Jürgen Hermann 22 | 23 | The file bin/argparse-1.4.0/argparse.py is (c) 2006-2009 Steven J. Bethard . 24 | 25 | python/requests-kerberos contains the Requests-Kerberos project which carries "Copyright (c) 2012 Kenneth Reitz" 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 17 | 18 | ![logo](http://phoenix.apache.org/images/logo.png) 19 | 20 | [Apache Phoenix](http://phoenix.apache.org/) is a SQL skin over HBase delivered as a client-embedded JDBC driver targeting low latency queries over HBase data. Visit the Apache Phoenix website [here](http://phoenix.apache.org/). 21 | 22 | Copyright ©2014 [Apache Software Foundation](http://www.apache.org/). All Rights Reserved. 23 | -------------------------------------------------------------------------------- /bin/hbase-site.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 22 | 23 | 24 | hbase.regionserver.wal.codec 25 | org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec 26 | 27 | 28 | -------------------------------------------------------------------------------- /config/csv-bulk-load-config.properties: -------------------------------------------------------------------------------- 1 | # 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | # 21 | 22 | mapreduce.map.output.compress=true 23 | mapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.CompressionCodec 24 | io.sort.record.percent=0.2 25 | io.sort.factor=20 26 | mapred.tasktracker.map.tasks.maximum=10 27 | -------------------------------------------------------------------------------- /dev/create-release/cache-apache-project-artifact.sh: -------------------------------------------------------------------------------- 1 | ../cache-apache-project-artifact.sh -------------------------------------------------------------------------------- /dev/create-release/rebuild_hbase.sh: -------------------------------------------------------------------------------- 1 | ../rebuild_hbase.sh -------------------------------------------------------------------------------- /dev/create-release/vote.tmpl: -------------------------------------------------------------------------------- 1 | Please vote on this Apache ${PROJECT_TEXT} release candidate, 2 | ${PROJECT}-${RELEASE_TAG} 3 | 4 | The VOTE will remain open for at least 72 hours. 5 | 6 | [ ] +1 Release this package as Apache ${PROJECT_TEXT} ${RELEASE_VERSION} 7 | [ ] -1 Do not release this package because ... 8 | 9 | The tag to be voted on is ${RELEASE_TAG}: 10 | 11 | https://github.com/apache/${PROJECT}/tree/${RELEASE_TAG} 12 | 13 | The release files, including signatures, digests, as well as CHANGES.md 14 | and RELEASENOTES.md included in this RC can be found at: 15 | 16 | https://dist.apache.org/repos/dist/dev/phoenix/${RELEASE_TAG}/ 17 | 18 | Maven artifacts are available in a staging repository at: 19 | 20 | https://repository.apache.org/content/repositories/${staged_repo_id}/ 21 | 22 | Artifacts were signed with the ${GPG_KEY} key which can be found in: 23 | 24 | https://dist.apache.org/repos/dist/release/phoenix/KEYS 25 | 26 | To learn more about Apache ${PROJECT_TEXT}, please see 27 | 28 | https://phoenix.apache.org/ 29 | 30 | Thanks, 31 | Your Phoenix Release Manager 32 | -------------------------------------------------------------------------------- /dev/jenkinsEnv.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | 14 | #!/bin/bash 15 | 16 | ##To set Jenkins Environment Variables: 17 | export JAVA_HOME=/home/jenkins/tools/java/latest 18 | export ANT_HOME=/home/jenkins/tools/ant/latest 19 | export XERCES_HOME=/home/jenkins/tools/xerces/latest 20 | export ECLIPSE_HOME=/home/jenkins/tools/eclipse/latest 21 | export FORREST_HOME=/home/jenkins/tools/forrest/latest 22 | export JAVA5_HOME=/home/jenkins/tools/java5/latest 23 | export FINDBUGS_HOME=/home/jenkins/tools/findbugs/latest 24 | export CLOVER_HOME=/home/jenkins/tools/clover/latest 25 | export MAVEN_HOME=/home/jenkins/tools/maven/latest 26 | 27 | export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin:$MAVEN_HOME/bin 28 | export MAVEN_OPTS="${MAVEN_OPTS:-"-Xmx3100M -XX:-UsePerfData -XX:MaxPermSize=256m"}" 29 | 30 | ulimit -n 31 | 32 | -------------------------------------------------------------------------------- /dev/phoenix.importorder: -------------------------------------------------------------------------------- 1 | #Organize Import Order 2 | 5=org.apache.hadoop.hbase.shaded 3 | 4=org.apache.hbase.thirdparty 4 | 3=org.apache.phoenix.shaded 5 | 2=org.apache.phoenix.thirdparty 6 | 1= 7 | 0=# -------------------------------------------------------------------------------- /examples/STOCK_SYMBOL.csv: -------------------------------------------------------------------------------- 1 | AAPL,APPLE Inc. 2 | CRM,SALESFORCE 3 | GOOG,Google 4 | HOG,Harlet-Davidson Inc. 5 | HPQ,Hewlett Packard 6 | INTC,Intel 7 | MSFT,Microsoft 8 | WAG,Walgreens 9 | WMT,Walmart 10 | -------------------------------------------------------------------------------- /examples/STOCK_SYMBOL.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS STOCK_SYMBOL (SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR); 2 | UPSERT INTO STOCK_SYMBOL VALUES ('CRM','SalesForce.com'); 3 | SELECT * FROM STOCK_SYMBOL; 4 | 5 | -------------------------------------------------------------------------------- /examples/WEB_STAT.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS WEB_STAT ( 2 | HOST CHAR(2) NOT NULL, 3 | DOMAIN VARCHAR NOT NULL, 4 | FEATURE VARCHAR NOT NULL, 5 | DATE DATE NOT NULL, 6 | USAGE.CORE BIGINT, 7 | USAGE.DB BIGINT, 8 | STATS.ACTIVE_VISITOR INTEGER 9 | CONSTRAINT PK PRIMARY KEY (HOST, DOMAIN, FEATURE, DATE) 10 | ); 11 | -------------------------------------------------------------------------------- /examples/WEB_STAT_QUERIES.sql: -------------------------------------------------------------------------------- 1 | SELECT DOMAIN, AVG(CORE) Average_CPU_Usage, AVG(DB) Average_DB_Usage 2 | FROM WEB_STAT 3 | GROUP BY DOMAIN 4 | ORDER BY DOMAIN DESC; 5 | 6 | -- Sum, Min and Max CPU usage by Salesforce grouped by day 7 | SELECT TRUNC(DATE,'DAY') DAY, SUM(CORE) TOTAL_CPU_Usage, MIN(CORE) MIN_CPU_Usage, MAX(CORE) MAX_CPU_Usage 8 | FROM WEB_STAT 9 | WHERE DOMAIN LIKE 'Salesforce%' 10 | GROUP BY TRUNC(DATE,'DAY'); 11 | 12 | -- list host and total active users when core CPU usage is 10X greater than DB usage 13 | SELECT HOST, SUM(ACTIVE_VISITOR) TOTAL_ACTIVE_VISITORS 14 | FROM WEB_STAT 15 | WHERE DB > (CORE * 10) 16 | GROUP BY HOST; 17 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/hadoop/hbase/PhoenixTagType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.hadoop.hbase; 19 | 20 | /** 21 | Used to persist the TagType in HBase Cell Tags. 22 | All the type present here should be more than @{@link Tag#CUSTOM_TAG_TYPE_RANGE} which is 64. 23 | **/ 24 | public final class PhoenixTagType { 25 | /** 26 | * Indicates the source of operation. 27 | */ 28 | public static final byte SOURCE_OPERATION_TAG_TYPE = (byte) 65; 29 | } 30 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.hadoop.hbase.client; 19 | 20 | public class RegionInfoUtil { 21 | public static byte[] toByteArray(RegionInfo regionInfo) { 22 | return RegionInfo.toByteArray(regionInfo); 23 | } 24 | } -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/cache/ServerMetadataCache.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to you under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.phoenix.cache; 18 | 19 | import java.sql.SQLException; 20 | 21 | /** 22 | * Interface for server side metadata cache hosted on each region server. 23 | */ 24 | public interface ServerMetadataCache { 25 | long getLastDDLTimestampForTable(byte[] tenantID, byte[] schemaName, byte[] tableName) 26 | throws SQLException; 27 | void invalidate(byte[] tenantID, byte[] schemaName, byte[] tableName); 28 | } 29 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/call/CallWrapper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.call; 19 | 20 | /** 21 | * 22 | */ 23 | public interface CallWrapper { 24 | 25 | public void before(); 26 | 27 | public void after(); 28 | 29 | } -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/compile/MutationPlan.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.compile; 19 | 20 | import java.sql.SQLException; 21 | 22 | import org.apache.phoenix.execute.MutationState; 23 | import org.apache.phoenix.schema.TableRef; 24 | 25 | 26 | public interface MutationPlan extends StatementPlan { 27 | MutationState execute() throws SQLException; 28 | TableRef getTargetRef(); 29 | QueryPlan getQueryPlan(); 30 | } -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/coprocessorclient/SequenceRegionObserverConstants.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.coprocessorclient; 19 | 20 | public class SequenceRegionObserverConstants { 21 | public static final String OPERATION_ATTRIB = "SEQUENCE_OPERATION"; 22 | public static final String MAX_TIMERANGE_ATTRIB = "MAX_TIMERANGE"; 23 | public static final String CURRENT_VALUE_ATTRIB = "CURRENT_VALUE"; 24 | public static final String NUM_TO_ALLOCATE = "NUM_TO_ALLOCATE"; 25 | } 26 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/coprocessorclient/tasks/IndexRebuildTaskConstants.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.coprocessorclient.tasks; 19 | 20 | public class IndexRebuildTaskConstants { 21 | public static final String INDEX_NAME = "IndexName"; 22 | public static final String JOB_ID = "JobID"; 23 | public static final String DISABLE_BEFORE = "DisableBefore"; 24 | public static final String REBUILD_ALL = "RebuildAll"; 25 | } 26 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/exception/PhoenixIOException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.exception; 19 | 20 | import java.sql.SQLException; 21 | 22 | 23 | public class PhoenixIOException extends SQLException { 24 | private static final long serialVersionUID = 1L; 25 | private static SQLExceptionCode code = SQLExceptionCode.IO_EXCEPTION; 26 | 27 | public PhoenixIOException(Throwable e) { 28 | super(e.getMessage(), code.getSQLState(), code.getErrorCode(), e); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/exception/UndecodableByteException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you maynot use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicablelaw or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.exception; 19 | 20 | 21 | public class UndecodableByteException extends RuntimeException { 22 | 23 | public UndecodableByteException(Byte b) { 24 | super("Undecodable byte: " + b); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/exception/UpgradeBlockedException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.exception; 19 | 20 | 21 | public class UpgradeBlockedException extends RetriableUpgradeException { 22 | public UpgradeBlockedException() { 23 | super("Upgrade is BLOCKED by a SYSTEM.MUTEX row", SQLExceptionCode.UPGRADE_BLOCKED 24 | .getSQLState(), SQLExceptionCode.UPGRADE_BLOCKED.getErrorCode()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/exception/UpgradeNotRequiredException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.exception; 19 | 20 | 21 | public class UpgradeNotRequiredException extends RetriableUpgradeException { 22 | public UpgradeNotRequiredException() { 23 | super("Operation not allowed since cluster has already been upgraded. ", SQLExceptionCode.UPGRADE_NOT_REQUIRED 24 | .getSQLState(), SQLExceptionCode.UPGRADE_NOT_REQUIRED.getErrorCode()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/expression/BaseDecimalAddSubtractExpression.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.expression; 20 | 21 | public class BaseDecimalAddSubtractExpression { 22 | 23 | } 24 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/expression/Determinism.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE 3 | * file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file 4 | * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the 5 | * License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by 6 | * applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, 7 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language 8 | * governing permissions and limitations under the License. 9 | */ 10 | package org.apache.phoenix.expression; 11 | 12 | public enum Determinism { 13 | 14 | ALWAYS, PER_STATEMENT, PER_ROW, PER_INVOCATION; 15 | 16 | public Determinism combine (Determinism that) { 17 | return Determinism.values()[Math.max(this.ordinal(), that.ordinal())]; 18 | } 19 | } -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/expression/function/EncodeFormat.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.expression.function; 19 | 20 | public enum EncodeFormat { 21 | 22 | HEX, //format for encoding HEX value to bytes 23 | BASE62, //format for encoding a base 10 long value to base 62 string 24 | BASE64, //format for encoding a base 10 long value to base 64 string 25 | ASCII, //Plain Text 26 | HBASE //HBase-specific escaping format 27 | }; 28 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/expression/util/regex/AbstractBaseSplitter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.expression.util.regex; 19 | 20 | import org.apache.hadoop.hbase.io.ImmutableBytesWritable; 21 | 22 | public abstract interface AbstractBaseSplitter { 23 | public abstract boolean split(ImmutableBytesWritable srcPtr); 24 | } 25 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/expression/visitor/ProjectedColumnExpressionVisitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.expression.visitor; 19 | 20 | import org.apache.phoenix.expression.ProjectedColumnExpression; 21 | 22 | public abstract class ProjectedColumnExpressionVisitor extends StatelessTraverseAllExpressionVisitor { 23 | @Override 24 | abstract public Void visit(ProjectedColumnExpression node); 25 | } 26 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/expression/visitor/TraverseNoExpressionVisitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.expression.visitor; 19 | 20 | import java.util.Collections; 21 | import java.util.Iterator; 22 | 23 | import org.apache.phoenix.expression.Expression; 24 | 25 | public abstract class TraverseNoExpressionVisitor extends BaseExpressionVisitor { 26 | 27 | @Override 28 | public Iterator defaultIterator(Expression node) { 29 | return Collections.emptyIterator(); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/KeyValueStore.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.hbase.index.covered; 19 | 20 | import org.apache.hadoop.hbase.Cell; 21 | import org.apache.phoenix.hbase.index.scanner.ReseekableScanner; 22 | 23 | /** 24 | * Store a collection of KeyValues in memory. 25 | */ 26 | public interface KeyValueStore { 27 | 28 | public void add(Cell kv, boolean overwrite); 29 | 30 | public ReseekableScanner getScanner(); 31 | 32 | public void rollback(Cell kv); 33 | } -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/update/IndexedColumnGroup.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.hbase.index.covered.update; 19 | 20 | import java.util.List; 21 | 22 | /** 23 | * Group of columns that were requested to build an index 24 | */ 25 | public interface IndexedColumnGroup { 26 | 27 | public List getColumns(); 28 | } -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/parallel/EarlyExitFailure.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.hbase.index.parallel; 19 | 20 | import java.io.IOException; 21 | 22 | /** 23 | * Exception denoting a need to early-exit a task (or group of tasks) due to external notification 24 | */ 25 | @SuppressWarnings("serial") 26 | public class EarlyExitFailure extends IOException { 27 | 28 | /** 29 | * @param msg reason for the early exit 30 | */ 31 | public EarlyExitFailure(String msg) { 32 | super(msg); 33 | } 34 | } -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/scanner/ReseekableScanner.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | package org.apache.phoenix.hbase.index.scanner; 20 | 21 | import org.apache.hadoop.hbase.Cell; 22 | 23 | import java.io.IOException; 24 | 25 | public interface ReseekableScanner extends Scanner { 26 | 27 | boolean reseek(Cell key) throws IOException; 28 | } 29 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/iterate/ParallelIteratorRegionSplitter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.iterate; 19 | 20 | import java.sql.SQLException; 21 | import java.util.List; 22 | 23 | import org.apache.phoenix.query.KeyRange; 24 | 25 | 26 | /** 27 | * Interface for strategies determining how to split regions in ParallelIterators. 28 | * 29 | * 30 | */ 31 | public interface ParallelIteratorRegionSplitter { 32 | 33 | public List getSplits() throws SQLException; 34 | 35 | } 36 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/iterate/ScanningResultPostDummyResultCaller.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to you under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package org.apache.phoenix.iterate; 19 | 20 | /** 21 | * The class to perform any operation at {@link ScanningResultIterator} level once dummy cell is 22 | * returned by the server. 23 | */ 24 | public class ScanningResultPostDummyResultCaller { 25 | 26 | public void postDummyProcess() { 27 | // no-op 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/iterate/ScanningResultPostValidResultCaller.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to you under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package org.apache.phoenix.iterate; 19 | 20 | /** 21 | * The class to perform any operation at {@link ScanningResultIterator} level once valid row is 22 | * returned by the server. 23 | */ 24 | public class ScanningResultPostValidResultCaller { 25 | 26 | public void postValidRowProcess() { 27 | // no-op 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/iterate/SizeAwareQueue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.iterate; 19 | 20 | import java.io.Closeable; 21 | import java.util.Queue; 22 | 23 | public interface SizeAwareQueue extends Queue, Closeable { 24 | 25 | public long getByteSize(); 26 | 27 | } 28 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/jdbc/PhoenixMetricsHolder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.jdbc; 19 | 20 | import org.apache.phoenix.monitoring.Metric; 21 | import org.apache.phoenix.monitoring.MetricType; 22 | 23 | import java.util.Map; 24 | 25 | public interface PhoenixMetricsHolder { 26 | Metric get(MetricType type); 27 | void reset(); 28 | Map getAllMetrics(); 29 | } 30 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/jdbc/PhoenixMonitoredPreparedStatement.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.jdbc; 20 | 21 | import java.sql.PreparedStatement; 22 | 23 | /** 24 | * This interface is for phoenix statement that provide operation Type 25 | */ 26 | public interface PhoenixMonitoredPreparedStatement extends PreparedStatement, PhoenixMonitoredStatement { 27 | 28 | } 29 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/jdbc/PhoenixMonitoredResultSet.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.jdbc; 19 | 20 | import org.apache.phoenix.monitoring.MetricType; 21 | 22 | import java.sql.ResultSet; 23 | import java.util.Map; 24 | 25 | public interface PhoenixMonitoredResultSet extends ResultSet { 26 | 27 | Map> getReadMetrics(); 28 | 29 | Map getOverAllRequestReadMetrics(); 30 | 31 | void resetMetrics(); 32 | } 33 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/jdbc/PhoenixStatementFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.jdbc; 19 | 20 | public interface PhoenixStatementFactory { 21 | public PhoenixStatement newStatement(PhoenixConnection connection); 22 | } 23 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/log/LogLevel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.log; 19 | 20 | public enum LogLevel { 21 | OFF,INFO, DEBUG, TRACE 22 | } 23 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/log/QueryStatus.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.log; 19 | 20 | public enum QueryStatus { 21 | COMPILED, COMPLETED,FAILED 22 | } 23 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/monitoring/HistogramDistribution.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.monitoring; 19 | 20 | import java.util.Map; 21 | 22 | public interface HistogramDistribution { 23 | public long getMin(); 24 | 25 | public long getMax(); 26 | 27 | public long getCount(); 28 | 29 | public String getHistoName(); 30 | 31 | public Map getRangeDistributionMap(); 32 | 33 | } 34 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/monitoring/MetricsRegistry.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.apache.phoenix.monitoring; 17 | 18 | /** 19 | * Interface for configurable registering Metrics interface construction 20 | * 21 | */ 22 | 23 | public interface MetricsRegistry { 24 | 25 | /** 26 | * Interface for Registering Metrics 27 | */ 28 | void registerMetrics(TableClientMetrics tInstance); 29 | 30 | /** 31 | * Interface for unRegistering Metrics 32 | */ 33 | void unRegisterMetrics(TableClientMetrics tInstance); 34 | } 35 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/parse/BindableStatement.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.parse; 19 | 20 | import org.apache.phoenix.jdbc.PhoenixStatement.Operation; 21 | 22 | 23 | public interface BindableStatement { 24 | public int getBindCount(); 25 | public Operation getOperation(); 26 | } 27 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/parse/DeleteJarStatement.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.parse; 19 | 20 | public class DeleteJarStatement extends MutableStatement { 21 | 22 | private LiteralParseNode jarPath; 23 | 24 | public DeleteJarStatement(LiteralParseNode jarPath) { 25 | this.jarPath = jarPath; 26 | } 27 | 28 | @Override 29 | public int getBindCount() { 30 | return 0; 31 | } 32 | 33 | public LiteralParseNode getJarPath() { 34 | return jarPath; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/parse/ExecuteUpgradeStatement.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.parse; 19 | 20 | import org.apache.phoenix.jdbc.PhoenixStatement.Operation; 21 | 22 | public class ExecuteUpgradeStatement implements BindableStatement { 23 | 24 | @Override 25 | public int getBindCount() { 26 | return 0; 27 | } 28 | 29 | @Override 30 | public Operation getOperation() { 31 | return Operation.UPGRADE; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/parse/ExplainType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to you under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package org.apache.phoenix.parse; 19 | 20 | /** 21 | * Explain type attributes used to differentiate output of the explain plan. 22 | */ 23 | public enum ExplainType { 24 | WITH_REGIONS, 25 | DEFAULT 26 | } 27 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/parse/ListJarsStatement.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.parse; 19 | 20 | import org.apache.phoenix.jdbc.PhoenixStatement.Operation; 21 | 22 | public class ListJarsStatement implements BindableStatement { 23 | 24 | @Override 25 | public int getBindCount() { 26 | return 0; 27 | } 28 | 29 | @Override 30 | public Operation getOperation() { 31 | return Operation.QUERY; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/parse/MutableStatement.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.parse; 19 | 20 | import org.apache.phoenix.jdbc.PhoenixStatement.Operation; 21 | 22 | public abstract class MutableStatement implements BindableStatement { 23 | 24 | @Override 25 | public Operation getOperation() { 26 | return Operation.UPSERT; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/parse/UDFParseNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.parse; 19 | 20 | import java.util.List; 21 | 22 | public class UDFParseNode extends FunctionParseNode { 23 | 24 | public UDFParseNode(String name, List children, BuiltInFunctionInfo info) { 25 | super(name, children, info); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/parse/UnaryParseNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.parse; 19 | 20 | import java.util.Collections; 21 | 22 | /** 23 | * 24 | * Abstract node representing an expression that has a single child in SQL 25 | * 26 | * 27 | * @since 0.1 28 | */ 29 | public abstract class UnaryParseNode extends CompoundParseNode { 30 | UnaryParseNode(ParseNode expr) { 31 | super(Collections.singletonList(expr)); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/schema/NewerSchemaAlreadyExistsException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.schema; 19 | 20 | public class NewerSchemaAlreadyExistsException extends SchemaAlreadyExistsException { 21 | private static final long serialVersionUID = 1L; 22 | 23 | public NewerSchemaAlreadyExistsException(String schemaName) { 24 | super(schemaName); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/schema/PMetaDataEntity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.schema; 19 | 20 | public interface PMetaDataEntity { 21 | public int getEstimatedSize(); 22 | } 23 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollectionScope.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you maynot use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicablelaw or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.schema.stats; 19 | 20 | public enum StatisticsCollectionScope { 21 | COLUMNS, INDEX, ALL; 22 | 23 | public static StatisticsCollectionScope getDefault() { 24 | return ALL; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/schema/tool/SchemaProcessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.schema.tool; 19 | 20 | public interface SchemaProcessor { 21 | String process() throws Exception; 22 | } 23 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/transaction/PhoenixTransactionClient.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.transaction; 19 | 20 | import java.io.Closeable; 21 | 22 | public interface PhoenixTransactionClient extends Closeable { 23 | } 24 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/util/DefaultEnvironmentEdge.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | package org.apache.phoenix.util; 20 | 21 | /** 22 | * Default implementation of an environment edge. 23 | */ 24 | public class DefaultEnvironmentEdge extends EnvironmentEdge { 25 | /** 26 | * {@inheritDoc} 27 | * This implementation returns {@link System#currentTimeMillis()} 28 | */ 29 | @Override 30 | public long currentTime() { 31 | return System.currentTimeMillis(); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/util/SQLCloseable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.util; 19 | 20 | import java.sql.SQLException; 21 | 22 | /** 23 | * 24 | * Interface for a SQL resource that should be closed 25 | * after it is no longer in use. 26 | * 27 | * 28 | * @since 0.1 29 | */ 30 | public interface SQLCloseable { 31 | void close() throws SQLException; 32 | } 33 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/util/TimeKeeper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.util; 19 | 20 | public interface TimeKeeper { 21 | static final TimeKeeper SYSTEM = new TimeKeeper() { 22 | @Override 23 | public long getCurrentTime() { 24 | return EnvironmentEdgeManager.currentTimeMillis(); 25 | } 26 | }; 27 | 28 | long getCurrentTime(); 29 | } -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/util/i18n/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to you under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | 19 | /** 20 | * This package contains utility classes partially copied from Salesforce's 21 | * internationalization utility library (com.salesforce.i18n:i18n-util:1.0.4), which was 22 | * released under the 3-clause BSD License. 23 | * 24 | * The i18n-util library is not maintained anymore, and it was using vulnerable dependencies. 25 | * For more info, see: https://issues.apache.org/jira/browse/PHOENIX-6818 26 | */ 27 | package org.apache.phoenix.util.i18n; 28 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/java/org/apache/phoenix/util/json/JsonDataFormatFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.util.json; 19 | 20 | public class JsonDataFormatFactory { 21 | public enum DataFormat { 22 | BSON, 23 | STRING 24 | } 25 | public static JsonDataFormat getJsonDataFormat(DataFormat type) { 26 | if(type == DataFormat.BSON) 27 | return new BsonDataFormat(); 28 | else return null; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/protobuf/DynamicColumnMetaData.proto: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | option java_package = "org.apache.phoenix.coprocessor.generated"; 20 | option java_outer_classname = "DynamicColumnMetaDataProtos"; 21 | option java_generic_services = true; 22 | option java_generate_equals_and_hash = true; 23 | option optimize_for = SPEED; 24 | 25 | import "PTable.proto"; 26 | 27 | message DynamicColumnMetaData { 28 | repeated PColumn dynamicColumns = 1; 29 | } -------------------------------------------------------------------------------- /phoenix-core-client/src/main/protobuf/PSchema.proto: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | option java_package = "org.apache.phoenix.coprocessor.generated"; 20 | option java_outer_classname = "PSchemaProtos"; 21 | option java_generic_services = true; 22 | option java_generate_equals_and_hash = true; 23 | option optimize_for = SPEED; 24 | 25 | message PSchema { 26 | required string schemaName = 1; 27 | required int64 timeStamp = 2; 28 | } 29 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/protobuf/ServerCacheFactory.proto: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | option java_package = "org.apache.phoenix.coprocessor.generated"; 20 | option java_outer_classname = "ServerCacheFactoryProtos"; 21 | option java_generic_services = true; 22 | option java_generate_equals_and_hash = true; 23 | option optimize_for = SPEED; 24 | 25 | message ServerCacheFactory { 26 | required string className = 1; 27 | } 28 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/resources/META-INF/services/java.sql.Driver: -------------------------------------------------------------------------------- 1 | org.apache.phoenix.jdbc.PhoenixDriver 2 | -------------------------------------------------------------------------------- /phoenix-core-client/src/main/resources/META-INF/services/org.apache.phoenix.monitoring.MetricPublisherSupplierFactory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | org.apache.phoenix.monitoring.JmxMetricProvider -------------------------------------------------------------------------------- /phoenix-core-client/src/main/resources/META-INF/services/org.apache.phoenix.query.GuidePostsCacheFactory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | org.apache.phoenix.query.DefaultGuidePostsCacheFactory 17 | org.apache.phoenix.query.ITGuidePostsCacheFactory -------------------------------------------------------------------------------- /phoenix-core-client/src/main/resources/phoenix-canary-file-sink.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | file.name=phoenix-canary-logfile 17 | file.location=/tmp/logs/phoenix -------------------------------------------------------------------------------- /phoenix-core-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.hadoop.hbase.ipc; 19 | 20 | 21 | public class RpcUtil { 22 | 23 | public static RpcCall getRpcContext() { 24 | return RpcServer.CurCall.get(); 25 | } 26 | 27 | public static void setRpcContext(RpcCall c){ 28 | RpcServer.CurCall.set(c); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /phoenix-core-server/src/main/java/org/apache/hadoop/hbase/regionserver/LocalIndexSplitter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.hadoop.hbase.regionserver; 19 | 20 | import org.apache.hadoop.hbase.coprocessor.RegionObserver; 21 | 22 | public class LocalIndexSplitter implements RegionObserver { 23 | 24 | } 25 | -------------------------------------------------------------------------------- /phoenix-core-server/src/main/java/org/apache/phoenix/coprocessor/PhoenixCoprocessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.coprocessor; 19 | 20 | import java.util.Optional; 21 | 22 | import org.apache.hadoop.hbase.Coprocessor; 23 | 24 | public interface PhoenixCoprocessor extends Coprocessor { 25 | default Optional getPhoenixObserver() { 26 | return Optional.empty(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /phoenix-core-server/src/main/java/org/apache/phoenix/hbase/index/balancer/IndexLoadBalancer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.hbase.index.balancer; 19 | 20 | import org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer; 21 | 22 | public class IndexLoadBalancer extends StochasticLoadBalancer { 23 | 24 | } 25 | -------------------------------------------------------------------------------- /phoenix-core-server/src/main/java/org/apache/phoenix/mapreduce/PhoenixJobCounters.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.mapreduce; 19 | 20 | /** 21 | * Counters used during Map Reduce jobs 22 | * 23 | */ 24 | public enum PhoenixJobCounters { 25 | 26 | INPUT_RECORDS, 27 | FAILED_RECORDS, 28 | OUTPUT_RECORDS; 29 | } 30 | -------------------------------------------------------------------------------- /phoenix-core-server/src/main/java/org/apache/phoenix/mapreduce/util/MultiViewJobStatusTracker.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.mapreduce.util; 19 | 20 | import org.apache.hadoop.conf.Configuration; 21 | 22 | public interface MultiViewJobStatusTracker { 23 | void updateJobStatus(ViewInfoTracker view, long numberOfDeletedRows, int state, 24 | Configuration config, long duration, String mrJobName); 25 | } -------------------------------------------------------------------------------- /phoenix-core-server/src/main/java/org/apache/phoenix/mapreduce/util/MultiViewSplitStrategy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.mapreduce.util; 19 | 20 | import org.apache.hadoop.conf.Configuration; 21 | import org.apache.hadoop.mapreduce.InputSplit; 22 | 23 | import java.util.List; 24 | 25 | public interface MultiViewSplitStrategy { 26 | List generateSplits(List views, Configuration configuration); 27 | } -------------------------------------------------------------------------------- /phoenix-core-server/src/main/java/org/apache/phoenix/mapreduce/util/PhoenixMultiViewListProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.mapreduce.util; 19 | 20 | import org.apache.hadoop.conf.Configuration; 21 | import java.util.List; 22 | 23 | public interface PhoenixMultiViewListProvider { 24 | List getPhoenixMultiViewList(Configuration configuration); 25 | } -------------------------------------------------------------------------------- /phoenix-core-server/src/main/java/org/apache/phoenix/schema/SystemFunctionSplitPolicy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.schema; 19 | 20 | public class SystemFunctionSplitPolicy extends SplitOnLeadingVarCharColumnsPolicy { 21 | 22 | @Override 23 | protected int getColumnToSplitAt() { 24 | return 2; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /phoenix-core-server/src/main/java/org/apache/phoenix/schema/SystemStatsSplitPolicy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.schema; 19 | 20 | public class SystemStatsSplitPolicy extends SplitOnLeadingVarCharColumnsPolicy { 21 | 22 | @Override 23 | protected int getColumnToSplitAt() { 24 | return 1; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /phoenix-core-server/src/main/java/org/apache/phoenix/schema/SystemTaskSplitPolicy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.schema; 20 | 21 | import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy; 22 | 23 | /** 24 | * Split policy for SYSTEM.TASK table 25 | */ 26 | public class SystemTaskSplitPolicy extends DisabledRegionSplitPolicy { 27 | // empty 28 | } 29 | -------------------------------------------------------------------------------- /phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithRegionMovesIT.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.end2end; 19 | 20 | import org.junit.experimental.categories.Category; 21 | 22 | @Category(NeedsOwnMiniClusterTest.class) 23 | public class OrderByWithRegionMovesIT extends BaseOrderByWithRegionMovesIT { 24 | 25 | } 26 | -------------------------------------------------------------------------------- /phoenix-core/src/it/java/org/apache/phoenix/trace/PhoenixTagImpl.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.trace; 19 | 20 | import org.apache.hadoop.metrics2.MetricsTag; 21 | 22 | /** 23 | * Simple Tag implementation for testing 24 | */ 25 | public class PhoenixTagImpl extends MetricsTag { 26 | public PhoenixTagImpl(String name, String description, String value) { 27 | super(new MetricsInfoImpl(name, description), value); 28 | } 29 | } -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/compatible_client_versions.json: -------------------------------------------------------------------------------- 1 | { 2 | "_comment": "Lists all phoenix compatible client versions against the current branch version for a given hbase profile If hbase profile is 1.3, phoenix client versions 4.14.3 and 4.15.0 are tested against current branch version", 3 | "2.1": [ {"artifactId":"phoenix-client-hbase-2.1", "version":"5.1.0"} ], 4 | "2.2": [ {"artifactId":"phoenix-client-hbase-2.2", "version":"5.1.0"} ], 5 | "2.3": [ {"artifactId":"phoenix-client-hbase-2.3", "version":"5.1.0"} ], 6 | "2.4": [ {"artifactId":"phoenix-client-hbase-2.4", "version":"5.1.2"} ], 7 | "2.5": [ {"artifactId":"phoenix-client-hbase-2.5", "version":"5.1.3"} ], 8 | "2.6": [ ] 9 | } 10 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_add_data.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'COUNT(1)' 20 | '7' 21 | 'ID','NAME' 22 | 'a','a_name' 23 | 'b','b_name' 24 | 'c','a_name' 25 | 'd','a_name' 26 | 'x','a_name' 27 | 'y','a_name' 28 | 'z','b_name' 29 | 'ID' 30 | 'a' 31 | 'c' 32 | 'd' 33 | 'x' 34 | 'y' 35 | 'ID' 36 | 'b' 37 | 'z' 38 | 'COUNT(1)' 39 | '3' 40 | 'ID','NAME' 41 | 'a','a_name' 42 | 'b','b_name' 43 | 'x','x_name' 44 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_add_delete.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'COUNT(1)' 20 | '4' 21 | 'COUNT(1)' 22 | '3' 23 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_create_add.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'COUNT(1)' 20 | '3' 21 | 'ID','NAME' 22 | 'a','a_name' 23 | 'b','b_name' 24 | 'c','a_name' 25 | 'ID' 26 | 'a' 27 | 'c' 28 | 'COUNT(1)' 29 | '2' 30 | 'ID','NAME' 31 | 'a','a_name' 32 | 'b','b_name' 33 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_create_diverged_view.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'COUNT(1)' 20 | '1' 21 | 'COUNT(1)' 22 | '1' 23 | 'A','B','C','D' 24 | '2','200','def','-20' 25 | 'A','B','D','VA','VB' 26 | '2','200','-20','91','101' 27 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_delete.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'COUNT(1)' 20 | '1' 21 | 'ID','NAME' 22 | 'a','a_name' -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_delete_for_splitable_syscat.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'COUNT(1)' 20 | '1' 21 | 'ID','NAME' 22 | 'a','a_name' -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_index_rebuild_async.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'TASK_TYPE','TABLE_NAME','TASK_STATUS','TASK_PRIORITY' 20 | '2','TI','CREATED','4' 21 | 'K','V' 22 | 'key1','val2' 23 | 'key3','val3' 24 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_offset.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'COUNT(1)' 20 | '25' 21 | 'ID','COL1','COL2' 22 | 'id21','col21','60' 23 | 'id22','col22','70' 24 | 'id23','col23','80' 25 | 'id24','col24','90' 26 | 'id25','col25','100' 27 | 'id3','col3','30' 28 | 'id4','col4','40' 29 | 'id5','col5','50' 30 | 'id6','col6','30' 31 | 'id7','col7','20' 32 | 'id9','col9','40' 33 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_orderby_nonpk.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'COUNT(COL2)' 20 | '25' 21 | 'ID','COL1','COL2' 22 | 'id13','col13','30' 23 | 'id17','col17','30' 24 | 'id18','col18','30' 25 | 'id22','col22','30' 26 | 'id3','col3','30' 27 | 'id6','col6','30' 28 | 'id25','col25','33' 29 | 'id12','col12','40' 30 | 'id19','col19','40' 31 | 'id23','col23','40' 32 | 'id4','col4','40' 33 | 'id9','col9','40' 34 | 'id10','col10','50' 35 | 'id11','col11','50' 36 | 'id20','col20','50' 37 | 'id5','col5','50' 38 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_ordered_groupby.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'COUNT(1)' 20 | '24' 21 | 'ID1','MAX(COL2)' 22 | 'id1','10' 23 | 'id10','100' 24 | 'id11','111' 25 | 'id12','112' 26 | 'id2','25' 27 | 'id2','20' 28 | 'id3','35' 29 | 'id3','30' 30 | 'id4','40' 31 | 'id5','50' 32 | 'id6','60' 33 | 'id7','70' 34 | 'id8','80' 35 | 'id9','90' -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_select_and_drop_table.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'COUNT(1)' 20 | '1' 21 | 'ID','NAME' 22 | 'a','a_name' 23 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_unorder_groupby.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'COUNT(COL2)' 20 | '21' 21 | 'COL2','COUNT(COL2)' 22 | '30','5' 23 | '40','4' 24 | '50','4' 25 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/gold_files/gold_query_view_index.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'VIEW_INDEX_ID' 20 | '-32768' -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/json/json_datatypes.json: -------------------------------------------------------------------------------- 1 | { 2 | "datatypes": { 3 | "stringtype": "someString", 4 | "inttype": 1, 5 | "booltype": true, 6 | "booltypef": false, 7 | "doubletype": 2.5, 8 | "longtype": 1490020778457845, 9 | "intArray": [ 10 | 1, 11 | 2, 12 | 3 13 | ], 14 | "nullcheck": null, 15 | "boolArray": [ 16 | true, 17 | false, 18 | false 19 | ], 20 | "doubleArray": [ 21 | 1.2, 22 | 2.3, 23 | 3.4 24 | ], 25 | "stringArray": [ 26 | "hello", 27 | "world" 28 | ], 29 | "mixedArray": [ 30 | 2, 31 | "string", 32 | 1.2, 33 | false 34 | ] 35 | } 36 | } -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/snapshots4_7/snapshots47.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/phoenix/af11be23136624a966c77532c5d91f033a62322e/phoenix-core/src/it/resources/snapshots4_7/snapshots47.tar.gz -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/add_delete.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | CREATE TABLE my_schema.my_table_delete 20 | (id VARCHAR not null primary key, name VARCHAR) SALT_BUCKETS=4; 21 | UPSERT INTO my_schema.my_table_delete values ('a','a_name'); 22 | DELETE FROM my_schema.my_table_delete; 23 | DROP TABLE my_schema.my_table_delete; 24 | 25 | UPSERT INTO my_schema.my_table values ('y','y_name'); 26 | UPSERT INTO my_schema.my_table_immutable values ('y','y_name'); 27 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/add_view_index.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | CREATE TABLE MY_SCHEMA.VIEW_INDEX_BASE_TABLE (TENANT_ID CHAR(15) NOT NULL, ID CHAR(3) NOT NULL, NUM BIGINT CONSTRAINT PK PRIMARY KEY (TENANT_ID, ID)) MULTI_TENANT = true; 20 | CREATE VIEW MY_SCHEMA.GLOBAL_VIEW (A BIGINT PRIMARY KEY, B BIGINT) AS SELECT * FROM MY_SCHEMA.VIEW_INDEX_BASE_TABLE WHERE ID='ABC'; 21 | CREATE INDEX MY_SCHEMA_VIEW_INDEX ON MY_SCHEMA.GLOBAL_VIEW (B DESC) INCLUDE (NUM); -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/create_diverged_view.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | CREATE TABLE IF NOT EXISTS S.T (A INTEGER PRIMARY KEY, B INTEGER, C VARCHAR, D INTEGER); 20 | CREATE VIEW IF NOT EXISTS S.V (VA INTEGER, VB INTEGER) AS SELECT * FROM S.T WHERE B=200; 21 | UPSERT INTO S.V (A, B, C, D, VA, VB) VALUES (2, 200, 'def', -20, 91, 101); 22 | ALTER VIEW S.V DROP COLUMN C; 23 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/create_tmp_table.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | CREATE TABLE if not exists my_schema.my_table_delete2 20 | (id VARCHAR not null primary key, name VARCHAR) SALT_BUCKETS=4; 21 | UPSERT INTO my_schema.my_table_delete2 values ('a','a_name'); -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/index_rebuild_async.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | CREATE TABLE IF NOT EXISTS S.TI (K VARCHAR PRIMARY KEY, V VARCHAR); 20 | UPSERT INTO S.TI VALUES ('key1', 'val1'); 21 | CREATE INDEX R_ASYNCIND_TI ON S.TI (K, V); 22 | ALTER INDEX R_ASYNCIND_TI ON S.TI DISABLE; 23 | UPSERT INTO S.TI VALUES ('key1', 'val2'); 24 | ALTER INDEX R_ASYNCIND_TI ON S.TI REBUILD ALL ASYNC; 25 | UPSERT INTO S.TI VALUES ('key3', 'val3'); 26 | UPSERT INTO S.TI VALUES ('key4', 'val4'); 27 | DELETE FROM S.TI WHERE K = 'key4'; 28 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_add_data.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | SELECT COUNT(*) from my_schema.my_table; 20 | SELECT * FROM my_schema.my_table; 21 | SELECT id from my_table_view; 22 | SELECT id from my_table_second_view; 23 | 24 | SELECT COUNT(*) from my_schema.my_table_immutable; 25 | SELECT * FROM my_schema.my_table_immutable; 26 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_add_delete.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | CREATE TABLE my_schema.my_table_delete 20 | (id VARCHAR not null primary key, name VARCHAR) SALT_BUCKETS=4; 21 | UPSERT INTO my_schema.my_table_delete values ('a','a_name'); 22 | DELETE FROM my_schema.my_table_delete; 23 | DROP TABLE my_schema.my_table_delete; 24 | 25 | SELECT COUNT(*) from my_schema.my_table; 26 | SELECT COUNT(*) from my_schema.my_table_immutable; 27 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_create_add.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | SELECT COUNT(*) from my_schema.my_table; 20 | SELECT * FROM my_schema.my_table; 21 | SELECT id from my_table_view; 22 | 23 | SELECT COUNT(*) from my_schema.my_table_immutable; 24 | SELECT * FROM my_schema.my_table_immutable; 25 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_create_diverged_view.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | SELECT COUNT(*) FROM S.T; 20 | SELECT COUNT(*) FROM S.V; 21 | SELECT * FROM S.T; 22 | SELECT * FROM S.V; 23 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_delete.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | CREATE TABLE if not exists my_schema.my_table_delete 20 | (id VARCHAR not null primary key, name VARCHAR) SALT_BUCKETS=4; 21 | UPSERT INTO my_schema.my_table_delete values ('a','a_name'); 22 | 23 | SELECT COUNT(*) from my_schema.my_table_delete; 24 | SELECT * from my_schema.my_table_delete; 25 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_delete_for_splitable_syscat.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | CREATE TABLE if not exists my_schema.my_table_delete5 20 | (id VARCHAR not null primary key, name VARCHAR) SALT_BUCKETS=4; 21 | UPSERT INTO my_schema.my_table_delete5 values ('a','a_name'); 22 | 23 | SELECT COUNT(*) from my_schema.my_table_delete5; 24 | SELECT * from my_schema.my_table_delete5; 25 | DROP TABLE my_schema.my_table_delete5; -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_index_rebuild_async.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | SELECT TASK_TYPE, TABLE_NAME, TASK_STATUS, TASK_PRIORITY FROM SYSTEM.TASK; 20 | SELECT * FROM S.TI; -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_offset.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | SELECT COUNT(*) FROM SCHEMA_0002.TABLE_0002; 20 | 21 | SELECT ID, COL1, COL2 FROM SCHEMA_0002.TABLE_0002 WHERE COL2 > 10 OFFSET 11; 22 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_orderby_nonpk.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | SELECT COUNT(COL2) FROM SCHEMA_0003.TABLE_0003; 20 | 21 | SELECT ID, COL1, COL2 FROM SCHEMA_0003.TABLE_0003 WHERE COL2 > 25 ORDER BY COL2, COL1; -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_ordered_groupby.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | SELECT COUNT(*) FROM SCHEMA_0001.TABLE_0001; 20 | 21 | SELECT DISTINCT ID1, MAX(COL2) FROM SCHEMA_0001.TABLE_0001 GROUP BY ID1, ID2 ORDER BY ID1, ID2; 22 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_select_and_drop_table.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | SELECT COUNT(*) from my_schema.my_table_delete2; 20 | SELECT * from my_schema.my_table_delete2; 21 | DROP TABLE IF EXISTS my_schema.my_table_delete2; -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_unorder_groupby.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | SELECT COUNT(COL2) FROM SCHEMA_0000.TABLE_0000; 20 | 21 | SELECT COL2, COUNT(COL2) FROM SCHEMA_0000.TABLE_0000 WHERE COL2 > 25 GROUP BY COL2 ORDER BY COL2; -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/sql_files/query_view_index.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | SELECT VIEW_INDEX_ID FROM SYSTEM.CATALOG WHERE TABLE_NAME='MY_SCHEMA_VIEW_INDEX' AND TABLE_SCHEM='MY_SCHEMA' AND COLUMN_COUNT IS NOT NULL; -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/synthesis/alter_index_add_property.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | CREATE INDEX IF NOT EXISTS ANOTHER_INDEX_ON_SOME_TABLE 19 | ON TEST.SOME_TABLE_WITH_INDEX (SOME_VALUE_COL_1, SOME_VALUE_COL) 20 | INCLUDE (TEXT_VALUE) ASYNC TTL=123000; 21 | 22 | ALTER TABLE TEST.ANOTHER_INDEX_ON_SOME_TABLE SET REPLICATION_SCOPE=1; -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/synthesis/alter_index_change_property.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | CREATE INDEX IF NOT EXISTS ANOTHER_INDEX_ON_SOME_TABLE 19 | ON TEST.SOME_TABLE_WITH_INDEX (SOME_VALUE_COL_1, SOME_VALUE_COL) 20 | INCLUDE (TEXT_VALUE) ASYNC TTL=123000; 21 | 22 | ALTER TABLE TEST.ANOTHER_INDEX_ON_SOME_TABLE SET TTL=5000; -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/synthesis/alter_table_add_pk.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | CREATE TABLE IF NOT EXISTS TEST.TABLE_1 ( 19 | STATE CHAR(1) NOT NULL, 20 | CONSTRAINT PK PRIMARY KEY 21 | ( 22 | STATE 23 | ) 24 | ); 25 | 26 | ALTER TABLE TEST.TABLE_1 ADD IF NOT EXISTS SOME_ID VARCHAR NULL PRIMARY KEY; -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/synthesis/create_function.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | CREATE FUNCTION my_reverse(varchar) returns varchar as 'com.mypackage.MyReverseFunction' 19 | -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/synthesis/drop_index.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | CREATE INDEX IF NOT EXISTS ANOTHER_INDEX_ON_SOME_TABLE 19 | ON TEST.SOME_TABLE_WITH_INDEX (SOME_VALUE_COL_1, SOME_VALUE_COL) 20 | INCLUDE (TEXT_VALUE) ASYNC TTL=123000; 21 | 22 | ALTER TABLE TEST.ANOTHER_INDEX_ON_SOME_TABLE SET REPLICATION_SCOPE=1; 23 | 24 | DROP INDEX ANOTHER_INDEX_ON_SOME_TABLE ON TEST.SOME_TABLE_WITH_INDEX; -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/synthesis/escape_column.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | CREATE TABLE IF NOT EXISTS ABC (NID CHAR(15) NOT NULL, DATA VARCHAR, "a"."_" char(1), 19 | "b"."_" char(1) CONSTRAINT PK PRIMARY KEY (NID)) VERSIONS=1,MULTI_TENANT=true,REPLICATION_SCOPE=1; 20 | ALTER TABLE ABC SET DISABLE_BACKUP=TRUE; 21 | ALTER TABLE ABC SET BLOOMFILTER='ROW'; 22 | ALTER TABLE ABC SET "phoenix.max.lookback.age.seconds"=0; 23 | ALTER TABLE ABC SET UPDATE_CACHE_FREQUENCY=172800000; -------------------------------------------------------------------------------- /phoenix-core/src/it/resources/synthesis/escape_property.sql: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | CREATE TABLE IF NOT EXISTS ABC (ORGANIZATION_ID CHAR(15) NOT NULL, NETWORK_ID CHAR(15) NOT NULL, CONSTRAINT PK PRIMARY KEY (ORGANIZATION_ID)) VERSIONS=1,MULTI_TENANT=true,REPLICATION_SCOPE=1; 19 | ALTER TABLE ABC SET DISABLE_BACKUP=TRUE; 20 | ALTER TABLE ABC SET BLOOMFILTER='ROW'; 21 | ALTER TABLE ABC SET "phoenix.max.lookback.age.seconds"=0; 22 | ALTER TABLE ABC SET UPDATE_CACHE_FREQUENCY=172800000; -------------------------------------------------------------------------------- /phoenix-core/src/test/java/org/apache/hadoop/metrics2/impl/ExposedMetricCounterLong.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.hadoop.metrics2.impl; 19 | 20 | import org.apache.hadoop.metrics2.MetricsInfo; 21 | 22 | /** 23 | * 24 | */ 25 | public class ExposedMetricCounterLong extends MetricCounterLong { 26 | 27 | 28 | 29 | /** 30 | * @param info 31 | * @param value 32 | */ 33 | public ExposedMetricCounterLong(MetricsInfo info, long value) { 34 | super(info, value); 35 | } 36 | } -------------------------------------------------------------------------------- /phoenix-core/src/test/java/org/apache/phoenix/schema/PLongColumn.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.schema; 19 | 20 | import org.apache.phoenix.schema.types.PDataType; 21 | import org.apache.phoenix.schema.types.PLong; 22 | 23 | /** 24 | * Base class for PColumn implementors of type Long. 25 | * @since 0.1 26 | */ 27 | public abstract class PLongColumn extends PBaseColumn { 28 | @Override 29 | public final PDataType getDataType() { 30 | return PLong.INSTANCE; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /phoenix-core/src/test/java/org/apache/phoenix/schema/types/PrimitiveIntPhoenixArrayToStringTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.schema.types; 19 | 20 | public class PrimitiveIntPhoenixArrayToStringTest extends BasePrimitiveIntPhoenixArrayToStringTest { 21 | 22 | @Override 23 | protected PDataType getBaseType() { 24 | return PInteger.INSTANCE; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /phoenix-core/src/test/java/org/apache/phoenix/transaction/PhoenixTransactionService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.transaction; 19 | 20 | import java.io.Closeable; 21 | 22 | public interface PhoenixTransactionService extends Closeable { 23 | 24 | } 25 | -------------------------------------------------------------------------------- /phoenix-core/src/test/java/org/apache/phoenix/util/Repeat.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you maynot use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicablelaw or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.util; 19 | 20 | import java.lang.annotation.ElementType; 21 | import java.lang.annotation.Retention; 22 | import java.lang.annotation.RetentionPolicy; 23 | import java.lang.annotation.Target; 24 | 25 | @Retention(RetentionPolicy.RUNTIME) 26 | @Target({ElementType.METHOD}) 27 | public @interface Repeat { 28 | int value(); 29 | } 30 | 31 | -------------------------------------------------------------------------------- /phoenix-core/src/test/resources/META-INF/services/org.apache.phoenix.query.GuidePostsCacheFactory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | org.apache.phoenix.query.DefaultGuidePostsCacheFactory 17 | org.apache.phoenix.query.ITGuidePostsCacheFactory 18 | # Test Implementations 19 | org.apache.phoenix.query.GuidePostsCacheProviderTest$TestGuidePostsCacheFactory -------------------------------------------------------------------------------- /phoenix-core/src/test/resources/META-INF/services/org.apache.phoenix.query.PropertyPolicy: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | org.apache.phoenix.query.TestPropertyPolicy -------------------------------------------------------------------------------- /phoenix-core/src/test/resources/json/test_role_record.json: -------------------------------------------------------------------------------- 1 | { 2 | "haGroupName" : "testReadRecordsFromFileJson", 3 | "policy" : "FAILOVER", 4 | "registryType" : "ZK", 5 | "url1" : "zk1\\:2181::/hbase", 6 | "role1" : "ACTIVE", 7 | "url2" : "zk2\\:2181::/hbase", 8 | "role2" : "STANDBY", 9 | "version" : 1 10 | } -------------------------------------------------------------------------------- /phoenix-core/src/test/resources/json/test_role_record_old_format.json: -------------------------------------------------------------------------------- 1 | { 2 | "haGroupName" : "testReadRecordsFromFileJson", 3 | "policy" : "FAILOVER", 4 | "zk1" : "zk1\\:2181::/hbase", 5 | "role1" : "ACTIVE", 6 | "zk2" : "zk2\\:2181::/hbase", 7 | "role2" : "STANDBY", 8 | "version" : 1 9 | } -------------------------------------------------------------------------------- /phoenix-core/src/test/resources/json/test_role_record_wrong_format.json: -------------------------------------------------------------------------------- 1 | { 2 | "haGroupName" : "testReadRecordsFromFileJson", 3 | "policy" : "FAILOVER", 4 | "registryType" : "ZK", 5 | "url1" : "zk1\\:2181::/hbase", 6 | "role1" : "ACTIVE", 7 | "role2" : "STANDBY", 8 | "version" : 1 9 | } -------------------------------------------------------------------------------- /phoenix-core/src/test/resources/json/test_role_record_wrong_role_format.json: -------------------------------------------------------------------------------- 1 | { 2 | "haGroupName" : "testReadRecordsFromFileJson", 3 | "policy" : "FAILOVER", 4 | "registryType" : "ZK", 5 | "url1" : "zk1\\:2181::/hbase", 6 | "url2" : "zk2\\:2181::/hbase", 7 | "role2" : "STANDBY", 8 | "version" : 1 9 | } -------------------------------------------------------------------------------- /phoenix-core/src/test/resources/phoenix-canary-file-sink.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | file.name=phoenix-canary-result.txt 17 | file.location=. -------------------------------------------------------------------------------- /phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/HbaseCompatCapabilities.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to you under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package org.apache.phoenix.compat.hbase; 19 | 20 | public class HbaseCompatCapabilities { 21 | // Currently every supported HBase version has the same capabilities, so there is 22 | // nothing in here. 23 | } 24 | -------------------------------------------------------------------------------- /phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/HbaseCompatCapabilities.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to you under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package org.apache.phoenix.compat.hbase; 19 | 20 | public class HbaseCompatCapabilities { 21 | // Currently every supported HBase version has the same capabilities, so there is 22 | // nothing in here. 23 | } 24 | -------------------------------------------------------------------------------- /phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/HbaseCompatCapabilities.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to you under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package org.apache.phoenix.compat.hbase; 19 | 20 | public class HbaseCompatCapabilities { 21 | // Currently every supported HBase version has the same capabilities, so there is 22 | // nothing in here. 23 | } 24 | -------------------------------------------------------------------------------- /phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/CompatIndexedHLogReader.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to you under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.phoenix.compat.hbase; 18 | 19 | import org.apache.hadoop.hbase.regionserver.wal.ProtobufWALStreamReader; 20 | 21 | public abstract class CompatIndexedHLogReader extends ProtobufWALStreamReader { 22 | 23 | } 24 | -------------------------------------------------------------------------------- /phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/HbaseCompatCapabilities.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to you under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package org.apache.phoenix.compat.hbase; 19 | 20 | public class HbaseCompatCapabilities { 21 | // Currently every supported HBase version has the same capabilities, so there is 22 | // nothing in here. 23 | } 24 | -------------------------------------------------------------------------------- /phoenix-pherf/config/datamodel/user_defined_schema.sql: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | See the License for the specific language governing permissions and 16 | limitations under the License. 17 | */ 18 | CREATE TABLE IF NOT EXISTS PHERF.USER_DEFINED_TEST ( 19 | TENANT_ID CHAR(15) NOT NULL, 20 | CREATED_DATE DATE NOT NULL, 21 | VAL_STRING VARCHAR 22 | CONSTRAINT PK PRIMARY KEY 23 | ( 24 | TENANT_ID, 25 | CREATED_DATE DESC 26 | ) 27 | ) VERSIONS=1,MULTI_TENANT=true,SALT_BUCKETS=16 28 | -------------------------------------------------------------------------------- /phoenix-pherf/src/it/resources/datamodel/create_prod_test_unsalted.sql: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | See the License for the specific language governing permissions and 16 | limitations under the License. 17 | */ 18 | 19 | CREATE TABLE IF NOT EXISTS PHERF.PHERF_PROD_TEST_UNSALTED ( 20 | TENANT_ID CHAR(15) NOT NULL, 21 | CREATED_DATE DATE NOT NULL, 22 | FIELD VARCHAR, 23 | DATA_TYPE VARCHAR, 24 | OLDVAL_STRING VARCHAR, 25 | NEWVAL_STRING VARCHAR, 26 | DIVISION INTEGER, 27 | CONNECTION_ID VARCHAR 28 | CONSTRAINT PK PRIMARY KEY 29 | ( 30 | TENANT_ID, 31 | CREATED_DATE DESC 32 | ) 33 | ) VERSIONS=1,MULTI_TENANT=true 34 | -------------------------------------------------------------------------------- /phoenix-pherf/src/it/resources/hbase-site.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20 | 21 | 22 | phoenix.query.threadPoolSize 23 | 128 24 | 25 | 26 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/DataSequence.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.configuration; 20 | 21 | public enum DataSequence { 22 | RANDOM, SEQUENTIAL,LIST; 23 | } -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/ExecutionType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.configuration; 20 | 21 | public enum ExecutionType { 22 | SERIAL, PARALLEL; 23 | } 24 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/exception/FileLoaderException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.exception; 20 | 21 | public class FileLoaderException extends PherfException { 22 | public FileLoaderException(String message) throws Exception { 23 | super(message); 24 | } 25 | 26 | @SuppressWarnings("unused") 27 | public FileLoaderException(String message, Exception e) { 28 | super(message, e); 29 | } 30 | } -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/exception/FileLoaderRuntimeException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.exception; 20 | 21 | public class FileLoaderRuntimeException extends PherfRuntimeException { 22 | @SuppressWarnings("unused") 23 | public FileLoaderRuntimeException(String message) throws Exception { 24 | super(message); 25 | } 26 | public FileLoaderRuntimeException(String message, Exception e) { 27 | super(message, e); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/exception/PherfException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.exception; 20 | 21 | public class PherfException extends Exception { 22 | public PherfException(String message) throws Exception{ 23 | super(message); 24 | } 25 | 26 | public PherfException(String message, Exception e) { 27 | super(message, e); 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/exception/PherfRuntimeException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.exception; 20 | 21 | public class PherfRuntimeException extends RuntimeException { 22 | public PherfRuntimeException(String message) throws Exception{ 23 | super(message); 24 | } 25 | 26 | public PherfRuntimeException(String message, Exception e) { 27 | super(message, e); 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/jmx/Stat.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.jmx; 20 | 21 | public class Stat { 22 | private final T stat; 23 | 24 | public Stat(T stat) { 25 | this.stat = stat; 26 | } 27 | 28 | @Override 29 | public String toString() { 30 | return stat.toString(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/jmx/monitors/FreeMemoryMonitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.jmx.monitors; 20 | 21 | import org.apache.phoenix.pherf.jmx.Stat; 22 | 23 | public class FreeMemoryMonitor implements Monitor { 24 | 25 | @Override 26 | public Stat getStat() { 27 | Stat stat = new Stat(new Long(Runtime.getRuntime().freeMemory())); 28 | return stat; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/jmx/monitors/HeapMemoryMonitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.jmx.monitors; 20 | 21 | import org.apache.phoenix.pherf.jmx.Stat; 22 | 23 | import java.lang.management.ManagementFactory; 24 | 25 | public class HeapMemoryMonitor implements Monitor { 26 | 27 | @Override 28 | public Stat getStat() { 29 | Stat stat = new Stat(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed()); 30 | return stat; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/jmx/monitors/MaxMemoryMonitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.jmx.monitors; 20 | 21 | import org.apache.phoenix.pherf.jmx.Stat; 22 | 23 | public class MaxMemoryMonitor implements Monitor { 24 | 25 | @Override 26 | public Stat getStat() { 27 | Stat stat = new Stat(new Long(Runtime.getRuntime().maxMemory())); 28 | return stat; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/jmx/monitors/Monitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.jmx.monitors; 20 | 21 | import org.apache.phoenix.pherf.jmx.Stat; 22 | 23 | import javax.management.MXBean; 24 | 25 | @MXBean 26 | public interface Monitor { 27 | 28 | public Stat getStat(); 29 | 30 | } -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/jmx/monitors/ThreadMonitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.jmx.monitors; 20 | 21 | import org.apache.phoenix.pherf.jmx.Stat; 22 | 23 | import java.lang.management.ManagementFactory; 24 | 25 | public class ThreadMonitor implements Monitor { 26 | 27 | @Override 28 | public Stat getStat() { 29 | Stat stat = new Stat(new Integer(ManagementFactory.getThreadMXBean().getThreadCount())); 30 | return stat; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/jmx/monitors/TotalMemoryMonitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.jmx.monitors; 20 | 21 | import org.apache.phoenix.pherf.jmx.Stat; 22 | 23 | public class TotalMemoryMonitor implements Monitor { 24 | 25 | @Override 26 | public Stat getStat() { 27 | Stat stat = new Stat(new Long(Runtime.getRuntime().totalMemory())); 28 | return stat; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/rules/RuleBasedDataGenerator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.rules; 20 | 21 | public interface RuleBasedDataGenerator { 22 | 23 | /** 24 | * Get data value based on the rules 25 | * Implementations should be thread safe as multiple theads will call it in parallel 26 | * 27 | * @return {@link org.apache.phoenix.pherf.rules.DataValue} {@code Container Type --> Value } mapping 28 | */ 29 | DataValue getDataValue(); 30 | } 31 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/Workload.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.apache.phoenix.pherf.workload; 19 | 20 | import java.util.concurrent.Callable; 21 | 22 | public interface Workload { 23 | 24 | 25 | Callable execute() throws Exception; 26 | 27 | /** 28 | * Use this method to perform any cleanup or forced shutdown of the thread. 29 | */ 30 | void complete(); 31 | 32 | } 33 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/mt/handlers/PherfWorkHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.workload.mt.handlers; 20 | 21 | import com.lmax.disruptor.WorkHandler; 22 | import org.apache.phoenix.pherf.result.ResultValue; 23 | import org.apache.phoenix.pherf.workload.mt.operations.OperationStats; 24 | 25 | import java.util.List; 26 | 27 | public interface PherfWorkHandler extends WorkHandler { 28 | List> getResults(); 29 | } 30 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/mt/operations/IdleTimeOperation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.workload.mt.operations; 20 | 21 | import org.apache.phoenix.pherf.configuration.IdleTime; 22 | 23 | /** 24 | * Defines a no op operation, typically used to simulate idle time. 25 | * @see {@link OperationType#IDLE_TIME} 26 | */ 27 | public interface IdleTimeOperation extends Operation { 28 | IdleTime getIdleTime(); 29 | } 30 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/mt/operations/Operation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.workload.mt.operations; 20 | 21 | /** 22 | * An interface that defines the type of operation included in the load profile. 23 | * @see {@link org.apache.phoenix.pherf.configuration.LoadProfile} 24 | */ 25 | public interface Operation { 26 | enum OperationType { 27 | PRE_RUN, UPSERT, SELECT, IDLE_TIME, USER_DEFINED 28 | } 29 | String getId(); 30 | OperationType getType(); 31 | } 32 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/mt/operations/PreScenarioOperation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.workload.mt.operations; 20 | 21 | import org.apache.phoenix.pherf.configuration.Ddl; 22 | 23 | import java.util.List; 24 | 25 | /** 26 | * Defines a pre scenario operation. 27 | * @see {@link OperationType#PRE_RUN} 28 | */ 29 | public interface PreScenarioOperation extends Operation { 30 | List getPreScenarioDdls(); 31 | } 32 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/mt/operations/QueryOperation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.workload.mt.operations; 20 | 21 | import org.apache.phoenix.pherf.configuration.Query; 22 | 23 | /** 24 | * Defines a query operation. 25 | * @see {@link OperationType#SELECT} 26 | */ 27 | public interface QueryOperation extends Operation { 28 | Query getQuery(); 29 | } 30 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/mt/operations/UpsertOperation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.workload.mt.operations; 20 | 21 | import org.apache.phoenix.pherf.configuration.Upsert; 22 | 23 | /** 24 | * Defines an upsert operation. 25 | * @see {@link OperationType#UPSERT} 26 | */ 27 | public interface UpsertOperation extends Operation { 28 | Upsert getUpsert(); 29 | } 30 | -------------------------------------------------------------------------------- /phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/mt/operations/UserDefinedOperation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package org.apache.phoenix.pherf.workload.mt.operations; 20 | 21 | import org.apache.phoenix.pherf.configuration.UserDefined; 22 | 23 | /** 24 | * Defines an user defined operation. 25 | * @see {@link OperationType#USER_DEFINED} 26 | */ 27 | public interface UserDefinedOperation extends Operation { 28 | UserDefined getUserFunction(); 29 | } 30 | -------------------------------------------------------------------------------- /phoenix-pherf/src/test/resources/datamodel/test_mt_schema_base_table.sql: -------------------------------------------------------------------------------- 1 | /* 2 | -- Licensed to the Apache Software Foundation (ASF) under one 3 | -- or more contributor license agreements. See the NOTICE file 4 | -- distributed with this work for additional information 5 | -- regarding copyright ownership. The ASF licenses this file 6 | -- to you under the Apache License, Version 2.0 (the 7 | -- "License"); you may not use this file except in compliance 8 | -- with the License. You may obtain a copy of the License at 9 | -- 10 | -- http://www.apache.org/licenses/LICENSE-2.0 11 | -- 12 | -- Unless required by applicable law or agreed to in writing, software 13 | -- distributed under the License is distributed on an "AS IS" BASIS, 14 | -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | -- See the License for the specific language governing permissions and 16 | -- limitations under the License. 17 | */ 18 | CREATE TABLE IF NOT EXISTS PHERF.TEST_BASE_TABLE ( 19 | TENANT_ID CHAR(15) NOT NULL, 20 | IDENTIFIER CHAR(3) NOT NULL, 21 | ID CHAR(15) NOT NULL, 22 | CREATED_DATE DATE, 23 | FIELD VARCHAR, 24 | SOME_INT INTEGER 25 | CONSTRAINT PK PRIMARY KEY 26 | ( 27 | TENANT_ID, 28 | IDENTIFIER, 29 | ID 30 | ) 31 | ) VERSIONS=1,MULTI_TENANT=true 32 | -------------------------------------------------------------------------------- /phoenix-pherf/src/test/resources/datamodel/test_mt_schema_view1.sql: -------------------------------------------------------------------------------- 1 | /* 2 | -- Licensed to the Apache Software Foundation (ASF) under one 3 | -- or more contributor license agreements. See the NOTICE file 4 | -- distributed with this work for additional information 5 | -- regarding copyright ownership. The ASF licenses this file 6 | -- to you under the Apache License, Version 2.0 (the 7 | -- "License"); you may not use this file except in compliance 8 | -- with the License. You may obtain a copy of the License at 9 | -- 10 | -- http://www.apache.org/licenses/LICENSE-2.0 11 | -- 12 | -- Unless required by applicable law or agreed to in writing, software 13 | -- distributed under the License is distributed on an "AS IS" BASIS, 14 | -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | -- See the License for the specific language governing permissions and 16 | -- limitations under the License. 17 | */ 18 | 19 | CREATE VIEW IF NOT EXISTS PHERF.TEST_GLOBAL_VIEW1 ( 20 | GID CHAR(15) NOT NULL, 21 | FIELD1 VARCHAR, 22 | OTHER_INT INTEGER 23 | CONSTRAINT PK PRIMARY KEY 24 | ( 25 | GID 26 | ) 27 | ) AS SELECT * FROM PHERF.TEST_BASE_TABLE WHERE IDENTIFIER = 'EV1' 28 | -------------------------------------------------------------------------------- /phoenix-pherf/src/test/resources/datamodel/test_mt_schema_view2.sql: -------------------------------------------------------------------------------- 1 | /* 2 | -- Licensed to the Apache Software Foundation (ASF) under one 3 | -- or more contributor license agreements. See the NOTICE file 4 | -- distributed with this work for additional information 5 | -- regarding copyright ownership. The ASF licenses this file 6 | -- to you under the Apache License, Version 2.0 (the 7 | -- "License"); you may not use this file except in compliance 8 | -- with the License. You may obtain a copy of the License at 9 | -- 10 | -- http://www.apache.org/licenses/LICENSE-2.0 11 | -- 12 | -- Unless required by applicable law or agreed to in writing, software 13 | -- distributed under the License is distributed on an "AS IS" BASIS, 14 | -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | -- See the License for the specific language governing permissions and 16 | -- limitations under the License. 17 | */ 18 | 19 | CREATE VIEW IF NOT EXISTS PHERF.TEST_GLOBAL_VIEW2 ( 20 | GID CHAR(15) NOT NULL, 21 | FIELD1 VARCHAR, 22 | OTHER_INT INTEGER 23 | CONSTRAINT PK PRIMARY KEY 24 | ( 25 | GID 26 | ) 27 | ) AS SELECT * FROM PHERF.TEST_BASE_TABLE WHERE IDENTIFIER = 'EV2' 28 | -------------------------------------------------------------------------------- /phoenix-pherf/src/test/resources/datamodel/timeout_test_schema.sql: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one 3 | or more contributor license agreements. See the NOTICE file 4 | distributed with this work for additional information 5 | regarding copyright ownership. The ASF licenses this file 6 | to you under the Apache License, Version 2.0 (the 7 | "License"); you may not use this file except in compliance 8 | with the License. You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | See the License for the specific language governing permissions and 16 | limitations under the License. 17 | */ 18 | CREATE TABLE IF NOT EXISTS PHERF.USER_DEFINED_TEST ( 19 | TENANT_ID VARCHAR NOT NULL PRIMARY KEY, 20 | CREATED_DATE DATE, 21 | VAL_STRING VARCHAR 22 | ) -------------------------------------------------------------------------------- /phoenix-pherf/src/test/resources/hbase-site.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20 | 21 | 22 | phoenix.query.threadPoolSize 23 | 128 24 | 25 | 26 | hbase.localcluster.assign.random.ports 27 | true 28 | 29 | 30 | -------------------------------------------------------------------------------- /phoenix-pherf/src/test/resources/pherf.test.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | SOME_TEST_PROP=test_prop 18 | -------------------------------------------------------------------------------- /phoenix-tracing-webapp/README.md: -------------------------------------------------------------------------------- 1 | # TracingWebApp 2 | 1. Build the web application- 3 | `mvn clean install` 4 | 5 | 2. Start the TracingWebApp 6 | `java -jar target/phoenix-tracing-webapp--runnable.jar` 7 | 8 | 3. View the Content - 9 | *http://localhost:8864/* 10 | 11 | ###Note 12 | You can set the port of the trace app by -Dphoenix.traceserver.http.port={portNo} 13 | 14 | eg: 15 | `-Dphoenix.traceserver.http.port=8887` server will start in 8887 16 | -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/config/checkstyle/header.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to you under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | Trace 9 | org.apache.phoenix.tracingwebapp.http.TraceServlet 10 | 11 | 12 | Trace 13 | /trace/* 14 | 15 | 16 | -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/phoenix/af11be23136624a966c77532c5d91f033a62322e/phoenix-tracing-webapp/src/main/webapp/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/phoenix/af11be23136624a966c77532c5d91f033a62322e/phoenix-tracing-webapp/src/main/webapp/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/phoenix/af11be23136624a966c77532c5d91f033a62322e/phoenix-tracing-webapp/src/main/webapp/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/phoenix/af11be23136624a966c77532c5d91f033a62322e/phoenix-tracing-webapp/src/main/webapp/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/phoenix/af11be23136624a966c77532c5d91f033a62322e/phoenix-tracing-webapp/src/main/webapp/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/phoenix/af11be23136624a966c77532c5d91f033a62322e/phoenix-tracing-webapp/src/main/webapp/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/phoenix/af11be23136624a966c77532c5d91f033a62322e/phoenix-tracing-webapp/src/main/webapp/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/phoenix/af11be23136624a966c77532c5d91f033a62322e/phoenix-tracing-webapp/src/main/webapp/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/phoenix/af11be23136624a966c77532c5d91f033a62322e/phoenix-tracing-webapp/src/main/webapp/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/js/factories/statement-factory-config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 'use strict'; 20 | /** 21 | * @ngdoc function 22 | * @name TracingAppCtrl.statment configure 23 | * @description 24 | * # configures will contains the configure for statement factory. 25 | * 26 | */ 27 | angular.module('TracingAppCtrl') 28 | .constant('stateConfig', { 29 | 'command': {'select': 'FULL SCAN OVER '}, 30 | 'start': 'Creating basic query for [', 31 | 'end': ']' 32 | }); 33 | -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/partials/chart.html: -------------------------------------------------------------------------------- 1 |
2 |

{{page.title}}

3 |
4 | 5 |
6 | 7 | 8 | 9 | Controller Panel 10 | 11 | 12 |
13 |
14 |
15 | 16 | 17 | 18 | 19 |
20 |
21 |
22 |
23 |
24 |
-------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/partials/contact.html: -------------------------------------------------------------------------------- 1 |
2 |

Contacts

3 |
4 | 5 | 6 | -------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/partials/dependency-tree.html: -------------------------------------------------------------------------------- 1 |
2 |

{{page.title}}

3 |
4 | 5 | 10 | 11 |
-------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/partials/google-chart.html: -------------------------------------------------------------------------------- 1 |
2 |

{{page.title}}

3 |
4 | 5 |
6 |
Trace Picker
7 |
8 |
9 |
13 |
14 | 16 |
17 |
18 | 19 | 20 |
21 |
22 |
23 |
-------------------------------------------------------------------------------- /phoenix-tracing-webapp/src/main/webapp/partials/home.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |

Phoenix Tracing

4 |

You have more interaction with Phoenix Tracing. This User Interface allows you to see and search each important step in a query or insertion, 5 | all they way from the client through into the HBase side, and back again.

6 |
7 | 21 | -------------------------------------------------------------------------------- /src/main/config/checkstyle/header.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ --------------------------------------------------------------------------------