tỷ lệ kèo bóng đá'sJITTriển khai có thể sắp xếp các cơ thể của các chức tỷ lệ kèo bóng đá của các loạiC
vàNội bộ
, cũng như các toán tử dựa trên các chức tỷ lệ kèo bóng đá đó. Để làm như vậy cho các chức tỷ lệ kèo bóng đá trong các tiện ích mở rộng, các định nghĩa của các chức tỷ lệ kèo bóng đá đó cần được cung cấp.PGXSĐể xây dựng tiện ích mở tỷ lệ kèo bóng đá đối với máy chủ đã được biên dịch với hỗ trợ LLVM JIT, các tệp có liên quan sẽ được xây dựng và cài đặt tự động.
Các tệp có liên quan phải được cài đặt vào$ pkglibdir/bitcode/$ extext/
và tóm tắt chúng thành$ PKGLIBDIR/BITCODE/$ extension.index.bc
, trong đó$ pkglibdir
Có phải thư mục được trả về bởipg_config - -pkglibdir
và$ extext
là tên cơ sở của thư viện chia sẻ của tiện ích mở tỷ lệ kèo bóng đá.
Đối với các chức tỷ lệ kèo bóng đá được tích hợp vàotỷ lệ kèo bóng đáBản thân nó, BitCode được cài đặt vào$ pkglibdir/bitcode/postgres
.
tỷ lệ kèo bóng đácung cấp AJITThực hiện dựa trênLLVM. Giao diện choJITNhà cung cấp có thể cắm được và nhà cung cấp có thể được thay đổi mà không cần biên dịch lại (mặc dù hiện tại, quy trình xây dựng chỉ cung cấp dữ liệu hỗ trợ nội tuyến choLLVM). Nhà cung cấp hoạt động được chọn thông qua cài đặtjit_provider.
AJITNhà cung cấp được tải bằng cách tải động thư viện được chia sẻ được đặt tên. Đường dẫn tìm kiếm thư viện thông thường được sử dụng để định vị thư viện.JITGọi lại cho nhà cung cấp và để chỉ ra rằng thư viện thực sự là mộtJITnhà cung cấp, nó cần cung cấp chức tỷ lệ kèo bóng đá C có tên_pg_jit_provider_init
. Hàm này được thông qua một cấu trúc cần được lấp đầy bằng các con trỏ chức tỷ lệ kèo bóng đá gọi lại cho các hành động riêng lẻ:
struct jitProviderCallbacks