Mercurial > hg > monetdb-java
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: |