← Back to team overview

maria-developers team mailing list archive

Re: 05968211699: MDEV-16026: Global system_versioning_asof must not be used if client sessions can have non-default time zone

 

Hello!

> If you want to store the value in unix timestamp, you don't need
> MYSQL_TIME in save_result. You should calculate the value as a unix
> timestamp in ::check and store that in save_result.


>
Now you still have timezone conversion in ::update and that can fail.
> Everything that can fail should be done in ::check, that's the contract.
>
> Right. I missed the fact that timezone conversion failure may be  also
crucial.
Or perhaps making another structure for storing timestamp with second_part
stopped me.
I made this change, in the separate commit for convenience, all the freshly
rebased work can be found on `bb-10.3-nikita`.
I might want to know that I'm going to squash following commits after the
review:
ee326018 make all conversions in check() to avoid possible errors
0b8b1fff refactor Sys_var_vers_asof
87ebaab5 MDEV-16481: set global system_versioning_asof=sf() crashes in
specific case

May be also I reapplied your patches to 10.3 incorrectly when I was
> reviewing. Perhaps you could rebase them yourself - to be sure I'm
> looking at the correct patch?
>

Yes, the patch looks correct according to what I can see in the PR.


Nikita

References