string_io.sql.in
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:3k
- -- string_io.sql --
- --
- -- 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.
- -- Define the new output functions.
- --
- create function c_charout(opaque) returns int4
- as 'MODULE_PATHNAME'
- language 'c';
- create function c_textout(opaque) returns int4
- as 'MODULE_PATHNAME'
- language 'c';
- create function c_varcharout(opaque) returns int4
- as 'MODULE_PATHNAME'
- language 'c';
- -- This is not needed because escapes are handled by the parser
- --
- -- create function c_textin(opaque)
- -- returns text
- -- as 'MODULE_PATHNAME'
- -- language 'c';
- -- Define a function which sets the new output routines for char types.
- --
- -- 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'';
- 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'';
- update pg_type set typoutput=''c_textout'' where typname=''unknown'';
- update pg_type set typoutput=''c_varcharout'' where typname=''varchar'';
- select ''c_mode''::text;'
- language 'sql';
- -- Define a function which restores the standard routines for char types.
- --
- -- 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'';
- 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'';
- update pg_type set typoutput=''textout'' where typname=''unknown'';
- update pg_type set typoutput=''varcharout'' where typname=''varchar'';
- select ''pg_mode''::text;'
- language 'sql';
- -- Use these to do the changes manually.
- --
- -- 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';
- -- 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';
- -- 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