public static ConvertedRelNode validateAndConvert(SqlHandlerConfig config, SqlNode sqlNode) throws ForemanSetupException, RelConversionException, ValidationException { return validateAndConvert(config, sqlNode, NO_OP_TRANSFORMER); }
private RelNode getPlan(SqlHandlerConfig sqlHandlerConfig, List<String> refreshTablePath, PlanNormalizer planNormalizer) { SqlSelect select = new SqlSelect( SqlParserPos.ZERO, new SqlNodeList(SqlParserPos.ZERO), new SqlNodeList(ImmutableList.<SqlNode>of(SqlIdentifier.star(SqlParserPos.ZERO)), SqlParserPos.ZERO), new SqlIdentifier(refreshTablePath, SqlParserPos.ZERO), null, null, null, null, null, null, null ); try { ConvertedRelNode converted = PrelTransformer.validateAndConvert(sqlHandlerConfig, select, planNormalizer); return converted.getConvertedNode(); } catch (ForemanSetupException | RelConversionException | ValidationException e) { throw Throwables.propagate(SqlExceptionHelper.coerceException(logger, select.toString(), e, false)); } }
@Override public PhysicalPlan getPlan(SqlHandlerConfig config, String sql, SqlNode sqlNode) throws Exception { try{ final ConvertedRelNode convertedRelNode = PrelTransformer.validateAndConvert(config, sqlNode); final RelDataType validatedRowType = convertedRelNode.getValidatedRowType(); final RelNode queryRelNode = convertedRelNode.getConvertedNode(); final Rel drel = PrelTransformer.convertToDrel(config, queryRelNode, validatedRowType); final Pair<Prel, String> convertToPrel = PrelTransformer.convertToPrel(config, drel); final Prel prel = convertToPrel.getKey(); textPlan = convertToPrel.getValue(); final PhysicalOperator pop = PrelTransformer.convertToPop(config, prel); final PhysicalPlan plan = PrelTransformer.convertToPlan(config, pop); logger.debug("Final Physical Plan {}", textPlan); PrelTransformer.log(config, "Dremio Plan", plan, logger); return plan; }catch(Exception ex){ throw SqlExceptionHelper.coerceException(logger, sql, ex, true); } }
ConvertedRelNode converted = PrelTransformer.validateAndConvert(sqlHandlerConfig, select, planNormalizer);
final ConvertedRelNode convertedRelNode = PrelTransformer.validateAndConvert(config, innerNode); final RelDataType validatedRowType = convertedRelNode.getValidatedRowType(); final RelNode queryRelNode = convertedRelNode.getConvertedNode();
final SqlHandlerConfig config = new SqlHandlerConfig(queryContext, converter, observer, null); final ConvertedRelNode convertedRelNode = PrelTransformer.validateAndConvert(config, node); final RelDataType validatedRowType = convertedRelNode.getValidatedRowType(); final RelNode queryRelNode = convertedRelNode.getConvertedNode();
final ConvertedRelNode convertedRelNode = PrelTransformer.validateAndConvert(config, createView.getQuery()); final RelDataType validatedRowType = convertedRelNode.getValidatedRowType(); final RelNode queryRelNode = convertedRelNode.getConvertedNode();
final SqlHandlerConfig config = new SqlHandlerConfig(queryContext, converter, observer, null); final ConvertedRelNode convertedRelNode = PrelTransformer.validateAndConvert(config, node); final RelDataType validatedRowType = convertedRelNode.getValidatedRowType(); final RelNode queryRelNode = convertedRelNode.getConvertedNode();
final ConvertedRelNode convertedRelNode = PrelTransformer.validateAndConvert(config, sqlCreateTable.getQuery()); final RelDataType validatedRowType = convertedRelNode.getValidatedRowType(); final RelNode queryRelNode = convertedRelNode.getConvertedNode();