9#define POSTGRES_ECPG_INTERNAL
12#include "catalog/pg_type_d.h"
55 for (
i = 0;
i < sqld;
i++)
72 for (
i = 0;
i < sqld;
i++)
222 fname = (
char *) (sqlvar + sqld);
225 ecpg_log(
"ecpg_build_compat_sqlda on line %d sqld = %d\n", line, sqld);
226 sqlda->desc_occ = size;
227 sqlda->sqlvar = sqlvar;
233 sqlda->sqlvar[
i].sqlname = fname;
277 switch (
sqlda->sqlvar[
i].sqltype)
282 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
288 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
294 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
300 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
305 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
310 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
315 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
320 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
331 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
365 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
370 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
375 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
384 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
385 sqlda->sqlvar[
i].sqllen = datalen;
387 sqlda->sqlvar[
i].sqlilongdata =
sqlda->sqlvar[
i].sqldata;
392 ecpg_log(
"ecpg_set_compat_sqlda on line %d row %d col %d %s\n", lineno, row,
i, isnull ?
"IS NULL" :
"IS NOT NULL");
427 ecpg_log(
"ecpg_build_native_sqlda on line %d sqld = %d\n", line,
sqlda->sqld);
466 switch (
sqlda->sqlvar[
i].sqltype)
471 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
477 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
483 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
489 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
494 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
499 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
504 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
509 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
520 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
554 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
559 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
564 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
573 sqlda->sqlvar[
i].sqldata = (
char *)
sqlda + offset;
574 sqlda->sqlvar[
i].sqllen = datalen;
579 ecpg_log(
"ecpg_set_native_sqlda on line %d row %d col %d %s\n", lineno, row,
i, isnull ?
"IS NULL" :
"IS NOT NULL");
bool ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno, enum ECPGttype type, enum ECPGttype ind_type, char *var, char *ind, long varcharsize, long offset, long ind_offset, enum ARRAY_TYPE isarray, enum COMPAT_MODE compat, bool force_indicator)
char * ecpg_alloc(long size, int lineno)
void ecpg_log(const char *format,...) pg_attribute_printf(1
int sqlda_dynamic_type(Oid type, enum COMPAT_MODE compat)
@ ECPGt_unsigned_long_long
Oid PQftype(const PGresult *res, int field_num)
int PQfsize(const PGresult *res, int field_num)
void ECPGset_noind_null(enum ECPGttype type, void *ptr)
void PGTYPESnumeric_free(numeric *var)
numeric * PGTYPESnumeric_from_asc(char *str, char **endptr)
static long sqlda_compat_total_size(const PGresult *res, int row, enum COMPAT_MODE compat)
static void ecpg_sqlda_align_add_size(long offset, int alignment, int size, long *current, long *next)
static long sqlda_common_total_size(const PGresult *res, int row, enum COMPAT_MODE compat, long offset)
struct sqlda_struct * ecpg_build_native_sqlda(int line, PGresult *res, int row, enum COMPAT_MODE compat)
static long sqlda_compat_empty_size(const PGresult *res)
struct sqlda_compat * ecpg_build_compat_sqlda(int line, PGresult *res, int row, enum COMPAT_MODE compat)
static long sqlda_native_empty_size(const PGresult *res)
void ecpg_set_compat_sqlda(int lineno, struct sqlda_compat **_sqlda, const PGresult *res, int row, enum COMPAT_MODE compat)
static long sqlda_native_total_size(const PGresult *res, int row, enum COMPAT_MODE compat)
static int16 value_is_null
void ecpg_set_native_sqlda(int lineno, struct sqlda_struct **_sqlda, const PGresult *res, int row, enum COMPAT_MODE compat)
static int16 value_is_not_null
struct sqlvar_compat * sqlvar