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;