Phiên bản được hỗ trợ:16 / 15 / 14 / 13
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

67.3. kèo bóng đá hom nay

TheBrin7637_7792Brin7829_7914

Tất cả những gì cần thiết để có đượcBrin7983_8168BrinKết hợp độ mở rộng với tính tổng quát, tái sử dụng mã và giao diện sạch.

Có bốn phương pháp mà một lớp toán tử choBrinPhải cung cấp:

brinopcinfo *opcinfo (oid type_oid)

Trả về thông tin nội bộ về dữ liệu tóm tắt của các cột được lập chỉ mục. Giá trị trả về phải trỏ đến palloc'dBrinopcinfo, có định nghĩa này:

typedef struct brinopcinfo

    / * Số lượng cột được lưu trữ trong một cột chỉ mục của OPCLASS *//
    uint16 oi_nstored;

    / * Con trỏ mờ cho sử dụng riêng tư của opclass *//
    khoảng trống *oi_opaque;

    / * Nhập các mục lưu trữ bộ nhớ cache của các cột được lưu trữ *//
    TypecacheEntry *OI_TypCache [FENTIBLE_ARRAY_MEMEMER];
 Brinopcinfo;

Brinopcinfo.oi_opaqueCó thể được sử dụng bởi các thói quen của lớp vận hành để truyền thông tin giữa các chức kèo bóng đá hom nay hỗ trợ trong quá trình quét chỉ mục.

9426_9493

9533_9682

9749_9828

Cho một bộ chỉ số và giá trị được lập chỉ mục, sửa đổi thuộc tính được chỉ định của tuple để nó đại diện cho giá trị mới. Nếu bất kỳ sửa đổi nào được thực hiện thành tuple,TRUEđược trả về.

Hợp nhất hai tổng chỉ mục. Cho hai bộ dữ liệu chỉ mục, sửa đổi thuộc tính được chỉ định của đầu tiên trong số chúng để nó đại diện cho cả hai bộ dữ liệu. Bộ thứ hai không được sửa đổi.

Phân phối cốt lõi bao gồm hỗ trợ cho hai loại lớp toán tử: MinMax và bao gồm. Các định nghĩa của lớp toán tử sử dụng chúng được vận chuyển cho các loại dữ liệu trong core khi thích hợp. Các lớp toán tử bổ sung có thể được người dùng xác định cho các loại dữ liệu khác bằng cách sử dụng các định nghĩa tương đương mà không phải viết bất kỳ mã nguồn nào; Các mục Danh mục phù hợp đang được khai báo là đủ. Lưu ý rằng các giả định về ngữ nghĩa của các chiến lược vận kèo bóng đá hom nay được nhúng trong mã nguồn của các hàm hỗ trợ.

11000_11326

Để viết một lớp toán tử cho một loại dữ liệu thực hiện một tập hợp hoàn toàn được đặt hàng, có thể sử dụng các chức kèo bóng đá hom nay hỗ trợ MinMax cùng với các toán tử tương ứng, như trongBảng 67.2. Tất cả các thành viên của lớp toán tử (chức kèo bóng đá hom nay và toán tử) là bắt buộc.

Bảng 67.2. Chức kèo bóng đá hom nay và số hỗ trợ cho các lớp toán tử minmax

Thành viên lớp vận kèo bóng đá hom nay Đối tượng
Hỗ trợ chức kèo bóng đá hom nay 1 Hàm nội bộbrin_minmax_opcinfo ()
Hỗ trợ chức kèo bóng đá hom nay 2 Hàm nội bộbrin_minmax_add_value ()
Hỗ trợ chức kèo bóng đá hom nay 3 Hàm nội bộbrin_minmax_consistent ()
Hỗ trợ chức kèo bóng đá hom nay 4 Hàm nội bộbrin_minmax_union ()
Chiến lược vận kèo bóng đá hom nay 1 Nhà điều kèo bóng đá hom nay ít hơn
Chiến lược vận kèo bóng đá hom nay 2 Nhà điều kèo bóng đá hom nay ít hơn hoặc không bình đẳng để
Chiến lược vận kèo bóng đá hom nay 3 toán tử bằng
Chiến lược vận kèo bóng đá hom nay 4 Nhà điều kèo bóng đá hom nay Greater-So-Equal-to
Chiến lược vận kèo bóng đá hom nay 5 Nhà điều kèo bóng đá hom nay Greater-so với

