[ 
https://issues.apache.org/jira/browse/PHOENIX-6720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17680650#comment-17680650
 ] 

ASF GitHub Bot commented on PHOENIX-6720:
-----------------------------------------

Aarchy commented on code in PR #1553:
URL: https://github.com/apache/phoenix/pull/1553#discussion_r1086761668


##########
phoenix-core/src/main/java/org/apache/phoenix/parse/CreateTableStatement.java:
##########
@@ -83,11 +87,13 @@ public CreateTableStatement(CreateTableStatement 
createTable, ListMultimap<Strin
         this.baseTableName = createTable.baseTableName;
         this.whereClause = createTable.whereClause;
         this.immutableRows = createTable.immutableRows;
+        this.familyCQCounters = createTable.familyCQCounters;
     }
 
     protected CreateTableStatement(TableName tableName, 
ListMultimap<String,Pair<String,Object>> props, List<ColumnDef> columns, 
PrimaryKeyConstraint pkConstraint,
-            List<ParseNode> splitNodes, PTableType tableType, boolean 
ifNotExists, 
-            TableName baseTableName, ParseNode whereClause, int bindCount, 
Boolean immutableRows) {
+                                   List<ParseNode> splitNodes, PTableType 
tableType, boolean ifNotExists,
+                                   TableName baseTableName, ParseNode 
whereClause, int bindCount, Boolean immutableRows,
+                                   Map<String, Integer> familyCounters) {

Review Comment:
   `ColumnDef` class stores family names as `NamedNode`, which is a `String` 
and a `boolean` flag for case sensitivity. So using String here was a problem, 
but not because hbase, rather because the case sensitive cases. 
   
   Family names for the counters are now stored as `NamedNode`, also few new 
tests have been added.
   
   Thank you for pointing this out.





> "create table" can't recreate column encoded tables that had columns dropped
> ----------------------------------------------------------------------------
>
>                 Key: PHOENIX-6720
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6720
>             Project: Phoenix
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 5.2.0, 5.1.3
>            Reporter: Istvan Toth
>            Assignee: Aron Attila Meszaros
>            Priority: Blocker
>
> For column encoded tables,create table generate column qualifier order.
> When moving data between instances, and the original table had some columns 
> removed, or swapped around, then the column qualifers in the table are not 
> guarenteed to start from the expected value and increase by 1 for each 
> column, based on the ordering of columns.
> This means that when we load a data table via HBase (i.e from a snaphsot), 
> and then execute the DDL created by the show create table, or by other means, 
> the column_qualifiers on the new table are going to point to the wrong Hbase 
> cell.
> We need to accept and use COLUMN_QUALIFIER properties for columns,  and 
> include them in in the show create table output for column encoded tables.
> We also need to accept and generate QUALIFIER_COUNTER for the tables.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to