<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def execute_query_return_result_proxy(query):
 """ Execute a query, yield result proxy. :param query: :class:`sqlalchemy.orm.Query`, has to be created from ``session.query(Object)`` :return: :class:`sqlalchemy.engine.result.ResultProxy` """

    context = query._compile_context()
    context.statement.use_labels = False
    if query._autoflush and not query._populate_existing:
        query.session._autoflush()

    conn = query._get_bind_args(
        context,
        query._connection_from_session,
        close_with_result=True)

    return conn.execute(context.statement, query._params)