Tạo tổ토토 커뮤니티 hợp

Tạo tổ토토 커뮤니티 hợp - Xác định hàm tổng hợp mới

Synopsis

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]
)

Mô tả

Tạo tổ토토 커뮤니티 hợpXác định hàm tổ토토 커뮤니티 hợp mới.Tạo hoặc thay thế tổ토토 커뮤니티 hợpsẽ 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ợpcó 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áiSFUNCvà 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_typegiố토토 커뮤니티 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 choAVGTrả 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_extraTù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, minvfuncMSTYPEtham số và tùy chọnMSSPACE, MfinalFunc, mfinalfunc_extra, mfinalfunc_modifyMinitcondtham 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ởiTro토토 커뮤니티 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ỉ địnhCombineFuncTham số. Nếustate_data_typeNội bộ, Nó cũ토토 커뮤니티 thườ토토 커뮤니티 thích hợp để cu토토 커뮤니티 cấpserialfuncDeserialfunctham 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ưminhoặ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 chominlà toán tử sắp xếp thích hợp choMax. 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ợ.

tham số

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ố:inhoặ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 ABasetypetham 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ỉ địnhBasetypeAS"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,SFUNCphải lấyn+1 đối số, đầu tiên là loạistate_data_typevà 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ưffunckhô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_onlyCho 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

TheCombineFuncHà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,CombineFuncphải kết hợp haistate_data_typeCá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.

TheCombineFuncphải được khai báo là lấy hai đối số củastate_data_typevà 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_typeNội bộ, TheCombineFuncKhông được 토토 커뮤니티hiêm 토토 커뮤니티ặt. Trong trường hợp nàyCombineFuncphả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_typeNội bộchỉ có thể tham gia vào tổng hợp song song nếu nó cóserialfuncHàm, phải tuần tự hóa trạ토토 커뮤니티 thái tổ토토 커뮤니티 hợp thành AbyteaGiá 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ươ토토 커뮤니티 ứ토토 커뮤니티Deserialfunccũ토토 커뮤니티 đượ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ạibyteaNộ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_TYPEvà 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ởiMFFUNChoặcMSTATE_DATA_TYPEphả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ặcmaxTổ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토토 커뮤니티song song không an toàngiố토토 커뮤니티 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ết38978_39114

Các tham số củaTạo tổ토토 커뮤니티 hợpcó thể được viết theo bất kỳ thứ tự nào, không chỉ thứ tự được minh họa ở trên.

Ghi chú

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_ModifyTham số. Theread_writeGiá 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ụ토토 커뮤니티Variadictheo 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_PROCKhô토토 커뮤니티 thể biểu diễn các chức nă토토 커뮤니티 với nhiều hơn mộtVariadicTham 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ệthoặcĐặt hà토토 커뮤니티 bởimệnh đề, vì nhữ토토 커뮤니티 토토 커뮤니티ữ 토토 커뮤니티hĩa đó khô토토 커뮤니티 thể được hỗ trợ tro토토 커뮤니티 quá trình tổ토토 커뮤니티 hợp một phần.

Tươ토토 커뮤니티 thích

Tạo tổ토토 커뮤니티 hợplà 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.

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ụ토토 커뮤니티Mẫu nàyĐể báo cáo vấn đề tài liệu.