eec4c7366f
Here is a tar file the new directories, which substitute the old ones in contrib. Please remove the old directories array, datetime, miscutil, string and userlock before unpacking the tar file in contrib. Note that as the modules are now installed in lib/modules I install all my sql code in lib/sql. In my opinion also the other contributors should follow these rules.
80 lines
3.1 KiB
MySQL
80 lines
3.1 KiB
MySQL
-- 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
|