[ https://issues.apache.org/jira/browse/PHOENIX-514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14305974#comment-14305974 ]
Hudson commented on PHOENIX-514: -------------------------------- SUCCESS: Integrated in Phoenix-master #579 (See [https://builds.apache.org/job/Phoenix-master/579/]) PHOENIX-514 Support functional indexes (Thomas D'Silva) (jamestaylor: rev 8c340f5a6c030d009a4fa75444096a1999aea5c5) * phoenix-core/src/main/java/org/apache/phoenix/expression/CoerceExpression.java * phoenix-core/src/main/java/org/apache/phoenix/schema/SaltingUtil.java * phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java * phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java * phoenix-core/src/main/java/org/apache/phoenix/parse/ExistsParseNode.java * phoenix-protocol/src/main/PTable.proto * phoenix-core/src/main/java/org/apache/phoenix/compile/HavingCompiler.java * phoenix-core/src/main/java/org/apache/phoenix/compile/JoinCompiler.java * phoenix-core/src/main/java/org/apache/phoenix/compile/IndexExpressionCompiler.java * phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateColumn.java * phoenix-core/src/main/java/org/apache/phoenix/parse/SubqueryParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/parse/NamedNode.java * phoenix-core/src/main/java/org/apache/phoenix/parse/CompoundParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/parse/BetweenParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/parse/IndexKeyConstraint.java * phoenix-core/src/main/java/org/apache/phoenix/parse/BindParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java * phoenix-core/src/main/java/org/apache/phoenix/parse/LikeParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/parse/FamilyWildcardParseNode.java * phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java * phoenix-core/src/main/java/org/apache/phoenix/parse/WildcardParseNode.java * phoenix-core/src/it/java/org/apache/phoenix/end2end/PercentileIT.java * phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java * phoenix-core/src/main/java/org/apache/phoenix/parse/ColumnDef.java * phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/IndexHalfStoreFileReaderGenerator.java * phoenix-core/src/main/java/org/apache/phoenix/compile/WhereCompiler.java * phoenix-core/src/main/java/org/apache/phoenix/index/IndexMaintainer.java * phoenix-core/src/main/java/org/apache/phoenix/parse/IsNullParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexFailurePolicy.java * phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateTable.java * phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java * phoenix-core/src/main/java/org/apache/phoenix/expression/RowKeyColumnExpression.java * phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java * phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java * phoenix-core/src/test/java/org/apache/phoenix/index/IndexMaintainerTest.java * phoenix-core/src/main/java/org/apache/phoenix/hbase/index/util/IndexManagementUtil.java * phoenix-core/src/main/java/org/apache/phoenix/parse/FunctionParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/compile/PostIndexDDLCompiler.java * phoenix-core/src/main/java/org/apache/phoenix/hbase/index/covered/data/LazyValueGetter.java * phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java * phoenix-core/src/test/java/org/apache/phoenix/expression/ColumnExpressionTest.java * phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java * phoenix-core/src/main/java/org/apache/phoenix/schema/PTable.java * phoenix-core/src/main/java/org/apache/phoenix/execute/BaseQueryPlan.java * phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexCodec.java * phoenix-core/src/main/java/org/apache/phoenix/parse/TableWildcardParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/parse/InParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/parse/ColumnParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/schema/PColumn.java * phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java * phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java * phoenix-core/src/main/java/org/apache/phoenix/parse/NamedParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/hbase/index/ValueGetter.java * phoenix-core/src/main/java/org/apache/phoenix/optimize/QueryOptimizer.java * phoenix-core/src/main/java/org/apache/phoenix/parse/CreateIndexStatement.java * phoenix-core/src/main/java/org/apache/phoenix/parse/SequenceValueParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/parse/ColumnName.java * phoenix-core/src/main/java/org/apache/phoenix/schema/tuple/ValueGetterTuple.java * phoenix-core/src/main/java/org/apache/phoenix/schema/PMetaDataImpl.java * phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java * phoenix-core/src/main/java/org/apache/phoenix/exception/SQLExceptionCode.java * phoenix-core/src/main/java/org/apache/phoenix/parse/InListParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/schema/PColumnImpl.java * phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java * phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java * phoenix-core/src/main/antlr3/PhoenixSQL.g * phoenix-core/src/main/java/org/apache/phoenix/util/IndexUtil.java * phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeFactory.java * phoenix-core/src/main/java/org/apache/phoenix/parse/IndexExpressionParseNodeRewriter.java * phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java * phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java * phoenix-core/src/main/java/org/apache/phoenix/parse/CastParseNode.java * phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/PTableProtos.java * phoenix-core/src/main/java/org/apache/phoenix/parse/TableName.java * phoenix-core/src/main/java/org/apache/phoenix/parse/LiteralParseNode.java * phoenix-core/src/test/java/org/apache/phoenix/iterate/AggregateResultScannerTest.java > Support functional indexes > -------------------------- > > Key: PHOENIX-514 > URL: https://issues.apache.org/jira/browse/PHOENIX-514 > Project: Phoenix > Issue Type: Task > Reporter: James Taylor > Assignee: Thomas D'Silva > Labels: enhancement > Fix For: 4.3 > > > Instead of only defining the set of columns from the data table that make up > an index, you should be able to use expressions. For example: > CREATE INDEX upper_last_name_idx ON person (UPPER(last_name)) > Then in queries that use UPPER(last_name), we can replace them with column > references to the index table. -- This message was sent by Atlassian JIRA (v6.3.4#6332)