이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 38.3. C의 스포츠 토토 트리거 기능 작성버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

39.3. C의 이벤트 트리거 기능 작성

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

이벤트 토토 함수는를 사용해야합니다.9다운로드2버전 1기능 관리자 인터페이스.

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

pall_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 *이벤트;      / * 이벤트 이름 */
    노드 *파 세트;  / * 구문 분석 트리 */
    const char *태그;        / * 명령 태그 */
 eventTriggerData;

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

type

항상t_eventtriggerData.

이벤트

함수가 호출되는 이벤트를 설명합니다."DDL_COMMAND_START", "ddl_command_end", "SQL_DROP", "table_rewrite". 보다PostgreSQL : 문서 : 12 : 39.1. 이벤트 토토 캔 동작 개요이 사건의 의미는

Parsetree

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

tag

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

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