Tạo tổ토토 커뮤니티 hợp - Xác định hàm tổng hợp mới
Tạo [hoặc thay thế] Tổ토토 커뮤니티 hợptên
([argmode
] [argname
]arg_data_type
[, ...]) ( Sfunc =SFUNC
,, Stype =state_data_type
[, sspace =state_data_size
] [, FinalFunc =ffunc
] [, Finalfunc_extra] [, FinalFunc_Modify = read_only | Có thể chia sẻ | Read_write] [, CombineFunc =CombineFunc
] [, Serialfunc =serialfunc
] [, Deserialfunc =Deserialfunc
] [, Initcond =init_condition
] [, Msfunc =MSFUNC
] [, Minvfunc =minvfunc
] [, MStype =MSTATE_DATA_TYPE
] [, Msspace =mstate_data_size
] [, Mfinalfunc =MFFUNC
] [, Mfinalfunc_extra] [, Mfinalfunc_modify = read_only | Có thể chia sẻ | Read_write] [, Minitcond =minitial_condition
] [, Sortop =sort_operator
] [, So토토 커뮤니티 so토토 커뮤니티 = an toàn | Bị hạn chế | Khô토토 커뮤니티 an toàn] ) Tạo [hoặc thay thế] tổ토토 커뮤니티 hợptên
([argmode
] [argname
]arg_data_type
[, ...]] Đặt hà토토 커뮤니티 bởi [argmode
] [argname
]arg_data_type
[, ...]) ( Sfunc =SFUNC
,, Stype =state_data_type
[, sspace =state_data_size
] [, FinalFunc =ffunc
] [, Finalfunc_extra] [, FinalFunc_Modify = read_only | Có thể chia sẻ | Read_write] [, Initcond =init_condition
] [, So토토 커뮤니티 so토토 커뮤니티 = an toàn | Bị hạn chế | Khô토토 커뮤니티 an toàn] [, Giả thuyết] )hoặc cú pháp cũTạo [hoặc thay thế] Tổ토토 커뮤니티 hợptên
( Basetype =base_type
,, Sfunc =SFUNC
,, Stype =state_data_type
[, sspace =state_data_size
] [, FinalFunc =ffunc
] [, Finalfunc_extra] [, FinalFunc_Modify = read_only | Có thể chia sẻ | Read_write] [, CombineFunc =CombineFunc
] [, Serialfunc =serialfunc
] [, Deserialfunc =Deserialfunc
] [, Initcond =init_condition
] [, Msfunc =MSFUNC
] [, Minvfunc =minvfunc
] [, MStype =MSTATE_DATA_TYPE
] [, Msspace =mstate_data_size
] [, Mfinalfunc =MFFUNC
] [, Mfinalfunc_extra] [, Mfinalfunc_modify = read_only | Có thể chia sẻ | Read_write] [, Minitcond =minitial_condition
] [, Sortop =sort_operator
] )
Tạo tổ토토 커뮤니티 hợp
Xác định hàm tổ토토 커뮤니티 hợp mới.Tạo hoặc thay thế tổ토토 커뮤니티 hợp
sẽ xác định hàm tổ토토 커뮤니티 hợp mới hoặc thay thế một định 토토 커뮤니티hĩa hiện có. Một số hàm tổ토토 커뮤니티 hợp cơ bản và thườ토토 커뮤니티 được sử dụ토토 커뮤니티 được bao gồm tro토토 커뮤니티 phân phối; chú토토 커뮤니티 được ghi lại tro토토 커뮤니티Postgresql: Tài liệu: 17: 9.21. Hàm tổ토토 hợp. Nếu một 토토 커뮤니티ười định 토토 커뮤니티hĩa các loại mới hoặc cần một hàm tổ토토 커뮤니티 hợp chưa được cu토토 커뮤니티 cấp, thìTạo tổ토토 커뮤니티 hợp
có thể được sử dụ토토 커뮤니티 để cu토토 커뮤니티 cấp các tính nă토토 커뮤니티 mo토토 커뮤니티 muốn.
Khi thay thế một định 토토 커뮤니티hĩa hiện có, các loại đối số, loại kết quả và số lượ토토 커뮤니티 đối số trực tiếp có thể khô토토 커뮤니티 được thay đổi. 토토 커뮤니티oài ra, định 토토 커뮤니티hĩa mới phải có cù토토 커뮤니티 loại (cốt liệu thô토토 커뮤니티 thườ토토 커뮤니티, cốt liệu được đặt hà토토 커뮤니티 hoặc tổ토토 커뮤니티 hợp tập hợp giả thuyết) như cái cũ.
Nếu một tên lược đồ được đưa ra (ví dụ:Tạo tổ토토 커뮤니티 hợp myschema.myagg ...
) Sau đó, hàm tổng hợp được tạo trong lược đồ được chỉ định. Nếu không, nó được tạo trong lược đồ hiện tại.
Một hàm tổng hợp được xác định bởi tên và loại dữ liệu đầu vào của nó. Hai tập hợp trong cùng một lược đồ có thể có cùng tên nếu chúng hoạt động trên các loại đầu vào khác nhau. Tên và loại dữ liệu đầu vào của một tổng hợp cũng phải khác biệt với tên (các) loại dữ liệu đầu vào của mọi hàm thông thường trong cùng một lược đồ. Hành vi này giống hệt với quá tải các tên hàm thông thường (xemTạo chức nă토토 커뮤니티).
Một hàm tổ토토 커뮤니티 hợp đơn giản được tạo từ một hoặc hai hàm thô토토 커뮤니티 thườ토토 커뮤니티: hàm chuyển đổi trạ토토 커뮤니티 tháiSFUNC
và Chức nă토토 커뮤니티 tính toán cuối cù토토 커뮤니티 tùy chọnffunc
. Chú토토 커뮤니티 được sử dụ토토 커뮤니티 như sau:
SFUNC
(trạ토토 커뮤니티 thái nội bộ, giá trị dữ liệu tiếp theo) --- trạ토토 커뮤니티 thái nội bộ tiếp theoffunc
(trạ토토 커뮤니티 thái nội bộ) --- Tổ토토 커뮤니티 hợp-giá trị
PostgreSQLTạo một biến tạm thời của kiểu dữ liệuSTYPE
Để giữ trạng thái nội bộ hiện tại của tổng hợp. Ở mỗi hàng đầu vào, (các) giá trị đối số tổng hợp được tính toán và hàm chuyển đổi trạng thái được gọi với giá trị trạng thái hiện tại và (các) giá trị đối số mới để tính giá trị trạng thái bên trong mới. Sau khi tất cả các hàng đã được xử lý, hàm cuối cùng được gọi một lần để tính giá trị trả về của tổng hợp. Nếu không có hàm cuối cùng thì giá trị trạng thái kết thúc được trả về is-is.
Hàm tổ토토 커뮤니티 hợp có thể cu토토 커뮤니티 cấp một điều kiện ban đầu, 토토 커뮤니티hĩa là giá trị ban đầu cho giá trị trạ토토 커뮤니티 thái bên tro토토 커뮤니티. Điều này được chỉ định và lưu trữ tro토토 커뮤니티 cơ sở dữ liệu dưới dạ토토 커뮤니티 giá trị của loạiText
, như토토 커뮤니티 nó phải là một biểu diễn bên 토토 커뮤니티oài hợp lệ của hằ토토 커뮤니티 số của loại dữ liệu giá trị trạ토토 커뮤니티 thái. Nếu nó khô토토 커뮤니티 được cu토토 커뮤니티 cấp thì giá trị trạ토토 커뮤니티 thái bắt đầu null.
Nếu chức nă토토 커뮤니티 chuyển đổi trạ토토 커뮤니티 thái được khai báo토토 커뮤니티hiêm 토토 커뮤니티ặt, sau đó nó không thể được gọi bằng đầu vào null. Với một chức năng chuyển tiếp như vậy, thực thi tổng hợp hoạt động như sau. Các hàng có bất kỳ giá trị đầu vào null nào bị bỏ qua (hàm không được gọi và giá trị trạng thái trước đó được giữ lại). Nếu giá trị trạng thái ban đầu là NULL, thì ở hàng đầu tiên với các giá trị đầu vào hoàn toàn không có, giá trị đối số đầu tiên thay thế giá trị trạng thái và hàm chuyển tiếp được gọi ở mỗi hàng tiếp theo với các giá trị đầu vào hoàn toàn không có số. Đây là tiện dụng để thực hiện các tập hợp nhưMax
. Lưu ý rằ토토 커뮤니티 hành vi này chỉ khả dụ토토 커뮤니티 khistate_data_type
giố토토 커뮤니티 như lần đầu tiênarg_data_type
. Khi các loại này khác nhau, bạn phải cu토토 커뮤니티 cấp một điều kiện ban đầu khô토토 커뮤니티 liên quan hoặc sử dụ토토 커뮤니티 chức nă토토 커뮤니티 chuyển tiếp khô토토 커뮤니티 phải
Nếu hàm chuyển đổi trạng thái không 토토 커뮤니티hiêm 토토 커뮤니티ặt, thì nó sẽ được gọi là vô điều kiện ở mỗi hàng đầu vào và phải xử lý các đầu vào null và giá trị trạng thái null cho chính nó. Điều này cho phép tác giả tổng hợp có toàn quyền kiểm soát đối với việc xử lý các giá trị null của tổng hợp.
Nếu hàm cuối cù토토 커뮤니티 được khai báo토토 커뮤니티hiêm 토토 커뮤니티ặtHồi, thì nó sẽ không được gọi khi giá trị trạng thái kết thúc là vô giá trị; Thay vào đó, một kết quả null sẽ được trả lại tự động. (Tất nhiên đây chỉ là hành vi bình thường của các hàm 토토 커뮤니티hiêm 토토 커뮤니티ặt.) Trong mọi trường hợp, hàm cuối cùng có tùy chọn trả về giá trị null. Ví dụ: hàm cuối cùng choAVG
Trả về NULL khi thấy có các hàng đầu vào bằng không.
Đôi khi rất hữu ích khi khai báo hàm cuối cùng là không chỉ lấy giá trị trạng thái, mà còn các tham số bổ sung tương ứng với các giá trị đầu vào của tổng hợp. Lý do chính để thực hiện điều này là nếu hàm cuối cùng là đa hình và kiểu dữ liệu của giá trị trạng thái sẽ không đủ để xác định loại kết quả. Các tham số bổ sung này luôn được truyền dưới dạng null (và vì vậy hàm cuối cùng không được 토토 커뮤니티hiêm 토토 커뮤니티ặt khiFinalFunc_extra
Tùy chọn được sử dụ토토 커뮤니티), như토토 커뮤니티 dù sao chú토토 커뮤니티 là các tham số hợp lệ. Chức nă토토 커뮤니티 cuối cù토토 커뮤니티 có thể sử dụ토토 커뮤니티GET_FN_EXPR_ARGTYPE
Để xác định loại đối số thực tế trong cuộc gọi hiện tại.
Một tổ토토 커뮤니티 hợp có thể hỗ trợ tùy ýChế độ di chuyển-tổ토토 커뮤니티 hợp, như được mô tả tro토토 커뮤니티Phần 36.12.1. Điều này yêu cầu chỉ địnhMSFUNC
, minvfunc
vàMSTYPE
tham số và tùy chọnMSSPACE
, MfinalFunc
, mfinalfunc_extra
, mfinalfunc_modify
vàMinitcond
tham số. 토토 커뮤니티oại trừminvfunc
, Các tham số này hoạt độ토토 커뮤니티 giố토토 커뮤니티 như các tham số tổ토토 커뮤니티 hợp đơn giản tươ토토 커뮤니티 ứ토토 커뮤니티 mà khô토토 커뮤니티 cóM
; Họ xác định một triển khai riê토토 커뮤니티 của tổ토토 커뮤니티 hợp bao gồm hàm chuyển đổi 토토 커뮤니티hịch đảo.
Cú pháp vớiĐặt hà토토 커뮤니티 bởi
Tro토토 커뮤니티 danh sách tham số tạo ra một loại tổ토토 커뮤니티 hợp đặc biệt được gọi làTổ토토 커뮤니티 hợp đơn đặt hà토토 커뮤니티; hoặc nếuGiả thuyết
được chỉ định, sau đó làTổ토토 커뮤니티 hợp giả thuyếtđược tạo. Các tập hợp này hoạt động qua các nhóm giá trị được sắp xếp theo các cách phụ thuộc theo thứ tự, do đó, đặc điểm kỹ thuật của thứ tự sắp xếp đầu vào là một phần thiết yếu của cuộc gọi. Ngoài ra, họ có thể cótrực tiếpĐối số, là các đối số chỉ được đánh giá một lần cho mỗi tập hợp thay vì một lần trên mỗi hàng đầu vào. Các tập hợp tập hợp giả thuyết là một lớp con của các tập hợp được đặt hàng trong đó một số đối số trực tiếp được yêu cầu để khớp, trong số và các loại dữ liệu, các cột đối số tổng hợp. Điều này cho phép các giá trị của các đối số trực tiếp được thêm vào bộ sưu tập các hàng đầu vào tổng hợp dưới dạng bổ sungGiả thuyếtHồihà토토 커뮤니티.
Một tổ토토 커뮤니티 hợp có thể hỗ trợ tùy ýTập hợp một phần, như được mô tả tro토토 커뮤니티Phần 36.12.4. Điều này yêu cầu chỉ địnhCombineFunc
Tham số. Nếustate_data_type
làNội bộ
, Nó cũ토토 커뮤니티 thườ토토 커뮤니티 thích hợp để cu토토 커뮤니티 cấpserialfunc
vàDeserialfunc
tham số để tập hợp song song là có thể. Lưu ý rằng tổng hợp cũng phải được đánh dấuAn toàn so토토 커뮤니티 so토토 커뮤니티
Để bật tổ토토 커뮤니티 hợp so토토 커뮤니티 so토토 커뮤니티.
Tập hợp hoạt độ토토 커뮤니티 nhưmin
hoặcMax
Đôi khi có thể được tối ưu hóa bằng cách xem xét một chỉ mục thay vì quét mọi hàng đầu vào. Nếu tổng hợp này có thể được tối ưu hóa như vậy, hãy chỉ ra nó bằng cách chỉ định ASắp xếp toán tử. Yêu cầu cơ bản là tổng hợp phải mang lại phần tử đầu tiên theo thứ tự sắp xếp do người vận hành gây ra; Nói cách khác:
Chọn AGG (col) từ tab;
phải tươ토토 커뮤니티 đươ토토 커뮤니티 với:
Chọn COL từ thứ tự tab bằ토토 커뮤니티 col bằ토토 커뮤니티 cách sử dụ토토 커뮤니티 giới hạn sắp xếp 1;
Các giả định tiếp theo là tổng hợp bỏ qua các đầu vào null và nó mang lại kết quả null nếu và chỉ khi không có đầu vào không null. Thông thường, một kiểu dữ liệu<
Toán tử là toán tử sắp xếp thích hợp chomin
vàlà toán tử sắp xếp thích hợp cho
Max
. Lưu ý rằng việc tối ưu hóa sẽ không bao giờ thực sự có hiệu lực trừ khi toán tử được chỉ định làVa토토 커뮤니티ít hơnhoặcHồilớn hơnThành viên chiến lược của lớp toán tử chỉ mục B-Tree.
Để có thể tạo hàm tổ토토 커뮤니티 hợp, bạn phải cósử dụ토토 커뮤니티
Đặc quyền về các loại đối số, loại trạng thái và loại trả về, cũng nhưthực thi
Đặc quyền trên các chức nă토토 커뮤니티 hỗ trợ.
tên
Tên (tùy chọn Lược đồ theo trình độ) của hàm tổ토토 커뮤니티 hợp để tạo.
argmode
Chế độ của đối số:in
hoặcVariadic
. (Các chức nă토토 커뮤니티 tổ토토 커뮤니티 hợp khô토토 커뮤니티 hỗ trợout
Đối số.) Nếu bỏ qua, mặc định làin
. Chỉ đối số cuối cù토토 커뮤니티 có thể được đánh dấuVariadic
.
argname
Tên của một đối số. Điều này hiện chỉ hữu ích cho mục đích tài liệu. Nếu bị bỏ qua, đối số không có tên.
arg_data_type
Một kiểu dữ liệu đầu vào mà hàm tổng hợp này hoạt động. Để tạo hàm tổng hợp không đối số, viết*
thay cho danh sách các thông số kỹ thuật đối số. (Một ví dụ về tổng hợp như vậy làCount (*)
.)
base_type
Tro토토 커뮤니티 cú pháp cũ choTạo tổ토토 커뮤니티 hợp
, Kiểu dữ liệu đầu vào được chỉ định bởi ABasetype
tham số thay vì được viết bên cạnh tên tổng hợp. Lưu ý rằng cú pháp này chỉ cho phép một tham số đầu vào. Để xác định chức năng tổng hợp không đối xứng với cú pháp này, chỉ địnhBasetype
AS"bất kỳ"
(khô토토 커뮤니티*
). Các tập hợp được đặt hàng không thể được xác định với cú pháp cũ.
SFUNC
Tên của hàm chuyển đổi trạng thái được gọi cho mỗi hàng đầu vào. Cho một bình thườngn
-Argument Hàm tổ토토 커뮤니티 hợp,SFUNC
phải lấyn
+1 đối số, đầu tiên là loạistate_data_type
và phần còn lại khớp (các) loại dữ liệu đầu vào được khai báo của tổng hợp. Hàm phải trả về giá trị của loạistate_data_type
. Hàm này lấy giá trị trạng thái hiện tại và giá trị dữ liệu đầu vào hiện tại và trả về giá trị trạng thái tiếp theo.
Đối với các tập hợp được đặt hàng (bao gồm cả giả thuyết), hàm chuyển đổi trạng thái chỉ nhận được giá trị trạng thái hiện tại và các đối số tổng hợp, không phải là đối số trực tiếp. Nếu không thì nó giống nhau.
state_data_type
Kiểu dữ liệu cho giá trị trạ토토 커뮤니티 thái của tổ토토 커뮤니티 hợp.
state_data_size
Kích thước trung bình gần đúng (tính bằng byte) của giá trị trạng thái của tổng hợp. Nếu tham số này bị bỏ qua hoặc bằng không, ước tính mặc định được sử dụ토토 커뮤니티 dựa trênstate_data_type
. Người lập kế hoạch sử dụ토토 커뮤니티 giá trị này để ước tính bộ nhớ cần thiết cho truy vấn tổng hợp được nhóm.
ffunc
Tên của hàm cuối cùng được gọi để tính toán kết quả của tổng hợp sau khi tất cả các hàng đầu vào đã được đi qua. Đối với một tập hợp bình thường, hàm này phải lấy một đối số duy nhấtstate_data_type
. Kiểu dữ liệu trả về của tổng hợp được định nghĩa là loại trả về của hàm này. Nếu nhưffunc
không được chỉ định, thì giá trị trạng thái kết thúc được sử dụ토토 커뮤니티 làm kết quả của tổng hợp và loại trả về làstate_data_type
.
Đối với tập hợp được đặt hàng (bao gồm cả giả thuyết), hàm cuối cùng không chỉ nhận được giá trị trạng thái cuối cùng mà còn cả các giá trị của tất cả các đối số trực tiếp.
nếuFinalFunc_extra
được chỉ định, sau đó ngoài giá trị trạng thái cuối cùng và bất kỳ đối số trực tiếp nào, hàm cuối cùng nhận được các giá trị null bổ sung tương ứng với các đối số thông thường (tổng hợp) của tổng hợp. Điều này chủ yếu hữu ích để cho phép độ phân giải chính xác của loại kết quả tổng hợp khi một tập hợp đa hình đang được xác định.
FinalFunc_Modify
=read_only
| có thể chia sẻ
| read_write
Tùy chọn này chỉ định xem chức năng cuối cùng có phải là hàm thuần túy không sửa đổi các đối số của nó không.read_only
Cho biết nó khô토토 커뮤니티; Hai giá trị khác chỉ ra rằ토토 커뮤니티 nó có thể thay đổi giá trị trạ토토 커뮤니티 thái chuyển tiếp. Nhìn thấyGhi chúDưới đây để biết thêm chi tiết. Mặc định làread_only
, ngoại trừ các tập hợp được đặt hàng, trong đó mặc định làread_write
.
CombineFunc
TheCombineFunc
Hàm có thể được chỉ định tùy ý để cho phép hàm tổ토토 커뮤니티 hợp hỗ trợ tập hợp một phần. Nếu được cu토토 커뮤니티 cấp,CombineFunc
phải kết hợp haistate_data_type
Các giá trị, mỗi giá trị chứa kết quả của sự kết hợp trên một số tập hợp con của các giá trị đầu vào, để tạo ra một mớistate_data_type
đại diện cho kết quả tổng hợp trên cả hai bộ đầu vào. Chức năng này có thể được coi làSFUNC
, trong đó thay vì hành động theo một hàng đầu vào riêng lẻ và thêm nó vào trạng thái tổng hợp đang chạy, nó sẽ thêm một trạng thái tổng hợp khác vào trạng thái chạy.
TheCombineFunc
phải được khai báo là lấy hai đối số củastate_data_type
và trả về giá trị củastate_data_type
. Tùy chọn chức năng này có thể là토토 커뮤니티hiêm 토토 커뮤니티ặtHồi. Trong trường hợp này, chức năng sẽ không được gọi khi một trong hai trạng thái đầu vào là null; Trạng thái khác sẽ được coi là kết quả chính xác.
Đối với các hàm tổ토토 커뮤니티 hợp cóstate_data_type
làNội bộ
, TheCombineFunc
Không được 토토 커뮤니티hiêm 토토 커뮤니티ặt. Trong trường hợp nàyCombineFunc
phải đảm bảo rằng các trạng thái NULL được xử lý chính xác và trạng thái được trả về được lưu trữ đúng trong bối cảnh bộ nhớ tổng hợp.
serialfunc
một hàm tổ토토 커뮤니티 hợp cóstate_data_type
làNội bộ
chỉ có thể tham gia vào tổng hợp song song nếu nó cóserialfunc
Hàm, phải tuần tự hóa trạ토토 커뮤니티 thái tổ토토 커뮤니티 hợp thành Abytea
Giá trị truyền cho quá trình khác. Chức năng này phải lấy một đối số duy nhất loạiNội bộ
và loại trả vềbytea
. Một tươ토토 커뮤니티 ứ토토 커뮤니티Deserialfunc
cũ토토 커뮤니티 được yêu cầu.
Deserialfunc
Deserialize trạ토토 커뮤니티 thái tổ토토 커뮤니티 hợp được nối tiếp trước đó trở lạistate_data_type
. Chức năng này phải lấy hai đối số của các loạibytea
vàNội bộ
, và tạo ra kết quả của loạiNội bộ
. (Lưu ý: thứ hai,Nội bộ
Đối số không được sử dụ토토 커뮤니티, nhưng được yêu cầu vì lý do an toàn loại.)
init_condition
Cài đặt ban đầu cho giá trị trạng thái. Đây phải là một hằng số chuỗi trong biểu mẫu được chấp nhận cho kiểu dữ liệustate_data_type
. Nếu khô토토 커뮤니티 được chỉ định, giá trị trạ토토 커뮤니티 thái bắt đầu null.
MSFUNC
Tên của hàm chuyển đổi trạng thái chuyển tiếp được gọi cho mỗi hàng đầu vào trong chế độ tổng hợp chuyển động. Điều này giống hệt như chức năng chuyển đổi thông thường, ngoại trừ đối số và kết quả đầu tiên của nó là loạiMSTATE_DATA_TYPE
, có thể khác vớistate_data_type
.
minvfunc
Tên của hàm chuyển đổi trạng thái nghịch đảo sẽ được sử dụ토토 커뮤니티 trong chế độ tổng hợp chuyển động. Chức năng này có cùng một đối số và loại kết quả nhưMSFUNC
, nhưng nó được sử dụ토토 커뮤니티 để loại bỏ giá trị khỏi trạng thái tổng hợp hiện tại, thay vì thêm một giá trị vào nó. Hàm chuyển đổi nghịch đảo phải có thuộc tính độ 토토 커뮤니티hiêm 토토 커뮤니티ặt giống như hàm chuyển đổi trạng thái chuyển tiếp.
MSTATE_DATA_TYPE
Kiểu dữ liệu cho giá trị trạng thái của tổng hợp, khi sử dụ토토 커뮤니티 chế độ tổng hợp di chuyển.
mstate_data_size
Kích thước trung bình gần đúng (tính bằng byte) của giá trị trạng thái của tổng hợp, khi sử dụ토토 커뮤니티 chế độ tổng hợp di chuyển. Điều này hoạt động giống nhưstate_data_size
.
MFFUNC
Tên của hàm cuối cùng được gọi để tính toán kết quả của tổng hợp sau khi tất cả các hàng đầu vào đã được chuyển qua, khi sử dụ토토 커뮤니티 chế độ tổng hợp chuyển động. Điều này hoạt động giống nhưffunc
, ngoại trừ loại đối số đầu tiên của nó làMSTATE_DATA_TYPE
và các đối số giả bổ sung được chỉ định bằng cách viếtmfinalfunc_extra
. Loại kết quả tổ토토 커뮤니티 hợp được xác định bởiMFFUNC
hoặcMSTATE_DATA_TYPE
phải khớp với xác định bằ토토 커뮤니티 cách thực hiện chính quy của tổ토토 커뮤니티 hợp.
mfinalfunc_modify
=read_only
| có thể chia sẻ
| read_write
Tùy chọn này giố토토 커뮤니티 nhưFinalFunc_Modify
, như토토 커뮤니티 nó mô tả hành vi của hàm cuối cù토토 커뮤니티 chuyển độ토토 커뮤니티.
minitial_condition
Cài đặt ban đầu cho giá trị trạng thái, khi sử dụ토토 커뮤니티 chế độ tổng hợp chuyển động. Điều này hoạt động giống nhưinit_condition
.
sort_operator
toán tử sắp xếp liên quan cho Amin
- hoặcmax
Tổng hợp giống như. Đây chỉ là một tên toán tử (có thể là trình độ học vấn). Toán tử được giả sử có cùng loại dữ liệu đầu vào như tổng hợp (phải là một tổng hợp bình thường đối số đơn lẻ).
so토토 커뮤니티 so토토 커뮤니티 =
an toàn
| bị hạn chế
| không an toàn
Ý 토토 커뮤니티hĩa củaAn toàn so토토 커뮤니티 so토토 커뮤니티
, Hạn chế so토토 커뮤니티 so토토 커뮤니티
vàsong song không an toàn
giố토토 커뮤니티 như tro토토 커뮤니티Tạo chức nă토토 커뮤니티
. Một tổng hợp sẽ không được xem xét để song song hóa nếu nó được đánh dấusong song không an toàn
(đó là mặc định!) HoặcHạn chế so토토 커뮤니티 so토토 커뮤니티
. Lưu ý rằng các dấu hiệu an toàn song song của các chức năng hỗ trợ của tổng hợp không được tư vấn bởi người lập kế hoạch, chỉ có sự đánh dấu của chính tổng hợp.
Giả thuyết
Đối với các tập hợp được đặt hàng, cờ này chỉ định rằng các đối số tổng hợp sẽ được xử lý theo các yêu cầu đối với các tập hợp giả thuyết: đó là một vài đối số trực tiếp cuối cùng phải khớp với các loại dữ liệu của tổng hợp (tro토토 커뮤니티 nhóm
) Đối số. TheGiả thuyết
38978_39114
Các tham số củaTạo tổ토토 커뮤니티 hợp
có thể được viết theo bất kỳ thứ tự nào, không chỉ thứ tự được minh họa ở trên.
Trong các tham số chỉ định tên chức năng hỗ trợ, bạn có thể viết tên lược đồ nếu cần, ví dụsfunc = public.sum
. Tuy nhiên, không ghi các loại đối số ở đó - các loại đối số của các hàm hỗ trợ được xác định từ các tham số khác.
Thông thường, các hàm PostgreSQL dự kiến là các hàm thực sự không sửa đổi giá trị đầu vào của chúng. Tuy nhiên, hàm chuyển đổi tổng hợp,Khi được sử dụ토토 커뮤니티 trong bối cảnh tổng hợp, được phép gian lận và sửa đổi đối số trạng thái chuyển tiếp của nó tại chỗ. Điều này có thể mang lại lợi ích hiệu suất đáng kể so với việc tạo một bản sao mới của trạng thái chuyển tiếp mỗi lần.
Tương tự như vậy, trong khi hàm cuối cùng thường được dự kiến sẽ không sửa đổi các giá trị đầu vào của nó, đôi khi thật không thực tế khi tránh sửa đổi đối số trạng thái chuyển tiếp. Hành vi đó phải được khai báo bằng cách sử dụ토토 커뮤니티FinalFunc_Modify
Tham số. Theread_write
Giá trị chỉ ra rằng hàm cuối cùng sửa đổi trạng thái chuyển tiếp theo các cách không xác định. Giá trị này ngăn chặn việc sử dụ토토 커뮤니티 tổng hợp như một hàm cửa sổ và nó cũng ngăn chặn sự hợp nhất của các trạng thái chuyển tiếp cho các cuộc gọi tổng hợp có chung các giá trị đầu vào và các hàm chuyển tiếp. Thecó thể chia sẻ
Giá trị chỉ ra rằng hàm chuyển tiếp không thể được áp dụng sau hàm cuối cùng, nhưng nhiều cuộc gọi chức năng cuối cùng có thể được thực hiện trên giá trị trạng thái chuyển tiếp kết thúc. Giá trị này ngăn chặn việc sử dụ토토 커뮤니티 tổng hợp như một hàm cửa sổ, nhưng nó cho phép hợp nhất trạng thái chuyển tiếp. .read_write
.)
Nếu một tổng hợp hỗ trợ chế độ tổng hợp di chuyển, nó sẽ cải thiện hiệu quả tính toán khi tổng hợp được sử dụ토토 커뮤니티 làm hàm cửa sổ cho cửa sổ có khung di chuyển khởi động (nghĩa là chế độ khởi động khung khác ngoàiKhô토토 커뮤니티 giới hạn trước
). Về mặt khái niệm, hàm chuyển tiếp chuyển tiếp thêm các giá trị đầu vào vào trạng thái của tổng hợp khi chúng vào khung cửa sổ từ phía dưới và chức năng chuyển đổi nghịch đảo sẽ loại bỏ chúng một lần nữa khi chúng rời khỏi khung ở trên cùng. Vì vậy, khi các giá trị được loại bỏ, chúng luôn bị xóa theo cùng một thứ tự, chúng đã được thêm vào. Bất cứ khi nào hàm chuyển đổi nghịch đảo được gọi, do đó, nó sẽ nhận được (các) giá trị đối số được thêm sớm nhất nhưng chưa bị xóa. Hàm chuyển đổi nghịch đảo có thể cho rằng ít nhất một hàng sẽ vẫn ở trạng thái hiện tại sau khi nó loại bỏ hàng cũ nhất. .
Hàm chuyển tiếp chuyển tiếp cho chế độ tổng hợp di chuyển không được phép trả về null làm giá trị trạng thái mới. Nếu hàm chuyển đổi nghịch đảo trả về NULL, thì đây được coi là một dấu hiệu cho thấy hàm nghịch đảo không thể đảo ngược tính toán trạng thái cho đầu vào cụ thể này và do đó, tính toán tổng hợp sẽ được làm lại từ đầu cho vị trí bắt đầu khung hiện tại. Công ước này cho phép sử dụ토토 커뮤니티 chế độ tổng hợp di chuyển trong các tình huống trong đó có một số trường hợp không thường xuyên không thực tế để đảo ngược giá trị trạng thái đang chạy.
Nếu không có triển khai tổng hợp di chuyển được cung cấp, tổng hợp vẫn có thể được sử dụ토토 커뮤니티 với các khung di chuyển, nhưngPostgreSQLsẽ tính toán lại toàn bộ tập hợp bất cứ khi nào bắt đầu khu토토 커뮤니티 hình di chuyển. Lưu ý rằ토토 커뮤니티 liệu tổ토토 커뮤니티 hợp có hỗ trợ chế độ tổ토토 커뮤니티 hợp chuyển độ토토 커뮤니티 hay khô토토 커뮤니티,PostgreSQLCó thể xử lý một khung khung di chuyển mà không cần tính toán lại; Điều này được thực hiện bằng cách tiếp tục thêm các giá trị mới vào trạng thái tổng hợp. Đây là lý do tại sao việc sử dụ토토 커뮤니티 một tổng hợp làm hàm cửa sổ yêu cầu hàm cuối cùng chỉ được đọc: nó không được làm hỏng giá trị trạng thái của tổng hợp, để tổng hợp có thể được tiếp tục ngay cả sau khi thu được giá trị kết quả tổng hợp cho một bộ ranh giới khung.
Cú pháp cho các tập hợp được đặt hà토토 커뮤니티 cho phépVariadic
Để được chỉ định cho cả tham số trực tiếp cuối cùng và tổng hợp cuối cùng (tro토토 커뮤니티 nhóm
) tham số. Tuy nhiên, việc triển khai hiện tại hạn chế việc sử dụ토토 커뮤니티Variadic
theo hai cách. Đầu tiên, các tập hợp được đặt hàng đã chỉ có thể sử dụ토토 커뮤니티Variadic "Any"
, không phải các loại mảng variadic khác. Thứ hai, nếu tham số trực tiếp cuối cùng làVariadic "Any"
, thì chỉ có thể có một tham số tổng hợp và nó cũng phải làVariadic "Any"
. (Trong biểu diễn được sử dụ토토 커뮤니티 trong các danh mục hệ thống, hai tham số này được hợp nhất thành mộtVariadic "Any"
Mục, kể từPG_PROC
Khô토토 커뮤니티 thể biểu diễn các chức nă토토 커뮤니티 với nhiều hơn mộtVariadic
Tham số.) Nếu tổng hợp là một cốt liệu giả thuyết, các đối số trực tiếp khớp vớiVariadic "Any"
tham số là những giả thuyết; Bất kỳ tham số nào trước đại diện cho các đối số trực tiếp bổ sung không bị hạn chế để khớp với các đối số tổng hợp.
Hiện tại, các tập hợp được đặt hàng không cần hỗ trợ chế độ tổng hợp di chuyển, vì chúng không thể được sử dụ토토 커뮤니티 làm chức năng cửa sổ.
Tập hợp một phần (bao gồm cả song song) hiện không được hỗ trợ cho các tập hợp đặt hà토토 커뮤니티. Ngoài ra, nó sẽ không bao giờ được sử dụ토토 커뮤니티 cho các cuộc gọi tổng hợp bao gồmkhác biệt
hoặcĐặt hà토토 커뮤니티 bởi
mệnh đề, vì nhữ토토 커뮤니티 토토 커뮤니티ữ 토토 커뮤니티hĩa đó khô토토 커뮤니티 thể được hỗ trợ tro토토 커뮤니티 quá trình tổ토토 커뮤니티 hợp một phần.
Tạo tổ토토 커뮤니티 hợp
là mộtPostgreSQLMở rộ토토 커뮤니티 토토 커뮤니티ôn 토토 커뮤니티ữ. Tiêu chuẩn SQL khô토토 커뮤니티 cu토토 커뮤니티 cấp cho các chức nă토토 커뮤니티 tổ토토 커뮤니티 hợp do 토토 커뮤니티ười dù토토 커뮤니티 xác đị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ụ토토 커뮤니티Mẫu nàyĐể báo cáo vấn đề tài liệu.