mirror of
https://github.com/apache/nifi.git
synced 2025-02-06 10:08:42 +00:00
NIFI-12828: Added Mapping for BIT type to return INT and handled boolean case for postgres
Signed-off-by: Matt Burgess <mattyb149@apache.org> This closes #8445
This commit is contained in:
parent
b368c281e8
commit
8346bd7d0f
@ -1917,6 +1917,8 @@ public class DataTypeUtils {
|
||||
switch (sqlType) {
|
||||
case Types.BIGINT:
|
||||
return RecordFieldType.BIGINT.getDataType();
|
||||
case Types.BIT:
|
||||
return RecordFieldType.INT.getDataType();
|
||||
case Types.BOOLEAN:
|
||||
return RecordFieldType.BOOLEAN.getDataType();
|
||||
case Types.TINYINT:
|
||||
|
@ -558,6 +558,7 @@ public class TestDataTypeUtils {
|
||||
@Test
|
||||
public void testGetDataTypeFromSQLTypeValue() {
|
||||
assertEquals(RecordFieldType.STRING.getDataType(), DataTypeUtils.getDataTypeFromSQLTypeValue(Types.CLOB));
|
||||
assertEquals(RecordFieldType.INT.getDataType(), DataTypeUtils.getDataTypeFromSQLTypeValue(Types.BIT));
|
||||
assertEquals(RecordFieldType.ARRAY.getArrayDataType(RecordFieldType.BYTE.getDataType()), DataTypeUtils.getDataTypeFromSQLTypeValue(Types.BLOB));
|
||||
assertEquals(RecordFieldType.STRING.getDataType(), DataTypeUtils.getDataTypeFromSQLTypeValue(Types.CHAR));
|
||||
}
|
||||
|
@ -157,7 +157,13 @@ public class DatabaseTableSchemaRegistry extends AbstractControllerService imple
|
||||
// COLUMN_DEF must be read first to work around Oracle bug, see NIFI-4279 for details
|
||||
final String defaultValue = columnResultSet.getString("COLUMN_DEF");
|
||||
final String columnName = columnResultSet.getString("COLUMN_NAME");
|
||||
final int dataType = columnResultSet.getInt("DATA_TYPE");
|
||||
String typeName = columnResultSet.getString("TYPE_NAME");
|
||||
final int dataType;
|
||||
if (typeName.equalsIgnoreCase("bool")) {
|
||||
dataType = 16;
|
||||
} else {
|
||||
dataType = columnResultSet.getInt("DATA_TYPE");
|
||||
}
|
||||
final String nullableValue = columnResultSet.getString("IS_NULLABLE");
|
||||
final boolean isNullable = "YES".equalsIgnoreCase(nullableValue) || nullableValue.isEmpty();
|
||||
return new RecordField(
|
||||
|
Loading…
x
Reference in New Issue
Block a user