postgresql/contrib/string/string_io.sql.in

80 lines
3.2 KiB
MySQL
Raw Normal View History

-- string_io.sql --
--
1997-11-06 05:38:25 +08:00
-- SQL code to define the new string I/O functions
--
-- Copyright (c) 1998, Massimo Dal Zotto <dz@cs.unitn.it>
--
-- This file is distributed under the GNU General Public License
-- either version 2, or (at your option) any later version.
1997-11-06 05:38:25 +08:00
-- Define the new output functions.
--
create function c_charout(bpchar) returns cstring
1997-11-06 05:38:25 +08:00
as 'MODULE_PATHNAME'
language 'c';
create function c_textout(text) returns cstring
1997-11-06 05:38:25 +08:00
as 'MODULE_PATHNAME'
language 'c';
create function c_varcharout(varchar) returns cstring
1997-11-06 05:38:25 +08:00
as 'MODULE_PATHNAME'
language 'c';
-- This is not needed because escapes are handled by the parser
--
-- create function c_textin(cstring)
-- returns text
-- as 'MODULE_PATHNAME'
-- language 'c';
1997-11-06 05:38:25 +08:00
-- Define a function which sets the new output routines for char types.
1997-11-06 05:38:25 +08:00
--
-- select c_mode();
--
create function c_mode() returns text
as 'update pg_type set typoutput=''c_textout'' where typname=''SET'';
update pg_type set typoutput=''c_varcharout'' where typname=''bpchar'';
1997-11-06 05:38:25 +08:00
update pg_type set typoutput=''c_textout'' where typname=''bytea'';
update pg_type set typoutput=''c_charout'' where typname=''char'';
update pg_type set typoutput=''c_textout'' where typname=''text'';
1997-11-06 05:38:25 +08:00
update pg_type set typoutput=''c_textout'' where typname=''unknown'';
update pg_type set typoutput=''c_varcharout'' where typname=''varchar'';
select ''c_mode''::text;'
1997-11-06 05:38:25 +08:00
language 'sql';
-- Define a function which restores the standard routines for char types.
1997-11-06 05:38:25 +08:00
--
-- select pg_mode();
--
create function pg_mode() returns text
as 'update pg_type set typoutput=''textout'' where typname=''SET'';
update pg_type set typoutput=''varcharout'' where typname=''bpchar'';
1997-11-06 05:38:25 +08:00
update pg_type set typoutput=''textout'' where typname=''bytea'';
update pg_type set typoutput=''charout'' where typname=''char'';
update pg_type set typoutput=''textout'' where typname=''text'';
1997-11-06 05:38:25 +08:00
update pg_type set typoutput=''textout'' where typname=''unknown'';
update pg_type set typoutput=''varcharout'' where typname=''varchar'';
select ''pg_mode''::text;'
1997-11-06 05:38:25 +08:00
language 'sql';
-- Use these to do the changes manually.
1997-11-06 05:38:25 +08:00
--
-- update pg_type set typoutput='textout' where typname='SET';
-- update pg_type set typoutput='varcharout' where typname='bpchar';
-- update pg_type set typoutput='textout' where typname='bytea';
1997-11-06 05:38:25 +08:00
-- update pg_type set typoutput='charout' where typname='char';
-- update pg_type set typoutput='textout' where typname='text';
-- update pg_type set typoutput='textout' where typname='unknown';
-- update pg_type set typoutput='varcharout' where typname='varchar';
--
-- update pg_type set typoutput='c_textout' where typname='SET';
-- update pg_type set typoutput='c_varcharout' where typname='bpchar';
-- update pg_type set typoutput='c_textout' where typname='bytea';
1997-11-06 05:38:25 +08:00
-- update pg_type set typoutput='c_charout' where typname='char';
-- update pg_type set typoutput='c_textout' where typname='text';
-- update pg_type set typoutput='c_textout' where typname='unknown';
-- update pg_type set typoutput='c_varcharout' where typname='varchar';
-- end of file