39.3. C의 사설 토토 트리거 기능 작성

이 섹션에서는 사설 토토 트리거 기능에 대한 인터페이스의 낮은 수준 세부 사항에 대해 설명합니다. 이 정보는 사설 토토 트리거 기능을 작성할 때만 필요합니다. 더 높은 수준의 언어를 사용하는 경우 이러한 세부 사항은 처리됩니다. 대부분의 경우 사설 토토 트리거를 작성하기 전에 절차 적 언어를 사용하는 것을 고려해야합니다. 각 절차 언어의 문서화는 해당 언어로 사설 토토 트리거를 작성하는 방법을 설명합니다..

사설 토토 트리거 함수는를 사용해야합니다.버전 1기능 관리자 인터페이스.

사설 토토 트리거 관리자가 함수를 호출하면 일반 인수가 전달되지는 않지만 A 전달됩니다.Context포인터를 가리키는 포인터EventTriggerData구조. C 기능은 매크로를 실행하여 사설 토토 트리거 관리자에서 호출되었는지 여부를 확인할 수 있습니다.

call_as_event_trigger (fcinfo)

로 확장되는 :

((fcinfo)- context! = null && isa ((fcinfo)- context, eventtriggerData)

이것이 진실을 반환하면 캐스트하는 것이 안전합니다fcinfo- 컨텍스트to typeEventTriggerData *EventTriggerData구조. 함수는not변경EventTriggerData구조 또는 그 데이터가 가리키는 데이터.

struct eventtriggerData명령/event_trigger.h:

typedef struct eventtriggerData

    nodetag 유형;
    Const Char *사설 토토;      / * 사설 토토 이름 */
    노드 *파 세트;  / * 구문 분석 트리 */
    명령 태그;        / * 명령 태그 */
 eventTriggerData;

회원이 다음과 같이 정의되는 곳 :

타입

항상t_eventtriggerData.

사설 토토

함수가 호출되는 사설 토토를 설명합니다."DDL_COMMAND_START", "ddl_command_end", "SQL_DROP", "table_rewrite". 보다섹션 39.1이 사건의 의미는

Parsetree

명령의 구문 분석 트리에 대한 포인터. 자세한 내용은 PostgreSQL 소스 코드를 확인하십시오. 구문 분석 트리 구조는 통지없이 변경 될 수 있습니다.

tag

예를 들어 사설 토토 트리거가 실행되는 사설 토토와 관련된 명령 태그"기능 만들기".

사설 토토 트리거 함수는 a를 반환해야합니다.NULL포인터 (notSQL NULL 값, 즉 설정하지 않습니다isnulltrue).

정정 제출

문서에 맞지 않는 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면