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

40.3. C에서 이벤트 토토 핫 함수 작성

이 섹션에서는 이벤트 트리거 기능에 대한 인터페이스의 하위 수준 세부정보를 설명합니다. 이 정보는 C에서 이벤트 트리거 함수를 작성할 때만 필요합니다. 고급 언어를 사용하는 경우 이러한 세부 정보가 자동으로 처리됩니다. 대부분의 경우 C로 이벤트 트리거를 작성하기 전에 절차적 언어 사용을 고려해야 합니다. 각 절차적 언어 문서에는 해당 언어로 이벤트 트리거를 작성하는 방법이 설명되어 있습니다.

이벤트 트리거 기능은 다음을 사용해야 합니다.버전 1함수 관리자 인터페이스.

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

CALLED_AS_EVENT_TRIGGER(fcinfo)

다음으로 확장:

((fcinfo)-컨텍스트 != NULL && IsA((fcinfo)-컨텍스트, EventTriggerData))

이것이 true를 반환하면 전송하는 것이 안전합니다.fcinfo-컨텍스트입력하려면EventTriggerData *그리고 가리키는 것을 활용EventTriggerData구조. 이 기능은 다음과 같아야 합니다.아님변경EventTriggerData구조 또는 그것이 가리키는 데이터.

구조 EventTriggerData다음에 정의됨명령/event_trigger.h:

typedef 구조체 EventTriggerData

    NodeTag 유형;
    const char *이벤트;      /* 이벤트 이름 */
    노드 *parsetree;  /* 구문 분석 트리 */
    const char *태그;        /* 명령 태그 */
 EventTriggerData;

여기서 구성원은 다음과 같이 정의됩니다:

유형

항상T_EventTriggerData.

이벤트

함수가 호출되는 이벤트를 설명합니다. 다음 중 하나입니다."ddl_command_start", "ddl_command_end", "sql_drop", "table_rewrite". 보다PostgreSQL : 문서 : 11 : 40.1. 이벤트 스포츠 토토 동작 개요이 사건의 의미에 대해.

파싱 트리

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

태그

이벤트 트리거가 실행되는 이벤트와 연관된 명령 태그, 예를 들어"함수 생성".

이벤트 트리거 함수는 다음을 반환해야 합니다.NULL포인터 (아님SQL null 값, 즉 설정하지 않음isNull참).