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 / Devel
Phiên kèo bóng đá euro không được hỗ trợ:12 / 11 / 10 / 9.6

Chương 62. Bản ghi 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 bản ghi kèo bóng đá euro, mô tả các thay đổi đối với các trang một cách chung 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 bản ghi kèo bóng đá euro được xác định trongAccess/Generic_xlog.hvà được triển khai trongAccess/transam/Generic_xlog.c.

8538_8634

  1. state = GenericXlogStart (quan hệ)8806_8877

  2. page = GenericXlogRegisterBuffer (trạng thái, bộ đệm, cờ)- Đăng ký bộ đệm sẽ được sửa đổi trong bản ghi 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 một hình ảnh toàn trang thay vì cập nhật delta nên được đưa vào bản ghi 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.GenericXlogregisterBuffercó thể được lặp lại nếu hành động được kèo bóng đá euro chép lại cần sửa đổi nhiều trang.

  3. 9779_9850

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

Xây dựng bản ghi 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ở bản 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 bản ghi 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 bản ghi 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_LOWER11850_11857PD_UPPER.

  • Vì bạn đang sửa đổi các kèo bóng đá euro sao của các trang bộ đệm,GenericXlogStart ()không bắt đầu một phần quan trọng. Vì vậy, bạn có thể thực hiện phân bổ bộ nhớ, ném lỗi, v.v.GenericXlogStart ()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ó bản ghi 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.

  • 12973_13160

  • nếuGeneric_xlog_full_imagekhông được chỉ định cho bộ đệm đã đăng ký, bản ghi 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.

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ớ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.