[ https://issues.apache.org/jira/browse/PHOENIX-4634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16390387#comment-16390387 ]
James Taylor edited comment on PHOENIX-4634 at 3/7/18 10:49 PM: ---------------------------------------------------------------- Thanks for the patch, [~tdsilva]. Do you think it'd be more clear (and work) if instead of recursing back into updateCache that you just translated the {{schemaName}} and {{tableName}} like you're doing and then just continue with the method? {code} // Translate index on view name into schema and table name that exists in system catalog if (tableName.contains(QueryConstants.CHILD_VIEW_INDEX_NAME_SEPARATOR)) { String viewName = SchemaUtil.getTableNameFromFullName(tableName, QueryConstants.CHILD_VIEW_INDEX_NAME_SEPARATOR); schemaName = SchemaUtil.getSchemaNameFromFullName(viewName); tableName = SchemaUtil.getTableNameFromFullName(viewName); } {code} Also, minor nit, but it looks like you've left some commented out code in. was (Author: jamestaylor): Thanks for the patch, [~tdsilva]. Do you think it'd be more clear (and work) if instead of recursing back into updateCache that you just translated the {{schemaName}} and {{tableName}} like you're doing and then just continue with the method? {code} // Translate index on view name into schema and table name that exists in system catalog if (tableName.contains(QueryConstants.CHILD_VIEW_INDEX_NAME_SEPARATOR)) { String viewName = SchemaUtil.getTableNameFromFullName(tableName, QueryConstants.CHILD_VIEW_INDEX_NAME_SEPARATOR); schemaName = SchemaUtil.getSchemaNameFromFullName(viewName); tableName = SchemaUtil.getTableNameFromFullName(viewName); } {code} > Looking up a parent index table of a tenant child view fails in > BaseColumnResolver createTableRef() > --------------------------------------------------------------------------------------------------- > > Key: PHOENIX-4634 > URL: https://issues.apache.org/jira/browse/PHOENIX-4634 > Project: Phoenix > Issue Type: Bug > Reporter: Thomas D'Silva > Assignee: Thomas D'Silva > Priority: Major > Fix For: 4.14.0 > > Attachments: PHOENIX-4634-4.x-HBase-0.98.patch, PHOENIX-4634-v2.patch > > > If we are looking up a parent table index of a child view , we need to > resolve the view which will load the parent table indexes (instead of trying > to resolve the parent table index directly). > > {code:java} > org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table > undefined. tableName=Schema.Schema.Index#Schma.View > org.apache.phoenix.compile.FromCompiler$BaseColumnResolver.createTableRef(FromCompiler.java:577) > at > org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.<init>(FromCompiler.java:391) > at > org.apache.phoenix.compile.FromCompiler.getResolverForQuery(FromCompiler.java:228) > at > org.apache.phoenix.compile.FromCompiler.getResolverForQuery(FromCompiler.java:206) > at org.apache.phoenix.optimize.QueryOptimizer.addPlan(QueryOptimizer.java:226) > at > org.apache.phoenix.optimize.QueryOptimizer.getApplicablePlans(QueryOptimizer.java:146) > at > org.apache.phoenix.optimize.QueryOptimizer.getApplicablePlans(QueryOptimizer.java:103) > at org.apache.phoenix.compile.DeleteCompiler.compile(DeleteCompiler.java:501) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableDeleteStatement.compilePlan(PhoenixStatement.java:770) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableDeleteStatement.compilePlan(PhoenixStatement.java:758) > at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:386) > at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:376) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)