cắt ngắn
Giải thích
Phân tích
Nhập lược đồ nước kèo bóng đá cúp c2
Hàm người xử lý FDW trả về palloc'dfdwroutine
Cấu trúc chứa kèo bóng đá cúp c2 con trỏ đến kèo bóng đá cúp c2 chức năng gọi lại được mô tả dưới đây. kèo bóng đá cúp c2 chức năng liên quan đến quét là bắt buộc, phần còn lại là tùy chọn.
Thefdwroutine
Loại cấu trúc được khai báo trongsrc/bao gồm/nước kèo bóng đá cúp c2/fdwapi.h
, xem để biết thêm chi tiết.
Void
Lấy ước tính kích thước quan hệ cho một bảng nước kèo bóng đá cúp c2. Điều này được gọi là khi bắt đầu lập kế hoạch cho một truy vấn quét một bàn nước kèo bóng đá cúp c2.Root
là thông tin toàn cầu kèo bóng đá cúp c2 người lập kế hoạch về truy vấn;Baserel
là thông tin kèo bóng đá cúp c2 người lập kế hoạch về bảng này; VàForeignTableID
làPG_Class
OID của Bàn nước kèo bóng đá cúp c2. (ForeignTableID
có thể được lấy từ kèo bóng đá cúp c2 cấu trúc dữ liệu kế hoạch, nhưng nó được truyền rõ ràng để tiết kiệm nỗ lực.)
chức năng này sẽ cập nhậtbaserel- hàng
là 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 việc lọc được thực hiện bởi kèo bóng đá cúp c2 câu hỏi hạn chế. Giá trị ban đầu củabaserel- hàng
chỉ là ước tính mặc định không đổi, cần được thay thế nếu có thể. Chức năng cũng có thể chọn cập nhậtBaserel- Width
Nếu nó có thể tính toán ước tính tốt hơn về chiều rộng hàng kết quả trung bình. .Phân tích
.) kèo bóng đá cúp c2 ra, chức năng này có thể cập nhậtBaserel- Tuples
Nếu nó có thể tính toán ước tính tốt hơn về tổng số hàng của Bàn nước kèo bóng đá cúp c2. (Giá trị ban đầu là từpg_ class
.Reltuples
đại diện cho tổng số hàng được nhìn thấy bởi lần cuốiPhân tích
; nó sẽ là-1
nếu khôngPhân tích
đã được thực hiện trên bàn nước kèo bóng đá cúp c2 này.)
xemPhần 57.4Để biết thêm thông tin.
Void
Tạo kèo bóng đá cúp c2 đường dẫn truy cập có thể để quét trên bàn nước ngoài. Điều này được gọi trong quá trình lập kế hoạch truy vấn.getforeignrelsize
, đã được kèo bóng đá cúp c2.
Hàm này phải tạo ít nhất một đường dẫn truy cập (ForeignPath
nút) để quét trên bàn nước kèo bóng đá cúp c2 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ựngForeignPath
nút. Hàm có thể tạo nhiều đường dẫn truy cập, ví dụ: đường dẫn có hợp lệPathkeys
Để thể hiện kết quả được sắp xếp trước. Mỗi đường dẫn truy cập phải chứa kèo bóng đá cúp c2 ước tính chi phí và có thể chứa bất kỳ thông tin đặc biệt nào cần thiết để xác định phương thức quét cụ thể dự định.
xemPhần 57.4Để biết thêm thông tin.
nước kèo bóng đá cúp c2 *
Tạo AForeignScan
Kế hoạch nút từ đường dẫn truy cập nước kèo bóng đá cúp c2 đã chọn. Điều này được gọi vào cuối kế hoạch truy vấn.getforeignrelsize
, cộng với đã chọnForeignPath
(trước đây được sản xuất bởiGetForignPaths
,getforeignjoinpaths
hoặcGetforeignuppPaths
), Danh sách mục tiêu được phát ra bởi nút kế hoạch, kèo bóng đá cúp c2 điều khoản hạn chế được thực thi bởi nút kế hoạch và kế hoạch con bên ngoài củaForeignScan
, được sử dụng để kiểm tra kèo bóng đá cúp c2 được thực hiện bởiRecheckForignScan
. (Nếu đường dẫn dành cho tham gia chứ không phải là mối quan hệ cơ sở,ForeignTableID
làkhông hợp lệ
.)
Hàm này phải tạo và trả về AForeignScan
Kế hoạch nút; nó được khuyến nghị sử dụngmake_forignscan
Để xây dựngForeignScan
Node.
xemPhần 57.4Để biết thêm thông tin.
Void
Bắt đầu thực hiện quét nước kèo bóng đá cúp c2. Điều này được gọi trong quá trình khởi động thực thi.itaterforeignscan
). TheForeignScanstate
Node đã được tạo, nhưng nófdw_state
Trường vẫn còn vô hiệu. Thông tin về bảng để quét có thể truy cập được thông quaForeignScanstate
nút (đặc biệt, từ bên dướiForeignScan
Kế hoạch nút, chứa bất kỳ thông tin FDW-Private nào được cung cấp bởigetforeignplan
).EFLAGS
Chứa kèo bóng đá cúp c2 bit cờ mô tả chế độ hoạt động của người thực thi cho nút kế hoạch này.
Lưu ý rằng khi(eflags & exec_flag_explain_only)
là đúng, chức năng này không nên thực hiện bất kỳ hành động nào có thể nhìn nhận được; 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 trước khi in
vàendforeignscan
.
tupletableslot *
Lấy một hàng từ nguồn nước kèo bóng đá cúp c2, trả lại trong khe cắm bảng Tuple (nút của nútscantuplotlot
nên được sử dụng cho mục đích này). Trả kèo bóng đá cúp c2 null nếu không có nhiều hàng có sẵn.BeginForignScan
Nếu bạn cần lưu trữ tồn tại lâu hơn hoặc sử dụngES_Query_CXT
kèo bóng đá cúp c2 nútEstate
.
kèo bóng đá cúp c2 hàng được trả về phải khớp vớifdw_scan_tlist
Danh sách mục tiêu Nếu được cung cấp, nếu không chúng phải khớp với loại hàng của bàn nước ngoài được quét. Nếu bạn chọn tối ưu hóa kèo bóng đá cúp c2 cột tìm nạp không cần thiết, bạn nên chèn kèo bóng đá cúp c2 null vào kèo bóng đá cúp c2 vị trí cột đó, hoặc nếu không sẽ tạo rafdw_scan_tlist
Liệt kê với kèo bóng đá cúp c2 cột bị bỏ qua.
Lưu ý rằngPostgreSQLNgười thực thi không quan tâm liệu kèo bóng đá cúp c2 hàng có trả lại vi phạm bất kỳ ràng buộc nào được xác định trên bàn nước ngoài hay không - nhưng người lập kế hoạch quan tâm và có thể tối ưu hóa kèo bóng đá cúp c2 truy vấn không chính xác nếu có kèo bóng đá cúp c2 hàng có thể nhìn thấy trong bàn nước ngoài không thỏa mãn ràng buộc. Nếu một ràng buộc bị vi phạm khi người dùng đã tuyên bố rằng ràng buộc sẽ đúng, 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 không khớp loại dữ liệu).
Void
Khởi động kèo bóng đá cúp c2 quá trình quét từ đầu. Lưu ý rằng bất kỳ tham số nào mà quét phụ thuộc vào có thể đã thay đổi giá trị, do đó 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
Kết thúc tài nguyên quét và phát hành. Thông thường không quan trọng để phát hành bộ nhớ palloc'd, nhưng ví dụ: mở kèo bóng đá cúp c2 tệp và kết nối với kèo bóng đá cúp c2 máy chủ từ xa nên được làm sạch.
Nếu FDW hỗ trợ thực hiện kèo bóng đá cúp c2 tham gia nước ngoài từ xa (thay vì tìm nạp dữ liệu của cả hai bảng và thực hiện tham gia cục bộ), nó sẽ cung cấp chức năng gọi lại này:
Void
Tạo kèo bóng đá cúp c2 đường dẫn truy cập có thể cho sự tham gia của hai (hoặc nhiều) bảng nước ngoài mà tất cả đều thuộc về cùng một máy chủ nước ngoài. Chức năng tùy chọn này được gọi trong quá trình lập kế hoạch truy vấn.GetForignPaths
, chức năng này sẽ tạoFIRADPATH
Đường dẫn cho được cung cấptham gia
(Sử dụngcreated_forign_join_path
Để xây dựng chúng) và kèo bóng đá cúp c2add_path
Để thêm kèo bóng đá cúp c2 đường dẫn này vào tập hợp kèo bóng đá cúp c2 đường dẫn được xem xét cho sự tham gia. Nhưng không giống nhưGetforignPaths
, Không cần thiết phải thành công trong việc tạo ít nhất một đường dẫn, vì kèo bóng đá cúp c2 đường dẫn liên quan đến việc tham gia cục bộ luôn luôn có thể.
Lưu ý rằng chức năng này sẽ được gọi nhiều lần cho cùng một mối quan hệ tham gia, với kèo bóng đá cúp c2 kết hợp khác nhau của quan hệ bên trong và bên ngoài; Trách nhiệm của FDW là giảm thiểu công việc trùng lặp.
Lưu ý rằng tập hợp kèo bóng đá cúp c2 điều khoản tham gia để áp dụng cho sự tham gia, được thông qua làExtra- ReserntList
, thay đổi tùy thuộc vào sự kết hợp của quan hệ bên trong và bên kèo bóng đá cúp c2. MỘTForeignPath
Đường dẫn được tạo chotham gia
Phải chứa tập hợp kèo bóng đá cúp c2 mệnh đề tham gia mà nó sử dụng, sẽ được người lập kế hoạch sử dụng để chuyển đổiForeignPath
Đường dẫn vào một kế hoạch, nếu nó được chọn bởi người lập kế hoạch làm đường dẫn tốt nhất chotham gia
.
Nếu AForeignPath
Đường dẫn được chọn cho tham gia, nó sẽ đại diện cho toàn bộ quá trình tham gia; kèo bóng đá cúp c2 đường dẫn được tạo cho kèo bóng đá cúp c2 bảng thành phần và kèo bóng đá cúp c2 công ty con sẽ không được sử dụng.ScanRelid
kèo bóng đá cúp c2 kết quảForeignScan
Kế hoạch nút phải được đặt thành 0, vì không có mối quan hệ nào mà nó đại diện; Thay vào đó,fs_relids
Trường kèo bóng đá cúp c2nước kèo bóng đá cúp c2
Node đại diện cho tập hợp kèo bóng đá cúp c2 mối quan hệ đã được tham gia. .fdw_scan_tlist
Với danh sách thích hợpTargetEntry
kèo bóng đá cúp c2 nút, đại diện cho tập hợp kèo bóng đá cúp c2 cột nó sẽ cung cấp trong thời gian chạy trong kèo bóng đá cúp c2 bộ dữ liệu mà nó trả về.
Bắt đầu vớiPostgreSQL16,fs_relids
Bao gồm kèo bóng đá cúp c2 chỉ mục có thể tham gia bên ngoài, nếu có có liên quan đến tham gia này. Trường mớiFS_BASE_RELIDS
chỉ bao gồm kèo bóng đá cúp c2 chỉ mục quan hệ cơ sở và do đó bắt chướcfs_relids
kèo bóng đá cúp c2 ngữ nghĩa cũ.
xemPhần 57.4Để biết thêm thông tin.
Nếu FDW hỗ trợ thực hiện xử lý sau khi quét/tham gia từ xa, chẳng hạn như tập hợp từ xa, nó sẽ cung cấp chức năng kèo bóng đá cúp c2 lại này:
VOID
Tạo đường dẫn truy cập có thể choquan hệ trênXử lý, đây là thuật ngữ kèo bóng đá cúp c2 người lập kế hoạch cho tất cả xử lý truy vấn sau khi quét/tham gia, chẳng hạn như tập hợp, chức năng cửa sổ, sắp xếp và cập nhật bảng. Chức năng tùy chọn này được gọi trong quá trình lập kế hoạch truy vấn.ForeignPath
Đường dẫn cho bất kỳ xử lý sau khi quét/tham gia mà FDW biết cách thực hiện từ xa (sử dụngcreated_forign_upper_path
để xây dựng chúng) và kèo bóng đá cúp c2add_path
Để thêm kèo bóng đá cúp c2 đường dẫn này vào quan hệ trên được chỉ định. Như vớigetforeignjoinpaths
, Không cần thiết phải thành công trong việc tạo ra bất kỳ đường dẫn nào, vì kèo bóng đá cúp c2 đường dẫn liên quan đến xử lý cục bộ luôn luôn có thể.
TheGiai đoạn
tham số xác định bước sau khi quét/tham gia hiện đang được xem xét.output_rel
là mối quan hệ trên sẽ nhận kèo bóng đá cúp c2 đường dẫn đại diện cho tính toán của bước này vàinput_rel
là mối quan hệ đại diện cho đầu vào cho bước này. TheExtra
Tham số cung cấp chi tiết bổ sung, hiện tại, nó chỉ được đặt choupperrel_partial_group_agg
hoặcupperrel_group_agg
, trong trường hợp đó nó chỉ vào AGROUPPATHEXTRADATA
Cấu trúc; hoặc choupperrel_final
, trong trường hợp đó nó chỉ vào AFinalPathExtradata
Cấu trúc. (Lưu ý rằngForeignPath
đường dẫn được thêm vàooutput_rel
Thông thường sẽ không có bất kỳ sự phụ thuộc trực tiếp nào vào kèo bóng đá cúp c2 đường dẫn củainput_rel
, vì việc xử lý của họ dự kiến sẽ được thực hiện bên ngoài. Tuy nhiên, việc kiểm tra kèo bóng đá cúp c2 đường dẫn được tạo trước đó cho bước xử lý trước đó có thể hữu ích để tránh công việc lập kế hoạch dự phòng.)
xemPhần 57.4Để biết thêm thông tin.
Nếu FDW hỗ trợ kèo bóng đá cúp c2 bảng nước ngoài có thể ghi, nó sẽ cung cấp một số hoặc tất cả kèo bóng đá cúp c2 chức năng gọi lại sau đây tùy thuộc vào nhu cầu và khả năng của FDW:
VOID
Cập nhật
vàXóa
Hoạt động được thực hiện đối với kèo bóng đá cúp c2 hàng trước đó được tìm nạp trước kèo bóng đá cúp c2 chức năng quét bảng. FDW có thể cần thêm thông tin, chẳng hạn như ID hàng hoặc kèo bóng đá cúp c2 giá trị của kèo bóng đá cúp c2 cột khóa chính, để đảm bảo rằng nó có thể xác định hàng chính xác để cập nhật hoặc xóa.rácHồi, kèo bóng đá cúp c2 cột đích vào danh sách kèo bóng đá cúp c2 cột sẽ được lấy từ Bàn nước ngoài trong mộtCập nhật
hoặcXóa
.
Để làm điều đó, xây dựng Avar
Đại diện cho một giá trị thêm bạn cần và chuyển nó choadd_row_identity_var
, cùng với một tên cho cột rác. (Bạn có thể làm điều này nhiều hơn một lần nếu cần một số cột.) Bạn phải chọn một tên cột rác riêng biệt cho mỗi khác nhauvar
Bạn cần, ngoại trừvar
s giống hệt nhau ngoại trừVarno
Trường có thể và nên chia sẻ tên cột. Hệ thống cốt lõi sử dụng tên cột rácTableoid
cho bảng kèo bóng đá cúp c2Tableoid
Cột,CTID
hoặcCTID
chon
CTID
,Wholerow
cho cả hàngvar
Được đánh dấu bằngVartype
=Record
vàWholerow
cho cả hàngn
var
vớiVartype
bằng với loại hàng được khai báo của bảng. Sử dụng lại kèo bóng đá cúp c2 tên này khi bạn có thể (người lập kế hoạch sẽ kết hợp kèo bóng đá cúp c2 yêu cầu trùng lặp cho kèo bóng đá cúp c2 cột rác giống hệt nhau).
NếuAddForeIgnupDateTargets
Con trỏ được đặt thànhnull
, không có biểu thức mục tiêu nào được thêm vào. (Điều này sẽ khiến nó không thể thực hiệnXóa
hoạt động, mặc dùCập nhật
Có thể vẫn khả thi nếu FDW dựa vào khóa chính không thay đổi để xác định hàng.)
Danh sách *
Thực hiện bất kỳ hành động lập kế hoạch bổ sung nào cần thiết để chèn, cập nhật hoặc xóa trên bàn nước kèo bóng đá cúp c2. Chức năng này tạo ra thông tin FDW-Private sẽ được đính kèm vớiModifyTable
Kế hoạch nút thực hiện hành động cập nhật. Thông tin cá nhân này phải có dạng ADanh sách
, và sẽ được chuyển đếnBeginForignModify
Trong giai đoạn thực thi.
Root
là thông tin toàn cầu kèo bóng đá cúp c2 người lập kế hoạch về truy vấn.kế hoạch
làModifyTable
Kế hoạch nút, hoàn thành ngoại trừfdwprivlist
trường.Resultrelation
Xác định bảng nước kèo bóng đá cúp c2 mục tiêu theo chỉ mục bảng phạm vi của nó.Subplan_index
Xác định mục tiêu nào kèo bóng đá cúp c2ModifyTable
Kế hoạch nút Đây là, đếm từ số không; Sử dụng điều này nếu bạn muốn lập chỉ mục vào kèo bóng đá cúp c2 cấu trúc liên quan đến mỗi mục tiêu củakế hoạch
Node.
xemPhần 57.4Để biết thêm thông tin.
NếuPlanforeignModify
Con trỏ được đặt thànhnull
, Không có hành động thời gian kế hoạch bổ sung nào được thực hiện vàfdw_private
Danh sách được chuyển đếnBeginForignModify
Sẽ là NIL.
VOID
Bắt đầu thực hiện hoạt động sửa đổi bàn nước kèo bóng đá cúp c2. Thói quen này được gọi trong quá trình khởi động thực thi.32677_32719
,ExecforeIgnupDate
hoặcExecforeIgnDelete
sẽ được kèo bóng đá cúp c2 cho (s) được chèn, cập nhật hoặc xóa.
MTSTATE
là trạng thái tổng thể kèo bóng đá cúp c2ModifyTable
Kế hoạch nút được thực thi; Dữ kèo bóng đá cúp c2 toàn cầu về kế hoạch và trạng thái thực thi có sẵn thông qua cấu trúc này.rinfo
làresultrelInfo
Cấu trúc mô tả bảng nước kèo bóng đá cúp c2 mục tiêu. (TheRI_FDWSTATE
TrườngresultrelInfo
Có sẵn cho FDW để lưu trữ bất kỳ trạng thái riêng tư nào mà nó cần cho hoạt động này.)FDW_Private
chứa dữ kèo bóng đá cúp c2 riêng được tạo bởiplanforeignmodify
, nếu có.Subplan_index
Xác định mục tiêu nào kèo bóng đá cúp c2ModifyTable
Kế hoạch nút này.EFLAGS
Chứa kèo bóng đá cúp c2 bit cờ mô tả chế độ hoạt động của người thực thi cho nút kế hoạch này.
Lưu ý rằng khi(eflags & exec_flag_explain_only)
là đúng, chức năng này không nên thực hiện bất kỳ hành động nào có thể nhìn nhận được; 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 trước khi điều chỉnh
và34142_34160
.
NếuBeginForignModify
Con trỏ được đặt thànhnull
, không có hành động nào được thực hiện trong quá trình khởi động thực thi.
tupletableslot *
Chèn một tuple vào Bàn nước kèo bóng đá cúp c2.Estate
là trạng thái thực thi toàn cầu cho truy vấn.rinfo
làresultrelInfo
Cấu trúc mô tả bảng nước kèo bóng đá cúp c2 đích.slot
chứa bộ tuple được chèn; Nó sẽ khớp với định nghĩa loại hàng của Bàn nước kèo bóng đá cúp c2.SP rap
chứa bộ tuple được tạo bởiModifyTable
kế hoạch con kèo bóng đá cúp c2 nút kế hoạch; nó khác vớislot
Trong có thể chứa bổ sungrácKhănCột. (ThePRANLOT
thường rất ít quan tâm choChèn
trường hợp, nhưng được cung cấp cho sự hoàn chỉnh.)
Giá trị trả về là một khe chứa dữ liệu thực sự được chèn (điều này có thể khác với dữ liệu được cung cấp, ví dụ như là kết quả của kèo bóng đá cúp c2 hành động kích hoạt) hoặc null nếu không có hàng nào được chèn (một lần nữa, thường là kết quả của trình kích hoạt). Thông quaslot
Có thể được sử dụng kèo bóng đá cúp c2 cho mục đích này.
Dữ kèo bóng đá cúp c2 trong khe được trả về chỉ được sử dụng nếuChèn
câu lệnh cóTrở về
mệnh đề hoặc liên quan đến chế độ xemVới tùy chọn kiểm tra
; hoặc nếu Bàn nước kèo bóng đá cúp c2 cósau hàng
Trigger. Trình kích hoạt yêu cầu tất cả kèo bóng đá cúp c2 cột, nhưng FDW có thể chọn tối ưu hóa việc trả về một số hoặc tất cả kèo bóng đá cúp c2 cột tùy thuộc vào nội dung củaTrở về
mệnh đề hoặcVới tùy chọn kiểm tra
ràng buộc. Bất kể, một số khe phải được trả lại để biểu thị thành công, hoặc số lượng hàng được báo cáo kèo bóng đá cúp c2 truy vấn sẽ sai.
NếuEXECFORIGNINSERT
Con trỏ được đặt thànhnull
, Cố gắng chèn vào Bàn nước kèo bóng đá cúp c2 sẽ thất bại với thông báo lỗi.
Lưu ý rằng chức năng này cũng được gọi khi chèn kèo bóng đá cúp c2 bộ dữ liệu được định tuyến vào phân vùng bàn nước ngoài hoặc thực thiSao chép từ
Trên bàn nước kèo bóng đá cúp c2, trong trường hợp đó nó được gọi theo một cách khác so với trongChèn
trường hợp. Xem kèo bóng đá cúp c2 chức năng gọi lại được mô tả bên dưới cho phép FDW hỗ trợ điều đó.
tupletableslot **
Chèn nhiều tổng số với số lượng lớn vào bàn nước ngoài. kèo bóng đá cúp c2 tham số giống nhau choEXECFORIGNINSERT
ngoại trừslots
vàPRANSLOTS
chứa nhiều bộ dữ kèo bóng đá cúp c2 và*numslots
Chỉ định số lượng bộ dữ liệu trong kèo bóng đá cúp c2 mảng đó.
Giá trị trả về là một mảng kèo bóng đá cúp c2 khe chứa dữ liệu thực sự được chèn (điều này có thể khác với dữ liệu được cung cấp, ví dụ như kết quả của kèo bóng đá cúp c2 hành động kích hoạt.)slots
có thể được sử dụng lại cho mục đích này. Số lượng bộ dữ kèo bóng đá cúp c2 được chèn thành công được trả về trong*numslots
.
Dữ kèo bóng đá cúp c2 trong khe được trả về chỉ được sử dụng nếuChèn
Câu lệnh liên quan đến chế độ xemVới tùy chọn kiểm tra
; hoặc nếu Bàn nước kèo bóng đá cúp c2 cósau hàng
Trigger. Trình kích hoạt yêu cầu tất cả kèo bóng đá cúp c2 cột, nhưng FDW có thể chọn tối ưu hóa việc trả về một số hoặc tất cả kèo bóng đá cúp c2 cột tùy thuộc vào nội dung củaVới tùy chọn kiểm tra
ràng buộc.
NếuEXECFORIGNBATCHINSERT
hoặcGetforeignModifyBatchSize
Con trỏ được đặt thànhnull
, Cố gắng chèn vào Bàn nước kèo bóng đá cúp c2 sẽ sử dụngEXECFORIGNINSERT
. Chức năng này không được sử dụng nếuChèn
cóTrở về
mệnh đề.
Lưu ý rằng chức năng này cũng được gọi khi chèn kèo bóng đá cúp c2 bộ dữ liệu được định tuyến vào phân vùng bàn nước ngoài hoặc thực thiSao chép từ
Trên bàn nước kèo bóng đá cúp c2, trong trường hợp đó nó được gọi theo một cách khác so với trongChèn
trường hợp. Xem kèo bóng đá cúp c2 chức năng gọi lại được mô tả bên dưới cho phép FDW hỗ trợ điều đó.
int
Báo cáo số lượng bộ dữ kèo bóng đá cúp c2 tối đa mà mộtEXECFORIGNBATCHINSERT
Cuộc gọi có thể xử lý cho Bàn nước kèo bóng đá cúp c2 được chỉ định. Người thực thi chuyển nhiều nhất số lượng bộ dữ liệu đã cho đếnEXECFORIGNBATCHINSERT
.rinfo
làresultrelInfo
Cấu trúc mô tả bảng nước kèo bóng đá cúp c2 đích. FDW dự kiến sẽ cung cấp một máy chủ nước kèo bóng đá cúp c2 và/hoặc tùy chọn bàn nước kèo bóng đá cúp c2 để người dùng đặt giá trị này hoặc một số giá trị được mã hóa cứng.
NếuEXECFORIGNBATCHINSERT
hoặcgetforeignModifyBatchSize
Con trỏ được đặt thànhnull
, cố gắng chèn vào Bàn nước kèo bóng đá cúp c2 sẽ sử dụngEXECFORIGNINSERT
.
tupletableslot *
Cập nhật một tuple trong Bàn nước kèo bóng đá cúp c2.Estate
là trạng thái thực thi toàn cầu cho truy vấn.rinfo
làresultrelInfo
Cấu trúc mô tả bảng nước kèo bóng đá cúp c2 đích.slot
Chứa dữ liệu mới cho tuple; Nó sẽ khớp với định nghĩa loại hàng của Bàn nước kèo bóng đá cúp c2.SP rap
chứa bộ tuple được tạo bởiModifyTable
kế hoạch con kèo bóng đá cúp c2 nút. Không giống nhưslot
, Tuple này chỉ chứa kèo bóng đá cúp c2 giá trị mới cho kèo bóng đá cúp c2 cột được thay đổi bởi truy vấn, do đó không dựa vào số thuộc tính của bảng nước ngoài để lập chỉ mục thànhSP rap
. Cũng,SP rap
thường chứa bổ sungrácHồiCột. Cụ thể, bất kỳ cột rác nào được yêu cầu bởisẽ có sẵn từ khe này.
Giá trị trả về là một khe chứa hàng vì nó thực sự được cập nhật (điều này có thể khác với dữ liệu được cung cấp, ví dụ như kết quả của kèo bóng đá cúp c2 hành động kích hoạt) hoặc null nếu không có hàng nào được cập nhật (một lần nữa, thường là kết quả của kèo bóng đá cúp c2 kích hoạt). Thông quaslot
có thể được sử dụng kèo bóng đá cúp c2 cho mục đích này.
Dữ kèo bóng đá cúp c2 trong khe được trả về chỉ được sử dụng nếuCập nhật
Câu lệnh cóTrở về
mệnh đề hoặc liên quan đến chế độ xemVới tùy chọn kiểm tra
; hoặc nếu Bàn nước kèo bóng đá cúp c2 cósau hàng
Trigger. Trình kích hoạt yêu cầu tất cả kèo bóng đá cúp c2 cột, nhưng FDW có thể chọn tối ưu hóa việc trả về một số hoặc tất cả kèo bóng đá cúp c2 cột tùy thuộc vào nội dung củaTrở về
mệnh đề hoặcVới tùy chọn kiểm tra
ràng buộc. Bất kể, một số khe phải được trả lại để biểu thị thành công, hoặc số lượng hàng được báo cáo kèo bóng đá cúp c2 truy vấn sẽ sai.
NếuEXECFORIGNUPDATE
Con trỏ được đặt thànhnull
, Cố gắng cập nhật bảng nước kèo bóng đá cúp c2 sẽ thất bại với thông báo lỗi.
tupletableslot *
Xóa một tuple khỏi Bàn nước kèo bóng đá cúp c2.Estate
là trạng thái thực thi toàn cầu cho truy vấn.rinfo
làresultrelInfo
Cấu trúc mô tả bảng nước kèo bóng đá cúp c2 đích.Slot
Không chứa gì hữu ích khi kèo bóng đá cúp c2, nhưng có thể được sử dụng để giữ tuple trả về.planlot
chứa bộ tuple được tạo bởiModifyTable
kế hoạch con kèo bóng đá cúp c2 nút; Cụ thể, nó sẽ mang bất kỳ cột rác nào được yêu cầu bởi. (kèo bóng đá cúp c2) cột rác phải được sử dụng để xác định tuple sẽ bị xóa.
Giá trị trả về là một khe chứa hàng đã bị xóa hoặc null nếu không có hàng nào bị xóa (thường là kết quả của kèo bóng đá cúp c2 kích hoạt). Thông quaslot
có thể được sử dụng để giữ phần mềm để được trả về.
Dữ kèo bóng đá cúp c2 trong khe được trả về chỉ được sử dụng nếuXóa
Truy vấn cóTrở về
mệnh đề hoặc bàn nước kèo bóng đá cúp c2 cósau hàng
Trigger. Trình kích hoạt yêu cầu tất cả kèo bóng đá cúp c2 cột, nhưng FDW có thể chọn tối ưu hóa việc trả về một số hoặc tất cả kèo bóng đá cúp c2 cột tùy thuộc vào nội dung củaTrở về
mệnh đề. Bất kể, một số khe phải được trả lại để biểu thị thành công, hoặc số lượng hàng được báo cáo kèo bóng đá cúp c2 truy vấn sẽ sai.
NếuExecforeIgnDelete
Con trỏ được đặt thànhnull
, cố gắng xóa khỏi bàn nước kèo bóng đá cúp c2 sẽ thất bại với thông báo lỗi.
VOID
Kết thúc bản cập nhật bảng và phát hành tài nguyên. Thông thường không quan trọng để phát hành bộ nhớ palloc'd, nhưng ví dụ: mở kèo bóng đá cúp c2 tệp và kết nối với kèo bóng đá cúp c2 máy chủ từ xa nên được làm sạch.
NếuFendForignModify
Con trỏ được đặt thànhnull
, không có hành động nào được thực hiện trong quá trình tắt máy thực thi.
Tuples được chèn vào bảng được phân vùng bởiChèn
hoặcSao chép từ
được chuyển đến kèo bóng đá cúp c2 phân vùng. Nếu FDW hỗ trợ kèo bóng đá cúp c2 phân vùng bảng nước ngoài có thể định kỳ, nó cũng sẽ cung cấp kèo bóng đá cúp c2 chức năng gọi lại sau.Sao chép từ
được thực thi trên bàn nước kèo bóng đá cúp c2.
VOID
Bắt đầu thực hiện một thao tác chèn trên bàn nước kèo bóng đá cúp c2. Thói quen này được gọi ngay trước khi tuple đầu tiên được chèn vào Bàn nước kèo bóng đá cúp c2 trong cả hai trường hợp khi đó là phân vùng được chọn để định tuyến Tuple và mục tiêu được chỉ định trongSao chép từ
lệnh. Nó sẽ thực hiện bất kỳ khởi tạo cần thiết trước khi chèn thực tế.EXECFORIGNINSERT
hoặcEXECFORIGNBATCHINSERT
sẽ được gọi cho Tuple (s) được chèn vào Bàn nước kèo bóng đá cúp c2.
MTSTATE
là trạng thái tổng thể kèo bóng đá cúp c2ModifyTable
Kế hoạch nút được thực thi; Dữ kèo bóng đá cúp c2 toàn cầu về kế hoạch và trạng thái thực thi có sẵn thông qua cấu trúc này.rinfo
làresultrelInfo
Cấu trúc mô tả bảng nước kèo bóng đá cúp c2 mục tiêu. (TheRI_FDWSTATE
TrườngresultrelInfo
Có sẵn cho FDW để lưu trữ bất kỳ trạng thái riêng tư nào mà nó cần cho hoạt động này.)
Khi điều này được kèo bóng đá cúp c2 bởi ASao chép từ
Lệnh, dữ kèo bóng đá cúp c2 toàn cầu liên quan đến kế hoạch trongMTSTATE
không được cung cấp vàSP rap
tham số kèo bóng đá cúp c2EXECFORIGNINSERT
Sau đó được kèo bóng đá cúp c2 cho mỗi tuple được chèn lànull
, cho dù bảng nước kèo bóng đá cúp c2 là phân vùng được chọn để định tuyến tuple hay mục tiêu được chỉ định trong lệnh.
NếuBeginForignInsert
Con trỏ được đặt thànhnull
, Không có hành động nào được thực hiện để khởi tạo.
Lưu ý rằng nếu FDW không hỗ trợ kèo bóng đá cúp c2 phân vùng bảng nước ngoài có thể định kỳ và/hoặc thực thiSao chép từ
Trên kèo bóng đá cúp c2 bảng nước ngoài, chức năng này hoặc47347_47389
Sau đó được kèo bóng đá cúp c2 là phải ném lỗi khi cần.
VOID
Kết thúc hoạt động chèn và tài nguyên phát hành. Thông thường không quan trọng để phát hành bộ nhớ palloc'd, nhưng ví dụ: mở kèo bóng đá cúp c2 tệp và kết nối với kèo bóng đá cúp c2 máy chủ từ xa nên được làm sạch.
Nếu47801_47819
Con trỏ được đặt thànhnull
, không có hành động nào được thực hiện để chấm dứt.
int
Báo cáo cập nhật kèo bóng đá cúp c2 hoạt động của Bàn nước ngoài được chỉ định. Giá trị trả về phải là một chút mặt nạ của kèo bóng đá cúp c2 số sự kiện quy tắc cho biết kèo bóng đá cúp c2 hoạt động nào được hỗ trợ bởi Bàn nước ngoài, sử dụngcmdtype
liệt kê; đó là,(1 << cmd_update) = 4
choCập nhật
,(1 << cmd_insert) = 8
choChèn
và(1 << cmd_delete) = 16
choXóa
.
NếuisforeignRelupDatable
Con trỏ được đặt thànhnull
, Bảng nước kèo bóng đá cúp c2 được coi là có thể chèn, cập nhật hoặc có thể phân loại nếu FDW cung cấpEXECFORIGNINSERT
,ExecforeIgnupDate
hoặcExecforeIgnDelete
tương ứng. Hàm này chỉ cần thiết nếu FDW hỗ trợ một số bảng có thể cập nhật và một số bảng không.thông tin_schema
Chế độ xem.)
Một số chèn, cập nhật và xóa kèo bóng đá cúp c2 bảng nước ngoài có thể được tối ưu hóa bằng cách triển khai một bộ giao diện thay thế. kèo bóng đá cúp c2 giao diện thông thường để chèn, cập nhật và xóa tìm nạp kèo bóng đá cúp c2 hàng khỏi máy chủ từ xa và sau đó sửa đổi kèo bóng đá cúp c2 hàng đó cùng một lúc.Với tùy chọn kiểm tra
kèo bóng đá cúp c2 ràng buộc từ kèo bóng đá cúp c2 quan điểm của cha mẹ), sau đó có thể sắp xếp mọi thứ để toàn bộ hoạt động được thực hiện trên máy chủ từ xa. kèo bóng đá cúp c2 giao diện được mô tả bên dưới làm cho điều này có thể.
Bool
Quyết định xem có an toàn để thực hiện sửa đổi trực tiếp trên máy chủ từ xa hay không. Nếu vậy, hãy trả kèo bóng đá cúp c2TRUE
Sau khi thực hiện kèo bóng đá cúp c2 hành động lập kế hoạch cần thiết cho điều đó. Nếu không, trở lạiSai
. Chức năng tùy chọn này được kèo bóng đá cúp c2 trong quá trình lập kế hoạch truy vấn.BegindirectModify
,iteratedirectModify
vàEndDirectModify
sẽ được gọi ở giai đoạn thực thi, thay vào đó. Mặt khác, sửa đổi bảng sẽ được thực hiện bằng cách sử dụng kèo bóng đá cúp c2 hàm cập nhật bảng được mô tả ở trên.PlanForignModify
.
Để thực hiện sửa đổi trực tiếp trên máy chủ từ xa, chức năng này phải viết kèo bóng đá cúp c2 sơ đồ con đích bằng mộtForeignScan
Kế hoạch nút thực hiện sửa đổi trực tiếp trên máy chủ từ xa. TheHoạt động
vàResultrelation
Trường kèo bóng đá cúp c2ForeignScan
phải được đặt một cách thích hợp.Hoạt động
phải được đặt thànhcmdtype
liệt kê tương ứng với loại câu lệnh (nghĩa làCMD_UPDATE
choCập nhật
,CMD_INSERT
choChèn
vàcmd_delete
choXóa
) vàResultrelation
Đối số phải được sao chép vàoResultrelation
trường.
xemPhần 57.4Để biết thêm thông tin.
NếuPlandirectModify
Con trỏ được đặt thànhnull
, Không cố gắng thực hiện sửa đổi trực tiếp trên máy chủ từ xa được thực hiện.
VOID
Chuẩn bị thực hiện sửa đổi trực tiếp trên máy chủ từ xa. Điều này được kèo bóng đá cúp c2 trong quá trình khởi động thực thi.iteratedirectModify
). TheForeignScanState
Node đã được tạo, nhưng nóFDW_STATE
Trường vẫn còn vô hiệu. Thông tin về bảng để sửa đổi có thể truy cập được thông quaForeignScanState
nút (đặc biệt, từ bên dướinước kèo bóng đá cúp c2
Kế hoạch nút, chứa bất kỳ thông tin FDW-Private nào được cung cấp bởiPlandirectModify
).EFLAGS
Chứa kèo bóng đá cúp c2 bit cờ mô tả chế độ hoạt động của người thực thi cho nút kế hoạch này.
Lưu ý rằng khi(eflags & exec_flag_explain_only)
là đúng, chức năng này không nên thực hiện bất kỳ hành động nào có thể nhìn thấy bên kèo bóng đá cúp c2; 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íchDirectModify
vàendDirectModify
.
NếuBegindirectModify
Con trỏ được đặt thànhNULL
, Không cố gắng thực hiện sửa đổi trực tiếp trên máy chủ từ xa được thực hiện.
tupletableslot *
KhiChèn
,Cập nhật
hoặcXóa
Truy vấn không cóTrở về
mệnh đề, chỉ cần trả lại null sau khi sửa đổi trực tiếp trên máy chủ từ xa. Khi truy vấn có mệnh đề, hãy lấy một kết quả chứa dữ kèo bóng đá cúp c2 cần thiết choTrở về
Tính toán, trả lại trong một khe cắm bảng Tuple (nút kèo bóng đá cúp c2 nútscantuplotlot
nên được sử dụng cho mục đích này). Dữ kèo bóng đá cúp c2 thực sự được chèn, cập nhật hoặc xóa phải được lưu trữ trongNode- resultrelInfo- RI_ProjectReturning-
. Trả kèo bóng đá cúp c2 null nếu không có nhiều hàng có sẵn.BegindirectModify
Nếu bạn cần lưu trữ tồn tại lâu hơn hoặc sử dụngES_Query_CXT
kèo bóng đá cúp c2 nútEstate
.
kèo bóng đá cúp c2 hàng được trả về phải khớp vớiFDW_SCAN_TLIST
Danh sách mục tiêu Nếu được cung cấp, nếu không chúng phải khớp với loại hàng của bàn nước ngoài được cập nhật. Nếu bạn chọn tối ưu hóa kèo bóng đá cúp c2 cột tìm nạp không cần thiết choTrở về
Tính toán, bạn nên chèn kèo bóng đá cúp c2 null vào kèo bóng đá cúp c2 vị trí cột đó hoặc khác tạo raFDW_SCAN_TLIST
Liệt kê với kèo bóng đá cúp c2 cột bị bỏ qua.
Cho dù truy vấn có mệnh đề hay không, số lượng hàng được báo cáo kèo bóng đá cúp c2 truy vấn phải được tăng lên bởi chính FDW. Khi truy vấn không có mệnh đề, FDW cũng phải tăng số lượng hàng choForeignScanState
nút trongGiải thích Phân tích
Case.
NếuiteratedirectModify
Con trỏ được đặt thànhnull
, Không cố gắng thực hiện sửa đổi trực tiếp trên máy chủ từ xa được thực hiện.
Void
Làm sạch sau khi sửa đổi trực tiếp trên máy chủ từ xa. Thông thường không quan trọng để phát hành bộ nhớ palloc'd, nhưng ví dụ: mở kèo bóng đá cúp c2 tệp và kết nối với máy chủ từ xa nên được làm sạch.
NếuEndDirectModify
Con trỏ được đặt thànhnull
, Không cố gắng thực hiện sửa đổi trực tiếp trên máy chủ từ xa được thực hiện.
cắt ngắn
#VOID
Cắt ngắn kèo bóng đá cúp c2 bảng nước ngoài. Chức năng này được gọi khicắt ngắnđược thực thi trên bàn nước kèo bóng đá cúp c2.rels
là danh sáchMối quan hệ
Cấu trúc dữ liệu của kèo bóng đá cúp c2 bảng nước ngoài để cắt ngắn.
Hành vi
làdrop_restrict
hoặcdrop_cascade
cho biếtHạn chế
hoặcCascade
Tùy chọn được yêu cầu trong bản gốccắt ngắn
lệnh, tương ứng.
nếurestart_seqs
làTRUE
, bản gốccắt ngắn
Lệnh được yêu cầuKhởi động kèo bóng đá cúp c2 danh tính
Hành vi, nếu không thìTiếp tục nhận dạng
hành vi đã được yêu cầu.
Lưu ý rằngChỉ
Tùy chọn được chỉ định trong bản gốccắt ngắn
Lệnh không được truyền choExecforeignTruncate
. Hành vi này tương tự như kèo bóng đá cúp c2 chức năng gọi lại củaChọn
,Cập nhật
vàXóa
Trên bàn nước kèo bóng đá cúp c2.
ExecforeignTruncate
được gọi một lần trên mỗi máy chủ nước ngoài mà kèo bóng đá cúp c2 bảng nước ngoài sẽ bị cắt ngắn. Điều này có nghĩa là tất cả kèo bóng đá cúp c2 bảng nước ngoài có trongrels
Phải thuộc về cùng một máy chủ.
NếuExecforeignTruncate
Con trỏ được đặt thànhnull
, Cố gắng cắt ngắn kèo bóng đá cúp c2 bảng nước ngoài sẽ thất bại với thông báo lỗi.
Nếu FDW muốn hỗ trợkhóa hàng muộn(như được mô tả trongPhần 57.5), nó phải cung cấp kèo bóng đá cúp c2 chức năng gọi lại sau:
RowMarkType
Báo cáo tùy chọn đánh dấu hàng nào để sử dụng cho một bàn nước kèo bóng đá cúp c2.RTE
làRangetBlentry
nút cho bảng vàSức mạnh
Mô tả cường độ khóa được yêu cầu bởi liên quanđể cập nhật/chia sẻ
mệnh đề, nếu có. Kết quả phải là thành viên kèo bóng đá cúp c2RowMarkType
Loại Enum.
Hàm này được gọi trong quá trình lập kế hoạch truy vấn cho mỗi bảng nước kèo bóng đá cúp c2 xuất hiện trong mộtCập nhật
,Xóa
hoặcChọn để cập nhật/chia sẻ
Truy vấn và không phải là mục tiêu kèo bóng đá cúp c2Cập nhật
hoặcXóa
.
Nếugetforeignrowmarktype
Con trỏ được đặt thànhnull
, TheRow_Mark_Copy
Tùy chọn luôn được sử dụng. (Điều này ngụ ý rằngRefetchForeIgnrow
sẽ không bao giờ được kèo bóng đá cúp c2, vì vậy nó cũng không cần phải được cung cấp.)
xemPhần 57.5Để biết thêm thông tin.
Void
Lấy lại một khe cắm từ Bàn nước kèo bóng đá cúp c2, sau khi khóa nó nếu được yêu cầu.Estate
là trạng thái thực thi toàn cầu cho truy vấn.ERM
làExecRowMark
Cấu trúc mô tả bảng nước kèo bóng đá cúp c2 đích và loại khóa hàng (nếu có) để có được.ROWID
Xác định Tuple sẽ được tìm nạp.slot
Không chứa gì hữu ích khi kèo bóng đá cúp c2, nhưng có thể được sử dụng để giữ tuple trả về.Cập nhật
là tham số đầu ra.
Chức năng này sẽ lưu trữ Tuple vào khe được cung cấp hoặc xóa nó nếu không thể thu được khóa hàng. Loại khóa hàng để thu được được xác định bởierm- marktype
, là giá trị trước đó được trả về trướcgetforeignrowmarktype
. (Row_mark_Reference
có nghĩa là chỉ cần tìm nạp kèo bóng đá cúp c2 tuple mà không cần có bất kỳ khóa nào vàRow_Mark_Copy
sẽ không bao giờ được nhìn thấy bởi thói quen này.)
kèo bóng đá cúp c2 ra,*Cập nhật
nên được đặt thànhTRUE
Nếu những gì được tìm nạp là phiên bản cập nhật kèo bóng đá cúp c2 tuple thay vì cùng một phiên bản thu được trước đó. (Nếu FDW không thể chắc chắn về điều này, hãy luôn quay trở lạiTRUE
được khuyến nghị.)
Lưu ý rằng theo mặc định, việc không có được khóa hàng sẽ dẫn đến việc gây ra lỗi; Trả kèo bóng đá cúp c2 với một khe trống chỉ phù hợp nếuBỏ qua khóa
Tùy chọn được chỉ định bởiERM- Waitpolicy
.
TheROWID
làCTID
Giá trị đọc trước đây cho hàng được tìm nạp kèo bóng đá cúp c2. Mặc dùROWID
Giá trị được truyền dưới dạngDatum
, hiện tại nó chỉ có thể làTID
. API chức năng được chọn với hy vọng rằng có thể cho phép kèo bóng đá cúp c2 loại dữ liệu khác cho ID hàng trong tương lai.
NếuRefetchForeIgnrow
Con trỏ được đặt thànhnull
, Cố gắng lấy lại kèo bóng đá cúp c2 hàng sẽ không thành công với thông báo lỗi.
xemPhần 57.5Để biết thêm thông tin.
Bool
Kiểm tra lại rằng một tuple đã được trả lại trước đó vẫn phù hợp với vòng loại quét và tham gia kèo bóng đá cúp c2 vòng loại có liên quan và có thể cung cấp một phiên bản sửa đổi của tuple. Đối với kèo bóng đá cúp c2 trình bao bọc dữ liệu nước ngoài không thực hiện tham gia Pushdown, thông thường sẽ thuận tiện hơn để đặt điều này thànhnull
và thay vào đó đặtFDW_RECHECK_QUALS
một cách thích hợp. Tuy nhiên, khi kèo bóng đá cúp c2 kết nối bên ngoài được đẩy xuống, tuy nhiên, việc áp dụng lại kèo bóng đá cúp c2 kiểm tra có liên quan đến tất cả kèo bóng đá cúp c2 bảng cơ sở với kết quả là không đủ, ngay cả khi tất cả kèo bóng đá cúp c2 thuộc tính cần thiết đều có mặt, bởi vì không phù hợp với một số vòng loại có thể dẫn đến một số thuộc tính sẽ không được trả lại.64279_64299
64304_64460
Để thực hiện tham gia Pushdown, một trình bao bọc dữ liệu nước kèo bóng đá cúp c2 thường sẽ xây dựng một kế hoạch tham gia cục bộ thay thế chỉ được sử dụng để kiểm tra lại; Điều này sẽ trở thành kế hoạch con bên kèo bóng đá cúp c2 củaForeignScan
. Khi cần phải kiểm tra kèo bóng đá cúp c2, sơ đồ con này có thể được thực thi và bộ tuple kết quả có thể được lưu trữ trong khe.GetExistingLocalJoinPath
Có thể được sử dụng để tìm kiếm kèo bóng đá cúp c2 đường dẫn hiện có cho đường dẫn tham gia cục bộ phù hợp, có thể được sử dụng làm kế hoạch tham gia cục bộ thay thế.GetExistingLocaljoinPath
Tìm kiếm một đường dẫn không phân chia trong danh sách đường dẫn kèo bóng đá cúp c2 mối quan hệ tham gia được chỉ định. .
Giải thích
#VOID
In bổ sungGiải thích
Đầu ra cho quét bảng nước kèo bóng đá cúp c2. Chức năng này có thể gọiGiải thíchPropertyText
và kèo bóng đá cúp c2 chức năng liên quan để thêm kèo bóng đá cúp c2 trường vàoGiải thích
đầu ra. kèo bóng đá cúp c2 trường cờ tronges
Có thể được sử dụng để xác định những gì cần in và trạng thái kèo bóng đá cúp c2ForeignScanState
Node có thể được kiểm tra để cung cấp số kèo bóng đá cúp c2 thống kê thời gian chạy trongGiải thích Phân tích
CASE.
NếuGiải thích FormentIgnScan
Con trỏ được đặt thànhnull
, Không có thông tin bổ sung nào được in trongGiải thích
.
VOID
In bổ sungGiải thích
Đầu ra cho bản cập nhật bàn nước kèo bóng đá cúp c2. Chức năng này có thể gọiGiải thíchPropertyText
và kèo bóng đá cúp c2 chức năng liên quan để thêm kèo bóng đá cúp c2 trường vàoGiải thích
đầu ra. kèo bóng đá cúp c2 trường cờ tronges
Có thể được sử dụng để xác định những gì cần in và trạng thái kèo bóng đá cúp c2ModifyTablestate
Node có thể được kiểm tra để cung cấp số kèo bóng đá cúp c2 thống kê thời gian chạy trongGiải thích Phân tích
trường hợp. Bốn đối số đầu tiên giống như đối vớiBeginForignModify
.
NếuGiải thích trước khi điều chỉnh
Con trỏ được đặt thànhnull
, Không có thông tin bổ sung nào được in trongGiải thích
.
VOID
In bổ sungGiải thích
đầu ra để sửa đổi trực tiếp trên máy chủ từ xa. Chức năng này có thể kèo bóng đá cúp c2Giải thíchPropertyText
và kèo bóng đá cúp c2 chức năng liên quan để thêm kèo bóng đá cúp c2 trường vàoGiải thích
đầu ra. kèo bóng đá cúp c2 trường cờ tronges
Có thể được sử dụng để xác định những gì cần in và trạng thái kèo bóng đá cúp c2ForeignScanState
Node có thể được kiểm tra để cung cấp số kèo bóng đá cúp c2 thống kê thời gian chạy trongGiải thích Phân tích
CASE.
NếuGiải thíchDirectModify
Con trỏ được đặt thànhnull
, Không có thông tin bổ sung nào được in trongGiải thích
.
Phân tích
#Bool
Hàm này được kèo bóng đá cúp c2 khiPhân tíchđược thực thi trên bàn nước kèo bóng đá cúp c2. Nếu FDW có thể thu thập số liệu thống kê cho Bàn nước kèo bóng đá cúp c2 này, nó sẽ trả lạiTRUE
, và cung cấp một con trỏ cho một hàm sẽ thu thập kèo bóng đá cúp c2 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 đá cúp c2 trang trongTotalPages
. Nếu không, trở kèo bóng đá cúp c2Sai
.
Nếu FDW không hỗ trợ thu thập số kèo bóng đá cúp c2 thống kê cho bất kỳ bảng nào,69755_69776
Con trỏ có thể được đặt thànhnull
.
Nếu được cung cấp, chức năng thu thập mẫu phải có chữ ký
int
Một mẫu ngẫu nhiên lên đếnTargrows
Hàng phải được thu thập từ bảng và được lưu trữ vào người kèo bóng đá cúp c2 được cung cấphàng
Mảng. Số lượng hàng thực tế được thu thập phải được trả về.TotalRows
vàTotalDeadrows
. (BộTotalDeadrows
đến 0 Nếu FDW không có bất kỳ khái niệm nào về hàng chết.)
Nhập lược đồ nước kèo bóng đá cúp c2
#Danh sách *
Lấy danh sách kèo bóng đá cúp c2 lệnh tạo bảng nước ngoài. Chức năng này được gọi khi thực thiNhập lược đồ nước kèo bóng đá cúp c2và được thông qua cây phân tích cho câu lệnh đó, cũng như OID của máy chủ nước ngoài sử dụng. Nó sẽ trả về một danh sách kèo bóng đá cúp c2 chuỗi C, mỗi chuỗi phải chứa mộtTạo bảng nước kèo bóng đá cúp c2lệnh. kèo bóng đá cúp c2 chuỗi này sẽ được phân tích cú pháp và thực hiện bởi máy chủ lõi.
trongIntertForignSchemastMT
struct,remote_schema
là tên của lược đồ từ xa mà kèo bóng đá cúp c2 bảng sẽ được nhập.list_type
Xác định cách lọc tên bảng:fdw_import_schema_all
Có nghĩa là tất cả kèo bóng đá cúp c2 bảng trong lược đồ từ xa nên được nhập (trong trường hợp nàyTable_List
là trống),fdw_import_schema_limit_to
có nghĩa là chỉ bao gồm kèo bóng đá cúp c2 bảng được liệt kê trongTable_List
vàfdw_import_schema_except
có nghĩa là loại trừ kèo bóng đá cúp c2 bảng được liệt kê trongTable_List
.Tùy chọn
là danh sách kèo bóng đá cúp c2 tùy chọn được sử dụng cho quy trình nhập. Ý nghĩa của kèo bóng đá cúp c2 tùy chọn là tùy thuộc vào FDW.không null
Thuộc tính của kèo bóng đá cúp c2 cột phải được nhập. kèo bóng đá cúp c2 tùy chọn này không cần phải làm gì với kèo bóng đá cúp c2 tùy chọn được FDW hỗ trợ làm tùy chọn đối tượng cơ sở dữ liệu.
FDW có thể bỏ qualocal_schema
Trường kèo bóng đá cúp c273107_73132
, Vì máy chủ lõi sẽ tự động chèn tên đó vào phân tích cú phápTạo bảng nước kèo bóng đá cúp c2
lệnh.
FDW không phải quan tâm đến việc thực hiện bộ lọc được chỉ định bởilist_type
vàTable_List
, vì máy chủ lõi sẽ tự động bỏ qua bất kỳ lệnh nào được trả về cho kèo bóng đá cúp c2 bảng được loại trừ theo kèo bóng đá cúp c2 tùy chọn đó. Tuy nhiên, thường rất hữu ích để tránh công việc tạo kèo bóng đá cúp c2 lệnh cho kèo bóng đá cúp c2 bảng bị loại trừ ngay từ đầu.isimportable eforignTable ()
có thể hữu ích để kiểm tra xem một tên bàn nước kèo bóng đá cúp c2 nhất định sẽ vượt qua bộ lọc.
Nếu FDW không hỗ trợ nhập định nghĩa bảng,ImportForignSchema
Con trỏ có thể được đặt thànhnull
.
AForeignScan
Node có thể, tùy chọn, hỗ trợ thực thi song song. Một song songForeignScan
sẽ được thực thi trong nhiều quy trình và phải trả về từng hàng chính xác một lần trên tất cả kèo bóng đá cúp c2 quy trình hợp tác. Để làm điều này, kèo bóng đá cúp c2 quá trình có thể phối hợp thông qua kèo bóng đá cúp c2 khối có kích thước cố định của bộ nhớ chia sẻ động.
Bool
Kiểm tra xem có thể thực hiện quét trong một công nhân song song hay không. Hàm này sẽ chỉ được kèo bóng đá cúp c2 khi người lập kế hoạch tin rằng một kế hoạch song song có thể là có thể và sẽ trả về đúng nếu nó an toàn cho việc quét đó để chạy trong một công nhân song song.
Nếu chức năng này không được xác định, người ta cho rằng việc quét phải diễn ra trong Trưởng nhóm song song. Lưu ý rằng việc trả về true không có nghĩa là bản thân quá trình quét có thể được thực hiện song song, chỉ có thể thực hiện quét trong một công nhân song song.
Kích thước
Ước tính lượng bộ nhớ chia sẻ động sẽ được yêu cầu cho hoạt động song song. Điều này có thể cao hơn số lượng thực sự sẽ được sử dụng, nhưng nó không được thấp hơn.
Void
Khởi tạo bộ nhớ chia sẻ động sẽ được yêu cầu cho hoạt động song song.tọa độ
Truyền vào vùng bộ nhớ được chia sẻ có kích thước bằng với giá trị trả về kèo bóng đá cúp c2Ước tínhSmforignScan
. Chức năng này là tùy chọn và có thể được bỏ qua nếu không cần thiết.
Void
Tái tạo bộ nhớ chia sẻ động cần thiết cho hoạt động song song khi nút Kế hoạch quét nước kèo bóng đá cúp c2 sắp được quét lại. Chức năng này là tùy chọn và có thể được bỏ qua nếu không cần thiết.RescanForignScan
Hàm chỉ đặt lại trạng thái cục bộ. Hiện tại, chức năng này sẽ được kèo bóng đá cúp c2 trướcRescanForignScan
, nhưng tốt nhất là không dựa vào thứ tự đó.
VOID
Khởi tạo trạng thái cục bộ kèo bóng đá cúp c2 công nhân song song dựa trên trạng thái chia sẻ do người lãnh đạo thiết lập trongkhởi tạoSmforignScan
. Chức năng này là tùy chọn và có thể được bỏ qua nếu không cần thiết.
VOID
Phát hành tài nguyên khi dự đoán, nút sẽ không được thực hiện để hoàn thành. Điều này không được gọi trong tất cả kèo bóng đá cúp c2 trường hợp;FendForignScan
có thể được gọi mà không có chức năng này được gọi là đầu tiên. Vì phân đoạn DSM được sử dụng bởi truy vấn song song bị phá hủy ngay sau khi cuộc gọi lại này được gọi, kèo bóng đá cúp c2 trình bao bọc dữ liệu nước ngoài muốn thực hiện một số hành động trước khi phân đoạn DSM biến mất nên thực hiện phương pháp này.
AForeignScan
Node, tùy chọn, hỗ trợ thực thi không đồng bộ như được mô tả trongSRC/Backend/Executor/Readme
. kèo bóng đá cúp c2 chức năng sau là tất cả kèo bóng đá cúp c2 tùy chọn, nhưng tất cả đều được yêu cầu nếu thực thi không đồng bộ được hỗ trợ.
Bool
Kiểm tra xem đã choForeignPath
Đường dẫn có thể quét mối quan hệ nước kèo bóng đá cúp c2 cơ bản không đồng bộ. Hàm này sẽ chỉ được gọi vào cuối kế hoạch truy vấn khi đường dẫn đã cho là con trực tiếp củaPhụ lục
Đường dẫn và khi người lập kế hoạch tin rằng thực thi không đồng bộ sẽ cải thiện hiệu suất và sẽ trả về đúng nếu đường dẫn đã cho có thể quét mối quan hệ nước kèo bóng đá cúp c2 không đồng bộ.
Nếu chức năng này không được xác định, người ta cho rằng đường dẫn đã cho quét mối quan hệ nước kèo bóng đá cúp c2 bằng cách sử dụngitaterforeignscan
. (Điều này ngụ ý rằng kèo bóng đá cúp c2 chức năng gọi lại được mô tả dưới đây sẽ không bao giờ được gọi, vì vậy chúng cũng không cần phải được cung cấp.)
VOID
Sản xuất một tuple không đồng bộ từForeignScan
Node.Areq
làasyncrequest
Cấu trúc mô tảForeignScan
Node and the ParentPhụ lục
Node yêu cầu tuple từ nó. Chức năng này sẽ lưu trữ Tuple vào khe được chỉ định bởiAreq- Kết quả
và SETAreq- request_complete
đếnTRUE
; hoặc nếu nó cần chờ trên một sự kiện bên kèo bóng đá cúp c2 máy chủ lõi như mạng I/O và không thể tạo bất kỳ tuple nào ngay lập tức, hãy đặt cờ thànhfalse
và SETAreq- Callback_Pending
đếnTRUE
choForeignScan
nút để nhận lại cuộc gọi lại từ kèo bóng đá cúp c2 chức năng gọi lại được mô tả bên dưới. Nếu không có thêm bộ dữ liệu, hãy đặt khe thành null hoặc một khe trống vàAreq- request_complete
cờ đếnTRUE
. Nó được khuyến nghị sử dụngExecasyncRequestDone
hoặcExecasyncRequestPending
Để đặt kèo bóng đá cúp c2 tham số đầu ra trongAreq
.
Void
Định cấu hình sự kiện mô tả tệp màForeignScan
Node muốn chờ. Chức năng này sẽ chỉ được kèo bóng đá cúp c2 khiForeignScan
Node cóAreq- Callback_Pending
Bộ cờ và nên thêm sự kiện vàoAS_EVENSET
kèo bóng đá cúp c2 cha mẹPhụ lục
nút được mô tả bởiAreq
. Xem kèo bóng đá cúp c2 nhận xét choExecasyncConfigureWait
inĐể biết thêm thông tin. Khi sự kiện mô tả tệp xảy ra,
FRIGHERAsyncNotify
sẽ được kèo bóng đá cúp c2.
VOID
Xử lý một sự kiện có liên quan đã xảy ra, sau đó tạo ra một tuple không đồng bộ từForeignScan
nút. Chức năng này sẽ đặt kèo bóng đá cúp c2 tham số đầu ra trongAreq
giống nhưFRIALASYNCREQUEST
.
Danh sách *
Hàm này được gọi trong khi chuyển đổi một đường dẫn được tham số được tham số bởi cha mẹ hàng đầu kèo bóng đá cúp c2 mối quan hệ con đã choChild_rel
được tham số hóa bởi quan hệ con cái. Chức năng được sử dụng để sắp xếp kèo bóng đá cúp c2 bất kỳ đường dẫn nào hoặc dịch bất kỳ nút biểu thức nào được lưu trong đã choFDW_Private
Thành viên kèo bóng đá cúp c2 AForeignPath
. Cuộc kèo bóng đá cúp c2 lại có thể sử dụngReparameterize_path_by_child
,điều chỉnh_appendrel_attrs
hoặcđiều chỉnh_appendrel_attrs_multilevel
theo yêu cầu.
Nếu bạn thấy bất cứ điều gì trong tài kèo bóng đá cúp c2 không chính xác, không phù hợpMẫu nàyĐể báo cáo vấn đề tài kèo bóng đá cúp c2.