DBZ-2345 Make changes according to comments.
This commit is contained in:
parent
9ce1d29297
commit
75cbbaa3df
@ -100,7 +100,7 @@ private CassandraTypeDeserializer() {
|
||||
* Deserialize from snapshot/datastax-sourced cassandra data.
|
||||
*
|
||||
* @param dataType the {@link DataType} of the object
|
||||
* @param bb the bytes to deserialize
|
||||
* @param bb the bytes of the column to deserialize
|
||||
* @return the deserialized object.
|
||||
*/
|
||||
public static Object deserialize(DataType dataType, ByteBuffer bb) {
|
||||
@ -111,8 +111,8 @@ public static Object deserialize(DataType dataType, ByteBuffer bb) {
|
||||
/**
|
||||
* Deserialize from cdc-log-sourced cassandra data.
|
||||
*
|
||||
* @param abstractType the {@link AbstractType}
|
||||
* @param bb the bytes to deserialize
|
||||
* @param abstractType the {@link AbstractType} of the non-collection column
|
||||
* @param bb the bytes of the non-collection column to deserialize
|
||||
* @return the deserialized object.
|
||||
*/
|
||||
public static Object deserialize(AbstractType<?> abstractType, ByteBuffer bb) {
|
||||
@ -129,6 +129,13 @@ public static Object deserialize(AbstractType<?> abstractType, ByteBuffer bb) {
|
||||
return typeDeserializer.deserialize(abstractType, bb);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deserialize from cdc-log-sourced cassandra data.
|
||||
*
|
||||
* @param abstractType the {@link AbstractType} of the collection column
|
||||
* @param ccd the ComplexColumnData of the collection column to deserialize
|
||||
* @return the deserialized object.
|
||||
*/
|
||||
public static Object deserialize(AbstractType<?> abstractType, ComplexColumnData ccd) {
|
||||
// Check if abstract type is reversed, if yes, use the base type for deserialization.
|
||||
if (abstractType.isReversed()) {
|
||||
|
@ -40,8 +40,7 @@ public Object deserialize(AbstractType<?> abstractType, ComplexColumnData ccd) {
|
||||
List<ByteBuffer> bbList = ((ListType) abstractType).serializedValues(ccd.iterator());
|
||||
AbstractType innerType = ((ListType) abstractType).getElementsType();
|
||||
List<Object> deserializedList = new ArrayList<>();
|
||||
for (int i = 0; i < bbList.size(); i++) {
|
||||
ByteBuffer bb = bbList.get(i);
|
||||
for (ByteBuffer bb : bbList) {
|
||||
deserializedList.add(super.deserialize(innerType, bb));
|
||||
}
|
||||
return Values.convertToList(getSchemaBuilder(abstractType).build(), deserializedList);
|
||||
|
@ -45,9 +45,8 @@ public Object deserialize(AbstractType<?> abstractType, ComplexColumnData ccd) {
|
||||
Map<Object, Object> deserializedMap = new HashMap<>();
|
||||
int i = 0;
|
||||
while (i < bbList.size()) {
|
||||
ByteBuffer kbb = bbList.get(i);
|
||||
ByteBuffer vbb = bbList.get(i + 1);
|
||||
i += 2;
|
||||
ByteBuffer kbb = bbList.get(i++);
|
||||
ByteBuffer vbb = bbList.get(i++);
|
||||
deserializedMap.put(super.deserialize(keyType, kbb), super.deserialize(valueType, vbb));
|
||||
}
|
||||
return Values.convertToMap(getSchemaBuilder(abstractType).build(), deserializedMap);
|
||||
|
@ -43,8 +43,7 @@ public Object deserialize(AbstractType<?> abstractType, ComplexColumnData ccd) {
|
||||
List<ByteBuffer> bbList = ((SetType) abstractType).serializedValues(ccd.iterator());
|
||||
AbstractType innerType = ((SetType) abstractType).getElementsType();
|
||||
Set<Object> deserializedSet = new HashSet<>();
|
||||
for (int i = 0; i < bbList.size(); i++) {
|
||||
ByteBuffer bb = bbList.get(i);
|
||||
for (ByteBuffer bb : bbList) {
|
||||
deserializedSet.add(super.deserialize(innerType, bb));
|
||||
}
|
||||
List<Object> deserializedList = new ArrayList<>(deserializedSet);
|
||||
|
@ -17,6 +17,9 @@ public Object deserialize(AbstractType<?> abstractType, ByteBuffer bb) {
|
||||
return abstractType.getSerializer().deserialize(bb);
|
||||
}
|
||||
|
||||
// This method will be overwritten in all complex-type deserializers
|
||||
// including MapTypeDeserializer, SetTypeDeserializer and ListTypeDeserializer,
|
||||
// and is not supposed to be called for deserialization of any non-complex type column.
|
||||
public Object deserialize(AbstractType<?> abstractType, ComplexColumnData ccd) {
|
||||
return null;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user