Chương này giải thích giao diện giữa lõiPostgreSQLSystem vàPhương pháp kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai bảng được mô tả bởi một hàng trongpg_am
Danh mục hệ thống. Thepg_am
Mụ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 đá hôm nay và ngày mai bảng. Các mục này có thể được tạo và xóa bằng cách sử dụng8659_86818690_8697Phương thức kèo bóng đá hôm nay và ngày mai thảCác lệnh SQL.
Hàm xử lý phương thức kèo bóng đá hôm nay và ngày mai 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. Kết quả của hàm phải là một con trỏ tới một cấu trúc loại
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 đá hôm nay và ngày mai 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 static
Biến trong phạm vi toàn cầu. TheTableamRoutine
struct, còn được gọi là phương thức kèo bóng đá hôm nay và ngày maiAPI Struct, Xác định hành vi của phương thức kèo bóng đá hôm nay và ngày mai 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. Tất cả các cuộc gọi lại và hành vi của chúng được xác định trongTableamRoutine
Cấ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 đá hôm nay và ngày mai bảng. Để biết chi tiết, vui lòng tham khảosrc/bao gồm/kèo bóng đá hôm nay và ngày mai/tableam.h
Tệp.
10429_10555SRC/bao gồm/Executor/Tuptable.h
), cho phép mã bên ngoài phương thức kèo bóng đá hôm nay và ngày mai để giữ các tham chiếu đến các bộ dữ liệu của AM và để kèo bóng đá hôm nay và ngày mai 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. Trong trường hợp nó được sử dụng, có khả năng sử dụngPostgreSQLBố cục trang tiêu chuẩn như được mô tả trongPhần 69.6.
11300_11497TID) bao gồm số khối và số mục (xem thêmPhần 69.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 đá hôm nay và ngày mai.
Đố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ặc một loại mớiWalBản ghi có thể được thực hiện. Hồ sơ Wal chung là dễ dàng, nhưng ngụ ý khối lượng Wal cao hơn. Việc triển khai một loại bản ghi WAL mới hiện đang yêu cầu sửa đổi mã lõi (cụ thể,src/bao gồm/kèo bóng đá hôm nay và ngày mai/rmgrlist.h
).
12699_12898src/backend/access/transam/xlog.c
.
Bất kỳ nhà phát triển nào mớiPhương pháp kèo bóng đá hôm nay và ngày mai bảng
có thể tham khảo hiện tạiHeap
13101_13130src/backend/access/heap/heapam_handler.c
Để biết chi tiết về việc triển khai của nó.
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ớ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.