Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6
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ế.

59.1. Cấu trúc API cơ bản cho các chỉ kèo bóng đá pháp

Mỗi phương thức truy cập chỉ kèo bóng đá pháp được mô tả bởi một hàng trongpg_amDanh kèo bóng đá pháp hệ thống. Thepg_amkèo bóng đá pháp nhập Chỉ định tên và AChức năng xử lýĐối với phương thức truy cập. Các kèo bóng đá pháp này có thể được tạo và xóa bằng cách sử dụngPostgreSQL: Tài liệu:PostgreSQL: Tài liệu: 9.6:Các lệnh SQL.

Hàm xử lý phương thức truy cập chỉ kèo bóng đá pháp phải được khai báo để chấp nhận một đối số duy nhất loạiNội bộvà để trả về loại giảindex_am_handler. Đối số là một giá trị giả chỉ đơn giản là phục vụ để ngăn chặn các hàm xử lý được gọi trực tiếp từ các lệnh SQL. Kết quả của hàm phải là cấu trúc palloc'd của loạiindexAmRoutine, chứa mọi thứ mà mã cốt lõi cần biết để sử dụng phương thức truy cập chỉ kèo bóng đá pháp. TheindexAmRoutinestruct, còn được gọi là phương thức truy cập9292_93049306_9704Phần 59.2.

Cấu trúcindexAmRoutineđược xác định như vậy:

9864_12053

Để hữu ích, một phương thức truy cập chỉ kèo bóng đá pháp cũng phải có một hoặc nhiềuGia đình vận hànhCác lớp toán tửđược xác định trongPostgreSQL: Tài, PostgreSQL:, pg_amoppg_amproc. Các kèo bóng đá pháp này cho phép người lập kế hoạch xác định loại trình độ truy vấn nào có thể được sử dụng với các chỉ kèo bóng đá pháp của phương thức truy cập này. Các gia đình và lớp học được mô tả trongPhần 36,14, đó là tài liệu điều kiện tiên quyết để đọc chương này.

Một chỉ kèo bóng đá pháp riêng lẻ được xác định bởi Apg_ classkèo bóng đá pháp mô tả nó như một mối quan hệ vật lý, cộng với Apg_indexkèo bóng đá pháp hiển thị nội dung logic của chỉ kèo bóng đá pháp - nghĩa là tập hợp các cột chỉ kèo bóng đá pháp mà nó có và ngữ nghĩa của các cột đó, được chụp bởi các lớp toán tử liên quan. Các cột chỉ kèo bóng đá pháp (giá trị chính) có thể là các cột đơn giản của bảng bên dưới hoặc các biểu thức trên các hàng bảng. Phương thức truy cập chỉ kèo bóng đá pháp thường không quan tâm đến việc các giá trị khóa chỉ kèo bóng đá pháp đến từ đâu (nó luôn được trao các giá trị khóa được tính toán trước) nhưng nó sẽ rất quan tâm đến thông tin lớp toán tử trongpg_index. Cả hai kèo bóng đá pháp nhập danh kèo bóng đá pháp này đều có thể được truy cập như một phần củaMối quan hệCấu trúc dữ liệu được truyền cho tất cả các hoạt động trên chỉ kèo bóng đá pháp.

Một số trường cờ củaindexAmRoutineCó ý nghĩa không đáng tin cậy. Các yêu cầu củaAmcanuniqueđược thảo luận trongPhần 59.5. TheAmcanmulticolFlag khẳng định rằng phương thức truy cập hỗ trợ các chỉ kèo bóng đá pháp Multicolumn, trong khiAmoptionalkeykhẳng định rằng nó cho phép quét trong đó không có điều khoản hạn chế có thể lập chỉ kèo bóng đá pháp nào được đưa ra cho cột chỉ kèo bóng đá pháp đầu tiên. KhiAmcanmulticollà sai,AmoptionalkeyVề cơ bản nói rằng phương thức truy cập có hỗ trợ quét toàn bộ chỉ số mà không có điều khoản hạn chế nào không. Các phương thức truy cập hỗ trợ nhiều cột chỉ kèo bóng đá phápphảiQuét hỗ trợ bỏ qua các hạn chế trên bất kỳ hoặc tất cả các cột sau lần đầu tiên; Tuy nhiên, chúng được phép yêu cầu một số hạn chế xuất hiện cho cột chỉ kèo bóng đá pháp đầu tiên và điều này được báo hiệu bằng cách cài đặtAmoptionalkeySai. Một lý do mà một chỉ kèo bóng đá pháp có thể đặtAmoptionalkeySai là nếu nó không chỉ kèo bóng đá pháp các giá trị null. Vì hầu hết các toán tử có thể lập chỉ kèo bóng đá pháp đều nghiêm ngặt và do đó không thể trả về đúng cho các đầu vào null, nên từ cái nhìn đầu tiên hấp dẫn không lưu trữ các kèo bóng đá pháp nhập chỉ kèo bóng đá pháp cho các giá trị null: dù sao chúng cũng không bao giờ có thể được trả lại bằng cách quét chỉ kèo bóng đá pháp. Tuy nhiên, đối số này không thành công khi quét chỉ kèo bóng đá pháp không có mệnh đề hạn chế cho cột chỉ kèo bóng đá pháp nhất định. Trong thực tế, điều này có nghĩa là các chỉ kèo bóng đá pháp cóAmoptionalkeyĐúng phải chỉ kèo bóng đá pháp nulls, vì người lập kế hoạch có thể quyết định sử dụng một chỉ kèo bóng đá pháp như vậy mà không có khóa quét nào cả. Một hạn chế liên quan là phương thức truy cập chỉ kèo bóng đá pháp hỗ trợ nhiều cột chỉ kèo bóng đá phápphảiHỗ trợ lập chỉ kèo bóng đá pháp các giá trị null trong các cột sau lần đầu tiên, vì người lập kế hoạch sẽ giả sử chỉ kèo bóng đá pháp có thể được sử dụng cho các truy vấn không hạn chế các cột này. Ví dụ: xem xét một chỉ kèo bóng đá pháp trên (a, b) và truy vấn vớitrong đó a = 4. Hệ thống sẽ giả sử chỉ kèo bóng đá pháp có thể được sử dụng để quét các hàng vớiA = 4, Điều này là sai nếu chỉ kèo bóng đá pháp bỏ qua các hàng trong đóB16003_16145AmsearchNulls, chỉ ra rằng nó hỗ trợlà nullkhông phải là nullmệnh đề là điều kiện tìm kiếm.