diff src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParser.java @ 93:eeb71f7d36bf embedded

Fixed a bug on the JDBC MAPI connection from the old code! Fixed the connection properties for an JDBC Embedded connection. To start a JDBC Embedded connection, the user must start the embedded database beforehand with the method MonetDBEmbeddedDatabase.StartDatabase().
author Pedro Ferreira <pedro.ferreira@monetdbsolutions.com>
date Fri, 06 Jan 2017 12:36:33 +0000 (2017-01-06)
parents 6f74e01c57da
children 4bb4e988164d
line wrap: on
line diff
--- a/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParser.java
+++ b/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParser.java
@@ -54,7 +54,7 @@ final class OldMapiTupleLineParser {
     }
 
     static int OldMapiParseTupleLine(int lineNumber, CharBuffer lineBuffer, StringBuilder helper, int[] typesMap,
-                                     Object[] values, boolean[] nulls) throws ProtocolException {
+                                     Object[] values, boolean[][] nulls) throws ProtocolException {
         int len = lineBuffer.limit();
         char[] array = lineBuffer.array();
 
@@ -151,13 +151,13 @@ final class OldMapiTupleLineParser {
                             }
                             // put the unescaped string in the right place
                             OldMapiStringToJavaObjectConverter(helper.toString(), lineNumber, values[column], typesMap[column]);
-                            nulls[column] = false;
+                            nulls[column][lineNumber] = false;
                         } else if ((i - 1) - cursor == 4 && CharIndexOf(array, array.length, NULL_STRING, NULL_STRING.length) == cursor) {
                             SetNullValue(lineNumber, values[column], typesMap[column]);
-                            nulls[column] = true;
+                            nulls[column][lineNumber] = true;
                         } else {
                             OldMapiStringToJavaObjectConverter(new String(array, cursor, i - 1 - cursor), lineNumber, values[column], typesMap[column]);
-                            nulls[column] = false;
+                            nulls[column][lineNumber] = false;
                         }
                         column++;
                         cursor = i + 1;
@@ -197,10 +197,10 @@ final class OldMapiTupleLineParser {
                 ((short[]) columnArray)[lineNumber] = Short.parseShort(toParse);
                 break;
             case Types.INTEGER:
-                ((int[]) columnArray)[lineNumber] = Integer.parseInt(toParse);
+                ((int[]) columnArray)[lineNumber] = Integer.parseInt(toParse.replace(".", "")); //intervals :(
                 break;
             case Types.BIGINT:
-                ((long[]) columnArray)[lineNumber] = Long.parseLong(toParse);
+                ((long[]) columnArray)[lineNumber] = Long.parseLong(toParse.replace(".", "")); //intervals :(
                 break;
             case Types.REAL:
                 ((float[]) columnArray)[lineNumber] = Float.parseFloat(toParse);