Phiên kèo bóng đá euro được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên kèo bóng đá euro phát triển:18 / 5181_5188
Phiên kèo bóng đá euro không được hỗ trợ:12 / 11 / 10 / 9.6
Tài liệu này dành cho phiên kèo bóng đá euro 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 kèo bóng đá euro hoặc một trong các phiên kèo bóng đá euro được hỗ trợ khác được liệt kê ở trên thay thế.

Chương 62. kèo bóng đá euro

Mặc dù tất cả các mô-đun Wal-Logged tích hợp đều có các loại bản ghi WAL riêng của chúng, nhưng cũng có một loại kèo bóng đá euro, mô tả các thay đổi đối với các trang một cách chung. Điều này rất hữu ích cho các tiện ích mở rộng cung cấp các phương thức truy cập tùy chỉnh, vì họ không thể đăng ký các thói quen làm lại Wal của riêng họ.

API để xây dựng các kèo bóng đá euro được xác định trongAccess/Generic_xlog.hvà được triển khai trongAccess/transam/Generic_xlog.c.

8901_8997

  1. state = GenericXlogStart (quan hệ)- Bắt đầu xây dựng một kèo bóng đá euro cho mối quan hệ đã cho.

  2. page = GenericXlogRegisterBuffer (trạng thái, bộ đệm, cờ)- Đăng ký bộ đệm sẽ được sửa đổi trong kèo bóng đá euro hiện tại. Hàm này trả về một con trỏ vào một bản sao tạm thời của trang của bộ đệm, nơi cần sửa đổi. (Không sửa đổi nội dung của bộ đệm trực tiếp.) Đối số thứ ba là một chút mặt nạ của cờ áp dụng cho hoạt động. Hiện tại cờ duy nhất như vậy làGeneric_xlog_full_image, chỉ ra rằng hình ảnh toàn trang thay vì cập nhật Delta nên được đưa vào kèo bóng đá euro. Thông thường, cờ này sẽ được đặt nếu trang mới hoặc đã được viết lại hoàn toàn.9981_10008Có thể lặp lại nếu hành động kèo bóng đá euro-Logged cần sửa đổi nhiều trang.

  3. Áp dụng các sửa đổi cho hình ảnh trang thu được trong bước trước.

  4. GenericXlogfinish (State)- Áp dụng các thay đổi cho bộ đệm và phát ra kèo bóng đá euro.

Xây dựng kèo bóng đá euro có thể bị hủy giữa bất kỳ bước nào trên bằng cách gọiGenericXLogabort (trạng thái). Điều này sẽ loại bỏ tất cả các thay đổi cho các kèo bóng đá euro sao hình ảnh trang.

Xin lưu ý các điểm sau khi sử dụng cơ sở ghi kèo bóng đá euro:

  • Không được phép sửa đổi trực tiếp bộ đệm! Tất cả các sửa đổi phải được thực hiện trong các kèo bóng đá euro sao có được từGenericXLogRegisterBuffer (). Nói cách khác, mã tạo ra các kèo bóng đá euro không bao giờ được gọiBufferGetPage ()cho chính nó. Tuy nhiên, nó vẫn là trách nhiệm của người gọi đối với pin/unpin và khóa/mở khóa các bộ đệm vào thời điểm thích hợp. Khóa độc quyền phải được giữ trên mỗi bộ đệm mục tiêu từ trướcGenericXLogRegisterBuffer ()cho đến sauGenericXlogfinish ().

  • Đăng ký bộ đệm (Bước 2) và sửa đổi hình ảnh trang (Bước 3) có thể được trộn tự do, tức là, cả hai bước có thể được lặp lại trong bất kỳ chuỗi nào. Hãy nhớ rằng các bộ đệm nên được đăng ký theo cùng một thứ tự trong đó các khóa sẽ được lấy trên chúng trong quá trình phát lại.

  • Số lượng bộ đệm tối đa có thể được đăng ký cho kèo bóng đá euro làMAX_GENERIC_XLOG_PAGES. Một lỗi sẽ bị ném nếu vượt quá giới hạn này.

  • kèo bóng đá euro cho rằng các trang cần sửa đổi có bố cục tiêu chuẩn và đặc biệt là không có dữ liệu hữu ích giữaPD_LOWERPD_UPPER.

  • Vì bạn đang sửa đổi các kèo bóng đá euro sao của các trang bộ đệm,GenericXlogStart ()12412_12522GenericXlogStart ()GenericXlogfinish (). Phần quan trọng thực tế duy nhất có mặt bên trongGenericXlogfinish (). Không cần phải lo lắng về việc gọiGenericXLogabort ()Trong khi thoát lỗi.

  • GenericXlogfinish ()Chăm sóc đánh dấu bộ đệm bẩn và đặt LSN của họ. Bạn không cần phải làm điều này một cách rõ ràng.

  • Đối với các mối quan hệ chưa được tính, mọi thứ đều hoạt động giống nhau ngoại trừ việc không có kèo bóng đá euro thực tế nào được phát ra. Do đó, bạn thường không cần phải thực hiện bất kỳ kiểm tra rõ ràng nào cho các mối quan hệ chưa được tính.

  • Chức năng kèo bóng đá euro Redo chung sẽ có được các khóa độc quyền cho bộ đệm theo thứ tự giống như chúng đã được đăng ký. Sau khi làm lại tất cả các thay đổi, các khóa sẽ được phát hành theo cùng một thứ tự.

  • nếuGeneric_xlog_full_imageKhông được chỉ định cho bộ đệm đã đăng ký, kèo bóng đá euro chứa một đồng bằng giữa hình ảnh trang cũ và trang mới. Delta này dựa trên so sánh byte-byte. Điều này không nhỏ gọn cho trường hợp di chuyển dữ liệu trong một trang và có thể được cải thiện trong tương lai.