comparison 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
comparison
equal deleted inserted replaced
91:6f74e01c57da 93:eeb71f7d36bf
52 } 52 }
53 return -1; 53 return -1;
54 } 54 }
55 55
56 static int OldMapiParseTupleLine(int lineNumber, CharBuffer lineBuffer, StringBuilder helper, int[] typesMap, 56 static int OldMapiParseTupleLine(int lineNumber, CharBuffer lineBuffer, StringBuilder helper, int[] typesMap,
57 Object[] values, boolean[] nulls) throws ProtocolException { 57 Object[] values, boolean[][] nulls) throws ProtocolException {
58 int len = lineBuffer.limit(); 58 int len = lineBuffer.limit();
59 char[] array = lineBuffer.array(); 59 char[] array = lineBuffer.array();
60 60
61 // first detect whether this is a single value line (=) or a real tuple ([) 61 // first detect whether this is a single value line (=) or a real tuple ([)
62 if (array[0] == '=') { 62 if (array[0] == '=') {
149 helper.append(array[pos]); 149 helper.append(array[pos]);
150 } 150 }
151 } 151 }
152 // put the unescaped string in the right place 152 // put the unescaped string in the right place
153 OldMapiStringToJavaObjectConverter(helper.toString(), lineNumber, values[column], typesMap[column]); 153 OldMapiStringToJavaObjectConverter(helper.toString(), lineNumber, values[column], typesMap[column]);
154 nulls[column] = false; 154 nulls[column][lineNumber] = false;
155 } else if ((i - 1) - cursor == 4 && CharIndexOf(array, array.length, NULL_STRING, NULL_STRING.length) == cursor) { 155 } else if ((i - 1) - cursor == 4 && CharIndexOf(array, array.length, NULL_STRING, NULL_STRING.length) == cursor) {
156 SetNullValue(lineNumber, values[column], typesMap[column]); 156 SetNullValue(lineNumber, values[column], typesMap[column]);
157 nulls[column] = true; 157 nulls[column][lineNumber] = true;
158 } else { 158 } else {
159 OldMapiStringToJavaObjectConverter(new String(array, cursor, i - 1 - cursor), lineNumber, values[column], typesMap[column]); 159 OldMapiStringToJavaObjectConverter(new String(array, cursor, i - 1 - cursor), lineNumber, values[column], typesMap[column]);
160 nulls[column] = false; 160 nulls[column][lineNumber] = false;
161 } 161 }
162 column++; 162 column++;
163 cursor = i + 1; 163 cursor = i + 1;
164 } 164 }
165 // reset escaped flag 165 // reset escaped flag
195 break; 195 break;
196 case Types.SMALLINT: 196 case Types.SMALLINT:
197 ((short[]) columnArray)[lineNumber] = Short.parseShort(toParse); 197 ((short[]) columnArray)[lineNumber] = Short.parseShort(toParse);
198 break; 198 break;
199 case Types.INTEGER: 199 case Types.INTEGER:
200 ((int[]) columnArray)[lineNumber] = Integer.parseInt(toParse); 200 ((int[]) columnArray)[lineNumber] = Integer.parseInt(toParse.replace(".", "")); //intervals :(
201 break; 201 break;
202 case Types.BIGINT: 202 case Types.BIGINT:
203 ((long[]) columnArray)[lineNumber] = Long.parseLong(toParse); 203 ((long[]) columnArray)[lineNumber] = Long.parseLong(toParse.replace(".", "")); //intervals :(
204 break; 204 break;
205 case Types.REAL: 205 case Types.REAL:
206 ((float[]) columnArray)[lineNumber] = Float.parseFloat(toParse); 206 ((float[]) columnArray)[lineNumber] = Float.parseFloat(toParse);
207 break; 207 break;
208 case Types.DOUBLE: 208 case Types.DOUBLE: