This is an automated email from the ASF dual-hosted git repository.
mattyb149 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/master by this push:
new e3f72c5 NIFI-6771 : Added fix to support Oracle Binary float and
Binary double conversion to Avro type
e3f72c5 is described below
commit e3f72c5ed09382144c01caa5ff7cfc9c72a9ce38
Author: Atul Mahajan <[email protected]>
AuthorDate: Tue Oct 15 16:45:10 2019 +0530
NIFI-6771 : Added fix to support Oracle Binary float and Binary double
conversion to Avro type
Fixed CheckStyle errors
Signed-off-by: Matthew Burgess <[email protected]>
This closes #3815
---
.../src/main/java/org/apache/nifi/util/db/JdbcCommon.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git
a/nifi-nar-bundles/nifi-extension-utils/nifi-database-utils/src/main/java/org/apache/nifi/util/db/JdbcCommon.java
b/nifi-nar-bundles/nifi-extension-utils/nifi-database-utils/src/main/java/org/apache/nifi/util/db/JdbcCommon.java
index d437930..34c27c2 100644
---
a/nifi-nar-bundles/nifi-extension-utils/nifi-database-utils/src/main/java/org/apache/nifi/util/db/JdbcCommon.java
+++
b/nifi-nar-bundles/nifi-extension-utils/nifi-database-utils/src/main/java/org/apache/nifi/util/db/JdbcCommon.java
@@ -345,7 +345,10 @@ public class JdbcCommon {
byte[] bytes = rs.getBytes(i);
ByteBuffer bb = ByteBuffer.wrap(bytes);
rec.put(i - 1, bb);
-
+ } else if (javaSqlType == 100) { // Handle Oracle
BINARY_FLOAT data type
+ rec.put(i - 1, rs.getFloat(i));
+ } else if (javaSqlType == 101) { // Handle Oracle
BINARY_DOUBLE data type
+ rec.put(i - 1, rs.getDouble(i));
} else if (value instanceof Byte) {
// tinyint(1) type is returned by JDBC driver as
java.sql.Types.TINYINT
// But value is returned by JDBC as java.lang.Byte
@@ -553,10 +556,12 @@ public class JdbcCommon {
case FLOAT:
case REAL:
+ case 100: //Oracle BINARY_FLOAT type
builder.name(columnName).type().unionOf().nullBuilder().endNull().and().floatType().endUnion().noDefault();
break;
case DOUBLE:
+ case 101: //Oracle BINARY_DOUBLE type
builder.name(columnName).type().unionOf().nullBuilder().endNull().and().doubleType().endUnion().noDefault();
break;