From: Tom Lane Date: Tue, 3 May 2005 19:18:48 +0000 (+0000) Subject: Alter the signature for encoding conversion functions to declare the X-Git-Tag: REL7_3_10~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ecbc6dd3e97059bd5dee84939d5ea673754b4d38;p=postgresql Alter the signature for encoding conversion functions to declare the output area as INTERNAL not CSTRING. This is to prevent people from calling the functions by hand. This is a permanent solution for the back branches but I hope it is just a stopgap for HEAD. --- diff --git a/doc/src/sgml/ref/create_conversion.sgml b/doc/src/sgml/ref/create_conversion.sgml index bf8ec00ff7..61b4613637 100644 --- a/doc/src/sgml/ref/create_conversion.sgml +++ b/doc/src/sgml/ref/create_conversion.sgml @@ -1,4 +1,4 @@ - + @@ -8,7 +8,7 @@ CREATE CONVERSION - define a user-defined conversion + define a user-defined encoding conversion @@ -102,7 +102,7 @@ CREATE [DEFAULT] CONVERSION conversion_name INTEGER, -- source encoding id INTEGER, -- destination encoding id CSTRING, -- source string (null terminated C string) - CSTRING, -- destination string (null terminated C string) + INTERNAL, -- destination (fill with a null terminated C string) INTEGER -- source string length ) returns VOID; diff --git a/src/backend/commands/conversioncmds.c b/src/backend/commands/conversioncmds.c index 6115b0e12e..69266d48f5 100644 --- a/src/backend/commands/conversioncmds.c +++ b/src/backend/commands/conversioncmds.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/conversioncmds.c,v 1.5 2002/11/02 02:33:03 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/conversioncmds.c,v 1.5.2.1 2005/05/03 19:18:48 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -41,7 +41,7 @@ CreateConversionCommand(CreateConversionStmt *stmt) const char *for_encoding_name = stmt->for_encoding_name; const char *to_encoding_name = stmt->to_encoding_name; List *func_name = stmt->func_name; - static Oid funcargs[] = {INT4OID, INT4OID, CSTRINGOID, CSTRINGOID, INT4OID}; + static Oid funcargs[] = {INT4OID, INT4OID, CSTRINGOID, INTERNALOID, INT4OID}; /* Convert list of names to a name and namespace */ namespaceId = QualifiedNameGetCreationNamespace(stmt->conversion_name, diff --git a/src/backend/utils/mb/conversion_procs/Makefile b/src/backend/utils/mb/conversion_procs/Makefile index 6736a536c2..e60c8b1c5c 100644 --- a/src/backend/utils/mb/conversion_procs/Makefile +++ b/src/backend/utils/mb/conversion_procs/Makefile @@ -4,7 +4,7 @@ # Makefile for utils/mb/conversion_procs # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/backend/utils/mb/conversion_procs/Makefile,v 1.7.2.1 2003/08/08 15:49:10 tgl Exp $ +# $Header: /cvsroot/pgsql/src/backend/utils/mb/conversion_procs/Makefile,v 1.7.2.2 2005/05/03 19:18:48 tgl Exp $ # #------------------------------------------------------------------------- @@ -156,7 +156,7 @@ $(SQLSCRIPT): Makefile func=$$1; shift; \ obj=$$1; shift; \ echo "-- $$se --> $$de"; \ - echo "CREATE OR REPLACE FUNCTION $$func (INTEGER, INTEGER, CSTRING, CSTRING, INTEGER) RETURNS VOID AS '$$"libdir"/$$obj', '$$func' LANGUAGE 'c' STRICT;"; \ + echo "CREATE OR REPLACE FUNCTION $$func (INTEGER, INTEGER, CSTRING, INTERNAL, INTEGER) RETURNS VOID AS '$$"libdir"/$$obj', '$$func' LANGUAGE 'c' STRICT;"; \ echo "DROP CONVERSION pg_catalog.$$name;"; \ echo "CREATE DEFAULT CONVERSION pg_catalog.$$name FOR '$$se' TO '$$de' FROM $$func;"; \ done > $@