4 package com.mapd.calcite.planner;
12 import org.apache.calcite.plan.RelOptUtil;
13 import org.apache.calcite.rel.RelRoot;
14 import org.apache.calcite.schema.SchemaPlus;
15 import org.apache.calcite.sql.SqlNode;
16 import org.apache.calcite.sql.fun.SqlStdOperatorTable;
17 import org.apache.calcite.sql.parser.SqlParseException;
18 import org.apache.calcite.tools.FrameworkConfig;
19 import org.apache.calcite.tools.Frameworks;
20 import org.apache.calcite.tools.Planner;
21 import org.apache.calcite.tools.RelConversionException;
22 import org.apache.calcite.tools.ValidationException;
23 import org.slf4j.LoggerFactory;
25 import java.util.logging.Level;
26 import java.util.logging.Logger;
33 final static org.slf4j.Logger
MAPDLOGGER = LoggerFactory.getLogger(tester.class);
36 final SqlStdOperatorTable stdOpTab = SqlStdOperatorTable.instance();
43 new MapDSchema(
"/home/michael/mapd2/build/data", null, -1, mdu, null);
44 final SchemaPlus rootSchema = Frameworks.createRootSchema(
true);
45 final FrameworkConfig config = Frameworks.newConfigBuilder()
46 .defaultSchema(rootSchema.add(
"omnisci", mapd))
47 .operatorTable(stdOpTab)
50 Planner p = Frameworks.getPlanner(config);
52 SqlNode parseR = null;
54 parseR = p.parse(
"select * from customer where c_custkey = 1.345000 limit 5");
55 }
catch (SqlParseException ex) {
56 Logger.getLogger(tester.class.getName()).log(Level.SEVERE, null, ex);
59 SqlNode validateR = null;
62 }
catch (ValidationException ex) {
63 Logger.getLogger(tester.class.getName()).log(Level.SEVERE, null, ex);
67 relR = p.rel(validateR);
68 }
catch (RelConversionException ex) {
69 Logger.getLogger(tester.class.getName()).log(Level.SEVERE, null, ex);
71 MAPDLOGGER.error(
"Result was " + relR);
72 MAPDLOGGER.error(
"Result project() " + relR.project());
73 MAPDLOGGER.error(
"Result project() " + RelOptUtil.toString(relR.project()));
74 MAPDLOGGER.error(
"Json Version \n" + MapDSerializer.toString(relR.project()));
82 MAPDLOGGER.error(
"MapDParser result: \n"
84 "select * from customer where c_custkey = 1.345000 limit 5", mdpo));
85 }
catch (SqlParseException ex) {
86 Logger.getLogger(tester.class.getName()).log(Level.SEVERE, null, ex);
87 }
catch (ValidationException ex) {
88 Logger.getLogger(tester.class.getName()).log(Level.SEVERE, null, ex);
89 }
catch (RelConversionException ex) {
90 Logger.getLogger(tester.class.getName()).log(Level.SEVERE, null, ex);
static void main(String[] args)
static final org.slf4j.Logger MAPDLOGGER