1
- package datastax .astra .migrate ;
1
+ package datastax .astra .migrate . cql ;
2
2
3
3
import com .datastax .oss .driver .api .core .ConsistencyLevel ;
4
4
import com .datastax .oss .driver .api .core .CqlSession ;
5
5
import com .datastax .oss .driver .api .core .cql .BoundStatement ;
6
6
import com .datastax .oss .driver .api .core .cql .PreparedStatement ;
7
7
import com .datastax .oss .driver .api .core .cql .Row ;
8
+ import datastax .astra .migrate .MigrateDataType ;
9
+ import datastax .astra .migrate .Util ;
8
10
import datastax .astra .migrate .properties .KnownProperties ;
9
11
import datastax .astra .migrate .properties .PropertyHelper ;
10
12
import org .slf4j .Logger ;
@@ -90,7 +92,7 @@ public BoundStatement bindInsert(PreparedStatement insertStatement, Row originRo
90
92
if (targetRow != null && index < (selectColTypesSize - getIdColTypes ().size ())) {
91
93
boundInsertStatement = boundInsertStatement .set (index , (originRow .getLong (getOriginColumnIndexes ().get (index )) - targetRow .getLong (getOriginColumnIndexes ().get (index ))), Long .class );
92
94
} else {
93
- boundInsertStatement = boundInsertStatement .set (index , getData (dataType , getOriginColumnIndexes ().get (index ), originRow ), dataType .typeClass );
95
+ boundInsertStatement = boundInsertStatement .set (index , getData (dataType , getOriginColumnIndexes ().get (index ), originRow ), dataType .getType () );
94
96
}
95
97
}
96
98
} else {
@@ -248,20 +250,20 @@ public String getKey(Row row) {
248
250
}
249
251
250
252
public Object getData (MigrateDataType dataType , int index , Row row ) {
251
- if (dataType .typeClass == Map .class ) {
252
- return row .getMap (index , dataType .subTypes .get (0 ), dataType .subTypes .get (1 ));
253
- } else if (dataType .typeClass == List .class ) {
254
- return row .getList (index , dataType .subTypes .get (0 ));
255
- } else if (dataType .typeClass == Set .class ) {
256
- return row .getSet (index , dataType .subTypes .get (0 ));
257
- } else if (isCounterTable () && dataType .typeClass == Long .class ) {
258
- Object data = row .get (index , dataType .typeClass );
253
+ if (dataType .getType () == Map .class ) {
254
+ return row .getMap (index , dataType .getSubTypes () .get (0 ), dataType .getSubTypes () .get (1 ));
255
+ } else if (dataType .getType () == List .class ) {
256
+ return row .getList (index , dataType .getSubTypes () .get (0 ));
257
+ } else if (dataType .getType () == Set .class ) {
258
+ return row .getSet (index , dataType .getSubTypes () .get (0 ));
259
+ } else if (isCounterTable () && dataType .getType () == Long .class ) {
260
+ Object data = row .get (index , dataType .getType () );
259
261
if (data == null ) {
260
262
return new Long (0 );
261
263
}
262
264
}
263
265
264
- return row .get (index , dataType .typeClass );
266
+ return row .get (index , dataType .getType () );
265
267
}
266
268
267
269
private BoundStatement getBoundStatement (Row originRow , BoundStatement boundSelectStatement , int index ,
@@ -271,13 +273,13 @@ private BoundStatement getBoundStatement(Row originRow, BoundStatement boundSele
271
273
272
274
// Handle rows with blank values in primary-key fields
273
275
if (index < getIdColTypes ().size ()) {
274
- Optional <Object > optionalVal = handleBlankInPrimaryKey (index , colData , dataTypeObj .typeClass , originRow );
276
+ Optional <Object > optionalVal = handleBlankInPrimaryKey (index , colData , dataTypeObj .getType () , originRow );
275
277
if (!optionalVal .isPresent ()) {
276
278
return null ;
277
279
}
278
280
colData = optionalVal .get ();
279
281
}
280
- boundSelectStatement = boundSelectStatement .set (index , colData , dataTypeObj .typeClass );
282
+ boundSelectStatement = boundSelectStatement .set (index , colData , dataTypeObj .getType () );
281
283
return boundSelectStatement ;
282
284
}
283
285
0 commit comments