SPI_EXECUTE
hoặc chức năng tương tự PostgreSQLPhân bổ bộ nhớ trongbối kèo bóng đá c1 bộ nhớ, cung cấp một phương pháp thuận tiện để quản lý phân bổ được thực hiện ở nhiều nơi khác nhau cần sống trong thời gian khác nhau. Phá hủy một bối kèo bóng đá c1 phát hành tất cả các bộ nhớ được phân bổ trong đó.palloc
và các chức năng liên quan phân bổ bộ nhớ từhiện tạibối kèo bóng đá c1.
spi_connect
Tạo ngữ kèo bóng đá c1 bộ nhớ mới và làm cho nó hiện tại.spi_finish
khôi phục bối kèo bóng đá c1 bộ nhớ hiện tại trước đó và phá hủy bối kèo bóng đá c1 được tạo bởispi_connect
. Những hành động này đảm bảo rằng các phân bổ bộ nhớ thoáng qua được thực hiện bên trong thủ tục của bạn được thu hồi khi thoát thủ tục, tránh rò rỉ bộ nhớ.
13621_13786PalloC
, ít nhất là không trong khi bạn được kết nối với SPI. Nếu bạn thử, đối tượng sẽ được giải quyết bởispi_finish
và thủ tục của bạn sẽ không hoạt động đáng tin cậy. Để giải quyết vấn đề này, hãy sử dụngspi_palloc
Để phân bổ bộ nhớ cho đối tượng trả về của bạn.spi_palloc
phân bổ bộ nhớ trongbối kèo bóng đá c1 thực thi trên, nghĩa là bối kèo bóng đá c1 bộ nhớ hiện tại khispi_connect
được gọi, đây chính xác là bối kèo bóng đá c1 phù hợp cho một giá trị được trả về từ thủ tục của bạn. Một số quy trình tiện ích khác được mô tả trong phần này cũng trả về các đối tượng được tạo trong bối kèo bóng đá c1 thực thi trên.
khispi_connect
được gọi, bối kèo bóng đá c1 riêng tư của thủ tục, được tạo bởispi_connect
, được thực hiện bối kèo bóng đá c1 hiện tại. Tất cả các phân bổ được thực hiện bởiPalloC
, Repalloc
hoặc các hàm tiện ích SPI (trừ khi được mô tả trong phần này) được thực hiện trong bối kèo bóng đá c1 này. Khi một thủ tục ngắt kết nối với Trình quản lý SPI (quaspi_finish
) Bối kèo bóng đá c1 hiện tại được khôi phục về bối kèo bóng đá c1 thực thi trên và tất cả các phân bổ được thực hiện trong bối kèo bóng đá c1 bộ nhớ thủ tục được giải phóng và không thể được sử dụng nữa.