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)))