젠 토토 : 문서 : 9.6 : 젠 토토 9.6 | |||
---|---|---|---|
메이저 토토 사이트 : 문서 : 9.6 : LO | PostgreSQL : 문서 : 9.6 : 추가 제공 토토 사이트 추천 | Phụ lục F. Các mô -đun được cung cấp bổ sung | 43_t 스포츠 토토 베트맨t | |
Mô -đun này thực hiện kiểu dữ liệu토토 사이트 추천để biểu diễn nhãn dữ liệu được lưu trữ trong cấu trúc giống như cây phân cấp. Các cơ sở rộng lớn để tìm kiếm qua các cây nhãn được cung cấp.
Anhãnlà một chuỗi các ký tự chữ và số (ví dụ: trong c locale các ký tựA-ZA-Z0-9_được cho phép). Nhãn phải dài dưới 256 ký tự.
ví dụ:42, cá nhân_service
Ađường dẫn nhãnlà một chuỗi không hoặc nhiều nhãn được phân tách bằng các dấu chấm, ví dụL1.L2.L3, đại diện cho một đường dẫn từ gốc của một cây phân cấp đến một nút cụ thể. Độ dài của đường dẫn nhãn không thể vượt quá 65535 nhãn.
Ví dụ:Top.Countries.Europe.Russia
The토토 사이트 추천Mô -đun cung cấp một số loại dữ liệu:
토토 사이트 추천lưu trữ đường dẫn nhãn.
lqueryđại diện cho một mẫu giống như biểu hiện thông thường để kết hợp토토 사이트 추천Giá trị. Một từ đơn giản phù hợp với nhãn đó trong một đường dẫn. Một ký hiệu ngôi sao (*) khớp với các nhãn bằng không hoặc nhiều hơn. Ví dụ:
fookhớp với đường dẫn nhãn chính xácfoo*.foo.*Phù hợp với bất kỳ đường dẫn nhãn nào chứa nhãnfoo*.fooPhù hợp với bất kỳ đường dẫn nhãn nào có nhãn cuối cùng làfoo
Biểu tượng sao cũng có thể được định lượng để hạn chế số lượng chúng có thể khớp:
*nkhớp chính xácnNhãn*n,Trận đấu ít nhấtnNhãn*n,Mít nhất lànnhưng không quáMNhãn*,MKết hợp nhiều nhấtMNhãn - giống như*0,M
Có một số bộ sửa đổi có thể được đặt ở cuối nhãn không sao tronglqueryĐể làm cho nó khớp nhiều hơn là khớp chính xác:
@Ví dụ, phù hợp với trường hợp không nhạy cảmA@MatchesA * Phù hợp với bất kỳ nhãn nào với tiền tố này, ví dụfoo*MatchesFoobar%Kết hợp các từ được viết tắt ban đầu
Hành vi của%hơi phức tạp. Nó cố gắng để phù hợp với các từ hơn là toàn bộ nhãn. Ví dụfoo_bar%Matchesfoo_bar_baznhưng khôngfoo_barbaz. Nếu kết hợp với*, Tiền tố phù hợp áp dụng riêng cho từng từ, ví dụfoo_bar%*khớpfoo1_bar2_baznhưng khôngFOO1_BR2_BAZ.
Ngoài ra, bạn có thể viết một số nhãn có thể sửa đổi được phân tách bằng|(hoặc) để phù hợp với bất kỳ nhãn nào trong số đó và bạn có thể đặt!(không) khi bắt đầu khớp với bất kỳ nhãn nào không khớp với bất kỳ lựa chọn thay thế nào.
Đây là một ví dụ được chú thích củalquery:
Top.*0,2 .Sport*@.! Bóng đá | Tennis.russ*| Tây Ban Nha Một. b. c. d. e.
Truy vấn này sẽ phù hợp với bất kỳ đường dẫn nhãn nào:
Bắt đầu với nhãnTOP
và Next có từ 0 đến hai nhãn trước
Một nhãn bắt đầu với tiền tố không nhạy cảm với trường hợpSport
Sau đó, một nhãn không khớpbóng đácũng khôngTennis
Và sau đó kết thúc bằng một nhãn bắt đầu bằngRusshoặc khớp chính xácTây Ban Nha.
LtxtQueryđại diện cho một mẫu toàn văn-tìm kiếm đầy đủ để phù hợp토토 사이트 추천Giá trị. MỘTltxtqueryGiá trị chứa các từ, có thể với các sửa đổi@, *, %ở cuối; các bộ sửa đổi có ý nghĩa giống như tronglquery. Các từ có thể được kết hợp với&(và),|(hoặc),!(không) và dấu ngoặc đơn. Sự khác biệt chính từlquerylàLtxtQueryphù hợp với các từ mà không liên quan đến vị trí của chúng trong đường dẫn nhãn.
Đây là một ví dụLtxtQuery:
Châu Âu & Nga*@ &! Giao thông vận tải
Điều này sẽ khớp với các đường dẫn có chứa nhãnChâu Âuvà bất kỳ nhãn nào bắt đầu bằngNga(không phân biệt trường hợp), nhưng không phải đường dẫn chứa nhãnGiao thông vận tải. Vị trí của những từ này trong đường dẫn không quan trọng. Ngoài ra, khi%được sử dụng, từ này có thể được khớp với bất kỳ từ nào được phân tách trong một nhãn, bất kể vị trí.
Lưu ý:LtxtQueryCho phép khoảng trắng giữa các ký hiệu, nhưng토토 사이트 추천vàlqueryKhông.
loại토토 사이트 추천Có toán tử so sánh thông thường=, <, <, , <=, =. So sánh sắp xếp theo thứ tự của một cây truyền tải, với những đứa trẻ của một nút được sắp xếp theo văn bản nhãn. Ngoài ra, các toán tử chuyên dụng được hiển thị trongBảng F-14có sẵn.
Bảng F-14.토토 사이트 추천Người vận hành
Nhà điều hành | return | Mô tả |
---|---|---|
토토 사이트 추천 @ 토토 사이트 추천 | Boolean | là đối số trái một tổ tiên bên phải (hoặc bằng)? |
토토 사이트 추천 <@ 토토 사이트 추천 | Boolean | là đối số trái là hậu duệ của bên phải (hoặc bằng)? |
토토 사이트 추천 ~ lquery | Boolean | không토토 사이트 추천khớplquery? |
lquery ~ 토토 사이트 추천 | Boolean | không토토 사이트 추천khớplquery? |
토토 사이트 추천 ? lquery [] | Boolean | không토토 사이트 추천khớp với bất kỳlqueryTrong mảng? |
lquery [] ? 토토 사이트 추천 | Boolean | không토토 사이트 추천khớp với bất kỳlquerytrong mảng? |
토토 사이트 추천 @ LtxtQuery | Boolean | không토토 사이트 추천khớpLtxtQuery? |
LtxtQuery @ 토토 사이트 추천 | Boolean | không토토 사이트 추천khớpltxtquery? |
토토 사이트 추천 || 토토 사이트 추천 | 토토 사이트 추천 | Concatenate토토 사이트 추천đường dẫn |
토토 사이트 추천 || Text | 토토 사이트 추천 | Chuyển đổi văn bản thành토토 사이트 추천và Concatenate |
Text || 토토 사이트 추천 | 토토 사이트 추천 | Chuyển đổi văn bản thành토토 사이트 추천và Concatenate |
토토 사이트 추천 [] @ 토토 사이트 추천 | Boolean | Mảng có chứa tổ tiên của토토 사이트 추천? |
토토 사이트 추천 <@ 토토 사이트 추천 [] | Boolean | Mảng có chứa tổ tiên của토토 사이트 추천? |
토토 사이트 추천 [] <@ 토토 사이트 추천 | Boolean | Mảng có chứa hậu duệ của토토 사이트 추천? |
토토 사이트 추천 @ 토토 사이트 추천 [] | Boolean | mảng có chứa hậu duệ của토토 사이트 추천? |
토토 사이트 추천 [] ~ lquery | Boolean | Mảng có chứa bất kỳ đường dẫn nào khớplquery? |
lquery ~ 토토 사이트 추천 [] | Boolean | mảng có chứa bất kỳ đường dẫn nào khớplquery? |
토토 사이트 추천 [] ? lquery [] | Boolean | không토토 사이트 추천Mảng chứa bất kỳ đường dẫn nào phù hợp với bất kỳlquery? |
lquery [] ? 토토 사이트 추천 [] | Boolean | không토토 사이트 추천Mảng chứa bất kỳ đường dẫn nào khớp với bất kỳlquery? |
토토 사이트 추천 [] @ LtxtQuery | Boolean | mảng có chứa bất kỳ đường dẫn nào khớpLtxtQuery? |
LtxtQuery @ 토토 사이트 추천 [] | Boolean | mảng có chứa bất kỳ đường dẫn nào khớpLtxtQuery? |
토토 사이트 추천 [] ?@ 토토 사이트 추천 | 토토 사이트 추천 | Mục nhập mảng đầu tiên là tổ tiên của토토 사이트 추천; Null nếu không |
토토 사이트 추천 [] ? <@ 토토 사이트 추천 | 토토 사이트 추천 | Mục nhập mảng đầu tiên là hậu duệ của토토 사이트 추천; Null nếu không |
토토 사이트 추천 [] ? ~ lquery | 토토 사이트 추천 | Mục nhập mảng đầu tiên phù hợplquery; Null nếu không |
토토 사이트 추천 [] ?@ LtxtQuery | 토토 사이트 추천 | Mục nhập mảng đầu tiên phù hợpLtxtQuery; Null nếu không |
Người vận hành<@, @, @và~Có các chất tương tự^<@, ^@, ^@, ^~, giống nhau ngoại trừ chúng không sử dụng các chỉ mục. Đây chỉ là hữu ích cho mục đích thử nghiệm.
Các chức năng có sẵn được hiển thị trongBảng F-15.
Bảng F-15.토토 사이트 추천chức năng
chức năng | Loại trả lại | Mô tả | Ví dụ | result |
---|---|---|---|---|
sub토토 사이트 추천 (토토 사이트 추천, int start, int end) |
토토 사이트 추천 | Subpath of토토 사이트 추천từ vị tríBắt đầuđến vị tríkết thúc-1 (đếm từ 0) | Child1 | |
Subpath (토토 사이트 추천, int offset, int len) |
토토 사이트 추천 | Subpath of토토 사이트 추천Bắt đầu tại vị tríOffset, lengthlen. Nếu nhưOffsetlà âm, đường dẫn bắt đầu xa so với cuối đường dẫn. Nếu nhưlenlà âm, để lại nhiều nhãn ra khỏi đầu đường dẫn. | Subpath ('top.child1.child2', 0,2) | top.child1 |
Subpath (토토 사이트 추천, int offset) |
토토 사이트 추천 | Subpath of토토 사이트 추천Bắt đầu tại vị tríOffset, mở rộng đến cuối đường dẫn. Nếu nhưOffsetlà tiêu cực, đường phụ bắt đầu từ cuối đường dẫn. | Subpath ('top.child1.child2', 1) | Child1.child2 |
nlevel (토토 사이트 추천) |
Số nguyên | Số lượng nhãn trong đường dẫn | nlevel ('top.child1.child2') | 3 |
INDEX (토토 사이트 추천 A, 토토 사이트 추천 B) |
Số nguyên | vị trí xuất hiện đầu tiên củaBinA; -1 nếu không tìm thấy | INDEX ('0.1.2.3.5.5.5.6.8.5.6.8', '5.6') | 6 |
INDEX (토토 사이트 추천 A, 토토 사이트 추천 B, INT OFFSET) |
Số nguyên | vị trí xuất hiện đầu tiên củaBinA, Tìm kiếm bắt đầu tạiOffset; tiêu cựcOffsetcó nghĩa là bắt đầu-offsetNhãn từ cuối đường dẫn | INDEX ('0.1.2.3.5.5.5.6.8.5.6.8', '5.6',-4) | 9 |
Text2토토 사이트 추천 (văn bản) |
토토 사이트 추천 | CastTextđến토토 사이트 추천 | ||
토토 사이트 추천2TEXT (토토 사이트 추천) |
Text | Cast토토 사이트 추천đếnText | ||
LCA (토토 사이트 추천, 토토 사이트 추천, ...) |
토토 사이트 추천 | tổ tiên chung dài nhất của các đường dẫn (tối đa 8 đối số được hỗ trợ) | LCA ('1.2.3', '1.2.3.4.5.6') | 1.2 |
LCA (토토 사이트 추천 []) |
토토 사이트 추천 | Tổ tiên chung dài nhất của các đường dẫn trong mảng | LCA (mảng ['1.2.3' :: 토토 사이트 추천, '1.2.3.4']) | 1.2 |
토토 사이트 추천Hỗ trợ một số loại chỉ mục có thể tăng tốc các toán tử được chỉ định:
Chỉ mục B-Tree trên토토 사이트 추천: <, <=, =, =,
Chỉ mục Gist trên토토 사이트 추천: <, <=, =, =, , @, <@, @, ~, ?
Ví dụ về việc tạo một chỉ mục như vậy:
26677_26732
Chỉ mục Gist trên토토 사이트 추천 []: 토토 사이트 추천 [] <@ 토토 사이트 추천, 토토 사이트 추천 @ 토토 사이트 추천 [], @, ~, ?
Ví dụ về việc tạo ra một chỉ mục như vậy:
27046_27107
Lưu ý: Loại chỉ mục này bị mất.
Ví dụ này sử dụng dữ liệu sau (cũng có sẵn trong tệp27353_27382Trong phân phối nguồn):
Tạo thử nghiệm bảng (đường dẫn 토토 사이트 추천); Chèn vào các giá trị kiểm tra ('trên cùng'); Chèn vào các giá trị kiểm tra ('top.science'); Chèn vào các giá trị kiểm tra ('top.science.astronomy'); Chèn vào các giá trị kiểm tra ('top.science.astronomy.astrophysics'); Chèn vào các giá trị kiểm tra ('top.science.astronomy.cosmology'); Chèn vào các giá trị kiểm tra ('top.hobbies'); Chèn vào các giá trị kiểm tra ('top.hobbies.amateurs_astronomy'); Chèn vào các giá trị kiểm tra ('top.collections'); Chèn vào các giá trị kiểm tra ('top.collections.pictures'); Chèn vào các giá trị kiểm tra ('top.collections.pictures.astronomy'); Chèn vào các giá trị kiểm tra ('top.collections.pictures.astronomy.stars'); Chèn vào các giá trị kiểm tra ('top.collections.pictures.astronomy.galaxies'); Chèn vào các giá trị kiểm tra ('top.collections.pictures.astronomy.astronauts'); Tạo chỉ mục path_gist_idx khi kiểm tra bằng gist (đường dẫn); Tạo chỉ mục path_idx khi kiểm tra bằng btree (path);
Bây giờ, chúng ta có một bảngtestĐược điền với dữ liệu mô tả hệ thống phân cấp được hiển thị bên dưới:
Top / | \ Bộ sưu tập sở thích khoa học / | \ Thiên văn học nghiệp dư_astronomy hình ảnh / \ | Vật lý thiên văn học thiên văn học / | \ Galaxies Stars Astronauts
Chúng ta có thể kế thừa:
lTreetest = Chọn đường dẫn từ thử nghiệm trong đó đường dẫn <@ 'top.science'; con đường ---------------------------------------- Top.Science Top.science.Astronomy Top.science.astronomy.astrophysics Top.science.Astronomy.Cosmology (4 hàng)
Đây là một số ví dụ về đường dẫn khớp:
토토 사이트 추천test = Chọn đường dẫn từ bài kiểm tra trong đó đường dẫn ~ '*.Astronomy.*'; con đường --------------------------------------------------- Top.science.Astronomy Top.science.astronomy.astrophysics Top.science.Astronomy.Cosmology Top.collections.pictures.Astronomy Top.collections.pictures.astronomy.stars Top.collections.pictures.astronomy.galaxies Top.collections.pictures.astronomy.astronauts (7 hàng) 토토 사이트 추천test = chọn đường dẫn từ thử nghiệm trong đó đường dẫn ~ '*.! hình ảnh@.*. Thiên văn học.*'; con đường ---------------------------------------- Top.science.Astronomy Top.science.astronomy.astrophysics Top.science.Astronomy.Cosmology (3 hàng)
Đây là một số ví dụ về tìm kiếm văn bản đầy đủ:
토토 사이트 추천test = Chọn đường dẫn từ bài kiểm tra trong đó đường dẫn @ 'astro*% &! Hình ảnh @'; con đường ---------------------------------------- Top.science.Astronomy Top.science.astronomy.astrophysics Top.science.Astronomy.Cosmology Top.hobbies.amateurs_astronomy (4 hàng) 토토 사이트 추천test = chọn đường dẫn từ thử nghiệm trong đó đường dẫn @ 'astro* &! hình ảnh @'; con đường ---------------------------------------- Top.science.Astronomy Top.science.astronomy.astrophysics Top.science.Astronomy.Cosmology (3 hàng)
Xây dựng đường dẫn sử dụng các chức năng:
토토 사이트 추천test = Chọn Subpath (đường dẫn, 0,2) | ? Cột? -------------------------------------------------- Top.science.space.astronomy Top.science.space.astronomy.astrophysics Top.science.space.astronomy.cosmology (3 hàng)
Chúng tôi có thể đơn giản hóa điều này bằng cách tạo hàm SQL chèn nhãn tại một vị trí được chỉ định trong một đường dẫn:
Tạo chức năng INS_LABEL (LTREE, INT, TEXT) Trả về LTREE Như 'Chọn Subpath ($ 1,0, $ 2) || $ 3 || Subpath ($ 1, $ 2); ' Ngôn ngữ SQL bất biến; 토토 사이트 추천test = chọn ins_label (đường dẫn, 2, 'không gian') từ thử nghiệm trong đó đường dẫn <@ 'top.science.astronomy'; INS_Label -------------------------------------------------- Top.science.space.astronomy Top.science.space.astronomy.astrophysics Top.science.space.astronomy.cosmology (3 hàng)
tiện ích mở rộng bổ sung có sẵn để thực hiện các biến đổi cho토토 사이트 추천Loại cho PL/Python. Các tiện ích mở rộng được gọi là토토 사이트 추천_plpythonu, 토토 사이트 추천_PLPYTHON2Uvà토토 사이트 추천_PLPYTHON3U(xemPostgreSQL : 문서 : 9.6 : 롤 토토 2 vs. 롤 토토 3Đối với quy ước đặt tên PL/Python). Nếu bạn cài đặt các biến đổi này và chỉ định chúng khi tạo hàm,토토 사이트 추천Giá trị được ánh xạ vào danh sách Python. (Tuy nhiên, điều ngược lại không được hỗ trợ.)
THẬN TRỌNG |
Được khuyến nghị mạnh mẽ rằng các tiện ích mở rộng biến đổi được cài đặt trong cùng lược đồ với토토 사이트 추천. Nếu không |
Tất cả công việc được thực hiện bởi Teodor Sigaev (<teodor@stack.net
) và Oleg Bartunov (<leg@sai.msu.su
). Nhìn thấyhttp: //www.sai.msu.su/~megera/postgres/gist/Để biết thêm thông tin. Các tác giả xin cảm ơn Eugeny Rodichev vì các cuộc thảo luận hữu ích. Nhận xét và báo cáo lỗi được hoan nghênh.