public PreparedQuery wrapIncrementalQuery(String rawQuery, JdbcSchema querySchema,
List<String> incrementalColumns, List<JsonNode> incrementalValues,
boolean useRawQuery) throws SQLException
{
StringBuilder sb = new StringBuilder();
List<JdbcLiteral> parameters = ImmutableList.of();
if (useRawQuery) {
parameters = replacePlaceholder(sb, rawQuery, querySchema, incrementalColumns, incrementalValues);
} else {
sb.append("SELECT * FROM (");
sb.append(truncateStatementDelimiter(rawQuery));
sb.append(") embulk_incremental_");
if (incrementalValues != null) {
sb.append(" WHERE ");
parameters = buildIncrementalConditionTo(sb,
querySchema, incrementalColumns, incrementalValues);
}
sb.append(" ORDER BY ");
buildIncrementalOrderTo(sb, querySchema, incrementalColumns);
}
return new PreparedQuery(sb.toString(), parameters);
}