[Tarantool-patches] [PATCH v2 2/2] uuid: support uuid comparison with strings
Oleg Babin
olegrok at tarantool.org
Sat Nov 21 22:07:47 MSK 2020
Hi! Thanks for your comments. See my answers below.
On 21/11/2020 18:17, Vladislav Shpilevoy wrote:
> Thanks for the patch!
>
> See 2 comments below.
>
> On 18.11.2020 08:56,olegrok at tarantool.org wrote:
>> From: Oleg Babin<babinoleg at mail.ru>
>>
>> Before this patch it was impossible to compare uuid values with
>> string representations of uuid. However we have cases when such
>> comparisons is possible (e.g. "decimal" where we can compare
>> decimal values with strings and numbers).
>>
>> This patch extends uuid comparators (eq, lt, le) and every string
>> argument is tried to be converted to uuid value to compare then.
>>
>> Follow-up #5511
>>
>> @TarantoolBot document
>> Title: uuid values could be compared with strings
>>
>> Currently it's possible to compare uuid values with its string
>> representations:
>> ```lua
>> u1_str = 'aaaaaaaa-aaaa-4000-b000-000000000001'
>> u1 = uuid.fromstr(u1_str)
>> u2_str = 'bbbbbbbb-bbbb-4000-b000-000000000001'
>>
>> u1 == u1_str -- true
>> u1 == u2_str -- false
>>
>> u1 >= u1_str -- true
>> u1 < u2_str -- true
>> ```
> 1. Better use a single docbot request. It will be simpler for the doc
> team to handle it, since both the updates are about the same place.
> But up to you.
Agree. I've merged them.
```
Title: uuid comparison rules
Currently comparison between uuid values is supported.
Example:
```lua
u1 = uuid.fromstr('aaaaaaaa-aaaa-4000-b000-000000000001')
u2 = uuid.fromstr('bbbbbbbb-bbbb-4000-b000-000000000001')
u1 > u2 -- false
u1 >= u2 -- false
u1 <= u2 -- true
u1 < u2 -- true
```
Also it's possible to compare uuid values with its string
representations:
```lua
u1_str = 'aaaaaaaa-aaaa-4000-b000-000000000001'
u1 = uuid.fromstr(u1_str)
u2_str = 'bbbbbbbb-bbbb-4000-b000-000000000001'
u1 == u1_str -- true
u1 == u2_str -- false
u1 >= u1_str -- true
u1 < u2_str -- true
```
```
>> ---
>> Issue:https://github.com/tarantool/tarantool/issues/5511
>> Branch:https://github.com/tarantool/tarantool/tree/olegrok/5511-uuid-cmp-v2
>>
>> diff --git a/test/app/uuid.result b/test/app/uuid.result
>> index e06331001..5b9ffa230 100644
>> --- a/test/app/uuid.result
>> +++ b/test/app/uuid.result
> 2. I don't see a test for == with an incorrect string. Is it
> there?
Yes, it was added before
https://github.com/tarantool/tarantool/blob/e23b14dc23d749d092295a9b84854e1d64b2db27/test/app/uuid.test.lua#L89
More information about the Tarantool-patches
mailing list