Модуль uuid
A «UUID» is a Universally unique identifier. If an application requires that a value be unique only within a single computer or on a single database, then a simple counter is better than a UUID, because getting a UUID is time-consuming (it requires a syscall). For clusters of computers, or widely distributed applications, UUIDs are better.
Ниже приведен перечень всех функций и элементов модуля uuid
.
Имя | Назначение |
---|---|
uuid.nil | Объект nil |
uuid() uuid.bin() uuid.str() |
Получение UUID |
uuid.new() | Создание UUID |
uuid.fromstr() uuid.frombin() uuid_object:bin() uuid_object:str() |
Получение конвертированного UUID |
uuid.is_uuid() | Проверка, является ли указанное значение UUID |
uuid_object:isnil() | Проверка, состоит ли UUID из одних нулей |
-
uuid.
new
() Since version 2.4.1. Create a UUID sequence. You can use it in an index over a uuid field. For example, to create such index for a space named test, say:
tarantool> box.space.test:create_index("pk", {parts={{field = 1, type = 'uuid'}}})
Теперь можно вставить uuid’ы в спейс:
tarantool> box.space.test:insert{uuid.new()} --- - [e631fdcc-0e8a-4d2f-83fd-b0ce6762b13f] ... tarantool> box.space.test:insert{uuid.fromstr('64d22e4d-ac92-4a23-899a-e59f34af5479')} --- - [64d22e4d-ac92-4a23-899a-e59f34af5479] ... tarantool> box.space.test:select{} --- - - [64d22e4d-ac92-4a23-899a-e59f34af5479] - [e631fdcc-0e8a-4d2f-83fd-b0ce6762b13f] ...
возвращает: UUID тип возвращаемого значения: cdata.
-
uuid.
fromstr
(uuid_str) Параметры: - uuid_str – UUID в 36-байтной шестнадцатеричной строке
возвращает: конвертированный UUID
тип возвращаемого значения: cdata.
-
uuid.
frombin
(uuid_bin) Параметры: - uuid_str – UUID в 16-байтной двоичной строке
возвращает: конвертированный UUID
тип возвращаемого значения: cdata.
-
uuid.
is_uuid
(value) Since version 2.6.1.
Параметры: - value – проверяемое значение
возвращает: true
, если указанное значение имеет тип uuid, в противном случаеfalse
тип возвращаемого значения: bool (логический)
-
object
uuid_object
-
uuid_object:
bin
([byte-order]) byte-order
может быть одним из следующих флагов:- „l“ - порядок от младшего к старшему,
- „b“ - порядок от старшего к младшему,
- „h“ - порядок зависит от хоста (по умолчанию),
- „n“ - порядок зависит от сети
Параметры: - byte-order (string) – один из
'l'
,'b'
,'h'
или'n'
.
возвращает: UUID, сконвертированный из введенного значения формата cdata.
тип возвращаемого значения: 16-байтная двоичная строка
-
uuid_object:
str
() возвращает: UUID, сконвертированный из введенного значения формата cdata. тип возвращаемого значения: 36-байтная шестнадцатеричная строка
-
uuid_object:
isnil
() Значение UUID из одних нулей может быть выражено как uuid.NULL или
uuid.fromstr('00000000-0000-0000-0000-000000000000')
. Сравнение со значением из одних нулей также может быть выражено какuuid_with_type_cdata == uuid.NULL
.возвращает: true (правда), если значение состоит из одних нулей, в противном случае false (ложь). тип возвращаемого значения: bool (логический)
-
tarantool> uuid = require('uuid')
---
...
tarantool> uuid(), uuid.bin(), uuid.str()
---
- 16ffedc8-cbae-4f93-a05e-349f3ab70baa
- !!binary FvG+Vy1MfUC6kIyeM81DYw==
- 67c999d2-5dce-4e58-be16-ac1bcb93160f
...
tarantool> uu = uuid()
---
...
tarantool> #uu:bin(), #uu:str(), type(uu), uu:isnil()
---
- 16
- 36
- cdata
- false
...