diff options
author | Tatsuo Ishii | 2002-07-25 10:07:13 +0000 |
---|---|---|
committer | Tatsuo Ishii | 2002-07-25 10:07:13 +0000 |
commit | 0345f58496f9bdd462afafd8e97dac229720d663 (patch) | |
tree | f3cc17a3373e06d1ead7ea045c3caf18ad4e864b /src/test/regress | |
parent | 8d600a7d1f9e6ea36058a727c23fc627f4841212 (diff) |
Implement DROP CONVERSION
Add regression test
Diffstat (limited to 'src/test/regress')
-rw-r--r-- | src/test/regress/expected/conversion.out | 478 | ||||
-rw-r--r-- | src/test/regress/parallel_schedule | 4 | ||||
-rw-r--r-- | src/test/regress/serial_schedule | 3 | ||||
-rw-r--r-- | src/test/regress/sql/conversion.sql | 156 |
4 files changed, 637 insertions, 4 deletions
diff --git a/src/test/regress/expected/conversion.out b/src/test/regress/expected/conversion.out new file mode 100644 index 00000000000..d1b3cdfba87 --- /dev/null +++ b/src/test/regress/expected/conversion.out @@ -0,0 +1,478 @@ +-- +-- create user defined conversion +-- +CREATE USER foo WITH NOCREATEDB NOCREATEUSER; +SET SESSION AUTHORIZATION foo; +CREATE CONVERSION myconv FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; +-- +-- cannot make same name conversion in same schema +-- +CREATE CONVERSION myconv FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; +ERROR: conversion name "myconv" already exists +-- +-- create default conversion with qualified name +-- +CREATE DEFAULT CONVERSION public.mydef FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; +-- +-- cannot make default conversion with same shcema/for_encoding/to_encoding +-- +CREATE DEFAULT CONVERSION public.mydef2 FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; +ERROR: default conversion for LATIN1 to UNICODE already exists +-- +-- drop user defined conversion +-- +DROP CONVERSION myconv; +DROP CONVERSION mydef; +-- +-- make sure all pre-defined conversions are fine. +-- +-- UNICODE -> SQL_ASCII +SELECT CONVERT('foo', 'UNICODE', 'SQL_ASCII'); + convert +--------- + foo +(1 row) + +-- SQL_ASCII -> UNICODE +SELECT CONVERT('foo', 'SQL_ASCII', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> LATIN1 +SELECT CONVERT('foo', 'UNICODE', 'LATIN1'); + convert +--------- + foo +(1 row) + +-- LATIN1 -> UNICODE +SELECT CONVERT('foo', 'LATIN1', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- EUC_JP -> UNICODE +SELECT CONVERT('foo', 'EUC_JP', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> EUC_JP +SELECT CONVERT('foo', 'UNICODE', 'EUC_JP'); + convert +--------- + foo +(1 row) + +-- EUC_KR -> UNICODE +SELECT CONVERT('foo', 'EUC_KR', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> EUC_KR +SELECT CONVERT('foo', 'UNICODE', 'EUC_KR'); + convert +--------- + foo +(1 row) + +-- EUC_CN -> UNICODE +SELECT CONVERT('foo', 'EUC_CN', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> EUC_CN +SELECT CONVERT('foo', 'UNICODE', 'EUC_CN'); + convert +--------- + foo +(1 row) + +-- EUC_TW -> UNICODE +SELECT CONVERT('foo', 'EUC_TW', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> EUC_TW +SELECT CONVERT('foo', 'UNICODE', 'EUC_TW'); + convert +--------- + foo +(1 row) + +-- SJIS -> UNICODE +SELECT CONVERT('foo', 'SJIS', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> SJIS +SELECT CONVERT('foo', 'UNICODE', 'SJIS'); + convert +--------- + foo +(1 row) + +-- BIG5 -> UNICODE +SELECT CONVERT('foo', 'BIG5', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> BIG5 +SELECT CONVERT('foo', 'UNICODE', 'BIG5'); + convert +--------- + foo +(1 row) + +-- GBK -> UNICODE +SELECT CONVERT('foo', 'GBK', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> GBK +SELECT CONVERT('foo', 'UNICODE', 'GBK'); + convert +--------- + foo +(1 row) + +-- GB18030 -> UNICODE +SELECT CONVERT('foo', 'GB18030', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> GB18030 +SELECT CONVERT('foo', 'UNICODE', 'GB18030'); + convert +--------- + foo +(1 row) + +-- UHC -> UNICODE +SELECT CONVERT('foo', 'UHC', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> UHC +SELECT CONVERT('foo', 'UNICODE', 'UHC'); + convert +--------- + foo +(1 row) + +-- JOHAB -> UNICODE +SELECT CONVERT('foo', 'JOHAB', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> JOHAB +SELECT CONVERT('foo', 'UNICODE', 'JOHAB'); + convert +--------- + foo +(1 row) + +-- TCVN -> UNICODE +SELECT CONVERT('foo', 'TCVN', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> TCVN +SELECT CONVERT('foo', 'UNICODE', 'TCVN'); + convert +--------- + foo +(1 row) + +-- UNICODE -> LATIN2 +SELECT CONVERT('foo', 'UNICODE', 'LATIN2'); + convert +--------- + foo +(1 row) + +-- LATIN2 -> UNICODE +SELECT CONVERT('foo', 'LATIN2', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> LATIN3 +SELECT CONVERT('foo', 'UNICODE', 'LATIN3'); + convert +--------- + foo +(1 row) + +-- LATIN3 -> UNICODE +SELECT CONVERT('foo', 'LATIN3', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> LATIN4 +SELECT CONVERT('foo', 'UNICODE', 'LATIN4'); + convert +--------- + foo +(1 row) + +-- LATIN4 -> UNICODE +SELECT CONVERT('foo', 'LATIN4', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> LATIN5 +SELECT CONVERT('foo', 'UNICODE', 'LATIN5'); + convert +--------- + foo +(1 row) + +-- LATIN5 -> UNICODE +SELECT CONVERT('foo', 'LATIN5', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> LATIN6 +SELECT CONVERT('foo', 'UNICODE', 'LATIN6'); + convert +--------- + foo +(1 row) + +-- LATIN6 -> UNICODE +SELECT CONVERT('foo', 'LATIN6', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> LATIN7 +SELECT CONVERT('foo', 'UNICODE', 'LATIN7'); + convert +--------- + foo +(1 row) + +-- LATIN7 -> UNICODE +SELECT CONVERT('foo', 'LATIN7', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> LATIN8 +SELECT CONVERT('foo', 'UNICODE', 'LATIN8'); + convert +--------- + foo +(1 row) + +-- LATIN8 -> UNICODE +SELECT CONVERT('foo', 'LATIN8', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> LATIN9 +SELECT CONVERT('foo', 'UNICODE', 'LATIN9'); + convert +--------- + foo +(1 row) + +-- LATIN9 -> UNICODE +SELECT CONVERT('foo', 'LATIN9', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> LATIN10 +SELECT CONVERT('foo', 'UNICODE', 'LATIN10'); + convert +--------- + foo +(1 row) + +-- LATIN10 -> UNICODE +SELECT CONVERT('foo', 'LATIN10', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> ISO-8859-5 +SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-5'); + convert +--------- + foo +(1 row) + +-- ISO-8859-5 -> UNICODE +SELECT CONVERT('foo', 'ISO-8859-5', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> ISO-8859-6 +SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-6'); + convert +--------- + foo +(1 row) + +-- ISO-8859-6 -> UNICODE +SELECT CONVERT('foo', 'ISO-8859-6', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> ISO-8859-7 +SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-7'); + convert +--------- + foo +(1 row) + +-- ISO-8859-7 -> UNICODE +SELECT CONVERT('foo', 'ISO-8859-7', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- UNICODE -> ISO-8859-8 +SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-8'); + convert +--------- + foo +(1 row) + +-- ISO-8859-8 -> UNICODE +SELECT CONVERT('foo', 'ISO-8859-8', 'UNICODE'); + convert +--------- + foo +(1 row) + +-- EUC_JP -> SJIS +SELECT CONVERT('foo', 'EUC_JP', 'SJIS'); + convert +--------- + foo +(1 row) + +-- SJIS -> EUC_JP +SELECT CONVERT('foo', 'SJIS', 'EUC_JP'); + convert +--------- + foo +(1 row) + +-- EUC_JP -> MULE_INTERNAL +SELECT CONVERT('foo', 'EUC_JP', 'MULE_INTERNAL'); + convert +--------- + foo +(1 row) + +-- SJIS -> MULE_INTERNAL +SELECT CONVERT('foo', 'SJIS', 'MULE_INTERNAL'); + convert +--------- + foo +(1 row) + +-- MULE_INTERNAL -> EUC_JP +SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_JP'); + convert +--------- + foo +(1 row) + +-- MULE_INTERNAL -> SJIS +SELECT CONVERT('foo', 'MULE_INTERNAL', 'SJIS'); + convert +--------- + foo +(1 row) + +-- EUC_TW -> BIG5 +SELECT CONVERT('foo', 'EUC_TW', 'BIG5'); + convert +--------- + foo +(1 row) + +-- BIG5 -> EUC_TW +SELECT CONVERT('foo', 'BIG5', 'EUC_TW'); + convert +--------- + foo +(1 row) + +-- EUC_TW -> MULE_INTERNAL +SELECT CONVERT('foo', 'EUC_TW', 'MULE_INTERNAL'); + convert +--------- + foo +(1 row) + +-- BIG5 -> MULE_INTERNAL +SELECT CONVERT('foo', 'BIG5', 'MULE_INTERNAL'); + convert +--------- + foo +(1 row) + +-- MULE_INTERNAL -> EUC_TW +SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_TW'); + convert +--------- + foo +(1 row) + +-- MULE_INTERNAL -> BIG5 +SELECT CONVERT('foo', 'MULE_INTERNAL', 'BIG5'); + convert +--------- + foo +(1 row) + +RESET SESSION AUTHORIZATION; +DROP USER foo; diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule index fd9ae6c89a1..513bdf8c430 100644 --- a/src/test/regress/parallel_schedule +++ b/src/test/regress/parallel_schedule @@ -74,7 +74,5 @@ test: select_views alter_table portals_p2 rules foreign_key # The sixth group of parallel test # ---------- # "plpgsql" cannot run concurrently with "rules" -test: limit plpgsql temp domain rangefuncs copy2 - +test: limit plpgsql temp domain rangefuncs copy2 conversion test: without_oid - diff --git a/src/test/regress/serial_schedule b/src/test/regress/serial_schedule index 566b3962299..271c5123d70 100644 --- a/src/test/regress/serial_schedule +++ b/src/test/regress/serial_schedule @@ -1,4 +1,4 @@ -# $Header: /cvsroot/pgsql/src/test/regress/serial_schedule,v 1.13 2002/07/20 05:16:59 momjian Exp $ +# $Header: /cvsroot/pgsql/src/test/regress/serial_schedule,v 1.14 2002/07/25 10:07:13 ishii Exp $ # This should probably be in an order similar to parallel_schedule. test: boolean test: char @@ -86,3 +86,4 @@ test: temp test: domain test: rangefuncs test: without_oid +test: conversion diff --git a/src/test/regress/sql/conversion.sql b/src/test/regress/sql/conversion.sql new file mode 100644 index 00000000000..7be4916fec0 --- /dev/null +++ b/src/test/regress/sql/conversion.sql @@ -0,0 +1,156 @@ +-- +-- create user defined conversion +-- +CREATE USER foo WITH NOCREATEDB NOCREATEUSER; +SET SESSION AUTHORIZATION foo; +CREATE CONVERSION myconv FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; +-- +-- cannot make same name conversion in same schema +-- +CREATE CONVERSION myconv FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; +-- +-- create default conversion with qualified name +-- +CREATE DEFAULT CONVERSION public.mydef FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; +-- +-- cannot make default conversion with same shcema/for_encoding/to_encoding +-- +CREATE DEFAULT CONVERSION public.mydef2 FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; +-- +-- drop user defined conversion +-- +DROP CONVERSION myconv; +DROP CONVERSION mydef; +-- +-- make sure all pre-defined conversions are fine. +-- +-- UNICODE -> SQL_ASCII +SELECT CONVERT('foo', 'UNICODE', 'SQL_ASCII'); +-- SQL_ASCII -> UNICODE +SELECT CONVERT('foo', 'SQL_ASCII', 'UNICODE'); +-- UNICODE -> LATIN1 +SELECT CONVERT('foo', 'UNICODE', 'LATIN1'); +-- LATIN1 -> UNICODE +SELECT CONVERT('foo', 'LATIN1', 'UNICODE'); +-- EUC_JP -> UNICODE +SELECT CONVERT('foo', 'EUC_JP', 'UNICODE'); +-- UNICODE -> EUC_JP +SELECT CONVERT('foo', 'UNICODE', 'EUC_JP'); +-- EUC_KR -> UNICODE +SELECT CONVERT('foo', 'EUC_KR', 'UNICODE'); +-- UNICODE -> EUC_KR +SELECT CONVERT('foo', 'UNICODE', 'EUC_KR'); +-- EUC_CN -> UNICODE +SELECT CONVERT('foo', 'EUC_CN', 'UNICODE'); +-- UNICODE -> EUC_CN +SELECT CONVERT('foo', 'UNICODE', 'EUC_CN'); +-- EUC_TW -> UNICODE +SELECT CONVERT('foo', 'EUC_TW', 'UNICODE'); +-- UNICODE -> EUC_TW +SELECT CONVERT('foo', 'UNICODE', 'EUC_TW'); +-- SJIS -> UNICODE +SELECT CONVERT('foo', 'SJIS', 'UNICODE'); +-- UNICODE -> SJIS +SELECT CONVERT('foo', 'UNICODE', 'SJIS'); +-- BIG5 -> UNICODE +SELECT CONVERT('foo', 'BIG5', 'UNICODE'); +-- UNICODE -> BIG5 +SELECT CONVERT('foo', 'UNICODE', 'BIG5'); +-- GBK -> UNICODE +SELECT CONVERT('foo', 'GBK', 'UNICODE'); +-- UNICODE -> GBK +SELECT CONVERT('foo', 'UNICODE', 'GBK'); +-- GB18030 -> UNICODE +SELECT CONVERT('foo', 'GB18030', 'UNICODE'); +-- UNICODE -> GB18030 +SELECT CONVERT('foo', 'UNICODE', 'GB18030'); +-- UHC -> UNICODE +SELECT CONVERT('foo', 'UHC', 'UNICODE'); +-- UNICODE -> UHC +SELECT CONVERT('foo', 'UNICODE', 'UHC'); +-- JOHAB -> UNICODE +SELECT CONVERT('foo', 'JOHAB', 'UNICODE'); +-- UNICODE -> JOHAB +SELECT CONVERT('foo', 'UNICODE', 'JOHAB'); +-- TCVN -> UNICODE +SELECT CONVERT('foo', 'TCVN', 'UNICODE'); +-- UNICODE -> TCVN +SELECT CONVERT('foo', 'UNICODE', 'TCVN'); +-- UNICODE -> LATIN2 +SELECT CONVERT('foo', 'UNICODE', 'LATIN2'); +-- LATIN2 -> UNICODE +SELECT CONVERT('foo', 'LATIN2', 'UNICODE'); +-- UNICODE -> LATIN3 +SELECT CONVERT('foo', 'UNICODE', 'LATIN3'); +-- LATIN3 -> UNICODE +SELECT CONVERT('foo', 'LATIN3', 'UNICODE'); +-- UNICODE -> LATIN4 +SELECT CONVERT('foo', 'UNICODE', 'LATIN4'); +-- LATIN4 -> UNICODE +SELECT CONVERT('foo', 'LATIN4', 'UNICODE'); +-- UNICODE -> LATIN5 +SELECT CONVERT('foo', 'UNICODE', 'LATIN5'); +-- LATIN5 -> UNICODE +SELECT CONVERT('foo', 'LATIN5', 'UNICODE'); +-- UNICODE -> LATIN6 +SELECT CONVERT('foo', 'UNICODE', 'LATIN6'); +-- LATIN6 -> UNICODE +SELECT CONVERT('foo', 'LATIN6', 'UNICODE'); +-- UNICODE -> LATIN7 +SELECT CONVERT('foo', 'UNICODE', 'LATIN7'); +-- LATIN7 -> UNICODE +SELECT CONVERT('foo', 'LATIN7', 'UNICODE'); +-- UNICODE -> LATIN8 +SELECT CONVERT('foo', 'UNICODE', 'LATIN8'); +-- LATIN8 -> UNICODE +SELECT CONVERT('foo', 'LATIN8', 'UNICODE'); +-- UNICODE -> LATIN9 +SELECT CONVERT('foo', 'UNICODE', 'LATIN9'); +-- LATIN9 -> UNICODE +SELECT CONVERT('foo', 'LATIN9', 'UNICODE'); +-- UNICODE -> LATIN10 +SELECT CONVERT('foo', 'UNICODE', 'LATIN10'); +-- LATIN10 -> UNICODE +SELECT CONVERT('foo', 'LATIN10', 'UNICODE'); +-- UNICODE -> ISO-8859-5 +SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-5'); +-- ISO-8859-5 -> UNICODE +SELECT CONVERT('foo', 'ISO-8859-5', 'UNICODE'); +-- UNICODE -> ISO-8859-6 +SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-6'); +-- ISO-8859-6 -> UNICODE +SELECT CONVERT('foo', 'ISO-8859-6', 'UNICODE'); +-- UNICODE -> ISO-8859-7 +SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-7'); +-- ISO-8859-7 -> UNICODE +SELECT CONVERT('foo', 'ISO-8859-7', 'UNICODE'); +-- UNICODE -> ISO-8859-8 +SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-8'); +-- ISO-8859-8 -> UNICODE +SELECT CONVERT('foo', 'ISO-8859-8', 'UNICODE'); +-- EUC_JP -> SJIS +SELECT CONVERT('foo', 'EUC_JP', 'SJIS'); +-- SJIS -> EUC_JP +SELECT CONVERT('foo', 'SJIS', 'EUC_JP'); +-- EUC_JP -> MULE_INTERNAL +SELECT CONVERT('foo', 'EUC_JP', 'MULE_INTERNAL'); +-- SJIS -> MULE_INTERNAL +SELECT CONVERT('foo', 'SJIS', 'MULE_INTERNAL'); +-- MULE_INTERNAL -> EUC_JP +SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_JP'); +-- MULE_INTERNAL -> SJIS +SELECT CONVERT('foo', 'MULE_INTERNAL', 'SJIS'); +-- EUC_TW -> BIG5 +SELECT CONVERT('foo', 'EUC_TW', 'BIG5'); +-- BIG5 -> EUC_TW +SELECT CONVERT('foo', 'BIG5', 'EUC_TW'); +-- EUC_TW -> MULE_INTERNAL +SELECT CONVERT('foo', 'EUC_TW', 'MULE_INTERNAL'); +-- BIG5 -> MULE_INTERNAL +SELECT CONVERT('foo', 'BIG5', 'MULE_INTERNAL'); +-- MULE_INTERNAL -> EUC_TW +SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_TW'); +-- MULE_INTERNAL -> BIG5 +SELECT CONVERT('foo', 'MULE_INTERNAL', 'BIG5'); +RESET SESSION AUTHORIZATION; +DROP USER foo; |