[ https://issues.apache.org/jira/browse/PHOENIX-514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14302504#comment-14302504 ]
ASF GitHub Bot commented on PHOENIX-514: ---------------------------------------- Github user twdsilva commented on a diff in the pull request: https://github.com/apache/phoenix/pull/34#discussion_r23971303 --- Diff: phoenix-core/src/main/java/org/apache/phoenix/index/IndexMaintainer.java --- @@ -326,6 +326,49 @@ private IndexMaintainer(PTable dataTable, PTable index) { // TODO: check whether index is immutable or not. Currently it's always false so checking // data table is with immutable rows or not. this.immutableRows = dataTable.isImmutableRows(); + int indexColByteSize = 0; + for (int i = indexPosOffset; i < index.getPKColumns().size(); i++) { + PColumn indexColumn = index.getPKColumns().get(i); + int indexPos = i - indexPosOffset; + Expression expression = null; + try { + ParseNode parseNode = SQLParser.parseCondition(indexColumn.getExpressionStr()); + ColumnResolver resolver = FromCompiler.getResolver(new TableRef(dataTable)); + StatementContext context = new StatementContext(new PhoenixStatement(connection), resolver); + expression = parseNode.accept(new ExpressionCompiler(context)); --- End diff -- Removed unnecessary instance of check. > 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 > > 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)