From 9848d3655d44aa2e58d28fe9f93a94b2934eedc8 Mon Sep 17 00:00:00 2001
From: "Marc G. Fournier" <scrappy@hub.org>
Date: Sun, 18 Aug 1996 22:14:33 +0000
Subject: Support Docs & Contrib

---
 contrib/string/string_io.sql | 111 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 111 insertions(+)
 create mode 100644 contrib/string/string_io.sql

(limited to 'contrib/string/string_io.sql')

diff --git a/contrib/string/string_io.sql b/contrib/string/string_io.sql
new file mode 100644
index 00000000000..011371707d5
--- /dev/null
+++ b/contrib/string/string_io.sql
@@ -0,0 +1,111 @@
+
+- - -- load the new functions
+- - --
+load '/home/dz/lib/postgres/string_output.so';
+
+- - -- create function c_textin(opaque)
+- - --   returns text
+- - --   as '/home/dz/lib/postgres/string_output.so' 
+- - --   language 'c';
+
+create function c_charout(opaque)
+  returns int4
+  as '/home/dz/lib/postgres/string_output.so' 
+  language 'c';
+
+create function c_char2out(opaque)
+  returns int4
+  as '/home/dz/lib/postgres/string_output.so' 
+  language 'c';
+
+create function c_char4out(opaque)
+  returns int4
+  as '/home/dz/lib/postgres/string_output.so' 
+  language 'c';
+
+create function c_char8out(opaque)
+  returns int4
+  as '/home/dz/lib/postgres/string_output.so' 
+  language 'c';
+
+create function c_char16out(opaque)
+  returns int4
+  as '/home/dz/lib/postgres/string_output.so' 
+  language 'c';
+
+create function c_textout(opaque)
+  returns int4
+  as '/home/dz/lib/postgres/string_output.so' 
+  language 'c';
+
+create function c_varcharout(opaque)
+  returns int4
+  as '/home/dz/lib/postgres/string_output.so' 
+  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';
+
+- - -- or do the changes 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';
+
-- 
cgit v1.2.3

