PostgreSQL: kèo bóng đá hôm | |||
---|---|---|---|
Prev | UP | Phụ lục F. soi kèo bóng đá truoctran mô -đun được cung cấp bổ sung | Tiếp theo |
Thesoi kèo bóng đá truoctranMô-đun cung cấp một số chức năng và toán tử hữu ích để thao tác các soi kèo bóng đá truoctran số nguyên không có null. Ngoài ra còn có hỗ trợ cho các tìm kiếm được lập chỉ mục bằng cách sử dụng một số toán tử.
Tất cả các hoạt động này sẽ gây ra lỗi nếu một soi kèo bóng đá truoctran được cung cấp chứa bất kỳ phần tử null nào.
Nhiều trong số các hoạt động này chỉ hợp lý đối với các soi kèo bóng đá truoctran một chiều. Mặc dù chúng sẽ chấp nhận các soi kèo bóng đá truoctran đầu vào có nhiều kích thước hơn, dữ liệu được xử lý như thể đó là một soi kèo bóng đá truoctran tuyến tính theo thứ tự lưu trữ.
soi kèo bóng đá truoctran chức năng được cung cấp bởisoi kèo bóng đá truoctranMô -đun được hiển thị trongBảng F-10, toán tử trongBảng F-11.
Bảng F-10.soi kèo bóng đá truoctranchức năng
function | Return Type | Mô tả | Ví dụ | result |
---|---|---|---|---|
Icount (int []) |
int | Số phần tử trong soi kèo bóng đá truoctran | icount ('1,2,3' :: int []) | 3 |
Sắp xếp (int [], văn bản dir) |
int [] | Sắp xếp soi kèo bóng đá truoctran -dirphải làASChoặcDesc | Sort ('1,2,3' :: int [], 'desc') | 3,2,1 |
Sắp xếp (int []) |
int [] | Sắp xếp theo thứ tự tăng dần | Sắp xếp (soi kèo bóng đá truoctran [11,77,44]) | 11,44,77 |
sort_asc (int []) |
int [] | Sắp xếp theo thứ tự tăng dần | ||
sort_desc (int []) |
int [] | Sắp xếp theo thứ tự giảm dần | ||
uniq (int []) |
int [] | Xóa soi kèo bóng đá truoctran bản sao liền kề | uniq (sort ('1,2,3,2,1' :: int [])) | 1,2,3 |
idx (int [], int item) |
int | Chỉ mục của phần tử đầu tiên khớpMục(0 nếu không) | IDX (soi kèo bóng đá truoctran [11,22,33,22,11], 22) | 2 |
Subarray (int [], int start, int len) |
int [] | phần của soi kèo bóng đá truoctran bắt đầu ở vị tríBắt đầu, lenElements | Subarray ('1,2,3,2,1' :: int [], 2, 3) | 2,3,2 |
Subarray (int [], int start) |
int [] | phần của soi kèo bóng đá truoctran bắt đầu tại vị tríBắt đầu | Subarray ('1,2,3,2,1' :: int [], 2) | 2,3,2,1 |
intset (int) |
int [] | Tạo soi kèo bóng đá truoctran một phần tử | Intset (42) | 42 |
Bảng F-11.soi kèo bóng đá truoctran13002_13014
Nhà điều hành | return | Mô tả |
---|---|---|
int [] && int [] | Boolean | chồng chéo -TRUENếu soi kèo bóng đá truoctran có ít nhất một phần tử chung |
int [] @ int [] | Boolean | chứa -TRUENếu soi kèo bóng đá truoctran trái chứa soi kèo bóng đá truoctran phải |
int [] <@ int [] | Boolean | chứa -TRUENếu soi kèo bóng đá truoctran trái được chứa trong soi kèo bóng đá truoctran phải |
# int [] | int | Số lượng phần tử trong soi kèo bóng đá truoctran |
int [] # int | int | index (giống nhưidx chức năng) |
int [] + int | int [] | Đẩy phần tử vào soi kèo bóng đá truoctran (thêm nó vào cuối soi kèo bóng đá truoctran) |
int [] + int [] | int [] | Concatenation (soi kèo bóng đá truoctran phải được thêm vào cuối bên trái) |
int [] - int | int [] | Xóa các mục khớp phù hợp với đối số khỏi soi kèo bóng đá truoctran |
int [] - int [] | int [] | Xóa các phần tử của soi kèo bóng đá truoctran phải khỏi trái |
int [] | int | int [] | Liên minh đối số |
int [] | int [] | int [] | Liên minh soi kèo bóng đá truoctran |
int [] & int [] | int [] | Giao lộ của soi kèo bóng đá truoctran |
int [] @@ query_int | Boolean | trueNếu soi kèo bóng đá truoctran thỏa mãn truy vấn (xem bên dưới) |
query_int ~ ~ int [] | Boolean | TRUENếu soi kèo bóng đá truoctran thỏa mãn truy vấn (cong thư của@@) |
(trước PostgreSQL 8.2, toán tử ngăn chặn@và<@được gọi tương ứng@và~. Những cái tên này vẫn có sẵn, nhưng không được dùng và cuối cùng sẽ được nghỉ hưu. Lưu ý rằng soi kèo bóng đá truoctran tên cũ được đảo ngược từ Công ước trước đây là soi kèo bóng đá truoctran loại dữ liệu hình học cốt lõi!)
Người vận hành&&, @và<@tương đương vớiPostgreSQL16033_16279
The@@và~ ~Toán tử kiểm tra xem một soi kèo bóng đá truoctran có thỏa mãnTruy vấn, được biểu thị bằng giá trị của loại dữ liệu chuyên dụngquery_int. MỘTTruy vấnBao gồm các giá trị số nguyên được kiểm tra đối với các phần tử của soi kèo bóng đá truoctran, có thể kết hợp bằng cách sử dụng các toán tử&(và),|(hoặc) và!(không). Điểm số có thể được sử dụng khi cần thiết. Ví dụ: truy vấn1 & (2 | 3)khớp với các soi kèo bóng đá truoctran có chứa 1 và cũng chứa 2 hoặc 3.
soi kèo bóng đá truoctranCung cấp hỗ trợ chỉ mục cho&&, @, <@và@@toán tử, cũng như bình đẳng soi kèo bóng đá truoctran thông thường.
hai lớp toán tử chỉ mục GIST được cung cấp:gist__int_ops(được sử dụng theo mặc định) phù hợp cho soi kèo bóng đá truoctran bộ dữ liệu cỡ nhỏ đến trung bình, trong khigist__intbig_opsSử dụng chữ ký lớn hơn và phù hợp hơn để lập chỉ mục các tập dữ liệu lớn (nghĩa là, các cột chứa một số lượng lớn các giá trị soi kèo bóng đá truoctran riêng biệt). Việc triển khai sử dụng cấu trúc dữ liệu rd-cây với nén mất tích hợp.
Ngoài ra còn có lớp toán tử GIN không mặc địnhGin__int_opsHỗ trợ cùng một toán tử.
17856_17998
- Một tin nhắn có thể nằm trong một hoặc nhiều"Phần"18206_18759
Thư mục nguồn18915_18939chứa bộ kiểm tra điểm chuẩn, có thể chạy đối với cài đặtPostgreSQLMáy chủ. (Nó cũng yêu cầuDBD :: PGsẽ được cài đặt.) Để chạy:
CD .../PRINT/soi kèo bóng đá truoctran/Bench Test CreatedB Kiểm tra PSQL -C "Tạo phần mở rộng soi kèo bóng đá truoctran" ./create_test.pl | Kiểm tra PSQL ./bench.pl
Thebăng ghế.plTập lệnh có nhiều tùy chọn, được hiển thị khi nó được chạy mà không có bất kỳ đối số nào.
Tất cả công việc được thực hiện bởi Teodor Sigaev (<teodor@sigaev.ru
) 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. Andrey Oktyabrski đã làm rất tốt trong việc thêm soi kèo bóng đá truoctran chức năng và hoạt động mới.