¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

CREATE OPERATOR

名前

CREATE OPERATOR -- �������黻�Ҥ��������

概要

CREATE OPERATOR name (
    PROCEDURE = funcname
    [, LEFTARG = lefttype ] [, RIGHTARG = righttype ]
    [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ]
    [, RESTRICT = res_proc ] [, JOIN = join_proc ]
    [, HASHES ] [, MERGES ]
)

����

CREATE OPERATOR�ϡ��������黻��name��������ޤ��� �黻�Ҥ���������桼�������ν�ͭ�ԤȤʤ�ޤ��� ��������̾�����ꤵ��Ƥ�����硢���α黻�Ҥϻ��ꤷ���������ޤǺ�������ޤ��� ��������̾�����ꤵ��ʤ��ä���硢���ߤΥ������ޤǺ�������ޤ���

�黻��̾�Ȥ��ƻ��ѤǤ���Τϡ��ʲ��˼���ʸ����Ȥä���NAMEDATALEN-1�ʥǥե���ȤǤ�63��ʸ���ޤǤ�ʸ����Ǥ���

+ - * / < > = ~ ! @ # % ^ & | ` ?

̾��������ˤϰʲ��˼��������Ĥ������󤬤���ޤ���

�黻��!=�����ϻ���<>���Ѵ������Τǡ�������2�Ĥ�̾���Ͼ�������Ǥ���

���ʤ��Ȥ�LEFTARG��RIGHTARG�Τɤ��餫��������ʤ���Фʤ�ޤ��� ���黻�ҤǤϡ�ξ����������ʤ���Фʤ�ޤ��� ��ñ��黻�ҤǤ�LEFTARG�Τߡ���ñ��黻�ҤǤ�RIGHTARG�Τߤ��������ʤ���Фʤ�ޤ���

funcname�ץ���������ϡ�CREATE FUNCTION��Ȥäƻ������������Ƥ��ʤ���Фʤ�ޤ��󡣤ޤ������ꤵ�줿�������������ΰ�����1�Ĥ�2�ġˤ�����դ���褦�������ɬ�פ�����ޤ���

¾�ζ�Ͼ�ά��ǽ�ʱ黻�Һ�Ŭ���Ѥζ�Ǥ��� �����ΰ�̣��項34.13����������Ƥ��ޤ���

�ѥ�᡼��

name

��������黻�Ҥ�̾���Ǥ��� ���ѤǤ���ʸ���Ͼ�򻲾Ȥ��Ƥ��������� ����̾���ϡ��㤨��CREATE OPERATOR myschema.+ (...)�Τ褦�ˡ��������޽�����ǽ�Ǥ��� ��������Ƥ��ʤ���С��黻�Ҥϸ��ߤΥ������ޤǺ�������ޤ��� �ۤʤ�ǡ������ˤĤ��ƽ��������ΤǤ���С�Ʊ�������������2�Ĥα黻�Ҥ�Ʊ��̾������Ĥ��Ȥ��Ǥ��ޤ��� ����������С��������ȸ����ޤ���

funcname

�黻�Ҥ�������뤿��˻��Ѥ���ؿ��Ǥ���

lefttype

�黻�Ҥκ����ڥ��ɤΥǡ������Ǥ��ʺ����ڥ��ɤ�¸�ߤ�����Τߡˡ� ���Υ��ץ����Ϻ�ñ��黻�ҤǤϾ�ά����ޤ���

righttype

�黻�Ҥα����ڥ��ɤΥǡ������Ǥ��ʱ����ڥ��ɤ�¸�ߤ�����Τߡˡ� ���Υ��ץ����ϱ�ñ��黻�ҤǤϾ�ά����ޤ���

com_op

���α黻�Ҥθ���黻�ҤǤ���

neg_op

���α黻�Ҥ�����ҤǤ���

res_proc

���α黻�Ҥ���������ɾ���ؿ��Ǥ���

join_proc

���α黻�Ҥη������ɾ���ؿ��Ǥ���

HASHES

���α黻�Ҥ��ϥå�����򥵥ݡ��ȤǤ��뤳�Ȥ򼨤��ޤ���

MERGES

���α黻�Ҥ��ޡ������򥵥ݡ��ȤǤ��뤳�Ȥ򼨤��ޤ���

�������޽������줿�黻��̾��com_op�ޤ���¾�Υ��ץ���������Ϳ����ˤϡ��ʲ�����Τ褦��OPERATOR()��ʸ����Ѥ��Ƥ���������

COMMUTATOR = OPERATOR(myschema.===) ,

����

�ܺ٤ˤĤ��Ƥ�項34.12�򻲾Ȥ��Ƥ���������

�ѻߤ��줿���ץ����SORT1��SORT2��LTCMP�������GTCMP�ϡ��ޡ�������ǽ�黻�Ҥ˴�Ϣ���������ȱ黻�Ҥ�̾������ꤹ�뤿��˻��Ѥ���Ƥ��ޤ����� �����B-Tree�黻��²�򸡺����뤳�ȤǴ�Ϣ����黻�Ҥ򸫤Ĥ��뤳�Ȥ��Ǥ���褦�ˤʤ�ޤ����Τǡ������ɬ�פ��ʤ��ʤ�ޤ����� ��������Τ����줫�Υ��ץ���󤬻��ꤵ�줿��硢����Ū��MERGES�򿿤˻��ꤷ�Ƥ�����������̵�뤵��ޤ���

�ǡ����١�������桼������α黻�Ҥ�������ˤϡ�DROP OPERATOR����Ѥ��Ƥ��������� �ǡ����١�����α黻�Ҥ��ѹ�����ˤ�ALTER OPERATOR����Ѥ��Ƥ���������

��

�ʲ��Υ��ޥ�ɤϡ�box�ǡ��������Ф����ΰ���������Ƚ�ꤹ�뿷�����黻�Ҥ�������ޤ���

CREATE OPERATOR === (
    LEFTARG = box,
    RIGHTARG = box,
    PROCEDURE = area_equal_procedure,
    COMMUTATOR = ===,
    NEGATOR = !==,
    RESTRICT = area_restriction_procedure,
    JOIN = area_join_procedure,
    HASHES, MERGES
);

�ߴ���

CREATE OPERATOR��PostgreSQL�γ�ĥ�Ǥ��� ɸ��SQL�ˤϡ��桼������α黻�ҤˤĤ��Ƥε���Ϥ���ޤ���

��Ϣ����

ALTER OPERATOR, CREATE OPERATOR CLASS, DROP OPERATOR