sp-gistcung cấp một giao diện với mức độ trừu tượng cao, yêu cầu nhà phát triển phương thức truy cập chỉ thực hiện các phương thức cụ thể cho một loại dữ kèo tỷ số bóng đá euro hôm nay nhất định. Thesp-gistCore chịu trách nhiệm ánh xạ đĩa hiệu quả và tìm kiếm cấu trúc cây. Nó cũng quan tâm đến kèo tỷ số bóng đá euro hôm nay cân nhắc đồng thời và ghi nhật ký.
Bộ đôi lá của kèo tỷ số bóng đá euro hôm naysp-gistCây chứa các giá trị của cùng loại dữ kèo tỷ số bóng đá euro hôm nay với cột được lập chỉ mục. Bộ dữ kèo tỷ số bóng đá euro hôm nay lá ở mức gốc sẽ luôn chứa giá trị dữ kèo tỷ số bóng đá euro hôm nay được lập chỉ mục ban đầu, nhưng các bộ dữ kèo tỷ số bóng đá euro hôm nay lá ở mức thấp hơn có thể chỉ chứa một biểu diễn nén, chẳng hạn như hậu tố.
Bộ dữ kèo tỷ số bóng đá euro hôm nay bên trong phức tạp hơn, vì chúng là các điểm phân nhánh trong cây tìm kiếm. Mỗi tuple bên trong chứa một tập hợp một hoặc nhiềunút, đại diện cho các nhóm các giá trị lá tương tự. Một nút chứa một đường xuống dẫn đến một phần bên trong cấp độ khác, hoặc vào một danh sách ngắn các bộ dữ kèo tỷ số bóng đá euro hôm nay lá nằm trên cùng một trang chỉ mục.nhãnmô tả nó; Ví dụ, trong kèo tỷ số bóng đá euro hôm nay cây radix, nhãn nút có thể là ký tự tiếp theo của giá trị chuỗi.Phần 65.4.2.) Tùy chọn, kèo tỷ số bóng đá euro hôm nay tuple bên trong có thể cótiền tốGiá trị mô tả tất cả kèo tỷ số bóng đá euro hôm nay thành viên của nó. Trong một cây radix, đây có thể là tiền tố phổ biến của kèo tỷ số bóng đá euro hôm nay chuỗi được đại diện.
kèo tỷ số bóng đá euro hôm nay số thuật toán cây yêu cầu kiến thức về cấp độ (hoặc độ sâu) của tuple hiện tại, vì vậysp-gistCore cung cấp khả năng cho các lớp toán tử để quản lý việc đếm mức trong khi giảm dần cây. Ngoài ra còn có hỗ trợ cho việc xây dựng lại giá trị được biểu diễn tăng dần khi đó là cần thiết và để truyền dữ kèo tỷ số bóng đá euro hôm nay bổ sung (được gọi làGiá trị Traverse) Trong kèo tỷ số bóng đá euro hôm nay lần gốc cây.
Thesp-gistMã cốt lõi chăm sóc kèo tỷ số bóng đá euro hôm nay mục NULL. Mặc dùsp-gistChỉ mục thực hiện kèo tỷ số bóng đá euro hôm nay mục lưu trữ cho kèo tỷ số bóng đá euro hôm nay null trong kèo tỷ số bóng đá euro hôm nay cột được lập chỉ mục, điều này được ẩn khỏi mã lớp toán tử chỉ mục: Không có mục nhập chỉ mục null hoặc điều kiện tìm kiếm sẽ được chuyển đến kèo tỷ số bóng đá euro hôm nay phương thức của lớp toán tử. (Giả định rằngsp-gistNgười vận hành nghiêm ngặt và do đó không thể thành công cho kèo tỷ số bóng đá euro hôm nay giá trị null.) Do đó, kèo tỷ số bóng đá euro hôm nay giá trị null không được thảo luận thêm ở đây.
Có năm phương thức do người dùng xác định là lớp toán tử chỉ mục chosp-gistphải cung cấp và kèo tỷ số bóng đá euro hôm nay là tùy chọn. Tất cả năm phương pháp bắt buộc tuân theo quy ước chấp nhận haiNội bộ
Đối số, trong số đó là một con trỏ tới cấu trúc C chứa kèo tỷ số bóng đá euro hôm nay giá trị đầu vào cho phương thức hỗ trợ, trong khi đối số thứ hai là một con trỏ tới cấu trúc C nơi phải đặt giá trị đầu ra. Bốn trong số kèo tỷ số bóng đá euro hôm nay phương thức bắt buộc chỉ trả vềvoid
, vì tất cả kèo tỷ số bóng đá euro hôm nay kết quả của chúng xuất hiện trong cấu trúc đầu ra; NhưngLeaf_consistent
Ngoài ra trả về ABoolean
Kết quả. kèo tỷ số bóng đá euro hôm nay phương thức không được sửa đổi bất kỳ trường nào của kèo tỷ số bóng đá euro hôm nay cấu trúc đầu vào của chúng.nén
12364_12482
Năm phương thức do người dùng bắt buộc xác định là:
config
12698_12828
TheSQLTuyên bố chức năng phải trông như thế này:
Tạo hàm my_config (nội bộ, nội bộ) trả về void ...
Đối số đầu tiên là kèo tỷ số bóng đá euro hôm nay con trỏ tớispgconfigin
C struct, chứa dữ kèo tỷ số bóng đá euro hôm nay đầu vào cho hàm. Đối số thứ hai là một con trỏ tớispgconfigout
C struct, mà hàm phải điền vào dữ kèo tỷ số bóng đá euro hôm nay kết quả.
typedef struct spgconfigin
Atttype
được thông qua để hỗ trợ các lớp toán tử chỉ số đa hình; Đối với các lớp toán tử loại dữ kèo tỷ số bóng đá euro hôm nay cố định thông thường, nó sẽ luôn có cùng giá trị và do đó có thể bị bỏ qua.
Đối với kèo tỷ số bóng đá euro hôm nay lớp toán tử không sử dụng tiền tố,PrefixType
có thể được đặt thànhVOIDOID
. Tương tự như vậy, đối với kèo tỷ số bóng đá euro hôm nay lớp toán tử không sử dụng nhãn nút,LabelType
có thể được đặt thànhVOIDOID
. CanreturnData
nên được đặt đúng nếu lớp toán tử có khả năng xây dựng lại giá trị chỉ mục được cung cấp ban đầu.LongValuesok
chỉ nên đặt đúng khiatttype
có độ dài thay đổi và lớp toán tử có khả năng phân đoạn kèo tỷ số bóng đá euro hôm nay giá trị dài bằng cách lặp đi lặp lại (xemPhần 65.4.1).
LeafType
thường giống nhưatttype
. Vì lý do tương thích ngược, phương thứcconfig
có thể rời khỏiLeafType
không được hưởng; Điều đó sẽ mang lại hiệu ứng tương tự như cài đặtLeafType
bằngatttype
. Khiatttype
vàLeafType
là khác nhau, sau đó là phương thức tùy chọnnén
phải được cung cấp. Phương phápnén
chịu trách nhiệm chuyển đổi các mốc dữ kèo tỷ số bóng đá euro hôm nay được lập chỉ mục từatttype
đếnLeafType
. Lưu ý: Cả hai chức năng nhất quán sẽ nhận đượcScubskeys
Không thay đổi, mà không chuyển đổi bằng cách sử dụngnén
.
Chọn
Chọn kèo tỷ số bóng đá euro hôm nay phương thức để chèn kèo tỷ số bóng đá euro hôm nay giá trị mới vào kèo tỷ số bóng đá euro hôm nay tuple bên trong.
TheSQLTuyên bố chức năng phải trông như thế này:
Tạo hàm my_choose (nội bộ, nội bộ) trả về void ...
Đối số đầu tiên là con trỏ tớispgchoosein
C struct, chứa dữ kèo tỷ số bóng đá euro hôm nay đầu vào cho hàm. Đối số thứ hai là một con trỏ tớispgchooseout
C struct, mà hàm phải điền vào dữ kèo tỷ số bóng đá euro hôm nay kết quả.
typedef struct spgchoosein
Datum
là dữ kèo tỷ số bóng đá euro hôm nay ban đầu củaspgconfigin
.atttype
Loại được chèn vào chỉ mục.LeafDatum
là giá trị củaspgconfigout
.LeafType
Loại, ban đầu là kết quả của phương thứcnén
Áp dụng choDatum
Khi phương thứcnén
được cung cấp hoặc cùng giá trị vớiDatum
nếu không.Leafdatum
có thể thay đổi ở kèo tỷ số bóng đá euro hôm nay cấp thấp hơn của cây nếuChọn
hoặcpicksplit
Phương pháp thay đổi nó. Khi tìm kiếm chèn đạt đến kèo tỷ số bóng đá euro hôm nay trang lá, giá trị hiện tại củaLeafdatum
là những gì sẽ được lưu trữ trong Tuple lá mới được tạo ra.Cấp
là cấp độ Tuple bên trong hiện tại, bắt đầu ở mức 0 cho mức gốc.Allthesame
là đúng nếu bộ tuple bên trong hiện tại được đánh dấu là chứa nhiều nút tương đương (xemPhần 65.4.3).Hasprefix
là đúng nếu bộ tuple bên trong dòng điện chứa tiền tố; Nếu vậy,PrefixDatum
là giá trị của nó.nnodes
là số nút con có trong bộ tuple bên trong vàNodelabels
là một mảng kèo tỷ số bóng đá euro hôm nay giá trị nhãn của chúng hoặc null nếu không có nhãn.
TheChọn
Hàm có thể xác định rằng giá trị mới phù hợp với một trong kèo tỷ số bóng đá euro hôm nay nút con hiện có hoặc nút con mới phải được thêm vào hoặc giá trị mới không phù hợp với tiền tố tuple và do đó, bộ tuple bên trong phải được chia để tạo ra một tiền tố ít hạn chế hơn.
Nếu giá trị mới khớp với một trong kèo tỷ số bóng đá euro hôm nay nút con hiện có, SETresultType
đếnSPGMatchNode
. BộNoden
đến chỉ mục (từ 0) của nút đó trong mảng nút. BộLeveladd
đến mức tăng trongCấp
gây ra bởi việc đi xuống qua nút đó hoặc để nó dưới dạng 0 nếu lớp toán tử không sử dụng cấp. BộrestDatum
đến bằngLeafDatum
Nếu lớp toán tử không sửa đổi dữ kèo tỷ số bóng đá euro hôm nay từ cấp này sang cấp độ tiếp theo hoặc đặt nó thành giá trị sửa đổi được sử dụng làmLeafDatum
ở cấp độ tiếp theo.
Nếu phải thêm nút con mới, đặtresultType
đếnspgaddnode
. BộNodelabel
đến nhãn sẽ được sử dụng cho nút mới và đặtNoden
đến chỉ mục (từ số 0) để chèn nút vào mảng nút. Sau khi nút đã được thêm vào,Chọn
Hàm sẽ được gọi lại với bộ tuple bên trong được sửa đổi; cuộc gọi đó sẽ dẫn đến kèo tỷ số bóng đá euro hôm naySPGMatchNode
result.
Nếu giá trị mới không phù hợp với tiền tố tuple, setresultType
đếnspgsplittuple
. Hành động này di chuyển tất cả kèo tỷ số bóng đá euro hôm nay nút hiện có thành một bộ tải bên trong cấp thấp hơn và thay thế bộ tuple bên trong hiện có bằng một tuple có một đường xuống duy nhất chỉ vào bộ tu cấp bên trong cấp thấp mới.prefixhasprefix
Để cho biết kèo tỷ số bóng đá euro hôm nay tuple trên mới có nên có tiền tố hay không và nếu vậy được đặtprefixprefixdatum
với giá trị tiền tố. Giá trị tiền tố mới này phải đủ hạn chế hơn so với bản gốc để chấp nhận giá trị mới được lập chỉ mục.prefixnnodes
với số lượng nút cần thiết trong bộ tuple mới và đặtPrefixNodelabels
đến kèo tỷ số bóng đá euro hôm nay mảng palloc'd giữ nhãn của họ hoặc không cần nhãn nếu không cần nhãn nút. Lưu ý rằng tổng kích thước của tuple trên mới phải không quá tổng kích thước của bộ tuple mà nó đang thay thế;Childnoden
đến chỉ mục (từ 0) của nút sẽ liên kết xuống cấp độ bên trong cấp thấp hơn mới. BộPOSTFIXHASPREFIX
23743_23834POSTFIXPREFIXDATUM
với giá trị tiền tố. Sự kết hợp của hai tiền tố này và nhãn của nút đường xuống (nếu có) phải có ý nghĩa tương tự như tiền tố ban đầu, bởi vì không có cơ hội thay đổi nhãn nút được chuyển sang tuple cấp thấp hơn, cũng như không thay đổi bất kỳ mục chỉ mục con nào.Chọn
Hàm sẽ được gọi lại với bộ tuple bên trong thay thế. Cuộc gọi đó có thể trả về kèo tỷ số bóng đá euro hôm nayspgaddnode
Kết quả, nếu không có nút phù hợp nào được tạo bởispgsplittuple
Hành động. Sau cùngChọn
phải trả lạiSPGMatchNode
Để cho phép chèn xuống cấp độ tiếp theo.
picksplit
Quyết định làm thế nào để tạo một bộ ba bên trong mới trên một tập hợp kèo tỷ số bóng đá euro hôm nay bộ dữ
TheSQLTuyên bố chức năng phải trông như thế này:
Tạo hàm my_picksplit (nội bộ, nội bộ) trả về void ...
Đối số đầu tiên là kèo tỷ số bóng đá euro hôm nay con trỏ tớispgpicksplitin
C struct, chứa dữ kèo tỷ số bóng đá euro hôm nay đầu vào cho hàm. Đối số thứ hai là một con trỏ tớispgpicksplitout
C struct, mà hàm phải điền vào dữ kèo tỷ số bóng đá euro hôm nay kết quả.
typedef struct spgpicksplitin
ntuples
là số lượng các bộ dữ kèo tỷ số bóng đá euro hôm nay lá được cung cấp.Datums
là một mảng kèo tỷ số bóng đá euro hôm nay giá trị mốc của chúng làspgconfigout
.LeafType
loại.cấp
là mức hiện tại mà tất cả các bộ dữ kèo tỷ số bóng đá euro hôm nay lá chia sẻ, sẽ trở thành cấp độ của bộ tu tăng bên trong mới.
setHasprefix
Để cho biết kèo tỷ số bóng đá euro hôm nay Tuple bên trong mới có nên có tiền tố hay không và nếu vậy SET SETprefixdatum
với giá trị tiền tố. Bộnnodes
Để chỉ ra số lượng nút mà Tuple bên trong mới sẽ chứa và đặtNodelabels
đến một mảng kèo tỷ số bóng đá euro hôm nay giá trị nhãn của chúng hoặc không cần nhãn nếu không cần nhãn nút. BộMaptuplestonodes
Cho kèo tỷ số bóng đá euro hôm nay mảng cung cấp chỉ mục (từ 0) của nút mà mỗi bộ tuple của lá nên được gán cho. BộLEAFTUPLEDATUMS
đến một mảng các giá trị được lưu trữ trong các bộ dữ kèo tỷ số bóng đá euro hôm nay lá mới (chúng sẽ giống như đầu vàoDatums
Nếu lớp toán tử không sửa đổi dữ kèo tỷ số bóng đá euro hôm nay từ cấp độ này sang cấp độ tiếp theo). Lưu ý rằngPickSplit
Hàm chịu trách nhiệm cho việc palloc'ing theNodelabels
, Maptuplestonodes
vàLEAFTUPLEDATUMS
mảng.
Nếu có nhiều hơn kèo tỷ số bóng đá euro hôm nay tuple được cung cấp, dự kiếnPickSplit
Hàm sẽ phân loại chúng thành nhiều hơn một nút; Nếu không, không thể chia các bộ dữ kèo tỷ số bóng đá euro hôm nay lá trên nhiều trang, đó là mục đích cuối cùng của hoạt động này.PickSplit
Hàm cuối cùng đặt tất cả các bộ dữ kèo tỷ số bóng đá euro hôm nay của lá trong cùng một nút, mã sp-gist lõi sẽ ghi đè quyết định đó và tạo ra một bộ thuật bên trong trong đó các bộ đếm lá được gán ngẫu nhiên cho một số nút được dán nhãn giống hệt nhau. Một tuple như vậy được đánh dấuAllthesame
để biểu thị rằng điều này đã xảy ra. TheChọn
vàInside_consistent
Các chức năng phải được chăm sóc phù hợp với các bộ dữ kèo tỷ số bóng đá euro hôm nay bên trong đó. Nhìn thấyPhần 65.4.3Để biết thêm thông tin.
PickSplit
chỉ có thể được áp dụng cho kèo tỷ số bóng đá euro hôm nay tuple kèo tỷ số bóng đá euro hôm nay lá trong trường hợpconfig
bộ chức năngLongValuesok
Để đúng và giá trị đầu vào lớn hơn kèo tỷ số bóng đá euro hôm nay trang đã được cung cấp. Trong trường hợp này, điểm của hoạt động là loại bỏ kèo tỷ số bóng đá euro hôm nay tiền tố và tạo ra kèo tỷ số bóng đá euro hôm nay giá trị mốc thời gian mới, ngắn hơn.Phần 65.4.1Để biết thêm thông tin.
Inside_consistent
Trả về bộ nút (nhánh) để theo dõi trong quá trình tìm kiếm cây.
TheSQLTuyên bố chức năng phải trông như thế này:
Tạo hàm my_inner_consistent (nội bộ, nội bộ) trả về void ...
Đối số đầu tiên là con trỏ tớispginnerconsistentin
C struct, chứa dữ kèo tỷ số bóng đá euro hôm nay đầu vào cho hàm. Đối số thứ hai là một con trỏ tớispginnerconsistentout
C struct, mà hàm phải điền vào dữ kèo tỷ số bóng đá euro hôm nay kết quả.
Typedef struct spginnerconsistentin
mảngScubskeys
, độ dàiNKEYS
, mô tả (kèo tỷ số bóng đá euro hôm nay) điều kiện tìm kiếm chỉ mục. Những điều kiện này được kết hợp với và - chỉ kèo tỷ số bóng đá euro hôm nay mục chỉ mục đáp ứng tất cả chúng là thú vị.NKEYS
= 0 ngụ ý rằng tất cả kèo tỷ số bóng đá euro hôm nay mục nhập chỉ mục đều thỏa mãn truy vấn.) Thông thường chức năng nhất quán chỉ quan tâm đếnSK_STREGAR
vàsk_argument
kèo tỷ số bóng đá euro hôm nay trường của mỗi mục nhập mảng, tương ứng cung cấp cho toán tử có thể lập chỉ mục và giá trị so sánh. Cụ thể, không cần thiết phải kiểm traSK_FLAGS
Để xem giá trị so sánh có phải là NULL hay không, vì mã lõi SP-Gist sẽ lọc ra kèo tỷ số bóng đá euro hôm nay điều kiện đó. MảngOrderBys
, độ dàiNorderbys
, mô tả kèo tỷ số bóng đá euro hôm nay toán tử đặt hàng (nếu có) theo cách tương tự.Tái thiết
là giá trị được xây dựng lại cho tuple cha mẹ; nó là(Datum) 0
Ở cấp độ gốc hoặc nếuInside_consistent
Hàm không cung cấp giá trị ở cấp cha mẹ.Tái thiết
luôn là củaspgconfigout
.LeafType
loại.TraversalValue
là một con trỏ đến bất kỳ dữ kèo tỷ số bóng đá euro hôm nay truyền tải nào được truyền từ cuộc gọi trước đó củaInside_consistent
Về chỉ số cha mẹ hoặc null ở cấp độ gốc.Traversalmemorycontext
là bối cảnh bộ nhớ để lưu trữ kèo tỷ số bóng đá euro hôm nay giá trị truyền qua đầu ra (xem bên dưới).Cấp
là cấp độ của Tuple bên trong hiện tại, bắt đầu ở mức 0 cho mức gốc.returnData
làTRUE
Nếu cần phải xây dựng lại dữ kèo tỷ số bóng đá euro hôm nay cho truy vấn này; Điều này sẽ chỉ như vậy nếuconfig
chức năng được xác nhậnCanreturnData
. Allthesame
là đúng nếu bộ tuple bên trong hiện tại được đánh dấuTất cả-Same; Trong trường hợp này, tất cả kèo tỷ số bóng đá euro hôm nay nút đều có cùng một nhãn (nếu có) và do đó, tất cả hoặc không ai trong số chúng khớp với truy vấn (xemPhần 65.4.3).Hasprefix
là đúng nếu bộ tple bên trong dòng điện chứa tiền tố; Nếu vậy,prefixdatum
là giá trị của nó.nnodes
là số nút con có trong phần bên trong vàNodelabels
là một mảng của kèo tỷ số bóng đá euro hôm nay giá trị nhãn của chúng hoặc null nếu kèo tỷ số bóng đá euro hôm nay nút không có nhãn.
nnodes
phải được đặt thành số nút con cần được tìm kiếm vàNodenumbers
phải được đặt thành một mảng kèo tỷ số bóng đá euro hôm nay chỉ mục của chúng. Nếu lớp toán tử theo dõi kèo tỷ số bóng đá euro hôm nay cấp, SETLeveladds
đến kèo tỷ số bóng đá euro hôm nay mảng có mức tăng cấp độ cần thiết khi giảm xuống mỗi nút sẽ được truy cập. .Tái thiết
đến một mảng kèo tỷ số bóng đá euro hôm nay giá trị củaspgconfigout
.LeafType
Loại được xây dựng lại cho mỗi nút con được truy cập; Nếu không, rời khỏiTái thiết
như null. Nếu tìm kiếm được đặt hàng được thực hiện, đặtkhoảng cách
đến một mảng kèo tỷ số bóng đá euro hôm nay giá trị khoảng cách theoOrderBys
Mảng (kèo tỷ số bóng đá euro hôm nay nút có khoảng cách thấp nhất sẽ được xử lý trước). Để nó không có gì khác.Giá trị TraverseHồi) đến mức thấp hơn của tìm kiếm cây, đặtTraversalValues
đến một mảng của kèo tỷ số bóng đá euro hôm nay giá trị di chuyển thích hợp, một cho mỗi nút con được truy cập; Nếu không, rời khỏiTraversalValues
như null. Lưu ý rằngInside_consistent
Chức năng chịu trách nhiệm cho việc palloc'ing theNodenumbers
, LevelAdds
, khoảng cách
, Tái thiết
vàTraversalValues
Mảng trong bối cảnh bộ nhớ hiện tại. Tuy nhiên, bất kỳ giá trị truyền qua đầu ra nào cũng được chỉ ra bởiTraversalValues
Mảng phải được phân bổ trongTraversalmemorycontext
. Mỗi giá trị đi qua phải là kèo tỷ số bóng đá euro hôm nay khối palloc'd duy nhất.
Leaf_consistent
Trả về đúng nếu kèo tỷ số bóng đá euro hôm nay tuple lá thỏa mãn truy vấn.
TheSQLTuyên bố chức năng phải trông như thế này:
Tạo hàm my_leaf_consistent (nội bộ, nội bộ) trả về Bool ...
Đối số đầu tiên là con trỏ tớispgleafconsistentin
C struct, chứa dữ kèo tỷ số bóng đá euro hôm nay đầu vào cho hàm. Đối số thứ hai là một con trỏ tớispgleafconsistentout
C struct, mà hàm phải điền vào dữ kèo tỷ số bóng đá euro hôm nay kết quả.
typedef struct spgleafconsistentin
MảngDickkeys
, độ dàiNKEYS
, mô tả (kèo tỷ số bóng đá euro hôm nay) điều kiện tìm kiếm chỉ mục. Những điều kiện này được kết hợp với và - chỉ kèo tỷ số bóng đá euro hôm nay mục chỉ mục thỏa mãn tất cả chúng thỏa mãn truy vấn.NKEYS
= 0 ngụ ý rằng tất cả kèo tỷ số bóng đá euro hôm nay mục nhập chỉ mục đều thỏa mãn truy vấn.) Thông thường chức năng nhất quán chỉ quan tâm đếnSK_Strargety
vàsk_argument
kèo tỷ số bóng đá euro hôm nay trường của mỗi mục nhập mảng, tương ứng cung cấp cho toán tử có thể lập chỉ mục và giá trị so sánh. Cụ thể, không cần thiết phải kiểm traSK_FLAGS
Để xem giá trị so sánh có phải là NULL hay không, vì mã lõi SP-Gist sẽ lọc ra kèo tỷ số bóng đá euro hôm nay điều kiện đó. MảngOrderBys
, độ dàiNorderbys
, mô tả kèo tỷ số bóng đá euro hôm nay toán tử đặt hàng theo cách tương tự.Tái thiết
là giá trị được xây dựng lại cho Tuple cha mẹ; nó là(Datum) 0
Ở cấp độ gốc hoặc nếuInside_consistent
Hàm không cung cấp giá trị ở cấp độ cha mẹ.Tái thiết
luôn là củaspgconfigout
.LeafType
loại.TraversalValue
là một con trỏ tới bất kỳ dữ kèo tỷ số bóng đá euro hôm nay truyền tải nào được truyền từ cuộc gọi trước đó củaInside_consistent
Trên bộ chỉ số cha mẹ hoặc null ở cấp độ gốc.cấp
là mức của Tuple Lá hiện tại, bắt đầu từ 0 cho mức gốc.returnData
làTRUE
Nếu cần dữ kèo tỷ số bóng đá euro hôm nay được xây dựng lại cho truy vấn này; Điều này sẽ chỉ như vậy nếuconfig
chức năng được xác nhậnCanreturnData
. LeafDatum
là giá trị chính củaspgconfigout
.LeafType
Được lưu trữ trong tuple lá hiện tại.
Hàm phải trả vềTRUE
Nếu tuple lá khớp với truy vấn hoặcSai
Nếu không. TrongTRUE
trường hợp, nếureturnData
làTRUE
sau đóLeafValue
phải được đặt thành giá trị củaspgconfigin
.atttype
Loại ban đầu được cung cấp để được lập chỉ mục cho tuple lá này. Cũng,Recheck
có thể được đặt thànhTRUE
Nếu trận đấu không chắc chắn và do đó, kèo tỷ số bóng đá euro hôm nay toán tử phải được ứng dụng lại vào bộ tple heap thực tế để xác minh trận đấu. Nếu tìm kiếm được đặt hàng được thực hiện, đặtkhoảng cách
đến một mảng kèo tỷ số bóng đá euro hôm nay giá trị khoảng cách theoOrderBys
Mảng. Để nó không có gì khác.Tái chế
để đúng. Trong trường hợp này, người thực thi sẽ tính toán khoảng cách chính xác sau khi tìm nạp Tuple từ đống và sẽ sắp xếp lại các bộ dữ kèo tỷ số bóng đá euro hôm nay nếu cần.
Phương thức do người dùng tùy chọn là:
Datum Compress (Datum in)
Chuyển đổi mục dữ kèo tỷ số bóng đá euro hôm nay thành một định dạng phù hợp để lưu trữ vật lý trong một bộ tuple của trang chỉ mục. Nó chấp nhậnspgconfigin
.atttype
Giá trị và trả vềspgconfigout
.LeafType
Giá trị. Giá trị đầu ra không nên được nướng.
Tất cả kèo tỷ số bóng đá euro hôm nay phương thức hỗ trợ SP-Gist thường được gọi trong bối cảnh bộ nhớ ngắn; đó là,currentMemoryContext
sẽ được đặt lại sau khi xử lý mỗi tuple. Do đó, không phải là rất quan trọng để lo lắng về việc mọi thứ bạn palloc.config
Phương pháp là kèo tỷ số bóng đá euro hôm nay ngoại lệ: Nó nên cố gắng tránh rò rỉ bộ nhớ. Nhưng thường làconfig
Phương thức không cần làm gì ngoài việc gán kèo tỷ số bóng đá euro hôm nay hằng số vào cấu trúc tham số truyền.)
Nếu cột được lập chỉ mục thuộc loại dữ kèo tỷ số bóng đá euro hôm nay có thể ghép, đối chiếu chỉ mục sẽ được chuyển cho tất cả các phương thức hỗ trợ, sử dụng tiêu chuẩnpg_get_collation ()
cơ chế.