이 섹션에서는 사설 토토 트리거 기능에 대한 인터페이스의 하위 수준 세부정보를 설명합니다. 이 정보는 C에서 사설 토토 트리거 함수를 작성할 때만 필요합니다. 고급 언어를 사용하는 경우 이러한 세부 정보가 자동으로 처리됩니다. 대부분의 경우 C로 사설 토토 트리거를 작성하기 전에 절차적 언어 사용을 고려해야 합니다. 각 절차적 언어 문서에는 해당 언어로 사설 토토 트리거를 작성하는 방법이 설명되어 있습니다.
사설 토토 트리거 기능은 다음을 사용해야 합니다.“버전 1”기능 관리자 인터페이스.
사설 토토 트리거 관리자가 함수를 호출하면 일반 인수가 전달되지 않지만 다음이 전달됩니다.“컨텍스트”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; /* 구문 분석 트리 */
CommandTag 태그; /* 명령 태그 */
EventTriggerData;
여기서 구성원은 다음과 같이 정의됩니다.
유형항상T_EventTriggerData.
사설 토토함수가 호출되는 사설 토토를 설명합니다. 다음 중 하나입니다."ddl_command_start", "ddl_command_end", "sql_drop", "table_rewrite". 참조PostgreSQL : 문서 : 13 : 39.1. 이벤트 토토 사이트 추천 동작 개요이 사건의 의미에 대해.
파싱 트리명령의 구문 분석 트리에 대한 포인터. 자세한 내용은 PostgreSQL 소스 코드를 확인하세요. 구문 분석 트리 구조는 예고 없이 변경될 수 있습니다.
태그사설 토토 트리거가 실행되는 사설 토토와 연관된 명령 태그, 예를 들어"함수 생성".
사설 토토 트리거 함수는 다음을 반환해야 합니다.NULL포인터 (아님SQL null 값, 즉 설정하지 않음isNull참).
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.