-- Universal Newline Support
--
CREATE OR REPLACE FUNCTION newline_lf() RETURNS integer AS
-'x = 100\ny = 23\nreturn x + y\n'
+E'x = 100\ny = 23\nreturn x + y\n'
LANGUAGE plpythonu;
CREATE OR REPLACE FUNCTION newline_cr() RETURNS integer AS
-'x = 100\ry = 23\rreturn x + y\r'
+E'x = 100\ry = 23\rreturn x + y\r'
LANGUAGE plpythonu;
CREATE OR REPLACE FUNCTION newline_crlf() RETURNS integer AS
-'x = 100\r\ny = 23\r\nreturn x + y\r\n'
+E'x = 100\r\ny = 23\r\nreturn x + y\r\n'
LANGUAGE plpythonu;
--
-- Unicode error handling
--
CREATE OR REPLACE FUNCTION newline_lf() RETURNS integer AS
-'x = 100\ny = 23\nreturn x + y\n'
+E'x = 100\ny = 23\nreturn x + y\n'
LANGUAGE plpythonu;
CREATE OR REPLACE FUNCTION newline_cr() RETURNS integer AS
-'x = 100\ry = 23\rreturn x + y\r'
+E'x = 100\ry = 23\rreturn x + y\r'
LANGUAGE plpythonu;
CREATE OR REPLACE FUNCTION newline_crlf() RETURNS integer AS
-'x = 100\r\ny = 23\r\nreturn x + y\r\n'
+E'x = 100\r\ny = 23\r\nreturn x + y\r\n'
LANGUAGE plpythonu;
--
--
-- Function to check key existance in T_pkey1
--
-create function check_pkey1_exists(int4, bpchar) returns bool as '
+create function check_pkey1_exists(int4, bpchar) returns bool as E'
if {![info exists GD]} {
set GD(plan) [spi_prepare \\
"select 1 from T_pkey1 \\
-- Trigger function to check for duplicate keys in T_pkey2
-- and to force key2 to be upper case only without leading whitespaces
--
-create function trig_pkey2_before() returns trigger as '
+create function trig_pkey2_before() returns trigger as E'
#
# Prepare plan on first call
#
-- in T_pkey2 are done so the trigger for primkey check on T_dta2
-- fired on our updates will see the new key values in T_pkey2.
--
-create function trig_pkey2_after() returns trigger as '
+create function trig_pkey2_after() returns trigger as E'
#
# Prepare plans on first call
#
--
-- Generic trigger function to check references in T_dta1 and T_dta2
--
-create function check_primkey() returns trigger as '
+create function check_primkey() returns trigger as E'
#
# For every trigger/relation pair we create
# a saved plan and hold them in GD
--
-- Function to check key existance in T_pkey1
--
-create function check_pkey1_exists(int4, bpchar) returns bool as '
+create function check_pkey1_exists(int4, bpchar) returns bool as E'
if {![info exists GD]} {
set GD(plan) [spi_prepare \\
"select 1 from T_pkey1 \\
--
-- Trigger function on every change to T_pkey1
--
-create function trig_pkey1_before() returns trigger as '
+create function trig_pkey1_before() returns trigger as E'
#
# Create prepared plans on the first call
#
-- Trigger function to check for duplicate keys in T_pkey2
-- and to force key2 to be upper case only without leading whitespaces
--
-create function trig_pkey2_before() returns trigger as '
+create function trig_pkey2_before() returns trigger as E'
#
# Prepare plan on first call
#
-- in T_pkey2 are done so the trigger for primkey check on T_dta2
-- fired on our updates will see the new key values in T_pkey2.
--
-create function trig_pkey2_after() returns trigger as '
+create function trig_pkey2_after() returns trigger as E'
#
# Prepare plans on first call
#
--
-- Generic trigger function to check references in T_dta1 and T_dta2
--
-create function check_primkey() returns trigger as '
+create function check_primkey() returns trigger as E'
#
# For every trigger/relation pair we create
# a saved plan and hold them in GD