You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2019/11/06 14:02:31 UTC
[nifi] branch master updated: NIFI-6771 : Added fix to support
Oracle Binary float and Binary double conversion to Avro type
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 <ma...@gmail.com>
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 <ma...@apache.org>
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;