PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 39. ��������̽ӿ� | Fast Forward | Next |
PostgreSQL ���洢�������з���洢���� ���ṩ�������ط�����ģ����Ų�ͬ�������ڵ�����ڴ���һ������Ĺ������� ɾ��һ���������ͷ����������ڲ�������ڴ档 ��ˣ�����û��Ҫ���ٶ����Ķ����Ա����ڴ�й©������ֻҪ���������Ļ����� palloc ����صĺ�����"��ǰ"�Ļ����з����ڴ档
SPI_connect ����һ���µĴ洢���������ҽ�����Ϊ��ǰ�Ļ����� SPI_finish�ָ�ǰһ���ڴ滷������ɾ�� SPI_connect �����Ļ����� ��Щ����ȷ������Ĺ����з������ʱ�ڴ��ڹ��̽�β��ʱ�����գ������ڴ�й©��
�����������Ĺ�����Ҫ����һ���ѷ�����ڴ������һ���������õ��������ͣ��� ��ô��Ͳ����� palloc ���䷵�صĶ��� �����Dz��������Ѿ��� SPI �����ϵ�ʱ���������ͼ��ô���� ��ô�ö����� SPI_finish ��ʱ���ͷţ� �����Ĺ��̾Ͳ��ܿɿ��ع�����!
Ҫ���������⣬ʹ�� SPI_palloc ������ķ��ض��� SPI_palloc ��"�ϲ�ִ������"�з���ռ䣬Ҳ���ǵ��� SPI_connect ʱ��ĵ�ǰ�����ڴ滷�����û����Ǵ���Ĺ��̷�����ֵ����ȷ������
�����û�����ӵ� SPI ��ʱ���������SPI_palloc ����Ϊ�ͼ� palloc һ���� ��һ�����̺� SPI ����������֮ǰ����ǰ���ڴ滷�����ϲ�ִ��������������иù���ʹ�� palloc ���� SPI ���ߺ�������Ŀռ䶼������������з���ġ�
�ڵ��� SPI_connect ֮��ǰ�����Ǹù���˽�еģ� �� SPI_connect �����Ļ����� ����ͨ�� palloc/repalloc ���� SPI ���ߺ��������� SPI_copytuple�� SPI_returntuple�� SPI_modifytuple�� �� SPI_palloc�� ������ڴ涼������������з���ġ� ���һ�������� SPI �������Ͽ���ͨ�� SPI_finish������ô��ǰ�����ָ�Ϊ�ϲ�ִ���������� ���������ڸù��̵��ڴ滷���з�����ڴ涼�ͷŵ����Ҳ����ٴ�ʹ�ã�
�����ڱ����������ĺ����������������ӵĺ�δ���ӵĹ�����ʹ�á� ��δ���ӵĹ����У����ǵ���Ϊ���²��ԭʼ��˺�����palloc �ȣ���ͬ��