Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài liệu 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 một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

Chương 39. kèo bóng đá pháp chủ Giao diện

Mục lục
39.1.kèo bóng đá pháp Chức năng
spi_connect-- kết nối một thủ tục cho kèo bóng đá pháp quản lý SPI
spi_finish-Ngắt kết nối một thủ tục từ kèo bóng đá pháp quản lý SPI
spi_push-Đẩy Spi ngăn xếp để cho phép sử dụng SPI đệ quy
spi_pop-Pop Spi Stack để trở lại từ việc sử dụng SPI đệ quy
SPI_EXECUTE-Thực thi một lệnh
SPI_EXEC-Thực hiện a Lệnh đọc/ghi
spi_prepare-- chuẩn bị một kế hoạch cho một lệnh, mà không cần thực hiện nó
spi_getargcount-- trở lại số lượng đối số cần thiết bởi một kế hoạch được chuẩn bị bởispi_prepare
SPI_GetArgTypeID-- trở lại Kiểu dữ liệu oid cho một đối số của một kế hoạch được chuẩn bị bởispi_prepare
SPI_IS_CURSOR_PLAN-- trở lạiTRUENếu một kế hoạch được chuẩn bị bởispi_preparecó thể được sử dụng vớispi_cursor_open
SPI_EXECUTE_PLAN-Thực thi một kế hoạch được chuẩn bị bởispi_prepare
SPI_EXECP-Thực hiện a kèo bóng đá pháp kế hoạch trong chế độ đọc/ghi
SPI_CURSOR_OPEN-- bộ lên một con trỏ bằng cách sử dụng một kế hoạch được tạo bằng13122_13135
spi_cursor_find-- tìm thấy một con trỏ hiện có theo tên
spi_cursor_fetch-- tìm về một số hàng từ con trỏ
spi_cursor_move-- di chuyển một con trỏ
spi_cursor_close13633_13673
spi_saveplan-- cứu một kế hoạch
39.2.PostgreSQL: soi kèo bóng đá truoctran liệu:
spi_fname-- quyết tâm Tên cột cho số cột được chỉ định
spi_fnumber-- quyết tâm số cột cho tên cột được chỉ định
spi_getValue-- trở lại Giá trị chuỗi của cột được chỉ định
spi_getbinval-- trở lại Giá trị nhị phân của cột được chỉ định
spi_gettype-- trở lại Tên kiểu dữ liệu của cột được chỉ định
spi_gettypeid-- trở lại Kiểu dữ liệuOIDcủa Cột được chỉ định
spi_getRelName-- trở lại Tên của quan hệ được chỉ định
39.3.PostgreSQL: kèo tỷ số bóng
SPI_PALLOC-Phân bổ bộ nhớ trong bối cảnh thực thi trên
SPI_REPALLOC-Reallocate bộ nhớ trong bối cảnh thực thi trên
spi_pfree-- miễn phí bộ nhớ trong bối cảnh thực thi trên
spi_copytuple-- làm một bản sao của một hàng trong bối cảnh thực thi trên
spi_returntuple-- chuẩn bị để trả về một tuple dưới dạng mốc dữ liệu
spi_modifytuple-- tạo nên một hàng bằng cách thay thế các trường đã chọn của một hàng đã cho
spi_freetuple-- miễn phí một hàng được phân bổ trong bối cảnh thực thi trên
spi_freetupable-- miễn phí một bộ hàng được tạo bởiSPI_EXECUTEhoặc chức năng tương tự
SPI_FreePlan-- miễn phí một kế hoạch đã lưu trước đó
39.4.PostgreSQL: Tài liệu: 8.0: Tầm
39.5.Ví dụ

TheGiao diện kèo bóng đá pháp chủ(SPI) cung cấp cho các nhà văn của do người dùng xác địnhCHàm khả năng chạySQLlệnh bên trong các chức năng của họ.SPIIS một tập hợp các chức năng giao diện để đơn giản hóa quyền truy cập vào kèo bóng đá pháp phân tích cú pháp, Người lập kế hoạch, kèo bóng đá pháp tối ưu hóa và Executor.SPICũng không quản lý bộ nhớ.

Lưu ý:Các ngôn ngữ thủ tục có sẵn cung cấp Các phương tiện khác nhau để thực hiện các lệnh SQL từ các thủ tục. Hầu hết Trong số các cơ sở này dựa trên SPI, vì vậy tài liệu này cũng có thể được sử dụng cho người dùng các ngôn ngữ đó.

Để tránh sự hiểu lầm, chúng ta sẽ sử dụng thuật ngữ"Chức năng"Khi chúng ta nói vềSPIHàm kèo bóng đá pháp và"Thủ tục"Đối với chức năng C do người dùng xác định sử dụngSPI.

Lưu ý rằng nếu một lệnh được gọi qua SPI Fails, thì điều khiển sẽ không được trả lại cho thủ tục của bạn. Thay vào đó, giao dịch hoặc trừ trong đó thủ tục thực thi của bạn sẽ được thực hiện mặt sau. (Điều này có vẻ đáng ngạc nhiên khi các chức năng SPI Hầu hết đã ghi lại các quy ước trả lại lỗi. Những thứ kia Các quy ước chỉ áp dụng cho các lỗi được phát hiện trong SPI Tuy nhiên, các chức năng tự Sau một lỗi bằng cách thiết lập kèo bóng đá pháp tự phụ của riêng bạn Các cuộc gọi SPI xung quanh có thể thất bại. Điều này hiện không được ghi lại vì các cơ chế cần thiết vẫn còn trong thông lượng.

SPICác chức năng trả về a Kết quả không âm khi thành công (thông qua số nguyên được trả về giá trị hoặc trong biến toàn cầuspi_result, như được mô tả dưới đây). Về lỗi, a Kết quả âm hoặcnullsẽ là đã trả về.

Các tệp mã nguồn sử dụng SPI phải bao gồm tệp tiêu đềExecutor/spi.h.

19117_19144

Bảng nội dung
spi_connect-- kết nối một thủ tục cho kèo bóng đá pháp quản lý SPI
spi_finish19432_19499
spi_push-Đẩy Spi ngăn xếp để cho phép sử dụng SPI đệ quy
spi_pop-- nhạc pop SPI Stack để trở về từ việc sử dụng SPI đệ quy
SPI_EXECUTE-Thực thi một lệnh
spi_exec-Thực hiện a Lệnh đọc/ghi
spi_prepare-- chuẩn bị một kế hoạch cho một lệnh, mà không cần thực hiện nó
20201_20218-- trở lại số lượng đối số cần thiết bởi một kế hoạch được chuẩn bị bởispi_prepare
SPI_GetArgTypeID-- trở lại Kiểu dữ liệu oid cho một đối số của một kế hoạch được chuẩn bị bởispi_prepare
SPI_IS_CURSOR_PLAN-- trở lạiTRUENếu một kế hoạch được chuẩn bị bởispi_preparecó thể được sử dụng vớispi_cursor_open
SPI_EXECUTE_PLAN-Thực thi một kế hoạch được chuẩn bị bởispi_prepare
SPI_EXECP-Thực hiện a kèo bóng đá pháp kế hoạch trong chế độ đọc/ghi
spi_cursor_open-- bộ lên một con trỏ bằng cách sử dụng một kế hoạch được tạo bằngspi_prepare
spi_cursor_find-- tìm thấy một con trỏ hiện có theo tên
spi_cursor_fetch-- tìm về một số hàng từ con trỏ
spi_cursor_move-- di chuyển một con trỏ
spi_cursor_close-- đóng một con trỏ
spi_saveplan-- cứu một kế hoạch