Что означает VARIADIC объявления в postgreSQL?

в примечании к выпуску PostgreSQL 9.3.4 говорится:

Ensure that the planner sees equivalent VARIADIC and non-VARIADIC function calls as equivalent (Tom Lane)

Я искал руководство PostgreSQL и не смог найти определение того, что это такое.

Я обнаружил, что он реализован в режиме аргумента функции (IN, OUT, VARIADIC), но я не понял, что это значит? Когда я захочу им воспользоваться? а что это означает с точки зрения производительности, если функция имеет свойство с переменным числом аргументов?

2 ответов


variadic функции с неопределенным числом аргументов, они присутствуют во многих программирования и языков запросов.

в случае PostgreSQL вы можете найти пример вhttp://www.postgresql.org/docs/9.1/static/xfunc-sql.html (35.4.5. Функции SQL с переменным числом аргументов):

эффективно, все реальные аргументы за или за вариативная позиции собираются в одномерный массив, как если бы вы имел написано


когда вы не уверены в количестве параметров, мы используем Variadic.

вы можете обратиться VARIADIC ФУНКЦИИ В POSTGRESQL для сведения.

смотрите Вики о variadic функции:

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