final boolean top) { if (needsValidation) { query = validator.validate(query);
@Override public void validate(SqlValidator validator, SqlValidatorScope scope) { validator.validate(value); }
query = validator.validate(query);
final boolean top) { if (needsValidation) { query = validator.validate(query);
public SqlNode parseAndValidate(SqlValidator validator, String sql) { if (validator == null) { validator = getValidator(); } SqlNode sqlNode; try { sqlNode = parseQuery(sql); } catch (SqlParseException e) { throw new RuntimeException("Error while parsing query [" + sql + "]", e); } catch (Throwable e) { e.printStackTrace(); throw new AssertionError("Error while parsing query [" + sql + "]"); } return validator.validate(sqlNode); }
public SqlNode parseAndValidate(SqlValidator validator, String sql) { if (validator == null) { validator = getValidator(); } SqlNode sqlNode; try { sqlNode = parseQuery(sql); } catch (SqlParseException e) { throw new RuntimeException( "Error while parsing query [" + sql + "]", e); } catch (Throwable e) { e.printStackTrace(); throw new AssertionError( "Error while parsing query [" + sql + "]"); } return validator.validate(sqlNode); }
@Override public RelNode expandView( RelDataType rowType, String queryString, List<String> schemaPath) { expansionDepth++; SqlParser parser = SqlParser.create(queryString); SqlNode sqlNode; try { sqlNode = parser.parseQuery(); } catch (SqlParseException e) { throw new RuntimeException("parse failed", e); } // View may have different schema path than current connection. final CatalogReader catalogReader = this.catalogReader.withSchemaPath(schemaPath); SqlValidator validator = createSqlValidator(catalogReader); SqlNode sqlNode1 = validator.validate(sqlNode); SqlToRelConverter sqlToRelConverter = getSqlToRelConverter(validator, catalogReader); RelNode relNode = sqlToRelConverter.convertQuery(sqlNode1, true, false); --expansionDepth; return relNode; }
@Override public RelNode expandView( RelDataType rowType, String queryString, List<String> schemaPath) { expansionDepth++; SqlParser parser = new SqlParser(queryString); SqlNode sqlNode; try { sqlNode = parser.parseQuery(); } catch (SqlParseException e) { throw new RuntimeException("parse failed", e); } // View may have different schema path than current connection. final OptiqCatalogReader catalogReader = new OptiqCatalogReader( ((OptiqCatalogReader) this.catalogReader).rootSchema, schemaPath, ((OptiqCatalogReader) this.catalogReader).typeFactory); SqlValidator validator = createSqlValidator(catalogReader); SqlNode sqlNode1 = validator.validate(sqlNode); SqlToRelConverter sqlToRelConverter = getSqlToRelConverter(validator, catalogReader); RelNode relNode = sqlToRelConverter.convertQuery(sqlNode1, true, false); --expansionDepth; return relNode; }
public RelNode expandView(RelDataType rowType, String queryString, List<String> schemaPath) { SqlParser parser = SqlParser.create(parserFactory, queryString, lex.quoting, lex.unquotedCasing, lex.quotedCasing); SqlNode sqlNode; try { sqlNode = parser.parseQuery(); } catch (SqlParseException e) { throw new RuntimeException("parse failed", e); } final OptiqCatalogReader catalogReader = createCatalogReader().withSchemaPath(schemaPath); SqlValidator validator = new OptiqSqlValidator( operatorTable, catalogReader, typeFactory); SqlNode validatedSqlNode = validator.validate(sqlNode); SqlToRelConverter sqlToRelConverter = new SqlToRelConverter( null, validator, catalogReader, planner, createRexBuilder(), convertletTable); sqlToRelConverter.setTrimUnusedFields(false); return sqlToRelConverter.convertQuery(validatedSqlNode, true, false); } }
public ParseResult parse( Context context, String sql) { final JavaTypeFactory typeFactory = context.getTypeFactory(); OptiqCatalogReader catalogReader = new OptiqCatalogReader( context.getRootSchema(), context.getDefaultSchemaPath(), typeFactory); SqlParser parser = new SqlParser(sql); SqlNode sqlNode; try { sqlNode = parser.parseStmt(); } catch (SqlParseException e) { throw new RuntimeException("parse failed", e); } final SqlValidator validator = new OptiqSqlValidator( SqlStdOperatorTable.instance(), catalogReader, typeFactory); SqlNode sqlNode1 = validator.validate(sqlNode); return new ParseResult( sql, sqlNode1, validator.getValidatedNodeType(sqlNode1)); }
validator.validate(sqlNode); } catch (Throwable ex) { thrown = ex;
public ParseResult parse( Context context, String sql) { final JavaTypeFactory typeFactory = context.getTypeFactory(); OptiqCatalogReader catalogReader = new OptiqCatalogReader( context.getRootSchema(), context.config().caseSensitive(), context.getDefaultSchemaPath(), typeFactory); SqlParser parser = SqlParser.create(sql); SqlNode sqlNode; try { sqlNode = parser.parseStmt(); } catch (SqlParseException e) { throw new RuntimeException("parse failed", e); } final SqlValidator validator = new OptiqSqlValidator( SqlStdOperatorTable.instance(), catalogReader, typeFactory); SqlNode sqlNode1 = validator.validate(sqlNode); return new ParseResult(this, validator, sql, sqlNode1, validator.getValidatedNodeType(sqlNode1)); }
validator.validate(sqlNode); } catch (Throwable ex) { thrown = ex;
public RelNode convertSqlToRel(String sql) { Util.pre(sql != null, "sql != null"); final SqlNode sqlQuery; try { sqlQuery = parseQuery(sql); } catch (Exception e) { throw Util.newInternal(e); // todo: better handling } final RelDataTypeFactory typeFactory = getTypeFactory(); final Prepare.CatalogReader catalogReader = createCatalogReader(typeFactory); final SqlValidator validator = createValidator( catalogReader, typeFactory); final SqlToRelConverter converter = createSqlToRelConverter( validator, catalogReader, typeFactory); converter.setTrimUnusedFields(true); final SqlNode validatedQuery = validator.validate(sqlQuery); final RelNode rel = converter.convertQuery(validatedQuery, false, true); Util.post(rel != null, "return != null"); return rel; }
typeFactory); converter.setTrimUnusedFields(true); final SqlNode validatedQuery = validator.validate(sqlQuery); RelNode rel = converter.convertQuery(validatedQuery, false, true);