27b8143944
I have updated my contrib code for version 6.5. In the attachment you will find the directories array, datetime, miscutil, string, tools and userlocks which replace the corresponding directories under contrib. In contrib/tools you will find some developement scripts which I use while hacking the sources. I hope they will be useful for some other people. I have also added a contrib/Makefile which tries to compile and install all the contribs. Unfortunately many of them don't have a Makefile or don't compile cleanly. -- Massimo Dal Zotto
79 lines
3.1 KiB
MySQL
79 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
|