presto-raptor-legacy/src/main/java/io/prestosql/plugin/raptor/legacy/systemtables/PreparedStatementBuilder.java/PreparedStatementBuilder/create
class PreparedStatementBuilder:    public static PreparedStatement create(
            Connection connection,
            String sql,
            List<String> columnNames,
            List<Type> types,
            Set<Integer> uuidColumnIndexes,
            TupleDomain<Integer> tupleDomain)
            throws SQLException
    {
        checkArgument(!isNullOrEmpty(sql), "sql is null or empty");

        List<ValueBuffer> bindValues = new ArrayList<>(256);
        sql += getWhereClause(tupleDomain, columnNames, types, uuidColumnIndexes, bindValues);

        PreparedStatement statement = connection.prepareStatement(sql, TYPE_FORWARD_ONLY, CONCUR_READ_ONLY);
        enableStreamingResults(statement);

        // bind values to statement
        int bindIndex = 1;
        for (ValueBuffer value : bindValues) {
            bindField(value, statement, bindIndex, uuidColumnIndexes.contains(value.getColumnIndex()));
            bindIndex++;
        }
        return statement;
    }