3
-- SQL code to define the new string I/O functions
5
-- Copyright (c) 1998, Massimo Dal Zotto <dz@cs.unitn.it>
7
-- This file is distributed under the GNU General Public License
8
-- either version 2, or (at your option) any later version.
10
-- Define the new output functions.
12
CREATE FUNCTION c_charout(bpchar)
17
CREATE FUNCTION c_textout(text)
22
CREATE FUNCTION c_varcharout(varchar)
27
-- This is not needed because escapes are handled by the parser
29
-- CREATE FUNCTION c_textin(cstring)
31
-- AS 'MODULE_PATHNAME'
34
-- Define a function which sets the new output routines for char types.
38
CREATE FUNCTION c_mode()
40
AS ' UPDATE pg_type SET typoutput=''c_textout'' WHERE typname=''SET'';
41
UPDATE pg_type SET typoutput=''c_varcharout'' WHERE typname=''bpchar'';
42
UPDATE pg_type SET typoutput=''c_textout'' WHERE typname=''bytea'';
43
UPDATE pg_type SET typoutput=''c_charout'' WHERE typname=''char'';
44
UPDATE pg_type SET typoutput=''c_textout'' WHERE typname=''text'';
45
UPDATE pg_type SET typoutput=''c_textout'' WHERE typname=''unknown'';
46
UPDATE pg_type SET typoutput=''c_varcharout'' WHERE typname=''varchar'';
47
select ''c_mode''::text;'
50
-- Define a function which restores the standard routines for char types.
54
CREATE FUNCTION pg_mode()
56
AS ' UPDATE pg_type SET typoutput=''textout'' WHERE typname=''SET'';
57
UPDATE pg_type SET typoutput=''varcharout'' WHERE typname=''bpchar'';
58
UPDATE pg_type SET typoutput=''textout'' WHERE typname=''bytea'';
59
UPDATE pg_type SET typoutput=''charout'' WHERE typname=''char'';
60
UPDATE pg_type SET typoutput=''textout'' WHERE typname=''text'';
61
UPDATE pg_type SET typoutput=''textout'' WHERE typname=''unknown'';
62
UPDATE pg_type SET typoutput=''varcharout'' WHERE typname=''varchar'';
63
select ''pg_mode''::text;'
66
-- Use these to do the changes manually.
68
-- UPDATE pg_type SET typoutput='textout' WHERE typname='SET';
69
-- UPDATE pg_type SET typoutput='varcharout' WHERE typname='bpchar';
70
-- UPDATE pg_type SET typoutput='textout' WHERE typname='bytea';
71
-- UPDATE pg_type SET typoutput='charout' WHERE typname='char';
72
-- UPDATE pg_type SET typoutput='textout' WHERE typname='text';
73
-- UPDATE pg_type SET typoutput='textout' WHERE typname='unknown';
74
-- UPDATE pg_type SET typoutput='varcharout' WHERE typname='varchar';
76
-- UPDATE pg_type SET typoutput='c_textout' WHERE typname='SET';
77
-- UPDATE pg_type SET typoutput='c_varcharout' WHERE typname='bpchar';
78
-- UPDATE pg_type SET typoutput='c_textout' WHERE typname='bytea';
79
-- UPDATE pg_type SET typoutput='c_charout' WHERE typname='char';
80
-- UPDATE pg_type SET typoutput='c_textout' WHERE typname='text';
81
-- UPDATE pg_type SET typoutput='c_textout' WHERE typname='unknown';
82
-- UPDATE pg_type SET typoutput='c_varcharout' WHERE typname='varchar';