1 package com.mapd.parser.extension.ddl;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.fail;
6 import com.google.gson.Gson;
7 import com.google.gson.JsonObject;
9 import com.omnisci.thrift.calciteserver.InvalidParseRequest;
10 import com.omnisci.thrift.calciteserver.TPlanResult;
12 import org.junit.Test;
16 resourceDirPath = ForeignTableTest.class.getClassLoader().getResource(
"").getPath();
22 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_OneCol.json");
24 "CREATE FOREIGN TABLE test_table (test_column_1 INTEGER) SERVER test_server;");
25 final JsonObject actualJsonObject =
26 gson.fromJson(result.plan_result, JsonObject.class);
27 assertEquals(expectedJsonObject, actualJsonObject);
32 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Decimal.json");
34 "CREATE FOREIGN TABLE test_table (test_column_1 DECIMAL(10, 6)) SERVER test_server;");
35 final JsonObject actualJsonObject =
36 gson.fromJson(result.plan_result, JsonObject.class);
37 assertEquals(expectedJsonObject, actualJsonObject);
40 @Test(expected = InvalidParseRequest.class)
42 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Decimal.json");
44 "CREATE FOREIGN TABLE test_table (test_column_1 DECIMAL(10, 6)(11,5)) SERVER test_server;");
45 final JsonObject actualJsonObject =
46 gson.fromJson(result.plan_result, JsonObject.class);
47 assertEquals(expectedJsonObject, actualJsonObject);
52 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_IfNotExists.json");
54 "CREATE FOREIGN TABLE IF NOT EXISTS test_table (test_column_1 INTEGER) "
55 +
"SERVER test_server;");
56 final JsonObject actualJsonObject =
57 gson.fromJson(result.plan_result, JsonObject.class);
58 assertEquals(expectedJsonObject, actualJsonObject);
63 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_TwoCol.json");
65 "CREATE FOREIGN TABLE test_table (test_column_1 INTEGER, test_column_2 TEXT) "
66 +
"SERVER test_server;");
67 final JsonObject actualJsonObject =
68 gson.fromJson(result.plan_result, JsonObject.class);
69 assertEquals(expectedJsonObject, actualJsonObject);
74 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_NotNull.json");
76 "CREATE FOREIGN TABLE test_table (test_column_1 INTEGER NOT NULL) "
77 +
"SERVER test_server;");
78 final JsonObject actualJsonObject =
79 gson.fromJson(result.plan_result, JsonObject.class);
80 assertEquals(expectedJsonObject, actualJsonObject);
85 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Encoding_Dict8.json");
87 "CREATE FOREIGN TABLE test_table (test_column_1 TEXT ENCODING DICT(8)) "
88 +
"SERVER test_server");
89 final JsonObject actualJsonObject =
90 gson.fromJson(result.plan_result, JsonObject.class);
91 assertEquals(expectedJsonObject, actualJsonObject);
96 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Encoding_Dict.json");
98 "CREATE FOREIGN TABLE test_table (test_column_1 TEXT ENCODING DICT) "
99 +
"SERVER test_server");
100 final JsonObject actualJsonObject =
101 gson.fromJson(result.plan_result, JsonObject.class);
102 assertEquals(expectedJsonObject, actualJsonObject);
107 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Encoding_None.json");
109 "CREATE FOREIGN TABLE test_table (test_column_1 TEXT ENCODING NONE) "
110 +
"SERVER test_server");
111 final JsonObject actualJsonObject =
112 gson.fromJson(result.plan_result, JsonObject.class);
113 assertEquals(expectedJsonObject, actualJsonObject);
118 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Encoding_Fixed1.json");
120 "CREATE FOREIGN TABLE test_table (test_column_1 TEXT ENCODING FIXED(1)) "
121 +
"SERVER test_server");
122 final JsonObject actualJsonObject =
123 gson.fromJson(result.plan_result, JsonObject.class);
124 assertEquals(expectedJsonObject, actualJsonObject);
129 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Encoding_Days1.json");
131 "CREATE FOREIGN TABLE test_table (test_column_1 TEXT ENCODING DAYS(1)) "
132 +
"SERVER test_server");
133 final JsonObject actualJsonObject =
134 gson.fromJson(result.plan_result, JsonObject.class);
135 assertEquals(expectedJsonObject, actualJsonObject);
140 final JsonObject expectedJsonObject =
143 "CREATE FOREIGN TABLE test_table (test_column_1 TEXT ENCODING COMPRESSED(32)) "
144 +
"SERVER test_server");
145 final JsonObject actualJsonObject =
146 gson.fromJson(result.plan_result, JsonObject.class);
147 assertEquals(expectedJsonObject, actualJsonObject);
152 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Encoding_Compressed.json");
154 "CREATE FOREIGN TABLE test_table (test_column_1 TEXT ENCODING COMPRESSED) "
155 +
"SERVER test_server");
156 final JsonObject actualJsonObject =
157 gson.fromJson(result.plan_result, JsonObject.class);
158 assertEquals(expectedJsonObject, actualJsonObject);
161 @Test(expected = InvalidParseRequest.class)
164 "CREATE FOREIGN TABLE test_table (test_column_1 TEXT ENCODING NONE(1)) "
165 +
"SERVER test_server");
168 @Test(expected = InvalidParseRequest.class)
171 "CREATE FOREIGN TABLE test_table (test_column_1 TEXT ENCODING FIXED) "
172 +
"SERVER test_server");
175 @Test(expected = InvalidParseRequest.class)
178 "CREATE FOREIGN TABLE test_table (test_column_1 TEXT ENCODING DAYS) "
179 +
"SERVER test_server");
184 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_ColOptions.json");
185 final TPlanResult
result =
187 +
"WITH ( option_1 = 'value_1', option_2 = 2)) SERVER test_server;");
188 final JsonObject actualJsonObject =
189 gson.fromJson(result.plan_result, JsonObject.class);
190 assertEquals(expectedJsonObject, actualJsonObject);
195 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Options.json");
196 final TPlanResult
result =
198 +
"SERVER test_server WITH ( option_1 = 'value_1', option_2 = 2);");
199 final JsonObject actualJsonObject =
200 gson.fromJson(result.plan_result, JsonObject.class);
201 assertEquals(expectedJsonObject, actualJsonObject);
206 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_EscapeOption.json");
207 final TPlanResult
result =
209 +
"SERVER test_server WITH ( escape = '\\');");
210 final JsonObject actualJsonObject =
211 gson.fromJson(result.plan_result, JsonObject.class);
212 assertEquals(expectedJsonObject, actualJsonObject);
217 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Schema.json");
218 final TPlanResult
result =
220 +
"SERVER test_server;");
221 final JsonObject actualJsonObject =
222 gson.fromJson(result.plan_result, JsonObject.class);
223 assertEquals(expectedJsonObject, actualJsonObject);
228 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Point.json");
230 "CREATE FOREIGN TABLE test_table (test_column_1 POINT) SERVER test_server;");
231 final JsonObject actualJsonObject =
232 gson.fromJson(result.plan_result, JsonObject.class);
233 assertEquals(expectedJsonObject, actualJsonObject);
238 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Point.json");
240 "CREATE FOREIGN TABLE test_table (test_column_1 GEOMETRY(POINT)) SERVER test_server;");
241 final JsonObject actualJsonObject =
242 gson.fromJson(result.plan_result, JsonObject.class);
243 assertEquals(expectedJsonObject, actualJsonObject);
248 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Linestring.json");
250 "CREATE FOREIGN TABLE test_table (test_column_1 LINESTRING) SERVER test_server;");
251 final JsonObject actualJsonObject =
252 gson.fromJson(result.plan_result, JsonObject.class);
253 assertEquals(expectedJsonObject, actualJsonObject);
258 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Polygon.json");
260 "CREATE FOREIGN TABLE test_table (test_column_1 POLYGON) SERVER test_server;");
261 final JsonObject actualJsonObject =
262 gson.fromJson(result.plan_result, JsonObject.class);
263 assertEquals(expectedJsonObject, actualJsonObject);
268 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_MultiPolygon.json");
270 "CREATE FOREIGN TABLE test_table (test_column_1 MULTIPOLYGON) SERVER test_server;");
271 final JsonObject actualJsonObject =
272 gson.fromJson(result.plan_result, JsonObject.class);
273 assertEquals(expectedJsonObject, actualJsonObject);
278 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_GeoPointMerc.json");
280 "CREATE FOREIGN TABLE test_table (test_column_1 GEOMETRY(POINT, 900913)) SERVER test_server;");
281 final JsonObject actualJsonObject =
282 gson.fromJson(result.plan_result, JsonObject.class);
283 assertEquals(expectedJsonObject, actualJsonObject);
288 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_GeoPointWG.json");
290 "CREATE FOREIGN TABLE test_table (test_column_1 GEOMETRY(POINT, 4326)) SERVER test_server;");
291 final JsonObject actualJsonObject =
292 gson.fromJson(result.plan_result, JsonObject.class);
293 assertEquals(expectedJsonObject, actualJsonObject);
298 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_PointCompressed.json");
300 "CREATE FOREIGN TABLE test_table (test_column_1 POINT ENCODING COMPRESSED(32)) SERVER test_server;");
301 final JsonObject actualJsonObject =
302 gson.fromJson(result.plan_result, JsonObject.class);
303 assertEquals(expectedJsonObject, actualJsonObject);
308 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_BigInt.json");
310 "CREATE FOREIGN TABLE test_table (test_column_1 BIGINT) SERVER test_server;");
311 final JsonObject actualJsonObject =
312 gson.fromJson(result.plan_result, JsonObject.class);
313 assertEquals(expectedJsonObject, actualJsonObject);
318 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Boolean.json");
320 "CREATE FOREIGN TABLE test_table (test_column_1 BOOLEAN) SERVER test_server;");
321 final JsonObject actualJsonObject =
322 gson.fromJson(result.plan_result, JsonObject.class);
323 assertEquals(expectedJsonObject, actualJsonObject);
328 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Date.json");
330 "CREATE FOREIGN TABLE test_table (test_column_1 DATE) SERVER test_server;");
331 final JsonObject actualJsonObject =
332 gson.fromJson(result.plan_result, JsonObject.class);
333 assertEquals(expectedJsonObject, actualJsonObject);
338 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Double.json");
340 "CREATE FOREIGN TABLE test_table (test_column_1 DOUBLE) SERVER test_server;");
341 final JsonObject actualJsonObject =
342 gson.fromJson(result.plan_result, JsonObject.class);
343 assertEquals(expectedJsonObject, actualJsonObject);
348 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Epoch.json");
350 "CREATE FOREIGN TABLE test_table (test_column_1 EPOCH) SERVER test_server;");
351 final JsonObject actualJsonObject =
352 gson.fromJson(result.plan_result, JsonObject.class);
353 assertEquals(expectedJsonObject, actualJsonObject);
358 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Float.json");
360 "CREATE FOREIGN TABLE test_table (test_column_1 FLOAT) SERVER test_server;");
361 final JsonObject actualJsonObject =
362 gson.fromJson(result.plan_result, JsonObject.class);
363 assertEquals(expectedJsonObject, actualJsonObject);
368 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_SmallInt.json");
370 "CREATE FOREIGN TABLE test_table (test_column_1 SMALLINT) SERVER test_server;");
371 final JsonObject actualJsonObject =
372 gson.fromJson(result.plan_result, JsonObject.class);
373 assertEquals(expectedJsonObject, actualJsonObject);
378 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_Time.json");
380 "CREATE FOREIGN TABLE test_table (test_column_1 TIME) SERVER test_server;");
381 final JsonObject actualJsonObject =
382 gson.fromJson(result.plan_result, JsonObject.class);
383 assertEquals(expectedJsonObject, actualJsonObject);
388 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_TimeStamp.json");
390 "CREATE FOREIGN TABLE test_table (test_column_1 TIMESTAMP) SERVER test_server;");
391 final JsonObject actualJsonObject =
392 gson.fromJson(result.plan_result, JsonObject.class);
393 assertEquals(expectedJsonObject, actualJsonObject);
398 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_TinyInt.json");
400 "CREATE FOREIGN TABLE test_table (test_column_1 TINYINT) SERVER test_server;");
401 final JsonObject actualJsonObject =
402 gson.fromJson(result.plan_result, JsonObject.class);
403 assertEquals(expectedJsonObject, actualJsonObject);
408 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_ArraySized.json");
410 "CREATE FOREIGN TABLE test_table (test_column_1 INTEGER[5]) SERVER test_server;");
411 final JsonObject actualJsonObject =
412 gson.fromJson(result.plan_result, JsonObject.class);
413 assertEquals(expectedJsonObject, actualJsonObject);
418 final JsonObject expectedJsonObject =
getJsonFromFile(
"cft_ArrayUnsized.json");
420 "CREATE FOREIGN TABLE test_table (test_column_1 INTEGER[]) SERVER test_server;");
421 final JsonObject actualJsonObject =
422 gson.fromJson(result.plan_result, JsonObject.class);
423 assertEquals(expectedJsonObject, actualJsonObject);
430 final JsonObject actualJsonObject =
431 gson.fromJson(result.plan_result, JsonObject.class);
432 assertEquals(expectedJsonObject, actualJsonObject);
437 final JsonObject expectedJsonObject =
getJsonFromFile(
"dft_ifExists.json");
438 final TPlanResult
result =
440 final JsonObject actualJsonObject =
441 gson.fromJson(result.plan_result, JsonObject.class);
442 assertEquals(expectedJsonObject, actualJsonObject);
447 final JsonObject expectedJsonObject =
getJsonFromFile(
"refresh_foreign_table.json");
449 final JsonObject actualJsonObject =
450 gson.fromJson(result.plan_result, JsonObject.class);
451 assertEquals(expectedJsonObject, actualJsonObject);
456 final JsonObject expectedJsonObject =
getJsonFromFile(
"refresh_foreign_tables.json");
457 final TPlanResult
result =
459 final JsonObject actualJsonObject =
460 gson.fromJson(result.plan_result, JsonObject.class);
461 assertEquals(expectedJsonObject, actualJsonObject);
466 final JsonObject expectedJsonObject =
468 final TPlanResult
result =
470 final JsonObject actualJsonObject =
471 gson.fromJson(result.plan_result, JsonObject.class);
472 assertEquals(expectedJsonObject, actualJsonObject);
477 final JsonObject expectedJsonObject =
480 "ALTER FOREIGN TABLE test_table SET (base_path = '/home/my_user/data/new-csv/');");
481 final JsonObject actualJsonObject =
482 gson.fromJson(result.plan_result, JsonObject.class);
483 assertEquals(expectedJsonObject, actualJsonObject);
488 final JsonObject expectedJsonObject =
490 final TPlanResult
result =
492 final JsonObject actualJsonObject =
493 gson.fromJson(result.plan_result, JsonObject.class);
494 assertEquals(expectedJsonObject, actualJsonObject);
499 final JsonObject expectedJsonObject =
502 "ALTER FOREIGN TABLE test_table RENAME COLUMN old_column TO new_column;");
503 final JsonObject actualJsonObject =
504 gson.fromJson(result.plan_result, JsonObject.class);
505 assertEquals(expectedJsonObject, actualJsonObject);
JsonObject getJsonFromFile(final String fileName)
void createForeignTableEncodingFixed1()
void createForeignTableBoolean()
void createForeignTableColOptions()
void createForeignTableGeoPoint()
void createForeignTableDecimal()
void createForeignTableEncodingDict8()
void createForeignTableBigInt()
void createForeignTableEncodingFixedWithoutSize()
void createForeignTableEpoch()
void createForeignTableEncodingDaysWithoutSize()
void createForeignTableEncodingDays1()
void createForeignTablePoint()
void refresh_foreign_tables()
void alterForeignTableSetOptions()
void createForeignTableGeoPointWG()
void createForeignTableLinestring()
void alterForeignTableRenameTable()
void createForeignTableEncodingNone()
void createForeignTableTinyInt()
void createForeignTableEncodingCompressed32()
void dropForeignTableIfExists()
void createForeignTableDate()
void alterForeignTableRenameColumn()
void createForeignTableEncodingNone1()
void createForeignTableTimestamp()
void createForeignTableDouble()
void createForeignTableEncodingDict()
void createForeignTableGeoPointMerc()
TPlanResult processDdlCommand(final String ddlCommand)
void createForeignTableTime()
void createForeignTableFloat()
void createForeignTableEncodingCompressed()
void createForeignTableSmallInt()
void createForeignTableMultiPolygon()
void createForeignTableArrayUnsized()
void createForeignTableDoubleDecimal()
void createForeignTableIfNotExists()
void refresh_foreign_table()
void refresh_foreign_table_with_evict()
void createForeignTableSchema()
void createForeignTablePointCompressed()
void createForeignTableOptions()
void createForeignTablePolygon()
void createForeignTableTwoCol()
void createForeignTableArraySized()
void createForeignTableNotNull()
void createForeignTableEscapeOption()
void createForeignTableOneCol()