SQLSCRIPT = conversion_create.sql
-# This file can be placed as src/test/regress/sql/conversion.sql
-REGRESSION_SCRIPT = conversion.sql
-
SUBDIRS = \
ascii_and_mic cyrillic_and_mic euc_cn_and_mic euc_jp_and_sjis \
euc_kr_and_mic euc_tw_and_big5 latin2_and_win1250 latin_and_mic \
echo; \
done > $@
-$(REGRESSION_SCRIPT): Makefile
- @set -e; \
- cp regress_prolog $@; \
- set $(CONVERSIONS) ; \
- while [ "$$#" -gt 0 ] ; \
- do \
- name=$$1;shift; \
- se=$$1;shift; \
- de=$$1; shift; \
- func=$$1; shift; \
- obj=$$1; shift; \
- echo "-- $$se --> $$de"; \
- echo "SELECT CONVERT('foo' USING $$name);"; \
- echo "SELECT CONVERT('foo', '$$se', '$$de');"; \
- done >> $@; \
- cat regress_epilogue >> $@;
-
install: $(SQLSCRIPT) installdirs
$(INSTALL_DATA) $(SQLSCRIPT) '$(DESTDIR)$(datadir)'
+++ /dev/null
---
--- return to the super user
---
-RESET SESSION AUTHORIZATION;
-DROP USER conversion_test_user;
+++ /dev/null
---
--- create user defined conversion
---
-CREATE USER conversion_test_user WITH NOCREATEDB NOCREATEROLE;
-SET SESSION AUTHORIZATION conversion_test_user;
-CREATE CONVERSION myconv FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
---
--- cannot make same name conversion in same schema
---
-CREATE CONVERSION myconv FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
---
--- create default conversion with qualified name
---
-CREATE DEFAULT CONVERSION public.mydef FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
---
--- cannot make default conversion with same shcema/for_encoding/to_encoding
---
-CREATE DEFAULT CONVERSION public.mydef2 FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
---
--- drop user defined conversion
---
-DROP CONVERSION myconv;
-DROP CONVERSION mydef;
---
--- make sure all pre-defined conversions are fine.
--- ensure consistent test output regardless of the default bytea format
-SET bytea_output TO escape;
--
-- create user defined conversion
--
--
CREATE DEFAULT CONVERSION public.mydef FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
--
--- cannot make default conversion with same shcema/for_encoding/to_encoding
+-- cannot make default conversion with same schema/for_encoding/to_encoding
--
CREATE DEFAULT CONVERSION public.mydef2 FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
ERROR: default conversion for LATIN1 to UTF8 already exists
DROP CONVERSION myconv;
DROP CONVERSION mydef;
--
--- make sure all pre-defined conversions are fine.
--- SQL_ASCII --> MULE_INTERNAL
-SELECT CONVERT('foo', 'SQL_ASCII', 'MULE_INTERNAL');
- convert
----------
- foo
-(1 row)
-
--- MULE_INTERNAL --> SQL_ASCII
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'SQL_ASCII');
- convert
----------
- foo
-(1 row)
-
--- KOI8R --> MULE_INTERNAL
-SELECT CONVERT('foo', 'KOI8R', 'MULE_INTERNAL');
- convert
----------
- foo
-(1 row)
-
--- MULE_INTERNAL --> KOI8R
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'KOI8R');
- convert
----------
- foo
-(1 row)
-
--- ISO-8859-5 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'ISO-8859-5', 'MULE_INTERNAL');
- convert
----------
- foo
-(1 row)
-
--- MULE_INTERNAL --> ISO-8859-5
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'ISO-8859-5');
- convert
----------
- foo
-(1 row)
-
--- WIN1251 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'WIN1251', 'MULE_INTERNAL');
- convert
----------
- foo
-(1 row)
-
--- MULE_INTERNAL --> WIN1251
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1251');
- convert
----------
- foo
-(1 row)
-
--- WIN866 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'WIN866', 'MULE_INTERNAL');
- convert
----------
- foo
-(1 row)
-
--- MULE_INTERNAL --> WIN866
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN866');
- convert
----------
- foo
-(1 row)
-
--- KOI8R --> WIN1251
-SELECT CONVERT('foo', 'KOI8R', 'WIN1251');
- convert
----------
- foo
-(1 row)
-
--- WIN1251 --> KOI8R
-SELECT CONVERT('foo', 'WIN1251', 'KOI8R');
- convert
----------
- foo
-(1 row)
-
--- KOI8R --> WIN866
-SELECT CONVERT('foo', 'KOI8R', 'WIN866');
- convert
----------
- foo
-(1 row)
-
--- WIN866 --> KOI8R
-SELECT CONVERT('foo', 'WIN866', 'KOI8R');
- convert
----------
- foo
-(1 row)
-
--- WIN866 --> WIN1251
-SELECT CONVERT('foo', 'WIN866', 'WIN1251');
- convert
----------
- foo
-(1 row)
-
--- WIN1251 --> WIN866
-SELECT CONVERT('foo', 'WIN1251', 'WIN866');
- convert
----------
- foo
-(1 row)
-
--- ISO-8859-5 --> KOI8R
-SELECT CONVERT('foo', 'ISO-8859-5', 'KOI8R');
- convert
----------
- foo
-(1 row)
-
--- KOI8R --> ISO-8859-5
-SELECT CONVERT('foo', 'KOI8R', 'ISO-8859-5');
- convert
----------
- foo
-(1 row)
-
--- ISO-8859-5 --> WIN1251
-SELECT CONVERT('foo', 'ISO-8859-5', 'WIN1251');
- convert
----------
- foo
-(1 row)
-
--- WIN1251 --> ISO-8859-5
-SELECT CONVERT('foo', 'WIN1251', 'ISO-8859-5');
- convert
----------
- foo
-(1 row)
-
--- ISO-8859-5 --> WIN866
-SELECT CONVERT('foo', 'ISO-8859-5', 'WIN866');
- convert
----------
- foo
-(1 row)
-
--- WIN866 --> ISO-8859-5
-SELECT CONVERT('foo', 'WIN866', 'ISO-8859-5');
- convert
----------
- foo
-(1 row)
-
--- EUC_CN --> MULE_INTERNAL
-SELECT CONVERT('foo', 'EUC_CN', 'MULE_INTERNAL');
- convert
----------
- foo
-(1 row)
-
--- MULE_INTERNAL --> EUC_CN
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_CN');
- 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_KR --> MULE_INTERNAL
-SELECT CONVERT('foo', 'EUC_KR', 'MULE_INTERNAL');
- convert
----------
- foo
-(1 row)
-
--- MULE_INTERNAL --> EUC_KR
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_KR');
- 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)
-
--- LATIN2 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'LATIN2', 'MULE_INTERNAL');
- convert
----------
- foo
-(1 row)
-
--- MULE_INTERNAL --> LATIN2
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN2');
- convert
----------
- foo
-(1 row)
-
--- WIN1250 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'WIN1250', 'MULE_INTERNAL');
- convert
----------
- foo
-(1 row)
-
--- MULE_INTERNAL --> WIN1250
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1250');
- convert
----------
- foo
-(1 row)
-
--- LATIN2 --> WIN1250
-SELECT CONVERT('foo', 'LATIN2', 'WIN1250');
- convert
----------
- foo
-(1 row)
-
--- WIN1250 --> LATIN2
-SELECT CONVERT('foo', 'WIN1250', 'LATIN2');
- convert
----------
- foo
-(1 row)
-
--- LATIN1 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'LATIN1', 'MULE_INTERNAL');
- convert
----------
- foo
-(1 row)
-
--- MULE_INTERNAL --> LATIN1
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN1');
- convert
----------
- foo
-(1 row)
-
--- LATIN3 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'LATIN3', 'MULE_INTERNAL');
- convert
----------
- foo
-(1 row)
-
--- MULE_INTERNAL --> LATIN3
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN3');
- convert
----------
- foo
-(1 row)
-
--- LATIN4 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'LATIN4', 'MULE_INTERNAL');
- convert
----------
- foo
-(1 row)
-
--- MULE_INTERNAL --> LATIN4
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN4');
- convert
----------
- foo
-(1 row)
-
--- SQL_ASCII --> UTF8
-SELECT CONVERT('foo', 'SQL_ASCII', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> SQL_ASCII
-SELECT CONVERT('foo', 'UTF8', 'SQL_ASCII');
- convert
----------
- foo
-(1 row)
-
--- BIG5 --> UTF8
-SELECT CONVERT('foo', 'BIG5', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> BIG5
-SELECT CONVERT('foo', 'UTF8', 'BIG5');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> KOI8R
-SELECT CONVERT('foo', 'UTF8', 'KOI8R');
- convert
----------
- foo
-(1 row)
-
--- KOI8R --> UTF8
-SELECT CONVERT('foo', 'KOI8R', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> WIN1251
-SELECT CONVERT('foo', 'UTF8', 'WIN1251');
- convert
----------
- foo
-(1 row)
-
--- WIN1251 --> UTF8
-SELECT CONVERT('foo', 'WIN1251', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> WIN1252
-SELECT CONVERT('foo', 'UTF8', 'WIN1252');
- convert
----------
- foo
-(1 row)
-
--- WIN1252 --> UTF8
-SELECT CONVERT('foo', 'WIN1252', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> WIN866
-SELECT CONVERT('foo', 'UTF8', 'WIN866');
- convert
----------
- foo
-(1 row)
-
--- WIN866 --> UTF8
-SELECT CONVERT('foo', 'WIN866', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- EUC_CN --> UTF8
-SELECT CONVERT('foo', 'EUC_CN', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> EUC_CN
-SELECT CONVERT('foo', 'UTF8', 'EUC_CN');
- convert
----------
- foo
-(1 row)
-
--- EUC_JP --> UTF8
-SELECT CONVERT('foo', 'EUC_JP', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> EUC_JP
-SELECT CONVERT('foo', 'UTF8', 'EUC_JP');
- convert
----------
- foo
-(1 row)
-
--- EUC_KR --> UTF8
-SELECT CONVERT('foo', 'EUC_KR', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> EUC_KR
-SELECT CONVERT('foo', 'UTF8', 'EUC_KR');
- convert
----------
- foo
-(1 row)
-
--- EUC_TW --> UTF8
-SELECT CONVERT('foo', 'EUC_TW', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> EUC_TW
-SELECT CONVERT('foo', 'UTF8', 'EUC_TW');
- convert
----------
- foo
-(1 row)
-
--- GB18030 --> UTF8
-SELECT CONVERT('Postgres \247\343\247\335\247\340\247\337 \2249\3138 \317\363 \250\246le\2010\2747phant', 'GB18030', 'UTF8');
- convert
--------------------------------------------------------------------------------------------------
- Postgres \321\201\320\273\320\276\320\275 \360\237\220\230 \350\261\241 \303\251le\314\201phant
-(1 row)
-
--- UTF8 --> GB18030
-SELECT CONVERT('Postgres \321\201\320\273\320\276\320\275 \360\237\220\230 \350\261\241 \303\251le\314\201phant', 'UTF-8', 'GB18030');
- convert
------------------------------------------------------------------------------------------
- Postgres \247\343\247\335\247\340\247\337 \2249\3138 \317\363 \250\246le\2010\2747phant
-(1 row)
-
--- GBK --> UTF8
-SELECT CONVERT('foo', 'GBK', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> GBK
-SELECT CONVERT('foo', 'UTF8', 'GBK');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> LATIN2
-SELECT CONVERT('foo', 'UTF8', 'LATIN2');
- convert
----------
- foo
-(1 row)
-
--- LATIN2 --> UTF8
-SELECT CONVERT('foo', 'LATIN2', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> LATIN3
-SELECT CONVERT('foo', 'UTF8', 'LATIN3');
- convert
----------
- foo
-(1 row)
-
--- LATIN3 --> UTF8
-SELECT CONVERT('foo', 'LATIN3', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> LATIN4
-SELECT CONVERT('foo', 'UTF8', 'LATIN4');
- convert
----------
- foo
-(1 row)
-
--- LATIN4 --> UTF8
-SELECT CONVERT('foo', 'LATIN4', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> LATIN5
-SELECT CONVERT('foo', 'UTF8', 'LATIN5');
- convert
----------
- foo
-(1 row)
-
--- LATIN5 --> UTF8
-SELECT CONVERT('foo', 'LATIN5', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> LATIN6
-SELECT CONVERT('foo', 'UTF8', 'LATIN6');
- convert
----------
- foo
-(1 row)
-
--- LATIN6 --> UTF8
-SELECT CONVERT('foo', 'LATIN6', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> LATIN7
-SELECT CONVERT('foo', 'UTF8', 'LATIN7');
- convert
----------
- foo
-(1 row)
-
--- LATIN7 --> UTF8
-SELECT CONVERT('foo', 'LATIN7', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> LATIN8
-SELECT CONVERT('foo', 'UTF8', 'LATIN8');
- convert
----------
- foo
-(1 row)
-
--- LATIN8 --> UTF8
-SELECT CONVERT('foo', 'LATIN8', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> LATIN9
-SELECT CONVERT('foo', 'UTF8', 'LATIN9');
- convert
----------
- foo
-(1 row)
-
--- LATIN9 --> UTF8
-SELECT CONVERT('foo', 'LATIN9', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> LATIN10
-SELECT CONVERT('foo', 'UTF8', 'LATIN10');
- convert
----------
- foo
-(1 row)
-
--- LATIN10 --> UTF8
-SELECT CONVERT('foo', 'LATIN10', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> ISO-8859-5
-SELECT CONVERT('foo', 'UTF8', 'ISO-8859-5');
- convert
----------
- foo
-(1 row)
-
--- ISO-8859-5 --> UTF8
-SELECT CONVERT('foo', 'ISO-8859-5', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> ISO-8859-6
-SELECT CONVERT('foo', 'UTF8', 'ISO-8859-6');
- convert
----------
- foo
-(1 row)
-
--- ISO-8859-6 --> UTF8
-SELECT CONVERT('foo', 'ISO-8859-6', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> ISO-8859-7
-SELECT CONVERT('foo', 'UTF8', 'ISO-8859-7');
- convert
----------
- foo
-(1 row)
-
--- ISO-8859-7 --> UTF8
-SELECT CONVERT('foo', 'ISO-8859-7', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> ISO-8859-8
-SELECT CONVERT('foo', 'UTF8', 'ISO-8859-8');
- convert
----------
- foo
-(1 row)
-
--- ISO-8859-8 --> UTF8
-SELECT CONVERT('foo', 'ISO-8859-8', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- LATIN1 --> UTF8
-SELECT CONVERT('foo', 'LATIN1', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> LATIN1
-SELECT CONVERT('foo', 'UTF8', 'LATIN1');
- convert
----------
- foo
-(1 row)
-
--- JOHAB --> UTF8
-SELECT CONVERT('foo', 'JOHAB', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> JOHAB
-SELECT CONVERT('foo', 'UTF8', 'JOHAB');
- convert
----------
- foo
-(1 row)
-
--- SJIS --> UTF8
-SELECT CONVERT('foo', 'SJIS', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> SJIS
-SELECT CONVERT('foo', 'UTF8', 'SJIS');
- convert
----------
- foo
-(1 row)
-
--- WIN1258 --> UTF8
-SELECT CONVERT('foo', 'WIN1258', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> WIN1258
-SELECT CONVERT('foo', 'UTF8', 'WIN1258');
- convert
----------
- foo
-(1 row)
-
--- UHC --> UTF8
-SELECT CONVERT('foo', 'UHC', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> UHC
-SELECT CONVERT('foo', 'UTF8', 'UHC');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> WIN1250
-SELECT CONVERT('foo', 'UTF8', 'WIN1250');
- convert
----------
- foo
-(1 row)
-
--- WIN1250 --> UTF8
-SELECT CONVERT('foo', 'WIN1250', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> WIN1256
-SELECT CONVERT('foo', 'UTF8', 'WIN1256');
- convert
----------
- foo
-(1 row)
-
--- WIN1256 --> UTF8
-SELECT CONVERT('foo', 'WIN1256', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> WIN874
-SELECT CONVERT('foo', 'UTF8', 'WIN874');
- convert
----------
- foo
-(1 row)
-
--- WIN874 --> UTF8
-SELECT CONVERT('foo', 'WIN874', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> WIN1253
-SELECT CONVERT('foo', 'UTF8', 'WIN1253');
- convert
----------
- foo
-(1 row)
-
--- WIN1253 --> UTF8
-SELECT CONVERT('foo', 'WIN1253', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> WIN1254
-SELECT CONVERT('foo', 'UTF8', 'WIN1254');
- convert
----------
- foo
-(1 row)
-
--- WIN1254 --> UTF8
-SELECT CONVERT('foo', 'WIN1254', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> WIN1255
-SELECT CONVERT('foo', 'UTF8', 'WIN1255');
- convert
----------
- foo
-(1 row)
-
--- WIN1255 --> UTF8
-SELECT CONVERT('foo', 'WIN1255', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> WIN1257
-SELECT CONVERT('foo', 'UTF8', 'WIN1257');
- convert
----------
- foo
-(1 row)
-
--- WIN1257 --> UTF8
-SELECT CONVERT('foo', 'WIN1257', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> EUC_JIS_2004
-SELECT CONVERT('foo', 'UTF8', 'EUC_JIS_2004');
- convert
----------
- foo
-(1 row)
-
--- EUC_JIS_2004 --> UTF8
-SELECT CONVERT('foo', 'EUC_JIS_2004', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- UTF8 --> SHIFT_JIS_2004
-SELECT CONVERT('foo', 'UTF8', 'SHIFT_JIS_2004');
- convert
----------
- foo
-(1 row)
-
--- SHIFT_JIS_2004 --> UTF8
-SELECT CONVERT('foo', 'SHIFT_JIS_2004', 'UTF8');
- convert
----------
- foo
-(1 row)
-
--- EUC_JIS_2004 --> SHIFT_JIS_2004
-SELECT CONVERT('foo', 'EUC_JIS_2004', 'SHIFT_JIS_2004');
- convert
----------
- foo
-(1 row)
-
--- SHIFT_JIS_2004 --> EUC_JIS_2004
-SELECT CONVERT('foo', 'SHIFT_JIS_2004', 'EUC_JIS_2004');
- convert
----------
- foo
-(1 row)
-
+-- Note: the built-in conversions are exercised in opr_sanity.sql,
+-- so there's no need to do that here.
+--
--
-- return to the super user
--
--- ensure consistent test output regardless of the default bytea format
-SET bytea_output TO escape;
-
--
-- create user defined conversion
--
--
CREATE DEFAULT CONVERSION public.mydef FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
--
--- cannot make default conversion with same shcema/for_encoding/to_encoding
+-- cannot make default conversion with same schema/for_encoding/to_encoding
--
CREATE DEFAULT CONVERSION public.mydef2 FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
-- test comments
DROP CONVERSION myconv;
DROP CONVERSION mydef;
--
--- make sure all pre-defined conversions are fine.
--- SQL_ASCII --> MULE_INTERNAL
-SELECT CONVERT('foo', 'SQL_ASCII', 'MULE_INTERNAL');
--- MULE_INTERNAL --> SQL_ASCII
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'SQL_ASCII');
--- KOI8R --> MULE_INTERNAL
-SELECT CONVERT('foo', 'KOI8R', 'MULE_INTERNAL');
--- MULE_INTERNAL --> KOI8R
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'KOI8R');
--- ISO-8859-5 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'ISO-8859-5', 'MULE_INTERNAL');
--- MULE_INTERNAL --> ISO-8859-5
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'ISO-8859-5');
--- WIN1251 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'WIN1251', 'MULE_INTERNAL');
--- MULE_INTERNAL --> WIN1251
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1251');
--- WIN866 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'WIN866', 'MULE_INTERNAL');
--- MULE_INTERNAL --> WIN866
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN866');
--- KOI8R --> WIN1251
-SELECT CONVERT('foo', 'KOI8R', 'WIN1251');
--- WIN1251 --> KOI8R
-SELECT CONVERT('foo', 'WIN1251', 'KOI8R');
--- KOI8R --> WIN866
-SELECT CONVERT('foo', 'KOI8R', 'WIN866');
--- WIN866 --> KOI8R
-SELECT CONVERT('foo', 'WIN866', 'KOI8R');
--- WIN866 --> WIN1251
-SELECT CONVERT('foo', 'WIN866', 'WIN1251');
--- WIN1251 --> WIN866
-SELECT CONVERT('foo', 'WIN1251', 'WIN866');
--- ISO-8859-5 --> KOI8R
-SELECT CONVERT('foo', 'ISO-8859-5', 'KOI8R');
--- KOI8R --> ISO-8859-5
-SELECT CONVERT('foo', 'KOI8R', 'ISO-8859-5');
--- ISO-8859-5 --> WIN1251
-SELECT CONVERT('foo', 'ISO-8859-5', 'WIN1251');
--- WIN1251 --> ISO-8859-5
-SELECT CONVERT('foo', 'WIN1251', 'ISO-8859-5');
--- ISO-8859-5 --> WIN866
-SELECT CONVERT('foo', 'ISO-8859-5', 'WIN866');
--- WIN866 --> ISO-8859-5
-SELECT CONVERT('foo', 'WIN866', 'ISO-8859-5');
--- EUC_CN --> MULE_INTERNAL
-SELECT CONVERT('foo', 'EUC_CN', 'MULE_INTERNAL');
--- MULE_INTERNAL --> EUC_CN
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_CN');
--- 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_KR --> MULE_INTERNAL
-SELECT CONVERT('foo', 'EUC_KR', 'MULE_INTERNAL');
--- MULE_INTERNAL --> EUC_KR
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_KR');
--- 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');
--- LATIN2 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'LATIN2', 'MULE_INTERNAL');
--- MULE_INTERNAL --> LATIN2
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN2');
--- WIN1250 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'WIN1250', 'MULE_INTERNAL');
--- MULE_INTERNAL --> WIN1250
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1250');
--- LATIN2 --> WIN1250
-SELECT CONVERT('foo', 'LATIN2', 'WIN1250');
--- WIN1250 --> LATIN2
-SELECT CONVERT('foo', 'WIN1250', 'LATIN2');
--- LATIN1 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'LATIN1', 'MULE_INTERNAL');
--- MULE_INTERNAL --> LATIN1
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN1');
--- LATIN3 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'LATIN3', 'MULE_INTERNAL');
--- MULE_INTERNAL --> LATIN3
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN3');
--- LATIN4 --> MULE_INTERNAL
-SELECT CONVERT('foo', 'LATIN4', 'MULE_INTERNAL');
--- MULE_INTERNAL --> LATIN4
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN4');
--- SQL_ASCII --> UTF8
-SELECT CONVERT('foo', 'SQL_ASCII', 'UTF8');
--- UTF8 --> SQL_ASCII
-SELECT CONVERT('foo', 'UTF8', 'SQL_ASCII');
--- BIG5 --> UTF8
-SELECT CONVERT('foo', 'BIG5', 'UTF8');
--- UTF8 --> BIG5
-SELECT CONVERT('foo', 'UTF8', 'BIG5');
--- UTF8 --> KOI8R
-SELECT CONVERT('foo', 'UTF8', 'KOI8R');
--- KOI8R --> UTF8
-SELECT CONVERT('foo', 'KOI8R', 'UTF8');
--- UTF8 --> WIN1251
-SELECT CONVERT('foo', 'UTF8', 'WIN1251');
--- WIN1251 --> UTF8
-SELECT CONVERT('foo', 'WIN1251', 'UTF8');
--- UTF8 --> WIN1252
-SELECT CONVERT('foo', 'UTF8', 'WIN1252');
--- WIN1252 --> UTF8
-SELECT CONVERT('foo', 'WIN1252', 'UTF8');
--- UTF8 --> WIN866
-SELECT CONVERT('foo', 'UTF8', 'WIN866');
--- WIN866 --> UTF8
-SELECT CONVERT('foo', 'WIN866', 'UTF8');
--- EUC_CN --> UTF8
-SELECT CONVERT('foo', 'EUC_CN', 'UTF8');
--- UTF8 --> EUC_CN
-SELECT CONVERT('foo', 'UTF8', 'EUC_CN');
--- EUC_JP --> UTF8
-SELECT CONVERT('foo', 'EUC_JP', 'UTF8');
--- UTF8 --> EUC_JP
-SELECT CONVERT('foo', 'UTF8', 'EUC_JP');
--- EUC_KR --> UTF8
-SELECT CONVERT('foo', 'EUC_KR', 'UTF8');
--- UTF8 --> EUC_KR
-SELECT CONVERT('foo', 'UTF8', 'EUC_KR');
--- EUC_TW --> UTF8
-SELECT CONVERT('foo', 'EUC_TW', 'UTF8');
--- UTF8 --> EUC_TW
-SELECT CONVERT('foo', 'UTF8', 'EUC_TW');
--- GB18030 --> UTF8
-SELECT CONVERT('Postgres \247\343\247\335\247\340\247\337 \2249\3138 \317\363 \250\246le\2010\2747phant', 'GB18030', 'UTF8');
--- UTF8 --> GB18030
-SELECT CONVERT('Postgres \321\201\320\273\320\276\320\275 \360\237\220\230 \350\261\241 \303\251le\314\201phant', 'UTF-8', 'GB18030');
--- GBK --> UTF8
-SELECT CONVERT('foo', 'GBK', 'UTF8');
--- UTF8 --> GBK
-SELECT CONVERT('foo', 'UTF8', 'GBK');
--- UTF8 --> LATIN2
-SELECT CONVERT('foo', 'UTF8', 'LATIN2');
--- LATIN2 --> UTF8
-SELECT CONVERT('foo', 'LATIN2', 'UTF8');
--- UTF8 --> LATIN3
-SELECT CONVERT('foo', 'UTF8', 'LATIN3');
--- LATIN3 --> UTF8
-SELECT CONVERT('foo', 'LATIN3', 'UTF8');
--- UTF8 --> LATIN4
-SELECT CONVERT('foo', 'UTF8', 'LATIN4');
--- LATIN4 --> UTF8
-SELECT CONVERT('foo', 'LATIN4', 'UTF8');
--- UTF8 --> LATIN5
-SELECT CONVERT('foo', 'UTF8', 'LATIN5');
--- LATIN5 --> UTF8
-SELECT CONVERT('foo', 'LATIN5', 'UTF8');
--- UTF8 --> LATIN6
-SELECT CONVERT('foo', 'UTF8', 'LATIN6');
--- LATIN6 --> UTF8
-SELECT CONVERT('foo', 'LATIN6', 'UTF8');
--- UTF8 --> LATIN7
-SELECT CONVERT('foo', 'UTF8', 'LATIN7');
--- LATIN7 --> UTF8
-SELECT CONVERT('foo', 'LATIN7', 'UTF8');
--- UTF8 --> LATIN8
-SELECT CONVERT('foo', 'UTF8', 'LATIN8');
--- LATIN8 --> UTF8
-SELECT CONVERT('foo', 'LATIN8', 'UTF8');
--- UTF8 --> LATIN9
-SELECT CONVERT('foo', 'UTF8', 'LATIN9');
--- LATIN9 --> UTF8
-SELECT CONVERT('foo', 'LATIN9', 'UTF8');
--- UTF8 --> LATIN10
-SELECT CONVERT('foo', 'UTF8', 'LATIN10');
--- LATIN10 --> UTF8
-SELECT CONVERT('foo', 'LATIN10', 'UTF8');
--- UTF8 --> ISO-8859-5
-SELECT CONVERT('foo', 'UTF8', 'ISO-8859-5');
--- ISO-8859-5 --> UTF8
-SELECT CONVERT('foo', 'ISO-8859-5', 'UTF8');
--- UTF8 --> ISO-8859-6
-SELECT CONVERT('foo', 'UTF8', 'ISO-8859-6');
--- ISO-8859-6 --> UTF8
-SELECT CONVERT('foo', 'ISO-8859-6', 'UTF8');
--- UTF8 --> ISO-8859-7
-SELECT CONVERT('foo', 'UTF8', 'ISO-8859-7');
--- ISO-8859-7 --> UTF8
-SELECT CONVERT('foo', 'ISO-8859-7', 'UTF8');
--- UTF8 --> ISO-8859-8
-SELECT CONVERT('foo', 'UTF8', 'ISO-8859-8');
--- ISO-8859-8 --> UTF8
-SELECT CONVERT('foo', 'ISO-8859-8', 'UTF8');
--- LATIN1 --> UTF8
-SELECT CONVERT('foo', 'LATIN1', 'UTF8');
--- UTF8 --> LATIN1
-SELECT CONVERT('foo', 'UTF8', 'LATIN1');
--- JOHAB --> UTF8
-SELECT CONVERT('foo', 'JOHAB', 'UTF8');
--- UTF8 --> JOHAB
-SELECT CONVERT('foo', 'UTF8', 'JOHAB');
--- SJIS --> UTF8
-SELECT CONVERT('foo', 'SJIS', 'UTF8');
--- UTF8 --> SJIS
-SELECT CONVERT('foo', 'UTF8', 'SJIS');
--- WIN1258 --> UTF8
-SELECT CONVERT('foo', 'WIN1258', 'UTF8');
--- UTF8 --> WIN1258
-SELECT CONVERT('foo', 'UTF8', 'WIN1258');
--- UHC --> UTF8
-SELECT CONVERT('foo', 'UHC', 'UTF8');
--- UTF8 --> UHC
-SELECT CONVERT('foo', 'UTF8', 'UHC');
--- UTF8 --> WIN1250
-SELECT CONVERT('foo', 'UTF8', 'WIN1250');
--- WIN1250 --> UTF8
-SELECT CONVERT('foo', 'WIN1250', 'UTF8');
--- UTF8 --> WIN1256
-SELECT CONVERT('foo', 'UTF8', 'WIN1256');
--- WIN1256 --> UTF8
-SELECT CONVERT('foo', 'WIN1256', 'UTF8');
--- UTF8 --> WIN874
-SELECT CONVERT('foo', 'UTF8', 'WIN874');
--- WIN874 --> UTF8
-SELECT CONVERT('foo', 'WIN874', 'UTF8');
--- UTF8 --> WIN1253
-SELECT CONVERT('foo', 'UTF8', 'WIN1253');
--- WIN1253 --> UTF8
-SELECT CONVERT('foo', 'WIN1253', 'UTF8');
--- UTF8 --> WIN1254
-SELECT CONVERT('foo', 'UTF8', 'WIN1254');
--- WIN1254 --> UTF8
-SELECT CONVERT('foo', 'WIN1254', 'UTF8');
--- UTF8 --> WIN1255
-SELECT CONVERT('foo', 'UTF8', 'WIN1255');
--- WIN1255 --> UTF8
-SELECT CONVERT('foo', 'WIN1255', 'UTF8');
--- UTF8 --> WIN1257
-SELECT CONVERT('foo', 'UTF8', 'WIN1257');
--- WIN1257 --> UTF8
-SELECT CONVERT('foo', 'WIN1257', 'UTF8');
--- UTF8 --> EUC_JIS_2004
-SELECT CONVERT('foo', 'UTF8', 'EUC_JIS_2004');
--- EUC_JIS_2004 --> UTF8
-SELECT CONVERT('foo', 'EUC_JIS_2004', 'UTF8');
--- UTF8 --> SHIFT_JIS_2004
-SELECT CONVERT('foo', 'UTF8', 'SHIFT_JIS_2004');
--- SHIFT_JIS_2004 --> UTF8
-SELECT CONVERT('foo', 'SHIFT_JIS_2004', 'UTF8');
--- EUC_JIS_2004 --> SHIFT_JIS_2004
-SELECT CONVERT('foo', 'EUC_JIS_2004', 'SHIFT_JIS_2004');
--- SHIFT_JIS_2004 --> EUC_JIS_2004
-SELECT CONVERT('foo', 'SHIFT_JIS_2004', 'EUC_JIS_2004');
+-- Note: the built-in conversions are exercised in opr_sanity.sql,
+-- so there's no need to do that here.
+--
--
-- return to the super user
--