This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-2.23.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 3092e20b1c20810796d5be499cac54af5bd73513
Author: Otávio Prado <otavio.pr...@sensedia.com>
AuthorDate: Fri Jun 28 21:37:09 2019 -0300

    adding clob column type
---
 .../camel/component/jdbc/ResultSetIterator.java    | 25 +++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git 
a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/ResultSetIterator.java
 
b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/ResultSetIterator.java
index f888758..cc063c6 100644
--- 
a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/ResultSetIterator.java
+++ 
b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/ResultSetIterator.java
@@ -56,7 +56,10 @@ public class ResultSetIterator implements 
Iterator<Map<String, Object>> {
             int columnNumber = i + 1;
             String columnName = getColumnName(metaData, columnNumber, isJDBC4);
             int columnType = metaData.getColumnType(columnNumber);
-            if (columnType == Types.CLOB || columnType == Types.BLOB) {
+
+            if(columnType == Types.CLOB) {
+                columns[i] = new ClobColumn(columnName, columnNumber);
+            } else if (columnType == Types.BLOB) {
                 columns[i] = new BlobColumn(columnName, columnNumber);
             } else {
                 columns[i] = new DefaultColumn(columnName, columnNumber);
@@ -214,4 +217,24 @@ public class ResultSetIterator implements 
Iterator<Map<String, Object>> {
             return resultSet.getBytes(columnNumber);
         }
     }
+
+    private static final class ClobColumn implements Column {
+        private final int columnNumber;
+        private final String name;
+
+        private ClobColumn(String name, int columnNumber) {
+            this.name = name;
+            this.columnNumber = columnNumber;
+        }
+
+        @Override
+        public String getName() {
+            return name;
+        }
+
+        @Override
+        public Object getValue(ResultSet resultSet) throws SQLException {
+            return resultSet.getClob(columnNumber);
+        }
+    }
 }

Reply via email to