모든 운영자는"구문 설탕"실제 작업을 수행하는 기본 기능에 대한 호출; 그래서 먼저 기본 기능을 만들어야합니다. 연산자를 만듭니다. 그러나 운영자는구문 설탕 쿼리 플래너를 돕는 추가 정보가 제공됩니다 연산자를 사용하는 쿼리를 최적화하십시오. 다음 섹션은 다음과 같습니다 추가 정보를 설명하는 데 전념합니다.
토토왼쪽을지지합니다 단백질, 오른쪽 단독 및 이진 연산자. 운영자가 될 수 있습니다 과부하;즉 동일한 운영자 이름은 다른 연산자에게 사용될 수 있습니다. 피연산자의 숫자와 유형. 쿼리가있을 때 실행 된 시스템은 운영자가 제공된 피연산자의 수와 유형.
다음은 두 추가를위한 연산자를 만드는 예입니다. 복소수. 우리는 이미 정의를 만들었다고 가정합니다 유형복잡한(참조섹션 33.11). 먼저 우리는 그 기능이 필요합니다 작업을 수행하면 연산자를 정의 할 수 있습니다.
CREATE COMPLET_ADD (Complex, Complex) 복잡한 반환 처럼 'filename','complex_add ' 언어 C 불변의 엄격; 연산자 생성 + ( leftarg = complex, rightarg = complex, 절차 = complex_add, 통근자 = + );
이제 다음과 같은 쿼리를 실행할 수 있습니다.
test_complex에서 c로 (a + b)를 선택합니다. 기음 ------------------ (5.2,6.05) (133.42,144.95)
여기에서 이진 연산자를 만드는 방법을 보여주었습니다. 생성합니다 외교 사업자, 중 하나를 생략합니다왼쪽(왼쪽 단원의 경우) 또는Rightarg(오른쪽 단지의 경우). 그만큼절차절과 인수 조항은 다음과 같습니다 필요한 항목 만운영자 생성. 그만큼Commutator예는 쿼리 최적화에 대한 선택적 힌트입니다. 더 나아가 에 대한 세부 사항Commutator및 기타 다음 섹션에 Optimizer 힌트가 나타납니다.