From 8d25d5c5c7826a5ad715bd319ec49ce3e5682204 Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Mon, 22 Jul 2002 08:57:15 +0000 Subject: [PATCH] Add CREATE CONVERSION/DROP CONVERSOION reference manual --- doc/src/sgml/ref/allfiles.sgml | 4 +- doc/src/sgml/ref/create_conversion.sgml | 189 ++++++++++++++++++++++++ doc/src/sgml/ref/drop_conversion.sgml | 124 ++++++++++++++++ doc/src/sgml/reference.sgml | 4 +- 4 files changed, 319 insertions(+), 2 deletions(-) create mode 100644 doc/src/sgml/ref/create_conversion.sgml create mode 100644 doc/src/sgml/ref/drop_conversion.sgml diff --git a/doc/src/sgml/ref/allfiles.sgml b/doc/src/sgml/ref/allfiles.sgml index 55b4fc5c9f..a37d58ab7d 100644 --- a/doc/src/sgml/ref/allfiles.sgml +++ b/doc/src/sgml/ref/allfiles.sgml @@ -1,5 +1,5 @@ @@ -53,6 +53,7 @@ Complete list of usable sgml source files in this directory. + @@ -73,6 +74,7 @@ Complete list of usable sgml source files in this directory. + diff --git a/doc/src/sgml/ref/create_conversion.sgml b/doc/src/sgml/ref/create_conversion.sgml new file mode 100644 index 0000000000..1edc5d2f93 --- /dev/null +++ b/doc/src/sgml/ref/create_conversion.sgml @@ -0,0 +1,189 @@ + + + + + CREATE CONVERSION + SQL - Language Statements + + + + CREATE CONVERSION + define a user-defined conversion + + + + +CREATE [DEFAULT] CONVERSION conversion_name + FOR source_encoding + TO dest_encoding FROM funcname + + + + + Description + + + CREATE CONVERSION defines a new encoding + conversion. There are two kinds of conversions. A default + conversion is used for an automatic encoding conversion between + frontend and backend. There should be only one default conversion + for source/destination encodings pair in a schema. None default + conversion never be used for the automatic conversion. Instead it + can be used for CONVERT() function. + + + + To be able to create a conversion, you must have the execute right + on the function and the usage right on the schema the function + belongs to. + + + + Parameters + + + DEFAULT + + + + The DEFAULT clause indicates that this conversion + is the default for this particular source to destination + encoding. There should be only one default encoding in a schema + for the encoding pair. A default encoding can be used for not + only CONVERT() function, but also for the automatic encoding + conversion between frontend and backend. For this purpose, two + conversions, from encoding A to B AND encoding B to A, must be + defined. + + + + + + conversion_name + + + + The name of the conversion. The conversion name may be + schema-qualified. If it is not, a conversion is defined in the + current schema. The conversion name must be unique with in a + schema. + + + + + + source_encoding + + + + The source encoding name. + + + + + + source_encoding + + + + The destination encoding name. + + + + + + funcname + + + + The function used to perform the conversion. The function name may + be schema-qualified. If it is not, the function will be looked + up in the path. + + + + The function must have following signature: + + + conv_proc( + INTEGER, -- source encoding id + INTEGER, -- destination encoding id + OPAQUE, -- source string (null terminated C string) + OPAQUE, -- destination string (null terminated C string) + INTEGER -- source string length + ) returns INTEGER; -- dummy. returns nothing, actually. + + + + + + + + + + Notes + + + Use DROP CONVERSION to remove user-defined conversions. + + + + The privileges required to create a conversion may be changed in a future + release. + + + + + + + Examples + + + To create a conversion from encoding UNICODE to LATIN1 using myfunc: + +CREATE CONVERSION myconv FOR 'UNICODE' TO 'LATIN1' FROM myfunc; + + + + + + + Compatibility + + + CREATE CONVERSION + is a PostgreSQL extension. + There is no CREATE OPERATOR + statement in SQL99. + + + + + + See Also + + + , + , + PostgreSQL Programmer's Guide + + + + + + diff --git a/doc/src/sgml/ref/drop_conversion.sgml b/doc/src/sgml/ref/drop_conversion.sgml new file mode 100644 index 0000000000..00d2804b51 --- /dev/null +++ b/doc/src/sgml/ref/drop_conversion.sgml @@ -0,0 +1,124 @@ + + + + + DROP CONVERSION + SQL - Language Statements + + + + DROP CONVERSION + remove a user-defined conversion + + + + +DROP CONVERSION conversion_name + [ CASCADE | RESTRICT ] + + + + + Description + + + DROP CONVERSION removes a previously defined conversion. + + + + To be able to drop a conversion, you must own the conversion. + + + + Parameters + + + conversion_name + + + + The name of the conversion. The conversion name may be + schema-qualified. + + + + + + CASCADE + RESTRICT + + + + These key words do not have any effect, since there are no + dependencies on conversions. + + + + + + + + + Notes + + + Use CREATE CONVERSION to create user-defined conversions. + + + + The privileges required to drop a conversion may be changed in a future + release. + + + + + + Examples + + + To drop the conversion named myname: + +DROP CONVERSION myname; + + + + + + + Compatibility + + + DROP CONVERSION + is a PostgreSQL extension. + There is no DROP OPERATOR + statement in SQL99. + + + + + + See Also + + + + + + + + + diff --git a/doc/src/sgml/reference.sgml b/doc/src/sgml/reference.sgml index 39fec262dd..e2491f5408 100644 --- a/doc/src/sgml/reference.sgml +++ b/doc/src/sgml/reference.sgml @@ -1,5 +1,5 @@ @@ -62,6 +62,7 @@ PostgreSQL Reference Manual &createAggregate; &createCast; &createConstraint; + &createConversion; &createDatabase; &createDomain; &createFunction; @@ -82,6 +83,7 @@ PostgreSQL Reference Manual &delete; &dropAggregate; &dropCast; + &dropConversion; &dropDatabase; &dropDomain; &dropFunction;