Để viết một lớp toán tử cho một loại dữ liệu phức tạp có các giá trị bao gồm trong một loại khác, có thể sử dụng các hàm hỗ trợ bao gồm cùng với các toán tử tương ứng, như thể hiện trongBảng 67.3. Nó chỉ yêu cầu một chức kèo bóng đá hom nay bổ sung, có thể được viết bằng bất kỳ ngôn ngữ nào. Nhiều chức kèo bóng đá hom nay có thể được xác định cho chức kèo bóng đá hom nay bổ sung. Tất cả các nhà khai thác là tùy chọn. Một số toán tử yêu cầu các toán tử khác, như được hiển thị dưới dạng phụ thuộc trên bảng.

Bảng 67.3. Chức kèo bóng đá hom nay và số hỗ trợ cho các lớp toán tử bao gồm

Thành viên lớp vận kèo bóng đá hom nay Đối tượng phụ thuộc
Hỗ trợ chức kèo bóng đá hom nay 1 Hàm nội bộbrin_inclusion_opcinfo ()
Hỗ trợ chức kèo bóng đá hom nay 2 15164_15184brin_inclusion_add_value ()
Hỗ trợ chức kèo bóng đá hom nay 3 Hàm nội bộbrin_inclusion_consistent ()
Hỗ trợ chức kèo bóng đá hom nay 4 Hàm nội bộbrin_inclusion_union ()
Hỗ trợ chức kèo bóng đá hom nay 11 hàm để hợp nhất hai phần tử
Hỗ trợ chức kèo bóng đá hom nay 12 Hàm tùy chọn để kiểm tra xem hai phần tử có thể hợp nhất không
Hỗ trợ chức kèo bóng đá hom nay 13 Hàm tùy chọn để kiểm tra xem một phần tử có được chứa trong một phần tử khác
Hỗ trợ chức kèo bóng đá hom nay 14 Hàm tùy chọn để kiểm tra xem một phần tử có trống không
Chiến lược vận kèo bóng đá hom nay 1 Nhà điều kèo bóng đá hom nay trái của Chiến lược vận kèo bóng đá hom nay 4
Chiến lược vận kèo bóng đá hom nay 2 16599_16641 Chiến lược vận kèo bóng đá hom nay 5
Chiến lược vận kèo bóng đá hom nay 3 Nhà điều kèo bóng đá hom nay chồng chéo
Chiến lược vận kèo bóng đá hom nay 4 16913_16954 Chiến lược vận kèo bóng đá hom nay 1
Chiến lược vận kèo bóng đá hom nay 5 Nhà điều kèo bóng đá hom nay bên phải Chiến lược vận kèo bóng đá hom nay 2
Chiến lược vận kèo bóng đá hom nay 6, 18 Nhà điều kèo bóng đá hom nay cùng hoặc không bình đẳng để Chiến lược vận kèo bóng đá hom nay 7
Chiến lược vận kèo bóng đá hom nay 7, 13, 16, 24, 25 Toán tử chứa hoặc không bình đẳng để
Chiến lược vận kèo bóng đá hom nay 8, 14, 26, 27 Nhà điều kèo bóng đá hom nay có chứa bằng hoặc không bình đẳng để Chiến lược vận kèo bóng đá hom nay 3
Chiến lược vận kèo bóng đá hom nay 9 Nhà điều kèo bóng đá hom nay không-extend-above Chiến lược vận kèo bóng đá hom nay 11
Chiến lược vận kèo bóng đá hom nay 10 Nhà điều kèo bóng đá hom nay IS-Below Chiến lược vận kèo bóng đá hom nay 12
Chiến lược vận kèo bóng đá hom nay 11 Nhà điều kèo bóng đá hom nay is-above Chiến lược vận kèo bóng đá hom nay 9
Chiến lược vận kèo bóng đá hom nay 12 Nhà điều kèo bóng đá hom nay không-extend-below Chiến lược vận kèo bóng đá hom nay 10
Chiến lược vận kèo bóng đá hom nay 20 Nhà điều kèo bóng đá hom nay ít hơn Chiến lược vận kèo bóng đá hom nay 5
Chiến lược vận kèo bóng đá hom nay 21 Nhà điều kèo bóng đá hom nay ít hơn hoặc không bình đẳng để Chiến lược vận kèo bóng đá hom nay 5
Chiến lược vận kèo bóng đá hom nay 22 Nhà điều kèo bóng đá hom nay Greater-so với Chiến lược vận kèo bóng đá hom nay 1
Chiến lược vận kèo bóng đá hom nay 23 Nhà điều kèo bóng đá hom nay Greater-So-Equal-to Chiến lược vận kèo bóng đá hom nay 1

