Cast reservation flags before sending to MySQL.
Flags are stored in a smallint, which can only hold the first 16 bits worth out of 32 bits of flags currently in use. MySQL's overflow rules will treat any value > 0xffff as 0xffff, rather than dropping the higher-order bits (flags), which means the stored value not only loses the higher-order bits but corrupts the lower-order as well. The 19.05 release extends the column to bigint (64 bit). Bug 6969.
Please register or sign in to comment