1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-26 23:43:30 +03:00

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.
This commit is contained in:
Tom Lane
2005-05-03 19:18:48 +00:00
parent 0d8cdcfe88
commit ecbc6dd3e9
3 changed files with 7 additions and 7 deletions

View File

@@ -1,4 +1,4 @@
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_conversion.sgml,v 1.5 2002/11/02 02:33:03 tgl Exp $ --> <!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_conversion.sgml,v 1.5.2.1 2005/05/03 19:18:48 tgl Exp $ -->
<refentry id="SQL-CREATECONVERSION"> <refentry id="SQL-CREATECONVERSION">
<refmeta> <refmeta>
@@ -8,7 +8,7 @@
<refnamediv> <refnamediv>
<refname>CREATE CONVERSION</refname> <refname>CREATE CONVERSION</refname>
<refpurpose>define a user-defined conversion</refpurpose> <refpurpose>define a user-defined encoding conversion</refpurpose>
</refnamediv> </refnamediv>
<refsynopsisdiv> <refsynopsisdiv>
@@ -102,7 +102,7 @@ CREATE [DEFAULT] CONVERSION <replaceable>conversion_name</replaceable>
INTEGER, -- source encoding id INTEGER, -- source encoding id
INTEGER, -- destination encoding id INTEGER, -- destination encoding id
CSTRING, -- source string (null terminated C string) 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 INTEGER -- source string length
) returns VOID; ) returns VOID;
</programlisting> </programlisting>

View File

@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * 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 *for_encoding_name = stmt->for_encoding_name;
const char *to_encoding_name = stmt->to_encoding_name; const char *to_encoding_name = stmt->to_encoding_name;
List *func_name = stmt->func_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 */ /* Convert list of names to a name and namespace */
namespaceId = QualifiedNameGetCreationNamespace(stmt->conversion_name, namespaceId = QualifiedNameGetCreationNamespace(stmt->conversion_name,

View File

@@ -4,7 +4,7 @@
# Makefile for utils/mb/conversion_procs # Makefile for utils/mb/conversion_procs
# #
# IDENTIFICATION # 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; \ func=$$1; shift; \
obj=$$1; shift; \ obj=$$1; shift; \
echo "-- $$se --> $$de"; \ 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 "DROP CONVERSION pg_catalog.$$name;"; \
echo "CREATE DEFAULT CONVERSION pg_catalog.$$name FOR '$$se' TO '$$de' FROM $$func;"; \ echo "CREATE DEFAULT CONVERSION pg_catalog.$$name FOR '$$se' TO '$$de' FROM $$func;"; \
done > $@ done > $@