mirror of
https://github.com/postgres/postgres.git
synced 2025-05-01 01:04:50 +03:00
*** empty log message ***
This commit is contained in:
parent
6124c674ce
commit
30f16e72a4
@ -1,6 +1,8 @@
|
|||||||
#ifndef POSTGRES_SQLCA_H
|
#ifndef POSTGRES_SQLCA_H
|
||||||
#define POSTGRES_SQLCA_H
|
#define POSTGRES_SQLCA_H
|
||||||
|
|
||||||
|
#define SQLERRMC_LEN 70
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
@ -14,7 +16,7 @@ extern "C"
|
|||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
int sqlerrml;
|
int sqlerrml;
|
||||||
char sqlerrmc[70];
|
char sqlerrmc[SQLERRMC_LEN];
|
||||||
} sqlerrm;
|
} sqlerrm;
|
||||||
char sqlerrp[8];
|
char sqlerrp[8];
|
||||||
long sqlerrd[6];
|
long sqlerrd[6];
|
||||||
|
@ -109,7 +109,7 @@ register_error(long code, char *fmt,...)
|
|||||||
|
|
||||||
sqlca.sqlcode = code;
|
sqlca.sqlcode = code;
|
||||||
va_start(args, fmt);
|
va_start(args, fmt);
|
||||||
vsprintf(sqlca.sqlerrm.sqlerrmc, fmt, args);
|
vsnprintf(sqlca.sqlerrm.sqlerrmc, SQLERRMC_LEN, fmt, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
sqlca.sqlerrm.sqlerrml = strlen(sqlca.sqlerrm.sqlerrmc);
|
sqlca.sqlerrm.sqlerrml = strlen(sqlca.sqlerrm.sqlerrmc);
|
||||||
|
|
||||||
@ -649,7 +649,8 @@ ECPGexecute(struct statement * stmt)
|
|||||||
int nfields,
|
int nfields,
|
||||||
ntuples,
|
ntuples,
|
||||||
act_tuple,
|
act_tuple,
|
||||||
act_field;
|
act_field,
|
||||||
|
isarray;
|
||||||
|
|
||||||
case PGRES_TUPLES_OK:
|
case PGRES_TUPLES_OK:
|
||||||
nfields = PQnfields(results);
|
nfields = PQnfields(results);
|
||||||
@ -678,6 +679,16 @@ ECPGexecute(struct statement * stmt)
|
|||||||
return (false);
|
return (false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
array_query = (char *)ecpg_alloc(strlen("select typelem from pg_type where oid=") + 11, stmt -> lineno);
|
||||||
|
sprintf(array_query, "select typelem from pg_type where oid=%d", PQftype(results, act_field));
|
||||||
|
query = PQexec(stmt->connection->connection, array_query);
|
||||||
|
isarray = 0;
|
||||||
|
if (PQresultStatus(query) == PGRES_TUPLES_OK) {
|
||||||
|
isarray = atol((char *)PQgetvalue(query, 0, 0));
|
||||||
|
ECPGlog("ECPGexecute line %d: TYPE database: %d C: %d array: %s\n", stmt->lineno, PQftype(results, act_field), var->type, isarray ? "yes" : "no");
|
||||||
|
}
|
||||||
|
PQclear(query);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* if we don't have enough space, we cannot read all
|
* if we don't have enough space, we cannot read all
|
||||||
* tuples
|
* tuples
|
||||||
@ -726,14 +737,6 @@ ECPGexecute(struct statement * stmt)
|
|||||||
add_mem(var->value, stmt->lineno);
|
add_mem(var->value, stmt->lineno);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
array_query = (char *)ecpg_alloc(strlen("select typelem from pg_type where oid=") + 11, stmt -> lineno);
|
|
||||||
sprintf(array_query, "select typelem from pg_type where oid=%d", PQftype(results, act_field));
|
|
||||||
query = PQexec(stmt->connection->connection, array_query);
|
|
||||||
if (PQresultStatus(query) == PGRES_TUPLES_OK)
|
|
||||||
ECPGlog("ECPGexecute line %d: TYPE database: %d C: %d array OID: %s\n", stmt->lineno, PQftype(results, act_field), var->type, (char *)PQgetvalue(query, 0, 0));
|
|
||||||
PQclear(query);
|
|
||||||
#endif
|
|
||||||
for (act_tuple = 0; act_tuple < ntuples && status; act_tuple++)
|
for (act_tuple = 0; act_tuple < ntuples && status; act_tuple++)
|
||||||
{
|
{
|
||||||
pval = (char *)PQgetvalue(results, act_tuple, act_field);
|
pval = (char *)PQgetvalue(results, act_tuple, act_field);
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
all: stp.so test1 test2 test3 test4 test5 perftest
|
all: stp.so test1 test2 test3 test4 test5 perftest
|
||||||
|
|
||||||
#LDFLAGS=-g -I /usr/local/pgsql/include -L/usr/local/pgsql/lib -lecpg -lpq -lcrypt
|
#LDFLAGS=-g -I /usr/local/pgsql/include -L/usr/local/pgsql/lib -lecpg -lpq -lcrypt
|
||||||
#LDFLAGS=-g -I../include -I/usr/include/postgresql -L/usr/lib/postgresql -L../lib -lecpg -lpq -lcrypt
|
LDFLAGS=-g -I../include -I/usr/include/postgresql -L/usr/lib/postgresql -L../lib -lecpg -lpq -lcrypt
|
||||||
LDFLAGS=-g -I/usr/include/postgresql -lecpg -lpq -lcrypt
|
#LDFLAGS=-g -I/usr/include/postgresql -lecpg -lpq -lcrypt
|
||||||
|
|
||||||
#ECPG=/usr/local/pgsql/bin/ecpg
|
#ECPG=/usr/local/pgsql/bin/ecpg
|
||||||
#ECPG=../preproc/ecpg -I../include
|
ECPG=../preproc/ecpg -I../include
|
||||||
ECPG=/usr/bin/ecpg -I/usr/include/postgresql
|
#ECPG=/usr/bin/ecpg -I/usr/include/postgresql
|
||||||
|
|
||||||
.SUFFIXES: .pgc .c
|
.SUFFIXES: .pgc .c
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ perftest: perftest.c
|
|||||||
|
|
||||||
stp.so: stp.c
|
stp.so: stp.c
|
||||||
cc -fPIC -I../include -I/usr/include/postgresql -c -o stp.o stp.c
|
cc -fPIC -I../include -I/usr/include/postgresql -c -o stp.o stp.c
|
||||||
ld -Bdynamic -shared -soname stp.so -o stp.so stp.o -lpq -lecpg
|
ld -Bdynamic -shared -soname stp.so -o stp.so stp.o -lpq -lecpg -lc
|
||||||
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user