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 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1
8040_8111
Bạn có thể muốn xem cùng một trang kèo bóng đá việt namhiện tạiPhiên bản hoặc một trong kèo bóng đá việt nam phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

50.2. Gọi lại cho trình bao bọc dữ liệu nước ngoài kèo bóng đá việt nam thói quen

Hàm người xử lý FDW trả về palloc'dfdwroutinecấu trúc chứa kèo bóng đá việt nam con trỏ vào kèo bóng đá việt nam chức năng gọi lại sau:

Void
GetforeignRelsize (Root PlannerInfo *,
                   Reloptinfo *baserel,
                   Oid foreigntableid);

9762_9903rootlà người lập kế hoạch Thông tin toàn cầu về truy vấn;Baserellà thông tin của người lập kế hoạch về điều này bàn; VàForeignTableIDpg_ classOID của Bàn nước kèo bóng đá việt nam. (ForeignTableIDcó thể được lấy từ kèo bóng đá việt nam cấu trúc dữ liệu kế hoạch, nhưng nó được thông qua rõ ràng để lưu cố gắng.)

Chức năng này sẽ cập nhậtbaserel- hànglà số lượng hàng dự kiến được trả lại bằng cách quét bảng, sau khi tính toán cho bộ lọc được thực hiện bởi kèo bóng đá việt nam câu hỏi hạn chế. Giá trị ban đầu củabaserel- hàngchỉ là một mặc định không đổi Ước tính, nên được thay thế nếu có thể. kèo bóng đá việt nam chức năng cũng có thể chọn cập nhậtBaserel- WidthNếu nó có thể tính toán tốt hơn Ước tính chiều rộng hàng kết quả trung bình.

xemPhần 50.4kèo bóng đá việt nam thông tin bổ sung.

Void
Getforeignpaths (Root PlannerInfo *,
                 Reloptinfo *baserel,
                 Oid foreigntableid);

11107_11246getforeignrelsize, có đã được kèo bóng đá việt nam.

Hàm này phải tạo ít nhất một đường dẫn truy cập (ForeignPathnút) để quét trên Bàn nước kèo bóng đá việt nam và phải gọiadd_pathĐể thêm từng đường dẫn như vậy vàoBaserel- Pathlist. Nó được khuyến nghị sử dụngcreated_forignscan_pathđể xây dựng TheForeignPathnút. Chức năng có thể tạo nhiều đường dẫn truy cập, ví dụ: đường dẫn có hợp lệ11847_11857Để thể hiện một bản án trước kết quả. Mỗi đường dẫn truy cập phải chứa kèo bóng đá việt nam ước tính chi phí và có thể chứa bất kỳ thông tin FDW-Private nào cần thiết để xác định Phương thức quét cụ thể dự định.

xemPhần 50.4kèo bóng đá việt nam thông tin bổ sung.

ForeignScan *
Getforeignplan (Root PlannerInfo *,
                Reloptinfo *baserel,
                Oid foreigntableid,
                ForeignPath *best_path,
                Danh sách *Tlist,
                Danh sách *scan_clauses);

Tạo AForeignScanKế hoạch nút từ đường dẫn truy cập nước ngoài được chọn. Điều này được gọi vào cuối của kế hoạch truy vấn. kèo bóng đá việt nam tham số là nhưgetforeignrelsize, cộng với đã chọnForeignPath12703_12732GetForignPaths), Danh sách mục tiêu được phát ra bởi nút kế hoạch và kèo bóng đá việt nam điều khoản hạn chế được thi hành bởi nút kế hoạch.

Hàm này phải tạo và trả về AForeignScanKế hoạch nút; nó được khuyến nghị sử dụngmake_forignscanĐể xây dựngnước kèo bóng đá việt namNode.

xemPostgreSQL:kèo bóng đá việt nam thông tin bổ sung.

Void
Giải thích BoreforignScan (Nút nước kèo bóng đá việt nam *, nút,
                    Giải thích *es);

In bổ sungGiải thíchđầu ra cho a Quét bàn nước kèo bóng đá việt nam. Điều này chỉ có thể trở lại nếu không cần phải In bất cứ điều gì. Nếu không, nó sẽ gọiGiải thíchPropertyTextvà kèo bóng đá việt nam chức năng liên quan đến Thêm kèo bóng đá việt nam trường vàoGiải thíchđầu ra. kèo bóng đá việt nam kèo bóng đá việt nam trường cờ trongescó thể được sử dụng để Xác định những gì cần in và trạng thái củaForeignScanstateNode có thể được kiểm tra để Cung cấp số liệu thống kê thời gian chạy trongGiải thích Phân tíchCASE.

VOID
BeginForignScan (Nút nước kèo bóng đá việt nam *Node,
                  int eflags);

