như trongBảng 37.8, Btree xác định một chức kèo bóng đá việt nam 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 kèo bóng đá việt nam hỗ trợ so sánh, được đăng ký trongpg_amproc
với chức kèo bóng đá việt nam hỗ trợ số 1 vàAmprocleftType
/AmprocrightType
bằng với các loại dữ kèo bóng đá việt nam bên trái và bên phải để so sánh (nghĩa là, các loại dữ kèo bóng đá việt nam 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 nullA
vàB
và trả vềINT32
Giá trị đó là<
0
, 0
hoặc
0
8271_8279A
<
B
, A
=
B
hoặ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ữ kèo bóng đá việt nam phải được so sánh. Nhìn thấysrc/backend/access/nbtree/nbtcompare.c
cho các ví dụ.
8833_8989pg_get_collation ()
cơ chế.
Tùy chọn, một gia đình vận hành Btree có thể cung cấpSắp xếp hỗ trợ9143_9390src/bao gồm/Utils/sortsupport.h
.
Tùy chọn, một 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ước
vàphạm vi
Offset
sau
Cá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ừ mộtOffset
Giá trị theo cách tương thích với thứ tự dữ kèo bóng đá việt nam của gia đình.
anin_range
Hàm phải có chữ ký
in_range (Val
Type1,cơ sở
Type1,Offset
type2,sub
bool,Bool) trả về bool
Val
vàcơ sở
11013_11160Offset
11206_11327Time_ops
Gia đình cung cấpin_range
Hàm cóOffset
thuộc loạiKhoảng
. Một gia đình có thể cung cấpin_range
Hàm cho bất kỳ loại được hỗ trợ nào và một hoặc nhiềuOffset
Loại. Mỗiin_range
Hàm nên được nhập vàopg_amproc
vớiAmprocleftType
bằngType1
vàAmprocrightType
bằngtype2
.
ngữ nghĩa thiết yếu của mộtin_range
Hàm phụ thuộc vào hai tham số cờ Boolean. Nó sẽ thêm hoặc trừcơ sở
vàOffset
, sau đó so sánhVal
đến kết quả, như sau:
nếu!
sub
và!
, return
Val
=
(cơ sở
+
Offset
)
nếu!
sub
vàít
, returnVal
<=
(cơ sở
+
Offset
)
nếusub
và!
, return
Val
=
(cơ sở
-
Offset
)
nếusub
và, return
Val
<=
(cơ sở
-
Offset
)
Trước khi làm như vậy, chức kèo bóng đá việt nam 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_range
Hàm để mã lõi không cần hiểuÍt hơn 0có nghĩa là cho một loại dữ kèo bóng đá việt nam cụ thể.
Một kỳ vọng bổ sung làin_range
14942_15004cơ sở
+
Offset
hoặccơ sở
-
Offset
15258_15436Vô cựchoặcHồiNANHồi, có thể cần chăm sóc thêm để đảm bảo rằngin_range
S 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_range
Hà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ủaOffset
vàsub
, sau đó:
nếuin_range
với= Đúng là đúng đối với một số
Val1
vàcơ sở
, nó phải đúng với mọiVal2
<=
Val1
với cùng mộtcơ sở
.
nếuin_range
vớiít
= true là sai đối với một sốVal1
vàcơ sở
, nó phải sai cho mỗiVal2
=
Val1
với cùng mộtcơ sở
.
nếuin_range
với17212_17239
Val
vàBase1
, nó phải đúng với mọibase2
=
Base1
với cùng mộtVal
.
nếuin_range
với= true là sai đối với một số
Val
vàBase1
, nó phải sai cho mỗibase2
<=
Base1
với cùng mộtVal
.
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_range
Hàm, sử dụng cơ chế pg_get_collation () tiêu chuẩn.
in_range
Các chức kèo bóng đá việt nam 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.