the브린인터페이스는 높은 수준의 추상화를 가지고있어 액세스 방법 구현자가 액세스하는 데이터 유형의 의미를 구현해야합니다. 그만큼브린레이어 자체는 동시성, 로깅 및 인덱스 구조 검색을 처리합니다.
a를 얻는 데 필요한 모든 것브린액세스 방법 작업은 몇 가지 사용자 정의 메소드를 구현하여 인덱스에 저장된 요약 값의 동작과 스캔 키와 상호 작용하는 방식을 정의하는 것입니다. 요컨대브린확장 성과 일반성, 코드 재사용 및 깨끗한 인터페이스를 결합합니다.
토토 사이트 추천가 클래스하는 4 가지 방법이브린제공해야합니다 :
brinopcinfo *opcinfo (Oid type_oid)
인덱스 된 열의 요약 데이터에 대한 내부 정보를 반환합니다. 반환 값은 palloc'd를 가리켜 야합니다Brinopcinfo
,이 정의가 있습니다.
typedef struct brinopcinfo
Brinopcinfo
.oi_opaque
운영자 클래스 루틴에서 인덱스 스캔 중에 지원 함수간에 정보를 전달하기 위해 사용할 수 있습니다.
bool 일관성 (Brindesc *bdesc, brinValues *열, 스캔 키 키)
스캔 키가 범위에 대한 지정된 색인 값과 일치하는지 여부를 반환합니다. 사용할 속성 번호는 스캔 키의 일부로 전달됩니다.
bool addValue (Brindesc *bdesc, brinValues *열, Datum NewVal, bool isnull)
인덱스 튜플과 인덱스 값이 주어지면 튜플의 표시된 속성을 수정하여 새 값을 추가로 나타냅니다. 튜플에 대한 수정이 완료되면true
반환되었습니다.
Bool UnionTuples (Brindesc *bdesc, brinvalues *a, brinvalues *b)
두 개의 인덱스 튜플을 통합합니다. 두 개의 인덱스 튜플이 주어지면 두 튜플을 나타내도록 첫 번째의 표시된 속성을 수정합니다.
핵심 분포에는 Minmax 및 포함의 두 가지 유형의 운영자 클래스에 대한 지원이 포함됩니다. 운영자 클래스 정의를 사용하는 클래스 정의는 코어 내 데이터 유형에 적절하게 배송됩니다.
완전히 다른 의미를 구현하는 운영자 클래스도 가능하며, 위에서 설명한 4 가지 주요 지원 기능의 구현이 작성되었습니다. 주요 릴리스의 역 호환성은 보장되지 않습니다. 예를 들어, 후기 릴리스에서 추가 지원 기능이 필요할 수 있습니다.
완전히 주문한 세트를 구현하는 데이터 유형에 대한 연산자 클래스를 작성하려면 해당 연산자와 함께 Minmax 지원 기능을 사용할 수 있습니다.표 67.2. 모든 토토 사이트 추천 클래스 멤버 (기능 및 토토 사이트 추천)는 필수입니다.
표 67.2. Minmax 운영자 클래스의 기능 및 지원 번호
토토 사이트 추천 클래스 멤버 | 개체 |
---|---|
지원 기능 1 | 내부 기능brin_minmax_opcinfo () |
지원 기능 2 | 내부 기능brin_minmax_add_value () |
지원 기능 3 | 내부 기능brin_minmax_consistent () |
지원 기능 4 | 내부 기능brin_minmax_union () |
토토 사이트 추천 전략 1 | 토토 사이트 추천보다 |
토토 사이트 추천 전략 2 | 토토 사이트 추천가 적거나 평등하지 않은 토토 사이트 추천 |
토토 사이트 추천 전략 3 | 연산자 동등한 |
토토 사이트 추천 전략 4 | 토토 사이트 추천보다 큰 운영자 |
토토 사이트 추천 전략 5 | 토토 사이트 추천보다 |
다른 유형 내에 포함 된 값이 포함 된 복잡한 데이터 유형에 대한 연산자 클래스를 작성하려면 포함 된 연산자와 함께 포함 지원 기능을 사용할 수 있습니다.표 67.3. 모든 언어로 작성할 수있는 단일 추가 기능 만 있으면됩니다.
표 67.3. 포함 작업자 클래스의 기능 및 지원 번호
토토 사이트 추천 클래스 멤버 | 개체 | 종속성 |
---|---|---|
지원 기능 1 | 내부 기능brin_inclusion_opcinfo () |
|
지원 기능 2 | 내부 기능brin_inclusion_add_value () |
|
지원 기능 3 | 내부 기능brin_inclusion_consistent () |
|
지원 기능 4 | 내부 기능brin_inclusion_union () |
|
지원 기능 11 | 두 요소를 병합하는 기능 | |
지원 기능 12 | 두 요소가 합병 가능한지 확인하는 선택적 함수 | |
지원 기능 13 | 요소가 다른 내에 포함되어 있는지 확인하는 선택적 함수 | |
지원 기능 14 | 요소가 비어 있는지 확인하는 선택적 함수 | |
토토 사이트 추천 전략 1 | 토토 사이트 추천 왼쪽 | 토토 사이트 추천 전략 4 |
토토 사이트 추천 전략 2 | 운영자는 extend-to-the grong-of | 토토 사이트 추천 전략 5 |
토토 사이트 추천 전략 3 | 토토 사이트 추천 중첩 | |
토토 사이트 추천 전략 4 | 토토 사이트 추천는 leftend-to-left-of | 토토 사이트 추천 전략 1 |
토토 사이트 추천 전략 5 | 토토 사이트 추천 권리 | 토토 사이트 추천 전략 2 |
토토 사이트 추천 전략 6, 18 | 토토 사이트 추천 동일 또는 동일하게 | 토토 사이트 추천 전략 7 |
토토 사이트 추천 전략 7, 13, 16, 24, 25 | 토토 사이트 추천가 포함되어 있거나 평등합니다 | |
토토 사이트 추천 전략 8, 14, 26, 27 | 토토 사이트 추천는 동일하거나 동등한 것으로 나타납니다 | 토토 사이트 추천 전략 3 |
토토 사이트 추천 전략 9 | 토토 사이트 추천는 extend-above가 아닙니다 | 토토 사이트 추천 전략 11 |
토토 사이트 추천 전략 10 | 토토 사이트 추천 IS-BELOW | 토토 사이트 추천 전략 12 |
토토 사이트 추천 전략 11 | 토토 사이트 추천 IS-ABOVE | 토토 사이트 추천 전략 9 |
토토 사이트 추천 전략 12 | 토토 사이트 추천는 extend-below가 아닙니다 | 토토 사이트 추천 전략 10 |
토토 사이트 추천 전략 20 | 토토 사이트 추천보다 | 토토 사이트 추천 전략 5 |
토토 사이트 추천 전략 21 | 토토 사이트 추천가 적거나 평등하지 않은 토토 사이트 추천 | 토토 사이트 추천 전략 5 |
토토 사이트 추천 전략 22 | 토토 사이트 추천보다 | 토토 사이트 추천 전략 1 |
토토 사이트 추천 전략 23 | 토토 사이트 추천보다 큰 운영자 | 토토 사이트 추천 전략 1 |
지원 함수 번호 1-10은 브린 내부 기능에 예약되어 있으므로 SQL 레벨 기능은 11 번으로 시작합니다. 지원 기능 번호 11은 인덱스를 구축하는 데 필요한 주요 기능입니다. 운영자 클래스와 동일한 데이터 유형을 가진 두 가지 인수를 수락하고 연합을 반환해야합니다.스토리지
매개 변수. 노조 기능의 반환 값은와 일치해야합니다.스토리지
데이터 유형.
지원 기능 번호 12 및 14는 내장 데이터 유형의 불규칙성을 지원하기 위해 제공됩니다. 기능 번호 12는 합병 할 수없는 다른 패밀리의 네트워크 주소를 지원하는 데 사용됩니다.
Minmax 및 포함 작업자 클래스는 모두 교차 데이터 유형 연산자를 지원하지만 이러한 종속성은 더욱 복잡해집니다. Minmax 운영자 클래스는 전체 운영자 세트를 동일한 데이터 유형을 가진 두 인수로 정의해야합니다.표 67.3또는 동일한 운영자 전략 자체. 종속성 연산자는로 정의해야합니다.스토리지
데이터 유형 왼쪽 인수와 다른 지원되는 데이터 유형은 지원되는 연산자의 오른쪽 인수입니다. 보다float4_minmax_ops
Minmax의 예로서box_inclusion_ops
포함의 예로서.