/*
 * call-seq:
 *    conn.async_exec(sql [, params, result_format ] ) -> PGresult
 *
 * This function has the same behavior as +PGconn#exec+,
 * except that it's implemented using asynchronous command 
 * processing and ruby's +rb_thread_select+ in order to 
 * allow other threads to process while waiting for the
 * server to complete the request.
 */
static VALUE
pgconn_async_exec(int argc, VALUE *argv, VALUE self)
{
        pgconn_send_query(argc, argv, self);
        pgconn_block(0, NULL, self);
        return pgconn_get_last_result(self);
}