Phiên bản được hỗ trợ:16 / 15 / 14 / 13
Phiên bản không được hỗ trợ:12 / 11
Tài tỷ lệ kèo bóng đá này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng tỷ lệ kèo bóng đá trang chohiện tạiPhiên bản hoặc tỷ lệ kèo bóng đá trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

63.3. tỷ lệ kèo bóng đá

như trongBảng 38.8, Btree xác định một chức tỷ lệ kèo bóng đá hỗ trợ tùy chọn và yêu cầu và hai

Đối với mỗi kết hợp các loại dữ liệu mà họ vận hành Btree cung cấp các toán tử so sánh, nó phải cung cấp chức tỷ lệ kèo bóng đá hỗ trợ so sánh, được đăng ký trongpg_amprocvới chức tỷ lệ kèo bóng đá hỗ trợ số 1 vàAmprocleftType/AmprocrightTypebằng với các loại dữ tỷ lệ kèo bóng đá bên trái và bên phải để so sánh (nghĩa là, các loại dữ tỷ lệ kèo bóng đá tương tự mà các toán tử phù hợp được đăng ký trongpg_amop). Hàm so sánh phải lấy hai giá trị không nullABvà trả vềINT32Giá trị đó là< 0, 0hoặc 0khiA < B, A = BhoặcA B, tương ứng. Một kết quả null không được phép: Tất cả các giá trị của kiểu dữ tỷ lệ kèo bóng đá phải được so sánh.src/backend/access/nbtree/nbtcompare.ccho các ví dụ.

8833_8989pg_get_collation ()cơ chế.

Tùy chọn, tỷ lệ kèo bóng đá gia đình vận hành Btree có thể cung cấpSắp xếp hỗ trợHàm (s), được đăng ký theo hàm hỗ trợ số 2. Các chức tỷ lệ kèo bóng đá này cho phép thực hiện so sánh cho mục đích sắp xếp theo cách hiệu quả hơn so với việc gọi hàm hỗ trợ so sánh. API liên quan đến điều này được xác định trongsrc/bao gồm/Utils/sortsupport.h.

Tùy chọn, tỷ lệ kèo bóng đá họ vận hành Btree có thể cung cấpin_rangeHỗ trợ (s), được đăng ký theo hàm hỗ trợ số 3. Chúng không được sử dụng trong các hoạt động chỉ mục Btree; Thay vào đó, họ mở rộng ngữ nghĩa của gia đình vận hành để nó có thể hỗ trợ các điều khoản cửa sổ chứaphạm vi Offset trướcphạm vi Offset sauCác loại ràng buộc khung (xemPhần 4.2.8). Về cơ bản, thông tin bổ sung được cung cấp là cách thêm hoặc trừ tỷ lệ kèo bóng đáOffsetGiá trị theo cách tương thích với thứ tự dữ tỷ lệ kèo bóng đá của gia đình.

anin_rangeHàm phải có chữ ký

in_range (ValType1,cơ sởType1,Offsettype2,subbool,Bool)

Valcơ sởPhải cùng loại, là tỷ lệ kèo bóng đá trong những loại được họ hỗ trợ bởi gia đình toán tử (tức là, tỷ lệ kèo bóng đá loại mà nó cung cấp tỷ lệ kèo bóng đá thứ tự). Tuy nhiên,Offsetcó thể thuộc tỷ lệ kèo bóng đá loại khác, có thể là tỷ lệ kèo bóng đá loại không được gia đình không hỗ trợ. tỷ lệ kèo bóng đá ví dụ là tích hợpTime_opsGia đình cung cấpin_rangeHàm cóOffsetthuộc loạiKhoảng. tỷ lệ kèo bóng đá gia đình có thể cung cấpin_rangeHàm cho bất kỳ loại được hỗ trợ nào và tỷ lệ kèo bóng đá hoặc nhiềuOffsetLoại. Mỗiin_rangeHàm nên được nhập vàopg_amprocvớiAmprocleftTypebằngType1AmprocrightTypebằngtype2.

ngữ nghĩa thiết yếu của tỷ lệ kèo bóng đáin_rangeHàm phụ thuộc vào hai tham số cờ Boolean. Nó sẽ thêm hoặc trừcơ sởOffset, sau đó so sánhValđến kết quả, như sau:

  • nếu!sub!, returnVal =(cơ sở + Offset)

  • nếu!subít, returnVal <=(cơ sở + Offset)

  • nếusub!, returnVal =(cơ sở - Offset)

  • nếusub, returnVal <=(cơ sở - Offset)

Trước khi làm như vậy, chức tỷ lệ kèo bóng đá nên kiểm tra dấu củaOffset: Nếu nó nhỏ hơn 0, hãy tăng lỗierrcode_invalid_preceding_or_following_size(22013) với văn bản lỗi nhưkích thước trước hoặc sau không hợp lệ trong hàm cửa sổHàng. .in_rangeHàm để mã lõi không cần hiểuÍt hơn 0có nghĩa là cho một loại dữ tỷ lệ kèo bóng đá cụ thể.

tỷ lệ kèo bóng đá kỳ vọng bổ sung làin_rangeCác chức tỷ lệ kèo bóng đá nên, nếu thực tế, tránh ném lỗi nếucơ sở + Offsethoặccơ sở - Offsetsẽ tràn. Kết quả so sánh chính xác có thể được xác định ngay cả khi giá trị đó sẽ nằm ngoài phạm vi của kiểu dữ tỷ lệ kèo bóng đá.Vô cựchoặcHồiNANHồi, có thể cần chăm sóc thêm để đảm bảo rằngin_rangeS kết quả đồng ý với thứ tự sắp xếp bình thường của họ vận hành.

Kết quả củain_rangeHàm phải phù hợp với thứ tự sắp xếp được áp đặt bởi gia đình người vận hành. Để chính xác, đưa ra bất kỳ giá trị cố định nào củaOffsetsub, sau đó:

  • nếuin_rangevới= Đúng là đúng đối với tỷ lệ kèo bóng đá sốVal1cơ sở, nó phải đúng với mọiVal2 <= Val1với cùng tỷ lệ kèo bóng đácơ sở.

  • nếuin_rangevớiít= true là sai đối với tỷ lệ kèo bóng đá sốVal1cơ sở, nó phải sai cho mỗiVal2 = Val1với cùng tỷ lệ kèo bóng đácơ sở.

  • nếuin_rangevới= Đúng là đúng đối với tỷ lệ kèo bóng đá sốValBase1, nó phải đúng với mọibase2 = Base1với cùng tỷ lệ kèo bóng đáVal.

  • nếuin_rangevới= true là sai đối với tỷ lệ kèo bóng đá sốValBase1, nó phải sai cho mỗibase2 <= Base1với cùng tỷ lệ kèo bóng đáVal.

Các câu tương tự với các điều kiện đảo ngược giữ khi= Sai.

Nếu loại được đặt hàng (Type1) có thể có được, đối chiếu thích hợp OID sẽ được chuyển choin_rangeHàm, sử dụng cơ chế pg_get_collation () tiêu chuẩn.

in_rangeCác chức tỷ lệ kèo bóng đá không cần xử lý các đầu vào null và thông thường sẽ được đánh dấu nghiêm ngặt.