mirror of
https://github.com/postgres/postgres.git
synced 2025-05-17 06:41:24 +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:
parent
308f01c304
commit
cff25fa049
@ -1,4 +1,4 @@
|
|||||||
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_conversion.sgml,v 1.13 2003/09/22 00:16:57 petere Exp $ -->
|
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_conversion.sgml,v 1.13.2.1 2005/05/03 19:18:31 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 new conversion</refpurpose>
|
<refpurpose>define a new encoding conversion</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
|
|
||||||
<indexterm zone="sql-createconversion">
|
<indexterm zone="sql-createconversion">
|
||||||
@ -26,10 +26,12 @@ CREATE [DEFAULT] CONVERSION <replaceable>name</replaceable>
|
|||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<command>CREATE CONVERSION</command> defines a new encoding
|
<command>CREATE CONVERSION</command> defines a new conversion between
|
||||||
conversion. Conversion names may be used in the <function>convert</function> function
|
character set encodings. Conversion names may be used in the
|
||||||
|
<function>convert</function> function
|
||||||
to specify a particular encoding conversion. Also, conversions that
|
to specify a particular encoding conversion. Also, conversions that
|
||||||
are marked <literal>DEFAULT</> can be used for automatic encoding conversion between
|
are marked <literal>DEFAULT</> can be used for automatic encoding
|
||||||
|
conversion between
|
||||||
client and server. For this purpose, two conversions, from encoding A to
|
client and server. For this purpose, two conversions, from encoding A to
|
||||||
B <emphasis>and</emphasis> from encoding B to A, must be defined.
|
B <emphasis>and</emphasis> from encoding B to A, must be defined.
|
||||||
</para>
|
</para>
|
||||||
@ -109,7 +111,7 @@ conv_proc(
|
|||||||
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>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/commands/conversioncmds.c,v 1.11 2003/08/04 02:39:58 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/commands/conversioncmds.c,v 1.11.4.1 2005/05/03 19:18:31 tgl Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -46,7 +46,7 @@ CreateConversionCommand(CreateConversionStmt *stmt)
|
|||||||
const char *from_encoding_name = stmt->for_encoding_name;
|
const char *from_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,
|
||||||
|
@ -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.9.2.1 2004/01/21 19:25:11 tgl Exp $
|
# $Header: /cvsroot/pgsql/src/backend/utils/mb/conversion_procs/Makefile,v 1.9.2.2 2005/05/03 19:18:31 tgl Exp $
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ ifeq ($(enable_shared), yes)
|
|||||||
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 > $@
|
||||||
|
Loading…
x
Reference in New Issue
Block a user