maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #13044
Re: 0dfe5a31573: MDEV-22441 implement a generic way to change a value of a variable in a scope
Hi, Eugene!
On Jan 09, Eugene Kosov wrote:
> revision-id: 0dfe5a31573 (mariadb-10.7.1-13-g0dfe5a31573)
> parent(s): 1e54a9716d2
> author: Eugene Kosov
> committer: Eugene Kosov
> timestamp: 2021-12-03 16:12:27 +0600
> message:
>
> MDEV-22441 implement a generic way to change a value of a variable in a scope
>
> Example:
> {
> auto _= make_scope_value(var, tmp_value);
> }
>
> make_scope_value(): a function which returns RAII object which temporary
> changes a value of a variable
1. Why have you not created a macro, like SCOPE_EXIT to avoid `auto _=` ?
Particularly as one cannot use `_` to backup more than one variable.
2. better remove the new value from make_scope_value(). Creating a RAII
backup and an assignment of a new value are two separate actions. The
assignment can happen much later or conditionally or not at all.
3. (not part of MDEV-22441) See how SCOPE_EXIT is implemented in
rocksdb, perhaps we should do it similarly? It's used like
SCOPE_EXIT { mem_heap_free(heap); }
Regards,
Sergei
VP of MariaDB Server Engineering
and security@xxxxxxxxxxx