Top.Mail.Ru
box.schema.func.create() | Tarantool
Tarantool
Узнайте содержание релиза 2.8

box.schema.func.create()

box.schema.func.create()

box.schema.func.create(func-name[, {options}])

Создание кортежа с функцией. Сама функция не создается – это делается с помощью Lua – но если необходимо выдать права функции, следует сначала выполнить box.schema.func.create. Чтобы получить информацию о том, как происходит управление данными функций в Tarantool’е, см. справочник по спейсу _func.

Возможны следующие опции:

  • if_not_exists (если отсутствует) = true|false (правда/ложь, по умолчанию ложь) - логическое значение boolean; true (правда) означает, что ошибка не выпадет, если кортеж в _func уже существует.
  • setuid = true|false (по умолчанию, false) – значение true (правда) заставит Tarantool рассматривать пользователя, вызвавшего функцию, в качестве владельца функции с полными правами. Следует помнить, что SETUID работает только по бинарным портам. SETUID не сработает, если вызвать функцию через административную консоль или в Lua-скрипте.
  • language = „LUA“|“C“ (выбор языка из Lua и C; по умолчанию, ‘LUA’).
Параметры:
возвращает:

nil

Пример:

box.schema.func.create('calculate')
box.schema.func.create('calculate', {if_not_exists = false})
box.schema.func.create('calculate', {setuid = false})
box.schema.func.create('calculate', {language = 'LUA'})