34
34
import org .apache .doris .common .security .authentication .AuthenticationConfig ;
35
35
import org .apache .doris .common .util .CacheBulkLoader ;
36
36
import org .apache .doris .common .util .LocationPath ;
37
+ import org .apache .doris .common .util .Util ;
37
38
import org .apache .doris .datasource .CacheException ;
38
39
import org .apache .doris .datasource .hive .AcidInfo .DeleteDeltaInfo ;
39
40
import org .apache .doris .datasource .property .PropertyConverter ;
@@ -250,9 +251,8 @@ private HivePartitionValues loadPartitionValues(PartitionValueCacheKey key) {
250
251
Map <Long , PartitionItem > idToPartitionItem = Maps .newHashMapWithExpectedSize (partitionNames .size ());
251
252
BiMap <String , Long > partitionNameToIdMap = HashBiMap .create (partitionNames .size ());
252
253
Map <Long , List <UniqueId >> idToUniqueIdsMap = Maps .newHashMapWithExpectedSize (partitionNames .size ());
253
- long idx = 0 ;
254
254
for (String partitionName : partitionNames ) {
255
- long partitionId = idx ++ ;
255
+ long partitionId = Util . genIdByName ( catalog . getName (), key . dbName , key . tblName , partitionName ) ;
256
256
ListPartitionItem listPartitionItem = toListPartitionItem (partitionName , key .types );
257
257
idToPartitionItem .put (partitionId , listPartitionItem );
258
258
partitionNameToIdMap .put (partitionName , partitionId );
@@ -273,7 +273,7 @@ private HivePartitionValues loadPartitionValues(PartitionValueCacheKey key) {
273
273
singleUidToColumnRangeMap = ListPartitionPrunerV2 .genSingleUidToColumnRange (singleColumnRangeMap );
274
274
}
275
275
Map <Long , List <String >> partitionValuesMap = ListPartitionPrunerV2 .getPartitionValuesMap (idToPartitionItem );
276
- return new HivePartitionValues (idToPartitionItem , uidToPartitionRange , rangeToId , singleColumnRangeMap , idx ,
276
+ return new HivePartitionValues (idToPartitionItem , uidToPartitionRange , rangeToId , singleColumnRangeMap ,
277
277
partitionNameToIdMap , idToUniqueIdsMap , singleUidToColumnRangeMap , partitionValuesMap );
278
278
}
279
279
@@ -638,13 +638,12 @@ public void addPartitionsCache(String dbName, String tblName, List<String> parti
638
638
Map <String , Long > partitionNameToIdMapBefore = copy .getPartitionNameToIdMap ();
639
639
Map <Long , List <UniqueId >> idToUniqueIdsMap = copy .getIdToUniqueIdsMap ();
640
640
Map <Long , PartitionItem > idToPartitionItem = new HashMap <>();
641
- long idx = copy .getNextPartitionId ();
642
641
for (String partitionName : partitionNames ) {
643
642
if (partitionNameToIdMapBefore .containsKey (partitionName )) {
644
643
LOG .info ("addPartitionsCache partitionName:[{}] has exist in table:[{}]" , partitionName , tblName );
645
644
continue ;
646
645
}
647
- long partitionId = idx ++ ;
646
+ long partitionId = Util . genIdByName ( catalog . getName (), dbName , tblName , partitionName ) ;
648
647
ListPartitionItem listPartitionItem = toListPartitionItem (partitionName , key .types );
649
648
idToPartitionItemBefore .put (partitionId , listPartitionItem );
650
649
idToPartitionItem .put (partitionId , listPartitionItem );
@@ -653,7 +652,6 @@ public void addPartitionsCache(String dbName, String tblName, List<String> parti
653
652
Map <Long , List <String >> partitionValuesMapBefore = copy .getPartitionValuesMap ();
654
653
Map <Long , List <String >> partitionValuesMap = ListPartitionPrunerV2 .getPartitionValuesMap (idToPartitionItem );
655
654
partitionValuesMapBefore .putAll (partitionValuesMap );
656
- copy .setNextPartitionId (idx );
657
655
if (key .types .size () > 1 ) {
658
656
Map <UniqueId , Range <PartitionKey >> uidToPartitionRangeBefore = copy .getUidToPartitionRange ();
659
657
// uidToPartitionRange and rangeToId are only used for multi-column partition
@@ -1075,7 +1073,6 @@ public static class HiveFileStatus {
1075
1073
1076
1074
@ Data
1077
1075
public static class HivePartitionValues {
1078
- private long nextPartitionId ;
1079
1076
private BiMap <String , Long > partitionNameToIdMap ;
1080
1077
private Map <Long , List <UniqueId >> idToUniqueIdsMap ;
1081
1078
private Map <Long , PartitionItem > idToPartitionItem ;
@@ -1094,7 +1091,6 @@ public HivePartitionValues(Map<Long, PartitionItem> idToPartitionItem,
1094
1091
Map <UniqueId , Range <PartitionKey >> uidToPartitionRange ,
1095
1092
Map <Range <PartitionKey >, UniqueId > rangeToId ,
1096
1093
RangeMap <ColumnBound , UniqueId > singleColumnRangeMap ,
1097
- long nextPartitionId ,
1098
1094
BiMap <String , Long > partitionNameToIdMap ,
1099
1095
Map <Long , List <UniqueId >> idToUniqueIdsMap ,
1100
1096
Map <UniqueId , Range <ColumnBound >> singleUidToColumnRangeMap ,
@@ -1103,7 +1099,6 @@ public HivePartitionValues(Map<Long, PartitionItem> idToPartitionItem,
1103
1099
this .uidToPartitionRange = uidToPartitionRange ;
1104
1100
this .rangeToId = rangeToId ;
1105
1101
this .singleColumnRangeMap = singleColumnRangeMap ;
1106
- this .nextPartitionId = nextPartitionId ;
1107
1102
this .partitionNameToIdMap = partitionNameToIdMap ;
1108
1103
this .idToUniqueIdsMap = idToUniqueIdsMap ;
1109
1104
this .singleUidToColumnRangeMap = singleUidToColumnRangeMap ;
@@ -1112,7 +1107,6 @@ public HivePartitionValues(Map<Long, PartitionItem> idToPartitionItem,
1112
1107
1113
1108
public HivePartitionValues copy () {
1114
1109
HivePartitionValues copy = new HivePartitionValues ();
1115
- copy .setNextPartitionId (nextPartitionId );
1116
1110
copy .setPartitionNameToIdMap (partitionNameToIdMap == null ? null : HashBiMap .create (partitionNameToIdMap ));
1117
1111
copy .setIdToUniqueIdsMap (idToUniqueIdsMap == null ? null : Maps .newHashMap (idToUniqueIdsMap ));
1118
1112
copy .setIdToPartitionItem (idToPartitionItem == null ? null : Maps .newHashMap (idToPartitionItem ));
0 commit comments