mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	*** empty log message ***
This commit is contained in:
		@@ -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:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user