blob: 6e59b7bd7fcb3748892f0976da9ec52bfe01b1a5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
�����������ǥ����Ѵ��ؿ����ɲ���ˡ
2006/04/15 Tatsuo Ishii
�Ϥ����
PostgreSQL�ˤϡ��ǡ����١����ȥե���ȥ���ɤΥ����ǥ����ۤʤ�
�Ȥ��ˡ���ưŪ�˥����ǥ����Ѵ���Ԥ���ǽ������ޤ������Υǥ���
���ȥ�ˤϡ����ΤȤ��˻Ȥ���ؿ�����Ͽ����Ƥ��ޤ��������δؿ��ϥ桼
�����C�ؿ��Ȥ��ơ�initdb�������Ͽ����ޤ�������Ū�ˤϡ�
/usr/local/pgsql/share/conversion_create.sql �������Ͽ����ޤ�(���Υե�
����Ϥ��Υǥ��쥯�ȥ��make�����Ȥ��˼�ư��������ޤ�)��
�ޤ��������δؿ���convert()�ؿ������ƤӽФ���뤳�Ȥ⤢��ޤ���
����README�Ǥϡ�C�ؿ������������ˡ�ȡ������Makefile�ʤɤ��ɲä�����
ˡ���������ޤ���
o C�ؿ��θƤӽФ�����
�����ǥ����Ѵ��ؿ��θƤӽФ������ϼ��Τ褦�ˤʤ�ޤ���
conv_proc(
INTEGER, -- source encoding id
INTEGER, -- destination encoding id
CSTRING, -- source string (null terminated C string)
INTERNAL, -- destination string (null terminated C string)
INTEGER -- source string length
) returns VOID;
ͣ��ν��ϰ�����4���ܤ�destination string�Ǥ����桼������ؿ���ɬ��
�ʥ����palloc�����������Ѵ���̤�NULL�����ߥ͡��Ȥ��줿Cʸ�����
���ƽ��Ϥ��ʤ���Фʤ�ޤ��ޤ���Ŭ�ڤ��礭���Υ������ݤ����
�ϡ�����C�ؿ�����Ǥ�Ǥ����Ȥ����Τϡ����̤��Ѵ����줿ʸ�����Ĺ����
������ʸ�����Ĺ��(5���ܤΰ����ǻ��ꤵ��ޤ���ñ�̤�NULL�����ߥ͡���
��ޤޤʤ��Х��ȿ��Ǥ�)�Ȥϰ��פ��ʤ�����Ǥ���
�����ǥ���ID��include/mb/pg_wchar.h��typedef enum pg_enc�����
����Ƥ��ޤ���
o �ؿ�����Ͽ�ȥ���ѥ���
��ä�C�ؿ��ϥ��֥ǥ��쥯�ȥ���ꡤ�������Ǽ��ޤ����������
Makefile��ɬ�פˤʤ�ޤ�����¾�Υǥ��쥯�ȥ�ˤ���Makefile�ͤˤ�
��д�ñ�˺����Ǥ���Ǥ��礦��
���˥ᥤ���Makefile(���Υե����뤬�֤��Ƥ���Ʊ���ǥ��쥯�ȥ�ˤ���
�ޤ�)�˴ؿ��˴ؤ��뵭�Ҥ��ɲä��ޤ���
(1) DIRS=�θ�˥��֥ǥ��쥯�ȥ�̾���ɲä��ޤ���
(2) @set \ �ǻϤޤ���ܤ˵��Ҥ��ɲä��ޤ���1�ؿ��ˤĤ�1�Ԥ��ɲä�ɬ��
�Ǥ���
����С�������̾��
�����������ǥ���̾
�ǥ��ƥ��͡�������ǥ���̾
�ؿ�̾
���֥������ȥե�����̾
��1�Ԥ���˥��ڡ����Ƕ��ڤä��ɲä��ޤ���
o �ƥ���
�ʾ夬����ä��顤���Υե����뤬����ǥ��쥯�ȥ��make�������٤Ƥ���
�ޤ��������Ȥ��ǧ���ޤ����äˡ�create_conversion.sql�������Ȥ���
���ƤˤʤäƤ��뤫�ɤ�����ǧ���ޤ��礦���ɤ��������ä��顤�ƥ����Ѥ�
�������ǡ����١������ꡤ�����Ǥ��Υ�����ץȤ�¹Ԥ��ޤ���
$ psql -e -f create_conversion.sql test
�����������ä��顤�Ǹ��regression test suite�˥ƥ��ȹ��ܤ��ɲä�
�Ƥ�������������Ū�ˤϡ�src/test/regress/sql/conversion.sql���ɲä���
regression test��Ԥ��ޤ���
o ���ջ���
�ǥե���ȤΥ����ǥ����Ѵ��Ȥ��ƻ��ѤǤ��뤿��ˤϡ�����������
�����ǥ��ȥǥ��ƥ��͡�������ǥ��δ֤����������Ѵ���
�Ǥ��뤳�Ȥ�ɬ�פǤ������ʤ�������륨���ǥ��Υڥ����դ���2
�Ĥδؿ��κ�����ɬ�פǤ��������δؿ����̡��Υ��֥ǥ��쥯�ȥ����Ͽ
���Ƥ��ɤ��Ǥ������̾�ϰ�ĤΥ������ե��������2�Ĥδؿ������
��¿���Ǥ��礦��
|