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 7ac4157  NIFI-6775 Added fix to support Oracle Float type conversion 
to Avro
7ac4157 is described below

commit 7ac41576e3711ccc752d730f0b39a474235c701c
Author: Atul Mahajan <mail2at...@gmail.com>
AuthorDate: Mon Oct 14 19:13:22 2019 +0530

    NIFI-6775 Added fix to support Oracle Float type conversion to Avro
    
    Signed-off-by: Matthew Burgess <mattyb...@apache.org>
    
    This closes #3812
---
 .../src/main/java/org/apache/nifi/util/db/JdbcCommon.java             | 4 +++-
 1 file changed, 3 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 9d57f10..d437930 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
@@ -569,7 +569,9 @@ public class JdbcCommon {
                         if (meta.getPrecision(i) > 0) {
                             // When database returns a certain precision, we 
can rely on that.
                             decimalPrecision = meta.getPrecision(i);
-                            decimalScale = meta.getScale(i);
+                            //For the float data type Oracle return 
decimalScale < 0 which cause is not expected to org.apache.avro.LogicalTypes
+                            //Hence falling back to default scale if 
decimalScale < 0
+                            decimalScale = meta.getScale(i) > 0 ? 
meta.getScale(i) : options.defaultScale;
                         } else {
                             // If not, use default precision.
                             decimalPrecision = options.defaultPrecision;

Reply via email to