class JdbcPipeline extends AbstractPipeline {

    @Override
    public AbstractPipeline asTempTable(String tempTableName) {
        assert (procedure instanceof PreparedExtractProcedure.JdbcExtractor)
            : "Only support MySQL as temporary table";

        try {
            statement.execute("CREATE TEMPORARY TABLE " + tempTableName
                + " AS " + ((ExtractProcedure) procedure).toRecognizedQuery());
        } catch (SQLException ex) {
            throw new RuntimeException(ex);
        }
        return this;
    }

    public  JdbcPipeline(QueryProcedure procedure,
        List<String> tableNames,
        SqlRunner.Builder builder);

}