Chapter 39. ��������̽ӿ�

Table of Contents
39.1. �ӿں���
SPI_connect — ����һ�������� SPI ����������������
SPI_finish — ��һ�������� SPI �������Ͽ�
SPI_push — �� SPI ��ջ����ѹջ����������ݹ�� SPI ʹ��
SPI_pop — ���� SPI ��ջ������ݹ� SPI ʹ��
SPI_execute — ִ��һ������
SPI_exec — ִ��һ����/д����
SPI_prepare — Ϊһ������׼��һ���滮��������ִ����
SPI_getargcount — ����һ�� SPI_prepare ׼������׼���ù滮��Ҫ�IJ�������
SPI_getargtypeid — ���� SPI_prepare ׼������׼���ù滮��ָ�������� typeid
SPI_is_cursor_plan — ���һ�� SPI_prepare ׼���Ĺ滮���Ժ� SPI_cursor_open һ��ʹ�ã��򷵻���
SPI_execute_plan — ִ��һ�� SPI_prepare ׼���IJ�ѯ�滮
SPI_execp — �Զ�/дģʽִ��һ��׼���IJ�ѯ�滮
SPI_cursor_open — �� SPI_prepare �����Ĺ滮����һ���α�
SPI_cursor_find — ������Ѱ�Ҳ�ִ��һ���ִ���α�
SPI_cursor_fetch — ��һ���α���ץȡһЩ��
SPI_cursor_move — �ƶ�һ���α�
SPI_cursor_close — �ر�һ���α�
SPI_saveplan — ����һ���滮
39.2. �ӿ�֧�ֺ���
SPI_fname — ��ָ�����ֶα���ж��ֶ�����
SPI_fnumber — �ж��������ֶ������ֶα��
SPI_getvalue — ���������ֶε��ִ�ֵ
SPI_getbinval — ���������ֶεĶ�����ֵ
SPI_gettype — �����������ֶε�����������
SPI_gettypeid — �����������ֶε��������� OID
SPI_getrelname — ����������ϵ������
39.3. �洢������
SPI_palloc — ���ϲ�ִ��������������ڴ�
SPI_repalloc — ���ϲ�ִ�������������·����ڴ�
SPI_pfree — ���ϲ�ִ�����������ͷ��ڴ�
SPI_copytuple — ���ϲ�ִ���߻���������һ���еĿ���
SPI_returntuple — ׼����һ��Ԫ�鵱�� Datum ����
SPI_modifytuple — ͨ���滻һ�������е�ѡ�����ֶδ���һ��
SPI_freetuple — �ͷ����ϲ�ִ���߻���������һ��
SPI_freetuptable — �ͷ�һ���� SPI_execute �������Ƶĺ����������м�
SPI_freeplan — �ͷ�һ��ǰ�汣��Ĺ滮
39.4. ���ݸı�Ŀ�����
39.5. ����

��������̽ӿ� ��SPI�� ���������û������C������������ SQL ��ѯ�������� SPI ��һ�׽ӿں��������ڼ򻯶Է��������滮�����Ż�������ִ�����ķ��ʡ� SPI ������һЩ�ڴ����Ĺ�����

ע��: �������ԵĴ���Ҳ�ṩ��������һЩ�ڹ�����ִ�� SQL ����ķ����� ��Щ�����еĴ󲿷ֱ�����ǻ��� SPI�ģ� �������ĵ����ܻ����Щ���Ե��û�ͬ���а�����

Ϊ�˱�����������ǽ�ʹ��������function�� ������SPI�ӿں����� �����̣�procedure�� �����û��� SPI ����� C ������

ע�⣬һ��ͨ�� SPI ���õ�����ʧ�ܣ���ô���Ʋ��᷵�ص���Ĺ����С� ȡ����֮���ǣ���Ĺ���ִ�����ڵ���������������������ؾ� ����һ�㿴�������ܺ���֣���Ϊ����� SPI �������ĵ��ﶼ�д��󷵻�ϰ�ߡ� ��������Щϰ��ֻ�������� SPI �����Լ��ڲ���⵽�Ĵ��󡣣� ���ǿ���ͨ�������Լ��Ŀ���ʧ�ܵ� SPI ������Χ����һ��������ķ������ڴ���֮��ָ��� Ŀǰ���ǻ�û��д�ⷽ����ĵ�����Ϊ����Ҫ�Ļ�����Ȼ�ڱ仯��

���ִ�гɹ��ˣ�SPI ��������һ���Ǹ���� ������ͨ������һ������ֵ�����ȫ�ֱ���SPI_result� ������������������������ʱ������һ�������� NULL �����

ʹ�� SPI ��Դ�����ļ��������ͷ�ļ� executor/spi.h��

39.1. �ӿں���

Table of Contents
SPI_connect — ����һ�������� SPI ����������������
SPI_finish — ��һ�������� SPI �������Ͽ�
SPI_push — �� SPI ��ջ����ѹջ����������ݹ�� SPI ʹ��
SPI_pop — ���� SPI ��ջ������ݹ� SPI ʹ��
SPI_execute — ִ��һ������
SPI_exec — ִ��һ����/д����
SPI_prepare — Ϊһ������׼��һ���滮��������ִ����
SPI_getargcount — ����һ�� SPI_prepare ׼������׼���ù滮��Ҫ�IJ�������
SPI_getargtypeid — ���� SPI_prepare ׼������׼���ù滮��ָ�������� typeid
SPI_is_cursor_plan — ���һ�� SPI_prepare ׼���Ĺ滮���Ժ� SPI_cursor_open һ��ʹ�ã��򷵻���
SPI_execute_plan — ִ��һ�� SPI_prepare ׼���IJ�ѯ�滮
SPI_execp — �Զ�/дģʽִ��һ��׼���IJ�ѯ�滮
SPI_cursor_open — �� SPI_prepare �����Ĺ滮����һ���α�
SPI_cursor_find — ������Ѱ�Ҳ�ִ��һ���ִ���α�
SPI_cursor_fetch — ��һ���α���ץȡһЩ��
SPI_cursor_move — �ƶ�һ���α�
SPI_cursor_close — �ر�һ���α�
SPI_saveplan — ����һ���滮