void translate(final Project project, final String logicalOpId, final TranslatorContext context) { MessageStream<SamzaSqlRelMessage> messageStream = context.getMessageStream(project.getInput().getId()); List<Integer> flattenProjects = project.getProjects().stream().filter(this::isFlatten).map(this::getProjectIndex).collect(Collectors.toList()); if (flattenProjects.size() > 0) { if (flattenProjects.size() > 1) { String msg = "Multiple flatten operators in a single query is not supported"; LOG.error(msg); throw new SamzaException(msg); } messageStream = translateFlatten(flattenProjects.get(0), messageStream); } final int projectId = project.getId(); MessageStream<SamzaSqlRelMessage> outputStream = messageStream.map(new ProjectMapFunction(projectId, queryId, logicalOpId)); context.registerMessageStream(project.getId(), outputStream); context.registerRelNode(project.getId(), project); }
void translate(final Project project, final TranslatorContext context) { MessageStream<SamzaSqlRelMessage> messageStream = context.getMessageStream(project.getInput().getId()); List<Integer> flattenProjects = project.getProjects().stream().filter(this::isFlatten).map(this::getProjectIndex).collect(Collectors.toList()); if (flattenProjects.size() > 0) { if (flattenProjects.size() > 1) { String msg = "Multiple flatten operators in a single query is not supported"; LOG.error(msg); throw new SamzaException(msg); } messageStream = translateFlatten(flattenProjects.get(0), messageStream); } final int projectId = project.getId(); MessageStream<SamzaSqlRelMessage> outputStream = messageStream.map(new ProjectMapFunction(projectId, queryId)); context.registerMessageStream(project.getId(), outputStream); context.registerRelNode(project.getId(), project); }