Функции модели

Таблица функций модели содержит свойства функций, объявленных моделью.

Описание поля

Имя поля

Имя. Имя функции.

name

Описание. Описание функции.

description

Формат ввода. Формат ввода функции. См. раздел формат для получения более подробной информации.

inputformat

Формат вывода. Формат вывода функции. См. раздел формат для получения более подробной информации.

outputformat

Помощь. Подробное описание переменной.

help

Группа. Группа переменных или НОЛЬ, если переменная не принадлежит ни одной группе.

group

Права доступа. Уровень прав доступа в контексте модели (либо контекст, к которому прикреплена относительная модель, либо контекст экземпляра экземплярной модели), необходимый для выполнения функции.

permissions

Тип. Определяет тип реализации функции. Поддерживаются следующие типы:

  • Код Java. Реализация функции представлена Java классом, реализующим специальный интерфейс, который содержит метод "выполнить функцию".
  • Выражение. Реализация функции оценивает Выражение AggreGate, принимает ввод функции за таблицу по умолчанию. Выражение должно оценивать таблицу, которая представляет собой вывод функции.
  • Запрос. Реализация функции выполняет запрос AggreGate, используя значения яйчеек таблицы ввода в качестве значений параметров запроса. Таблица результатов запроса представляет собой вывод функции.

type

Реализация. Доступно, если выбран Тип Код Java. Исходный код класса Java, который реализует тело функции, т.е. делает то, что должна делать функция. Для получения более подробной информации см. определение и реализация функций.

implementation

Выражение. Доступно если выбран Тип Выражение. Выражение AggreGate для оценки во время выполнения функции.

Среда вычисления выражения функции:

Контекст по умолчанию

  • Для абсолютной модели: сам контекст модели
  • Для относительной модели: контекст, к которому прикреплена относительная модель
  • Для экземплярной модели: контекст экземпляра модели

Таблица данных по умолчанию

Таблица данных ввода функции.

Ряд по умолчанию

0

Переменные среды

Только стандартные переменные.

expression

Запрос. Доступно если выбран Тип Запрос. Запрос AggreGate для выполнения в процессе выполнения функции.

Текст запроса может ссылаться на параметры функции, используя символ ? , например:

SELECT * FROM users.*.devices.*:temperature AS tpr WHERE tpr.temperature$celsius > ?

Номер ссылки параметров ? в тексте запроса должен соответствовать номеру ячейки в таблице ввода функции. Первая ссылка параметров ? будет заполнена значением из первой колонки первого ряда таблицы ввода, второе значение параметра будет взято из второй колонки, и т.д. 

query

Параллелизм. Делает возможным выполнение функции при каждом вызове в отдельном окружении. Так, можно вызвать одну и ту же функцию с различными входными параметрами одновременно. В этом случае они будут работать независимо и параллельно.

concurrent

Плагин. Идентификационный номер плагина сервера, который определяет модель. Необходим, если реализация функции должна иметь доступ к внутренним  классам Java плагина.

plugin

Доступ к этим свойствам открывается через переменную modelFunctions.

Больше о полях определения функции см. в Функции.