Skip to content

Commit

Permalink
Refactor InventoryColumnValueReaderEngine (#33375)
Browse files Browse the repository at this point in the history
  • Loading branch information
terrymanu authored Oct 23, 2024
1 parent 1a8d8e3 commit b6b0054
Showing 1 changed file with 7 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

package org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.column;

import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;

Expand All @@ -32,13 +33,10 @@
/**
* Inventory column value reader engine.
*/
@RequiredArgsConstructor
public final class InventoryColumnValueReaderEngine {

private final DialectInventoryColumnValueReader columnReader;

public InventoryColumnValueReaderEngine(final DatabaseType databaseType) {
columnReader = DatabaseTypedSPILoader.findService(DialectInventoryColumnValueReader.class, databaseType).orElse(null);
}
private final DatabaseType databaseType;

/**
* Read column value.
Expand All @@ -56,10 +54,11 @@ public Object read(final ResultSet resultSet, final ResultSetMetaData metaData,
}

private Optional<Object> readDialectValue(final ResultSet resultSet, final ResultSetMetaData metaData, final int columnIndex) throws SQLException {
return null == columnReader ? Optional.empty() : columnReader.read(resultSet, metaData, columnIndex);
Optional<DialectInventoryColumnValueReader> dialectColumnReader = DatabaseTypedSPILoader.findService(DialectInventoryColumnValueReader.class, databaseType);
return dialectColumnReader.isPresent() ? dialectColumnReader.get().read(resultSet, metaData, columnIndex) : Optional.empty();
}

private static Object readStandardValue(final ResultSet resultSet, final ResultSetMetaData metaData, final int columnIndex) throws SQLException {
private Object readStandardValue(final ResultSet resultSet, final ResultSetMetaData metaData, final int columnIndex) throws SQLException {
int columnType = metaData.getColumnType(columnIndex);
switch (columnType) {
case Types.BOOLEAN:
Expand Down Expand Up @@ -129,7 +128,7 @@ private static Object readStandardValue(final ResultSet resultSet, final ResultS
}
}

private static boolean isSigned(final ResultSetMetaData metaData, final int columnIndex) throws SQLException {
private boolean isSigned(final ResultSetMetaData metaData, final int columnIndex) throws SQLException {
return metaData.isSigned(columnIndex);
}
}

0 comments on commit b6b0054

Please sign in to comment.