/* system stuff */ #include <stdio.h> #include <stdlib.h> #include <stdarg.h> #include <unistd.h> #include <fcntl.h> #include <string.h> #include <setjmp.h> /* postgreSQL stuff */ #include "executor/spi.h" #include "commands/trigger.h" #include "utils/elog.h" #include "utils/builtins.h" #include "fmgr.h" #include "access/heapam.h" #include "tcop/tcopprot.h" #include "utils/syscache.h" #include "catalog/pg_proc.h" #include "catalog/pg_type.h" /* perl stuff */ /* * Evil Code Alert * * both posgreSQL and perl try to do 'the right thing' * and provide union semun if the platform doesn't define * it in a system header. * psql uses HAVE_UNION_SEMUN * perl uses HAS_UNION_SEMUN * together, they cause compile errors. * If we need it, the psql headers above will provide it. * So we tell perl that we have it. */ #ifndef HAS_UNION_SEMUN #define HAS_UNION_SEMUN #endif #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "eloglvl.h" MODULE = SPI PREFIX = elog_ PROTOTYPES: ENABLE VERSIONCHECK: DISABLE void elog_elog(level, message) int level char* message CODE: elog(level, message); int elog_DEBUG() int elog_LOG() int elog_INFO() int elog_NOTICE() int elog_WARNING() int elog_ERROR()