Mỗi phương thức truy cập chỉ kèo bóng đá c1 được mô tả bằng một hàng trongpg_am
Danh kèo bóng đá c1 hệ thống. Thepg_am
kèo bóng đá c1 nhập Chỉ định tên và AChức năng xử lý8478_8561Tạo phương thức truy cậpvàPhương thức truy cập thảkèo bóng đá c1 lệnh SQL.
Hàm xử lý phương thức truy cập chỉ kèo bóng đá c1 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 kèo bóng đá c1 hàm xử lý được gọi trực tiếp từ kèo bóng đá c1 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 đá c1. TheindexAmRoutine
struct, còn được gọi là phương thức truy cậpAPI Struct, bao gồm các trường chỉ định các thuộc tính cố định của phương thức truy cập, chẳng hạn như liệu nó có thể hỗ trợ các chỉ kèo bóng đá c1 Multicolumn hay không. Quan trọng hơn, nó chứa các gợi ý để hỗ trợ các chức năng cho phương thức truy cập, thực hiện tất cả các công việc thực sự để truy cập các chỉ kèo bóng đá c1. Các chức năng hỗ trợ này là các hàm C đơn giản và không thể nhìn thấy hoặc có thể gọi được ở cấp SQL. Các chức năng hỗ trợ được mô tả trongPhần 62.2.
Cấu trúcindexAmRoutine
được xác định như vậy:
10159_13184
Để hữu ích, một phương thức truy cập chỉ kèo bóng đá c1 cũng phải có một hoặc nhiềuGia đình vận hànhvàkèo bóng đá c1 lớp toán tửđược xác định trongpg_opf Family
, PG_OPCLASS
, pg_amop
vàpg_amproc
. Các kèo bóng đá c1 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 đá c1 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 38.16, đó là tài liệu tiên quyết để đọc chương này.
Một chỉ kèo bóng đá c1 riêng lẻ được xác định bởi Apg_ class
kèo bóng đá c1 mô tả nó như một mối quan hệ vật lý, cộng với Apg_index
kèo bóng đá c1 hiển thị nội dung logic của chỉ kèo bóng đá c1 - nghĩa là tập hợp các cột chỉ kèo bóng đá c1 mà nó có và ngữ nghĩa của các cột đó, được ghi lại bởi các lớp toán tử liên quan. Các cột chỉ kèo bóng đá c1 (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 đá c1 thường không quan tâm đến việc các giá trị khóa chỉ kèo bóng đá c1 đế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 đá c1 nhập danh kèo bóng đá c1 này đều có thể được truy cập như một phần củaquan 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 đá c1.
Một số trường cờ củaindexAmRoutine
Có ý nghĩa không đáng tin cậy. kèo bóng đá c1 yêu cầu củaAmcanunique
được thảo luận trongPhần 62.5. TheAmcanmulticol
Flag khẳng định rằng phương thức truy cập hỗ trợ các chỉ kèo bóng đá c1 nhiều cột, trong khiAmoptionalkey
khẳng định rằng nó cho phép quét trong đó không có mệnh đề hạn chế có thể lập chỉ kèo bóng đá c1 nào được đưa ra cho cột chỉ kèo bóng đá c1 đầu tiên. KhiAmcanmulticol
là sai,Amoptionalkey
Về 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 đá c1phảiQuét hỗ trợ bỏ qua các hạn chế đối với 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 đá c1 đầu tiên và điều này được báo hiệu bằng cách cài đặtAmoptionalkey
Sai. Một lý do mà một chỉ kèo bóng đá c1 có thể đặtAmoptionalkey
16486_16895Amoptionalkey
Đúng phải chỉ kèo bóng đá c1 nulls, vì người lập kế hoạch có thể quyết định sử dụng một chỉ kèo bóng đá c1 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 đá c1 hỗ trợ nhiều cột chỉ kèo bóng đá c1phảiHỗ trợ lập chỉ kèo bóng đá c1 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 đá c1 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 đá c1 trên (a, b) và truy vấn vớitrong đó a = 4
. Hệ thống sẽ giả sử chỉ kèo bóng đá c1 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 đá c1 bỏ qua các hàng trong đóB
là null. Tuy nhiên, đó là OK để bỏ qua các hàng trong đó cột được lập chỉ kèo bóng đá c1 đầu tiên là null. Phương thức truy cập chỉ kèo bóng đá c1 không có chỉ kèo bóng đá c1 nulls cũng có thể đặtAmsearchNulls
, chỉ ra rằng nó hỗ trợlà null
vàkhông phải là null
mệnh đề là điều kiện tìm kiếm.
TheAmcaninclude
cờ cho biết liệu phương thức truy cập có hỗ trợBao gồmHồikèo bóng đá c1 cột, đó là nó có thể lưu trữ (không xử lý) kèo bóng đá c1 cột bổ sung ngoài (kèo bóng đá c1) cột chính. kèo bóng đá c1 yêu cầu của đoạn trước chỉ áp dụng cho kèo bóng đá c1 cột chính. Cụ thể, sự kết hợp củaAmcanmulticol
=Sai
vàAmcaninclude
=TRUE
là hợp lý: Điều đó có nghĩa là chỉ có thể có một cột chính, nhưng cũng có thể được bao gồm (kèo bóng đá c1) cột. Ngoài ra, kèo bóng đá c1 cột bao gồm phải được phép là null, độc lập vớiAmoptionalkey
.
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không phù hợp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.