mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
105 lines
4.4 KiB
MySQL
105 lines
4.4 KiB
MySQL
-- SQL code to define the new string I/O functions
|
|
|
|
-- This is not needed because escapes are handled by the parser
|
|
--
|
|
-- create function c_textin(opaque)
|
|
-- returns text
|
|
-- as 'MODULE_PATHNAME'
|
|
-- language 'c';
|
|
|
|
create function c_charout(opaque) returns int4
|
|
as 'MODULE_PATHNAME'
|
|
language 'c';
|
|
|
|
create function c_char2out(opaque) returns int4
|
|
as 'MODULE_PATHNAME'
|
|
language 'c';
|
|
|
|
create function c_char4out(opaque) returns int4
|
|
as 'MODULE_PATHNAME'
|
|
language 'c';
|
|
|
|
create function c_char8out(opaque) returns int4
|
|
as 'MODULE_PATHNAME'
|
|
language 'c';
|
|
|
|
create function c_char16out(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';
|
|
|
|
|
|
-- 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_charout'' where typname=''char'';
|
|
update pg_type set typoutput=''c_char2out'' where typname=''char2'';
|
|
update pg_type set typoutput=''c_char4out'' where typname=''char4'';
|
|
update pg_type set typoutput=''c_char8out'' where typname=''char8'';
|
|
update pg_type set typoutput=''c_char16out'' where typname=''char16'';
|
|
update pg_type set typoutput=''c_textout'' where typname=''text'';
|
|
update pg_type set typoutput=''c_textout'' where typname=''bytea'';
|
|
update pg_type set typoutput=''c_textout'' where typname=''unknown'';
|
|
update pg_type set typoutput=''c_textout'' where typname=''SET'';
|
|
update pg_type set typoutput=''c_varcharout'' where typname=''varchar'';
|
|
update pg_type set typoutput=''c_varcharout'' where typname=''bpchar'';
|
|
select ''c_mode''::text'
|
|
language 'sql';
|
|
|
|
-- Define a function which restores the original routines for char types
|
|
--
|
|
-- select pg_mode();
|
|
--
|
|
create function pg_mode() returns text
|
|
as 'update pg_type set typoutput=''charout'' where typname=''char'';
|
|
update pg_type set typoutput=''char2out'' where typname=''char2'';
|
|
update pg_type set typoutput=''char4out'' where typname=''char4'';
|
|
update pg_type set typoutput=''char8out'' where typname=''char8'';
|
|
update pg_type set typoutput=''char16out'' where typname=''char16'';
|
|
update pg_type set typoutput=''textout'' where typname=''text'';
|
|
update pg_type set typoutput=''textout'' where typname=''bytea'';
|
|
update pg_type set typoutput=''textout'' where typname=''unknown'';
|
|
update pg_type set typoutput=''textout'' where typname=''SET'';
|
|
update pg_type set typoutput=''varcharout'' where typname=''varchar'';
|
|
update pg_type set typoutput=''varcharout'' where typname=''bpchar'';
|
|
select ''pg_mode''::text'
|
|
language 'sql';
|
|
|
|
|
|
-- Use these if you want do the updates manually
|
|
--
|
|
-- update pg_type set typoutput='charout' where typname='char';
|
|
-- update pg_type set typoutput='char2out' where typname='char2';
|
|
-- update pg_type set typoutput='char4out' where typname='char4';
|
|
-- update pg_type set typoutput='char8out' where typname='char8';
|
|
-- update pg_type set typoutput='char16out' where typname='char16';
|
|
-- update pg_type set typoutput='textout' where typname='text';
|
|
-- update pg_type set typoutput='textout' where typname='bytea';
|
|
-- update pg_type set typoutput='textout' where typname='unknown';
|
|
-- update pg_type set typoutput='textout' where typname='SET';
|
|
-- update pg_type set typoutput='varcharout' where typname='varchar';
|
|
-- update pg_type set typoutput='varcharout' where typname='bpchar';
|
|
--
|
|
-- update pg_type set typoutput='c_charout' where typname='char';
|
|
-- update pg_type set typoutput='c_char2out' where typname='char2';
|
|
-- update pg_type set typoutput='c_char4out' where typname='char4';
|
|
-- update pg_type set typoutput='c_char8out' where typname='char8';
|
|
-- update pg_type set typoutput='c_char16out' where typname='char16';
|
|
-- update pg_type set typoutput='c_textout' where typname='text';
|
|
-- update pg_type set typoutput='c_textout' where typname='bytea';
|
|
-- update pg_type set typoutput='c_textout' where typname='unknown';
|
|
-- update pg_type set typoutput='c_textout' where typname='SET';
|
|
-- update pg_type set typoutput='c_varcharout' where typname='varchar';
|
|
-- update pg_type set typoutput='c_varcharout' where typname='bpchar';
|
|
|
|
-- end of file
|