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

Chương 63. Định nghĩa giao diện phương thức kèo bóng đá pháp bảng

Chương này giải thích giao diện giữa lõiPostgreSQLSystem vàPhương pháp kèo bóng đá pháp bảng, quản lý lưu trữ cho các bảng. Hệ thống cốt lõi biết rất ít về các phương thức kèo bóng đá pháp này ngoài những gì được chỉ định ở đây, vì vậy có thể phát triển các loại phương thức kèo bóng đá pháp hoàn toàn mới bằng cách viết mã bổ trợ.

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

Hàm xử lý phương thức kèo bóng đá pháp bảng 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ả. Đố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.TableamRoutine, chứa mọi thứ mà mã cốt lõi cần biết để sử dụng phương thức kèo bóng đá pháp bảng. Giá trị trả về cần phải có tuổi thọ của máy chủ, thường đạt được bằng cách xác định nó làconst staticBiến trong phạm vi toàn cầu. TheTableamRoutinestruct, còn được gọi là phương thức kèo bóng đá phápAPI Struct, Xác định hành vi của phương thức kèo bóng đá pháp bằng cách sử dụng các cuộc gọi lại. Các cuộc gọi lại này là gợi ý cho các hàm C đơn giản và không thể nhìn thấy hoặc được gọi ở cấp SQL.TableamRoutineCấu trúc (với các nhận xét bên trong cấu trúc xác định các yêu cầu cho các cuộc gọi lại). Hầu hết các cuộc gọi lại đều có chức năng trình bao bọc, được ghi lại từ quan điểm của người dùng (chứ không phải là người triển khai) của phương thức kèo bóng đá pháp bảng.src/bao gồm/kèo bóng đá pháp/tableam.hTệp.

Để thực hiện phương thức kèo bóng đá pháp, người triển khai thường sẽ cần thực hiện một loại khe cắm bảng đặc hiệu AM cụ thể (xemSRC/bao gồm/Executor/Tuptable.h), cho phép mã bên ngoài phương thức kèo bóng đá pháp để giữ các tham chiếu đến các bộ dữ liệu của AM và để kèo bóng đá pháp các cột của tuple.

Hiện tại, cách một AM thực sự lưu trữ dữ liệu khá không bị ràng buộc. Ví dụ, có thể, nhưng không bắt buộc, để sử dụng bộ đệm bộ đệm chung của Postgres.PostgreSQLBố cục trang tiêu chuẩn như được mô tả trongPhần 73.6.

Một ràng buộc khá lớn của API phương thức kèo bóng đá pháp bảng là, hiện tại, nếu AM muốn hỗ trợ sửa đổi và/hoặc chỉ mục, thì mỗi bộ tuple cần có một định danh tuple (tid) bao gồm số khối và số mục (xem thêmPhần 73.6). Không hoàn toàn cần thiết mà các phần phụ củaTIDSCó cùng ý nghĩa họ, ví dụ, có choHeap, nhưng nếu hỗ trợ quét bitmap (đó là tùy chọn), số khối cần cung cấp địa kèo bóng đá pháp.

Đối với an toàn sự cố, AM có thể sử dụng Postgres 'Walhoặc triển khai tùy chỉnh. Nếu nhưWalđược chọn,Generic Wal Recordscó thể được sử dụng hoặcPostgreSQL: Tài liệu: 16: Chươngcó thể được triển khai.

Để thực hiện hỗ trợ giao dịch theo cách cho phép kèo bóng đá pháp các phương thức kèo bóng đá pháp bảng khác nhau trong một giao dịch, có khả năng cần phải tích hợp chặt chẽ với máy móc trongsrc/backend/access/transam/xlog.c.

Bất kỳ nhà phát triển nào mớiPhương pháp kèo bóng đá pháp bảngCó thể tham khảo hiện tạiHeapTriển khai hiện tại trongSRC/phụ trợ/kèo bóng đá pháp/heap/heapam_handler.cĐể biết chi tiết về việc triển khai của nó.

Gửi hiệu chỉnh

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 khớpMẫu nàyĐể báo cáo vấn đề tài liệu.