Github user twdsilva commented on a diff in the pull request:

    https://github.com/apache/phoenix/pull/303#discussion_r201800952
  
    --- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java ---
    @@ -1893,26 +1981,45 @@ public static void upgradeTable(PhoenixConnection 
conn, String srcTable) throws
                             conn.commit();
                         }
                         conn.getQueryServices().clearTableFromCache(
    -                            conn.getTenantId() == null ? 
ByteUtil.EMPTY_BYTE_ARRAY : conn.getTenantId().getBytes(),
    +                            tenantIdBytes,
                                 index.getSchemaName().getBytes(), 
index.getTableName().getBytes(),
                                 PhoenixRuntime.getCurrentScn(readOnlyProps));
                     }
                     updateIndexesSequenceIfPresent(conn, table);
                     conn.commit();
    -
                 } else {
                     throw new RuntimeException("Error: problem occured during 
upgrade. Table is not upgraded successfully");
                 }
                 if (table.getType() == PTableType.VIEW) {
                     logger.info(String.format("Updating link information for 
view '%s' ..", table.getTableName()));
                     updateLink(conn, oldPhysicalName, 
newPhysicalTablename,table.getSchemaName(),table.getTableName());
                     conn.commit();
    -
    +                
    +                // if the view is a first level child, then we need to 
create the PARENT_TABLE link
    +                // that was overwritten by the PHYSICAL_TABLE link 
    --- End diff --
    
    Yes this will make it so that the parent link row will be created correctly 
when upgrading tables to be namespace mapped. 


---

Reply via email to