presto-phoenix/src/main/java/io/prestosql/plugin/phoenix/PhoenixClient.java/PhoenixClient/buildSql
class PhoenixClient:    @Override
    public PreparedStatement buildSql(ConnectorSession session, Connection connection, JdbcSplit split, JdbcTableHandle table, List<JdbcColumnHandle> columnHandles)
            throws SQLException
    {
        PhoenixSplit phoenixSplit = (PhoenixSplit) split;
        PreparedStatement query = new QueryBuilder(identifierQuote).buildSql(
                this,
                session,
                connection,
                table.getCatalogName(),
                table.getSchemaName(),
                table.getTableName(),
                columnHandles,
                phoenixSplit.getConstraint(),
                split.getAdditionalPredicate(),
                tryApplyLimit(table.getLimit()));
        QueryPlan queryPlan = getQueryPlan((PhoenixPreparedStatement) query);
        ResultSet resultSet = getResultSet(phoenixSplit.getPhoenixInputSplit(), queryPlan);
        return new DelegatePreparedStatement(query)
        {
            @Override
            public ResultSet executeQuery()
            {
                return resultSet;
            }
        };
    }