diff --git a/debezium-core/src/main/java/io/debezium/relational/RelationalSnapshotChangeEventSource.java b/debezium-core/src/main/java/io/debezium/relational/RelationalSnapshotChangeEventSource.java index eb64a57fa..61e766b8a 100644 --- a/debezium-core/src/main/java/io/debezium/relational/RelationalSnapshotChangeEventSource.java +++ b/debezium-core/src/main/java/io/debezium/relational/RelationalSnapshotChangeEventSource.java @@ -538,7 +538,7 @@ private void doCreateDataEventsForTable(ChangeEventSourceContext sourceContext, Instant sourceTableSnapshotTimestamp = getSnapshotSourceTimestamp(jdbcConnection, offset, table.id()); try (Statement statement = readTableStatement(jdbcConnection, rowCount); - ResultSet rs = CancellableResultSet.from(statement.executeQuery(selectStatement))) { + ResultSet rs = resultSetForDataEvents(selectStatement, statement)) { ColumnUtils.ColumnArray columnArray = ColumnUtils.toArray(rs, table); long rows = 0; @@ -588,6 +588,11 @@ private void doCreateDataEventsForTable(ChangeEventSourceContext sourceContext, } } + protected ResultSet resultSetForDataEvents(String selectStatement, Statement statement) + throws SQLException { + return CancellableResultSet.from(statement.executeQuery(selectStatement)); + } + private void setSnapshotMarker(OffsetContext offset, boolean firstTable, boolean lastTable, boolean firstRecordInTable, boolean lastRecordInTable) { if (lastRecordInTable && lastTable) {