Bắt đầu thực hiện quét nước kèo bóng đá việt nam. Điều này được gọi trong quá trình thực thi Khởi nghiệp. Nó sẽ thực hiện bất kỳ khởi tạo nào cần thiết trước quét có thể bắt đầu, nhưng không bắt đầu thực hiện quét thực tế (đó nên được thực hiện trong cuộc gọi đầu tiên đếnitaterforeignScan). TheForeignScanstatenút đã được tạo, Nhưng nóFDW_STATETrường vẫn còn VÔ GIÁ TRỊ. Thông tin về bảng để quét có thể truy cập được thông qua TheForeignScanstatenút (trong đặc biệt, từ cơ bảnForeignScanKế hoạch nút, chứa bất kỳ Thông tin FDW-Private được cung cấp bởigetforignplan).

Lưu ý rằng khi(EFLAGS & Exec_flag_explain_only)là sự thật, chức năng này không nên thực hiện bất kỳ hành động nhìn bên kèo bóng đá việt nam nào; nó chỉ nên làm Tối thiểu cần thiết để làm cho trạng thái nút hợp lệ choGiải thích FormentIgnScanendforeignscan.

tupletableslot *
IraterforforignScan (Nút ForeignScanState *);

Lấy một hàng từ nguồn nước kèo bóng đá việt nam, trả lại nó trong một tuple slot bảng (nút củascantuplotlotnên được sử dụng cho mục đích này). Trả lại null nếu không còn hàng nữa có sẵn. Cơ sở hạ tầng khe cắm bảng Tuple cho phép Tuple vật lý hoặc ảo được trả lại; trong hầu hết kèo bóng đá việt nam trường hợp Lựa chọn sau là thích hợp từ quan điểm hiệu suất. Ghi chú rằng điều này được gọi trong một bối cảnh bộ nhớ tồn tại trong thời gian ngắn sẽ Đặt lại giữa kèo bóng đá việt nam lời mời. Tạo ngữ cảnh bộ nhớ trongBeginForignScanNếu bạn cần lưu trữ tồn tại lâu hơn hoặc sử dụngES_Query_CXTcủa nútEstate.

kèo bóng đá việt nam hàng được trả về phải khớp với chữ ký cột của Bàn nước ngoài được quét. Nếu bạn chọn tối ưu hóa tìm nạp kèo bóng đá việt nam cột không cần thiết, bạn nên chèn kèo bóng đá việt nam null vào kèo bóng đá việt nam vị trí cột đó.

Lưu ý rằngPostgreSQL's Người thực thi không quan tâm liệu kèo bóng đá việt nam hàng có trả lại vi phạmkhông nullkèo bóng đá việt nam ràng buộc được xác định trên kèo bóng đá việt nam cột bàn nước ngoài - nhưng người lập kế hoạch quan tâm và có thể Tối ưu hóa kèo bóng đá việt nam truy vấn không chính xác nếunullGiá trị có mặt trong một cột được khai báo không chứa chúng. Nếu anullGiá trị gặp phải khi người dùng đã tuyên bố rằng không nên có mặt, nó có thể phù hợp để gây ra lỗi (giống như bạn cần phải làm trong trường hợp của một loại dữ liệu không phù hợp).

VOID
ResCanForignScan (Nút Froutscanstate *);

Khởi động kèo bóng đá việt nam quá trình quét từ đầu. Lưu ý rằng bất kỳ tham số nào Việc quét phụ thuộc vào có thể đã thay đổi giá trị, vì vậy việc quét mới không nhất thiết phải trả về chính xác cùng một hàng.

VOID
FEDFOREIGNSCAN (NODE *NODE);

Kết thúc tài nguyên quét và phát hành. Nó thường không quan trọng là phát hành bộ nhớ palloc'd, nhưng ví dụ: mở kèo bóng đá việt nam tệp và kết nối với máy chủ từ xa nên được làm sạch.

Bool
Phân tích BoreforignTable (quan hệ quan hệ,
                     Aces
                     BlockNumber *Tổng số);

Hàm này được kèo bóng đá việt nam khiPhân tíchđược thực hiện trên bàn nước kèo bóng đá việt nam. Nếu như FDW có thể thu thập số liệu thống kê cho bàn nước kèo bóng đá việt nam này, nó nên trở lạiTRUE, và cung cấp một con trỏ cho a chức năng sẽ thu thập kèo bóng đá việt nam hàng mẫu từ bảng trongfunc, cộng với kích thước ước tính của bảng trong kèo bóng đá việt nam trang trongTổng số. Nếu không, trở kèo bóng đá việt namSai18033_18111Phân tích trước khi thiết kếCon trỏ có thể Đặt thànhnull.

Nếu được cung cấp, chức năng thu thập mẫu phải có chữ ký

18328_18532

Một mẫu ngẫu nhiên lên đếnTargrowsHàng phải được thu thập từ bảng và được lưu trữ vào do người kèo bóng đá việt nam cung cấphàngMảng. Thực tế Số lượng hàng được thu thập phải được trả về. Ngoài ra, cửa hàng Ước tính tổng số hàng sống và chết trong bảng vào kèo bóng đá việt nam tham số đầu raTotalRowsTotalDeadrows. (BộTotalDeadrowsđến 0 nếu FDW không có bất kỳ khái niệm nào về hàng chết.)

ThefdwroutineLoại cấu trúc là được khai báo trongsrc/bao gồm/nước kèo bóng đá việt nam/fdwapi.h, xem kèo bóng đá việt nam Chi tiết bổ sung.