23 #define WIN32IO_IS_STDIO
30 #define PERL_UNUSED_DECL pg_attribute_unused()
57 #define __inline__ inline
62 #define __builtin_expect(expr, val) (expr)
83 #ifdef HAVE_PRAGMA_GCC_SYSTEM_HEADER
84 #pragma GCC system_header
91 #define PERL_NO_GET_CONTEXT
100 #ifdef PG_NEED_PERL_XSUB_H
155 #define vsnprintf pg_vsnprintf
156 #define snprintf pg_snprintf
157 #define vsprintf pg_vsprintf
158 #define sprintf pg_sprintf
159 #define vfprintf pg_vfprintf
160 #define fprintf pg_fprintf
161 #define vprintf pg_vprintf
162 #define printf(...) pg_printf(__VA_ARGS__)
172 #define _(x) dgettext(TEXTDOMAIN, x)
177 #define isnan(x) _isnan(x)
191 #ifndef PG_USE_STDBOOL
199 #define HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \
200 SvUTF8(HeKEY_sv(he)) : \
206 #define GvCV_set(gv, cv) (GvCV(gv) = cv)
210 #if PERL_BCDVERSION >= 0x5019004
211 #define AV_SIZE_MAX SSize_t_MAX
213 #define AV_SIZE_MAX I32_MAX
296 if (SvREADONLY(sv) ||
298 (SvTYPE(sv) > SVt_PVLV && SvTYPE(sv) != SVt_PVFM))
344 return newSVpv(
str, 0);
348 sv = newSVpv(utf8_str, 0);
380 SV *errsv =
get_sv(
"@", GV_ADD);
384 ssv = mess(
"%s", utf8_str);
389 sv_setsv(errsv, ssv);
static void PGresult * res
char * pg_any_to_server(const char *s, int len, int encoding)
int GetDatabaseEncoding(void)
char * pg_server_to_any(const char *s, int len, int encoding)
char * pstrdup(const char *in)
void pfree(void *pointer)
void plperl_return_next(SV *)
HV * plperl_spi_exec(char *, int)
void plperl_spi_cursor_close(char *)
char * plperl_sv_to_literal(SV *, char *)
void plperl_spi_rollback(void)
SV * plperl_spi_query(char *)
SV * plperl_spi_prepare(char *, int, SV **)
SV * plperl_spi_query_prepared(char *, int, SV **)
static SV * cstr2sv(const char *str)
HV * plperl_spi_exec_prepared(char *, HV *, int, SV **)
static void croak_cstr(const char *str)
static char * utf_e2u(const char *str)
SV * plperl_spi_fetchrow(char *)
static char * utf_u2e(char *utf8_str, size_t len)
static char * sv2cstr(SV *sv)
void plperl_util_elog(int level, SV *msg)
void plperl_spi_commit(void)
void plperl_spi_freeplan(char *)
#define SvREFCNT_inc_simple_void(sv)