43.9. Вспомогательные функции
Модуль plpy
также предоставляет функции plpy.debug(
, сообщение
)plpy.log(
, сообщение
)plpy.info(
, сообщение
)plpy.notice(
, сообщение
)plpy.warning(
, сообщение
)plpy.error(
и сообщение
)plpy.fatal(
. Функции сообщение
)plpy.error
и plpy.fatal
на самом деле выдают исключение Python, которое, если его не перехватить, распространяется в вызывающий запрос, что приводит к прерыванию текущей транзакции или подтранзакции. Команды raise plpy.Error(
и сообщение
)raise plpy.Fatal(
равнозначны вызовам сообщение
)plpy.error
и plpy.fatal
, соответственно. Остальные функции просто выдают сообщения разных уровней важности. Будут ли сообщения определённого уровня передаваться клиентам и/или записываться в журнал, определяется конфигурационными параметрами log_min_messages и client_min_messages. За дополнительными сведениями обратитесь к Главе 18.
Ещё один набор вспомогательных функций образуют plpy.quote_literal(
, строка
)plpy.quote_nullable(
и строка
)plpy.quote_ident(
. Они равнозначны встроенным функциям заключения в кавычки, описанным в Разделе 9.4. Они полезны при конструировании свободно составляемых запросов. На PL/Python динамический SQL, показанный в Примере 40.1, формируется так: строка
)
plpy.execute("UPDATE tbl SET %s = %s WHERE key = %s" % ( plpy.quote_ident(colname), plpy.quote_nullable(newvalue), plpy.quote_literal(keyvalue)))