SPI_freetuptable
SPI_freetuptable â оÑвободиÑÑ Ð½Ð°Ð±Ð¾Ñ ÑÑÑок, ÑозданнÑй SPI_execute или подобной ÑÑнкÑией
СинÑакÑиÑ
void SPI_freetuptable(SPITupleTable * tuptable)ÐпиÑание
SPI_freetuptable оÑÐ²Ð¾Ð±Ð¾Ð¶Ð´Ð°ÐµÑ Ð½Ð°Ð±Ð¾Ñ ÑÑÑок, ÑозданнÑÑ
пÑедÑдÑÑей ÑÑнкÑией SPI вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´, напÑÐ¸Ð¼ÐµÑ SPI_execute. Таким обÑазом, пÑи вÑзове ÑÑой ÑÑнкÑии в каÑеÑÑве аÑгÑменÑа ÑаÑÑо пеÑедаÑÑÑÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑÐ½Ð°Ñ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ SPI_tuptable.
ÐÑа ÑÑнкÑÐ¸Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°, когда ÑÑнкÑÐ¸Ñ Ð½Ð° C, иÑполÑзÑÑÑÐ°Ñ SPI, должна вÑполниÑÑ Ð½ÐµÑколÑко команд, но не Ñ
оÑÐµÑ ÑоÑ
ÑанÑÑÑ ÑезÑлÑÑаÑÑ Ð¿ÑедÑдÑÑиÑ
команд до завеÑÑениÑ. ÐамеÑÑÑе, ÑÑо лÑбÑе не оÑвобождÑннÑе Ñаким обÑазом набоÑÑ ÑÑÑок бÑдÑÑ Ð²ÑÑ Ñавно оÑÐ²Ð¾Ð±Ð¾Ð¶Ð´ÐµÐ½Ñ Ð¿Ñи вÑполнении SPI_finish. ÐÑоме Ñого, еÑли бÑла запÑÑена подÑÑанзакÑиÑ, а заÑем она пÑеÑвалаÑÑ Ð² Ñ
оде вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸ÑполÑзÑÑÑей SPI ÑÑнкÑии, вÑе набоÑÑ ÑÑÑок, ÑозданнÑе в ÑамкаÑ
подÑÑанзакÑии, бÑдÑÑ Ð°Ð²ÑомаÑиÑеÑки оÑвобожденÑ.
ÐаÑÐ¸Ð½Ð°Ñ Ñ PostgreSQL веÑÑии 9.3, SPI_freetuptable ÑодеÑÐ¶Ð¸Ñ Ð·Ð°ÑиÑнÑÑ Ð»Ð¾Ð³Ð¸ÐºÑ, оÑÑилÑÑÑовÑваÑÑÑÑ Ð¿Ð¾Ð²ÑоÑнÑе запÑоÑÑ Ð½Ð° Ñдаление одного и Ñого же набоÑа ÑÑÑок. РпÑедÑдÑÑиÑ
веÑÑиÑÑ
повÑоÑное Ñдаление могло пÑиводиÑÑ Ðº ÑбоÑм.
ÐÑгÑменÑÑ
SPITupleTable *tuptableÑказаÑÐµÐ»Ñ Ð½Ð° Ð½Ð°Ð±Ð¾Ñ ÑÑÑок, коÑоÑÑй нÑжно оÑвободиÑÑ (еÑли NULL, ниÑего не пÑоиÑÑ Ð¾Ð´Ð¸Ñ)