Hỗ trợ Số chức kèo bóng đá hom nay 1-10 được dành riêng cho các hàm bên trong Brin, do đó, các hàm cấp SQL bắt đầu với số 11. Hỗ trợ chức kèo bóng đá hom nay số 11 là chức kèo bóng đá hom nay chính cần thiết để xây dựng chỉ mục. Nó sẽ chấp nhận hai đối số với cùng loại dữ liệu với lớp toán tử và trả về sự kết hợp của chúng. Lớp toán tử bao gồm có thể lưu trữ các giá trị liên kết với các loại dữ liệu khác nhau nếu nó được xác định vớilưu trữTham số. Giá trị trả về của hàm liên minh sẽ khớp vớilưu trữKiểu dữ liệu.

Hỗ trợ Số hàm 12 và 14 được cung cấp để hỗ trợ các loại dữ liệu tích hợp. Chức kèo bóng đá hom nay số 12 được sử dụng để hỗ trợ các địa chỉ mạng từ các gia đình khác nhau không được hợp nhất. Hàm số 14 được sử dụng để hỗ trợ các phạm vi trống. Chức kèo bóng đá hom nay số 13 là một tùy chọn nhưng được đề xuất, cho phép kiểm tra giá trị mới trước khi nó được chuyển đến hàm liên minh. Vì khung Brin có thể rút ngắn một số hoạt động khi liên minh không thay đổi, sử dụng chức kèo bóng đá hom nay này có thể cải thiện hiệu suất chỉ mục.

Cả hai lớp toán tử minmax và bao gồm đều hỗ trợ các toán tử loại dữ liệu chéo, mặc dù với những phụ thuộc này trở nên phức tạp hơn. Lớp toán tử MinMax yêu cầu một bộ toán tử đầy đủ được xác định với cả hai đối số có cùng loại dữ liệu. Nó cho phép các loại dữ liệu bổ sung được hỗ trợ bằng cách xác định các bộ toán tử bổ sung. Các chiến lược vận kèo bóng đá hom nay lớp vận kèo bóng đá hom nay bao gồm phụ thuộc vào chiến lược vận kèo bóng đá hom nay khác như trongBảng 67.3hoặc cùng một chiến lược vận kèo bóng đá hom nay như chính họ. Họ yêu cầu toán tử phụ thuộc phải được xác định vớilưu trữKiểu dữ liệu là đối số phía bên trái và kiểu dữ liệu được hỗ trợ khác là đối số bên phải của toán tử được hỗ trợ. Nhìn thấyfloat4_minmax_opsnhư một ví dụ về minmax vàbox_inclusion_opsnhư một ví dụ về sự bao gồm.