Commit Briefs

5f7ebc55cc Sergey Bronnikov

sql: forbid non-integer values in datetime (ligurio/gh-10391-datetime-new-non-integer-fields-2.11)

The patch forbids using non-integer values in datetime's `:set()` for `year`, `month`, `day`, `hour`, `min`, `sec`, `usec`, `msec`, `nsec` and `tzoffset` keys. `timestamp` can be double, and integer values allowed in timestamp if `nsec`, `usec`, or `msecs` provided. An error will be raised when a value of incorrect type is passed. Fixes #10391 @TarantoolBot document Title: Update types of datetime values passed to SQL's `CAST();` `CAST` can accept only integer values for `year`, `month`, `day`, `hour`, `min`, `sec`, `usec`, `msec`, `nsec` and `tzoffset`. `timestamp` can be integer or double. (cherry picked from commit f57be571b5e4cc8d57c7e97c15b52df37ad6f12c)


55d197aff4 Sergey Bronnikov

datetime: forbid non-integers in :set() and parse()

The patch forbids using non-integer values in datetime's `:set()` for `year`, `month`, `day`, `hour`, `min`, `sec`, `usec`, `msec` and `nsec` keys. The type of `tzoffset` can be integer or string, `timestamp` can be double, and integer values allowed in timestamp if `nsec`, `usec`, or `msecs` provided. An error will be raised when a value of incorrect type is passed. Part of #10391 @TarantoolBot document Title: Update types of values passed to `:set()` and parse() `:set()` can accept only integer values for `year`, `month`, `day`, `hour`, `min`, `sec`, `usec`, `msec` and `nsec`. The type of `tzoffset` can be integer or string, `timestamp` can be integer or double. `tzoffset` passed to `datetime.parse()` can be integer or string. (cherry picked from commit 6e77907baa3cbeebc79241cc0046a539a09e3f2c)


a807d05466 Sergey Bronnikov

datetime: forbid using non-integer values in .new()

The patch forbids using non-integer values in datetime constructor `datetime.new()` for `year`, `month`, `day`, `hour`, `min`, `sec`, `usec`, `msec` and `nsec` keys. The type of `tzoffset` can be integer or string, `timestamp` can be double, and integer values allowed in timestamp if `nsec`, `usec`, or `msecs` provided. An error will be raised when a value of incorrect type is passed. Part of #10391 @TarantoolBot document Title: Update types of values passed to `datetime.new()` `datetime.new()` can accept only integer values for `year`, `month`, `day`, `hour`, `min`, `sec`, `usec`, `msec` and `nsec`. The type of `tzoffset` can be integer or string, `timestamp` can be integer or double. (cherry picked from commit cc9010a2b11477b2f16f2b2e168a6b9dcca2fb20)


e9fc51d0e4 Vladimir Davydov

box: fix crash on rollback on memtx memory OOM and massive index change

We cannot tolerate index extent memory allocation failure on rollback. At the same time it is not practical to reserve memory because a whole index can easily be changed on rollback if read view is created before rollback. So in case of rollback and memtx memory OOM let's allocate outside the memtx arena limited by quota. Now part of the index can reside outside memtx arena. But regularly the index changes will move this part back to the memtx arena. Until next such situation of course. Closes #10551 NO_DOC=bugfix (cherry picked from commit 32ea713af0a4f27f9ae37bb767c21722ee8c6742)


1fb5a7cc56 Vladimir Davydov

memtx: free extents on exit

Part-of #10211 NO_TEST=internal NO_CHANGELOG=internal NO_DOC=internal (cherry picked from commit 134a2a4f7f0a3bad15bc42e2dc051708c3583fed)