Tạo tổng tỷ lệ kèo bóng đá - Xác định hàm tổng tỷ lệ kèo bóng đá mới
Tạo [hoặc thay thế] Tổng tỷ lệ kèo bóng đá105PostgreSQL: Tài liệu: 13: Tạo tỷ lệ kèo bóng đá hợp49
([argmode
] [argname
]arg_data_type
[, ...]) (SFUNC
,state_data_type
[, sspace =state_data_size
]ffunc
]CombineFunc
]serialfunc
]Deserialfunc
]init_condition
]MSFUNC
]minvfunc
]MSTATE_DATA_TYPE
]mstate_data_size
]MFFUNC
]minitial_condition
]sort_operator
]tên
([argmode
] [argname
]arg_data_type
[, ...]]argmode
] [argname
]arg_data_type
[, ...]) (sfunc
,,state_data_type
[, sspace =state_data_size
]ffunc
]init_condition
]hoặc cú pháp cũTạo [hoặc thay thế] Tổng tỷ lệ kèo bóng đátên
(base_type
,,SFUNC
,,state_data_type
[, sspace =state_data_size
]ffunc
]CombineFunc
]serialfunc
]Deserialfunc
]init_condition
]MSFUNC
]minvfunc
]MSTATE_DATA_TYPE
]mstate_data_size
]MFFUNC
]minitial_condition
]sort_operator
]
Tạo tổng tỷ lệ kèo bóng đá
Xác định hàm tổng tỷ lệ kèo bóng đá mới.Tạo hoặc thay thế tổng tỷ lệ kèo bóng đá
sẽ xác định hàm tổng tỷ lệ kèo bóng đá mới hoặc thay thế một định nghĩa hiện có. Một số hàm tổng tỷ lệ kèo bóng đá cơ bản và thường được sử dụng được bao gồm trong phân phối;Phần 9,21. Nếu một người định nghĩa các loại mới hoặc cần một hàm tổng tỷ lệ kèo bóng đá chưa được cung cấp, thìTạo tổng tỷ lệ kèo bóng đá
Có thể được sử dụng để cung cấp tỷ lệ kèo bóng đá tính năng mong muốn.
Khi thay thế một định nghĩa hiện có, các loại đối số, loại kết quả và số lượng đối số trực tiếp có thể không được thay đổi. Ngoài ra, định nghĩa mới phải có cùng loại (cốt liệu thông thường, cốt liệu được đặt hàng hoặc tổng tỷ lệ kèo bóng đá tập tỷ lệ kèo bóng đá giả thuyết) như cái cũ.
Nếu một tên lược đồ được đưa ra (ví dụ:Tạo tổng tỷ lệ kèo bóng đá myschema.myagg ...
) Sau đó, hàm tổng tỷ lệ kèo bóng đá đượ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 tỷ lệ kèo bóng đá được xác định bởi tên và loại dữ liệu đầu vào của nó. Hai tập tỷ lệ kèo bóng đá 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ạo chức năng).
Một hàm tổng tỷ lệ kèo bóng đá đơn giản được tạo từ một hoặc hai hàm thông thường: hàm chuyển đổi trạng tháiSFUNC
và Chức năng tính toán cuối cùng tùy chọnffunc
. Chúng được sử dụng như sau:
SFUNC
(trạng thái nội bộ, giá trị dữ liệu tiếp theo) --- trạng thái nội bộ tiếp theoffunc
(trạng thái nội bộ) --- Tổng tỷ lệ kèo bóng đá-giá trị
PostgreSQLTạo một biến tạm thời của kiểu dữ liệuSTYPE
Để giữ trạng thái bên trong hiện tại của tổng tỷ lệ kèo bóng đá. Ở mỗi hàng đầu vào, (các) giá trị đối số tổng tỷ lệ kèo bóng đá đượ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.
Hàm tổng tỷ lệ kèo bóng đá có thể cung cấp một điều kiện ban đầu, nghĩa là giá trị ban đầu cho giá trị trạng thái bên trong. Điều này được chỉ định và lưu trữ trong cơ sở dữ liệu dưới dạng giá trị của loạiText
, nhưng nó phải là một biểu diễn bên ngoài tỷ lệ kèo bóng đá lệ của một hằng số của loại dữ liệu giá trị trạng thái. Nếu nó không được cung cấp thì giá trị trạng thái bắt đầu null.
Nếu chức năng chuyển đổi trạng thái được khai báonghiêm ngặ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 tỷ lệ kèo bóng đá hoạt động như sau.Max
. Lưu ý rằng hành vi này chỉ khả dụng khistate_data_type
giống như đầu tiênarg_data_type
. Khi tỷ lệ kèo bóng đá loại này khác nhau, bạn phải cung cấp một điều kiện ban đầu không liên quan hoặc sử dụng chức năng chuyển tiếp không phải
Nếu hàm chuyển đổi trạng thái không nghiêm ngặ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 tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá.
Nếu hàm cuối cùng được khai báonghiêm ngặ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.AVG
Trả về NULL khi thấy có tỷ lệ kèo bóng đá hàng đầu vào bằng không.
Đôi khi rất hữu ích khi khai báo chức năng cuối cùng là không chỉ lấy giá trị trạng thái, mà là các tham số bổ sung tương ứng với các giá trị đầu vào của tổng tỷ lệ kèo bóng đá. 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ả.FinalFunc_extra
Tùy chọn được sử dụng), nhưng dù sao chúng là các tham số tỷ lệ kèo bóng đá lệ. Chức năng cuối cùng có thể sử dụngGET_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ổng tỷ lệ kèo bóng đá có thể hỗ trợ tùy ýChế độ di chuyển-tổng tỷ lệ kèo bóng đá, như được mô tả trongPhần 37.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ố. Ngoại trừminvfunc
, các tham số này hoạt động giống như các tham số tổng tỷ lệ kèo bóng đá đơn giản tương ứng mà không cóM
; Họ xác định một triển khai riêng của tổng tỷ lệ kèo bóng đá bao gồm hàm chuyển đổi nghịch đảo.
Cú pháp vớiĐặt hàng bởi
Trong danh sách tham số tạo ra một loại tổng tỷ lệ kèo bóng đá đặc biệt được gọi làTổng tỷ lệ kèo bóng đá đơn đặt hàng; hoặc nếuGiả thuyết
được chỉ định, sau đó ATổng tỷ lệ kèo bóng đá giả thuyếtđược tạo. Các tập tỷ lệ kèo bóng đá 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.trực tiếpĐối số, là các đối số chỉ được đánh giá một lần cho mỗi tập tỷ lệ kèo bóng đá thay vì một lần trên mỗi hàng đầu vào. Các tập tỷ lệ kèo bóng đá tập tỷ lệ kèo bóng đá giả thuyết là một lớp con của các tập tỷ lệ kèo bóng đá được đặt hàng trong đó một số đối số trực tiếp được yêu cầu để khớp, trong các loại số và dữ liệu, các cột đối số tổng tỷ lệ kèo bóng đá.VangGiả thuyếtHànghàng.
Một tổng tỷ lệ kèo bóng đá có thể hỗ trợ tùy ýTập tỷ lệ kèo bóng đá một phần, như được mô tả trongPhần 37.12.4. Điều này yêu cầu chỉ địnhCombineFunc
tham số. Nếustate_data_type
làNội bộ
, Nó cũng thường thích tỷ lệ kèo bóng đá để cung cấpserialfunc
vàDeserialfunc
tham số để có thể tập tỷ lệ kèo bóng đá song song. Lưu ý rằng tổng tỷ lệ kèo bóng đá cũng phải được đánh dấuAn toàn song song
để bật tổng tỷ lệ kèo bóng đá song song.
Tổng tỷ lệ kèo bóng đá hoạt động 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 tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 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;
Chọn AGG (col) từ tab;
phải tương đương với:
Chọn Col từ thứ tự tab bằng col bằng cách sử dụng giới hạn loại 1;
Các giả định tiếp theo là tổng tỷ lệ kèo bóng đá bỏ qua các đầu vào null và nó mang lại kết quả null khi 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 tỷ lệ kèo bóng đá chomin
vàlà toán tử sắp xếp thích tỷ lệ kèo bóng đá 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àHồiÍt hơnHồihoặclớ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ổng tỷ lệ kèo bóng đá, bạn phải cósử dụng
Đặc quyền về tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá chức năng hỗ trợ.
tên
Tên (tùy chọn Lược đồ theo trình độ) của hàm tổng tỷ lệ kèo bóng đá để tạo.
argmode
Chế độ của một đối số:in
hoặcVariadic
. (Các chức năng tổng tỷ lệ kèo bóng đá không hỗ trợout
Đối số.) Nếu bỏ qua, mặc định làin
. Chỉ đối số cuối cùng 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.
arg_data_type
Một kiểu dữ liệu đầu vào mà hàm tổng tỷ lệ kèo bóng đá này hoạt động. Để tạo hàm tổng tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá như vậy làCount (*)
.)
base_type
Trong cú pháp cũ choTạo tổng tỷ lệ kèo bóng đá
, 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 tỷ lệ kèo bóng đá. Lưu ý rằng cú pháp này chỉ cho phép một tham số đầu vào.Basetype
AS"Any"
(không*
). Các tập tỷ lệ kèo bóng đá đượ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ổng tỷ lệ kèo bóng đá,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 tỷ lệ kèo bóng đá. 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 tỷ lệ kèo bóng đá đượ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 tỷ lệ kèo bóng đá, 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ạng thái của tổng tỷ lệ kèo bóng đá.
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 tỷ lệ kèo bóng đá. Nếu tham số này bị bỏ qua hoặc bằng không, ước tính mặc định được sử dụng dựa trênstate_data_type
. Người lập kế hoạch sử dụng giá trị này để ước tính bộ nhớ cần thiết cho truy vấn tổng tỷ lệ kèo bóng đá đượ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 tỷ lệ kèo bóng đá sau khi tất cả các hàng đầu vào đã được đi qua. Đối với một tập tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá được định nghĩa là loại trả về của hàm này.ffunc
không được chỉ định, thì giá trị trạng thái kết thúc được sử dụng làm kết quả của tổng tỷ lệ kèo bóng đá và loại trả về làstate_data_type
.
Đối với các tập tỷ lệ kèo bóng đá đượ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 tỷ lệ kèo bóng đá) của tổng tỷ lệ kèo bóng đá. Đ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 tỷ lệ kèo bóng đá khi một tập tỷ lệ kèo bóng đá đ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 tỷ lệ kèo bóng đá đối số của nó không.read_only
Cho biết nó không; Hai giá trị khác chỉ ra rằng nó có thể thay đổi giá trị trạng thái chuyển tiếp.Ghi chúDưới đây để biết thêm chi tiết. Mặc định làread_only
, ngoại trừ các tập tỷ lệ kèo bóng đá đượ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ổng tỷ lệ kèo bóng đá hỗ trợ tập tỷ lệ kèo bóng đá một phần. Nếu được cung cấp,CombineFunc
Phải kết tỷ lệ kèo bóng đá haistate_data_type
Giá trị, mỗi giá trị chứa kết quả của sự kết tỷ lệ kèo bóng đá trên một số tập tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá đang chạy, nó sẽ thêm một trạng thái tổng tỷ lệ kèo bóng đá 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ànghiêm ngặt. Trong trường tỷ lệ kèo bóng đá 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;
cho các hàm tổng tỷ lệ kèo bóng đá cóstate_data_type
làNội bộ
, TheCombineFunc
Không được nghiêm ngặt. Trong trường tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá.
serialfunc
một hàm tổng tỷ lệ kèo bóng đá cóstate_data_type
làNội bộ
chỉ có thể tham gia vào tổng tỷ lệ kèo bóng đá song song nếu nó cóserialfunc
Hàm, phải tuần tự hóa trạng thái tổng tỷ lệ kèo bóng đá 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ương ứngDeserialfunc
cũng được yêu cầu.
Deserialfunc
Deserialize trạng thái tổng tỷ lệ kèo bóng đá đượ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 tỷ lệ kèo bóng đá 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ụng, 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ông được chỉ định, giá trị trạng 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 tỷ lệ kèo bóng đá 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ụng trong chế độ tổng tỷ lệ kèo bóng đá 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ụng để loại bỏ giá trị khỏi trạng thái tổng tỷ lệ kèo bóng đá 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 độ nghiêm ngặ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 tỷ lệ kèo bóng đá, khi sử dụng chế độ tổng tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá, khi sử dụng chế độ tổng tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá sau khi tất cả các hàng đầu vào đã được đi qua, khi sử dụng chế độ tổng tỷ lệ kèo bóng đá di chuyển. Đ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à tỷ lệ kèo bóng đá đối số giả bổ sung được chỉ định bằng cách viếtmfinalfunc_extra
. Loại kết quả tổng tỷ lệ kèo bóng đá được xác định bởimffunc
hoặcMSTATE_DATA_TYPE
phải khớp với xác định bằng cách thực hiện chính quy của tổng tỷ lệ kèo bóng đá.
mfinalfunc_modify
=read_only
| có thể chia sẻ
| read_write
Tùy chọn này giống nhưFinalFunc_Modify
, nhưng nó mô tả hành vi của hàm cuối cùng chuyển động.
minitial_condition
Cài đặt ban đầu cho giá trị trạng thái, khi sử dụng chế độ tổng tỷ lệ kèo bóng đá di chuyển. Đ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 tỷ lệ kèo bóng đá giống như. Đây chỉ là một tên toán tử (có thể là trình độ học vấn).
song song =
an toàn
| bị hạn chế
| không an toàn
Ý nghĩa củaAn toàn song song
, Hạn chế song song
vàsong song không an toàn
giống như trongTạo chức năng. Một tổng tỷ lệ kèo bóng đá 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ế song song
. 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 tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá.
Giả thuyết
Đối với các tập tỷ lệ kèo bóng đá được đặt theo thứ tự, cờ này chỉ định rằng các đối số tổng tỷ lệ kèo bóng đá sẽ được xử lý theo các yêu cầu đối với các tập tỷ lệ kèo bóng đá 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ập tỷ lệ kèo bóng đá (trong nhóm
) Đối số. TheGiả thuyết
38736_38872
tỷ lệ kèo bóng đá tham số củaTạo tổng tỷ lệ kèo bóng đá
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 tỷ lệ kèo bóng đá tham số chỉ định tên hàm 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 tỷ lệ kèo bóng đá loại đối số ở đó - tỷ lệ kèo bóng đá loại đối số của tỷ lệ kèo bóng đá hàm hỗ trợ được xác định từ tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá,Khi được sử dụng trong bối cảnh tổng tỷ lệ kèo bóng đá, đượ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 tỷ lệ kèo bóng đá giá trị đầu vào của nó, đôi khi không thực tế để 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ụngFinalFunc_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ụng tổng tỷ lệ kèo bóng đá như một hàm cửa sổ và nó cũng ngăn chặn sự tỷ lệ kèo bóng đá nhất của các trạng thái chuyển tiếp cho các cuộc gọi tổng tỷ lệ kèo bóng đá có chung các giá trị đầu vào và các hàm chuyển tiếp.có 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ụng tổng tỷ lệ kèo bóng đá như một hàm cửa sổ, nhưng nó cho phép tỷ lệ kèo bóng đá nhất trạng thái chuyển tiếp.read_write
.)
41088_41302không bị ràng buộc 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 tỷ lệ kèo bóng đá 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.
Hàm chuyển tiếp chuyển tiếp cho chế độ tổng tỷ lệ kèo bóng đá di chuyển không được phép trả lại 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 tỷ lệ kèo bóng đá sẽ được làm lại từ đầu cho vị trí bắt đầu khung hiện tại.
Nếu không có triển khai tổng tỷ lệ kèo bóng đá di chuyển được cung cấp, tổng tỷ lệ kèo bóng đá vẫn có thể được sử dụng với các khung di chuyển, nhưngPostgreSQLsẽ tính toán lại toàn bộ tập tỷ lệ kèo bóng đá bất cứ khi nào bắt đầu khung hình di chuyển. Lưu ý rằng liệu tổng tỷ lệ kèo bóng đá có hỗ trợ chế độ tổng tỷ lệ kèo bóng đá chuyển động hay không,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 tỷ lệ kèo bóng đá.
Cú pháp cho các tập tỷ lệ kèo bóng đá được đặt hàng cho phépVariadic
Để được chỉ định cho cả tham số trực tiếp cuối cùng và tổng tỷ lệ kèo bóng đá cuối cùng (trong nhóm
) tham số. Tuy nhiên, việc triển khai hiện tại hạn chế việc sử dụngVariadic
theo hai cách. Đầu tiên, các tập tỷ lệ kèo bóng đá được đặt hàng đã chỉ có thể sử dụngVariadic "Any"
, không phải tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá và nó cũng phải làVariadic "Any"
. (Trong biểu diễn được sử dụng trong các danh mục hệ thống, hai tham số này được tỷ lệ kèo bóng đá nhất thành mộtVariadic "Any"
Mục, kể từPG_PROC
Không thể biểu diễn tỷ lệ kèo bóng đá chức năng với nhiều hơn mộtVariadic
Tham số.) Nếu tổng tỷ lệ kèo bóng đá là một cốt liệu giả thuyết, các đối số trực tiếp phù tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá.
Hiện tại, các tập tỷ lệ kèo bóng đá được đặt hàng không cần hỗ trợ chế độ tổng tỷ lệ kèo bóng đá di chuyển, vì chúng không thể được sử dụng làm chức năng cửa sổ.
Tập tỷ lệ kèo bóng đá một phần (bao gồm cả song song) hiện không được hỗ trợ cho các tập tỷ lệ kèo bóng đá được đặt hàng. Ngoài ra, nó sẽ không bao giờ được sử dụng cho các cuộc gọi tổng tỷ lệ kèo bóng đá bao gồmkhác biệt
hoặcĐặt hàng bởi
mệnh đề, vì những ngữ nghĩa đó không thể được hỗ trợ trong quá trình tổng tỷ lệ kèo bóng đá một phần.
xemPhần 37.12.
Tạo tổng tỷ lệ kèo bóng đá
làPostgreSQLPhần mở rộng ngôn ngữ. Tiêu chuẩn SQL không cung cấp cho các chức năng tổng tỷ lệ kèo bóng đá do người dùng 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ớpMẫu nàyĐể báo cáo vấn đề tài liệu.