aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/interfaces/ecpg/ecpglib/Makefile2
-rw-r--r--src/interfaces/ecpg/ecpglib/connect.c6
-rw-r--r--src/interfaces/ecpg/ecpglib/cursor.c261
-rw-r--r--src/interfaces/ecpg/ecpglib/descriptor.c15
-rw-r--r--src/interfaces/ecpg/ecpglib/ecpglib_extern.h21
-rw-r--r--src/interfaces/ecpg/ecpglib/error.c7
-rw-r--r--src/interfaces/ecpg/ecpglib/execute.c25
-rw-r--r--src/interfaces/ecpg/ecpglib/exports.txt4
-rw-r--r--src/interfaces/ecpg/ecpglib/prepare.c266
-rw-r--r--src/interfaces/ecpg/include/ecpgerrno.h1
-rw-r--r--src/interfaces/ecpg/include/ecpglib.h4
-rw-r--r--src/interfaces/ecpg/include/ecpgtype.h7
-rw-r--r--src/interfaces/ecpg/preproc/ecpg.addons77
-rw-r--r--src/interfaces/ecpg/preproc/ecpg.c86
-rw-r--r--src/interfaces/ecpg/preproc/ecpg.header1
-rw-r--r--src/interfaces/ecpg/preproc/ecpg.trailer34
-rw-r--r--src/interfaces/ecpg/preproc/ecpg.type1
-rw-r--r--src/interfaces/ecpg/preproc/output.c157
-rw-r--r--src/interfaces/ecpg/preproc/preproc_extern.h3
-rw-r--r--src/interfaces/ecpg/preproc/type.h8
-rw-r--r--src/interfaces/ecpg/test/ecpg_schedule1
-rw-r--r--src/interfaces/ecpg/test/expected/compat_informix-sqlda.c12
-rw-r--r--src/interfaces/ecpg/test/expected/compat_informix-test_informix.c4
-rw-r--r--src/interfaces/ecpg/test/expected/compat_oracle-char_array.c6
-rw-r--r--src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c18
-rw-r--r--src/interfaces/ecpg/test/expected/preproc-autoprep.c12
-rw-r--r--src/interfaces/ecpg/test/expected/preproc-cursor.c76
-rw-r--r--src/interfaces/ecpg/test/expected/preproc-outofscope.c6
-rw-r--r--src/interfaces/ecpg/test/expected/preproc-variable.c6
-rw-r--r--src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c6
-rw-r--r--src/interfaces/ecpg/test/expected/sql-binary.c18
-rw-r--r--src/interfaces/ecpg/test/expected/sql-declare.c595
-rw-r--r--src/interfaces/ecpg/test/expected/sql-declare.stderr288
-rw-r--r--src/interfaces/ecpg/test/expected/sql-declare.stdout20
-rw-r--r--src/interfaces/ecpg/test/expected/sql-desc.c12
-rw-r--r--src/interfaces/ecpg/test/expected/sql-dyntest.c6
-rw-r--r--src/interfaces/ecpg/test/expected/sql-execute.c12
-rw-r--r--src/interfaces/ecpg/test/expected/sql-fetch.c16
-rw-r--r--src/interfaces/ecpg/test/expected/sql-oldexec.c12
-rw-r--r--src/interfaces/ecpg/test/expected/sql-quote.c4
-rw-r--r--src/interfaces/ecpg/test/expected/sql-sqlda.c12
-rw-r--r--src/interfaces/ecpg/test/sql/.gitignore2
-rw-r--r--src/interfaces/ecpg/test/sql/Makefile1
-rw-r--r--src/interfaces/ecpg/test/sql/declare.pgc207
44 files changed, 172 insertions, 2166 deletions
diff --git a/src/interfaces/ecpg/ecpglib/Makefile b/src/interfaces/ecpg/ecpglib/Makefile
index 3e6228a6c5b..8827a17fecb 100644
--- a/src/interfaces/ecpg/ecpglib/Makefile
+++ b/src/interfaces/ecpg/ecpglib/Makefile
@@ -23,7 +23,7 @@ override CPPFLAGS := -I../include -I$(top_srcdir)/src/interfaces/ecpg/include \
override CFLAGS += $(PTHREAD_CFLAGS)
OBJS= execute.o typename.o descriptor.o sqlda.o data.o error.o prepare.o \
- memory.o connect.o misc.o cursor.o $(WIN32RES)
+ memory.o connect.o misc.o $(WIN32RES)
SHLIB_LINK_INTERNAL = -L../pgtypeslib -lpgtypes $(libpq_pgport_shlib)
SHLIB_LINK = $(filter -lintl -lm, $(LIBS)) $(PTHREAD_LIBS)
diff --git a/src/interfaces/ecpg/ecpglib/connect.c b/src/interfaces/ecpg/ecpglib/connect.c
index 4f361510c36..b4f6089c282 100644
--- a/src/interfaces/ecpg/ecpglib/connect.c
+++ b/src/interfaces/ecpg/ecpglib/connect.c
@@ -340,8 +340,6 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
return false;
}
- memset(this, 0, sizeof(struct connection));
-
if (dbname != NULL)
{
/* get the detail information from dbname */
@@ -707,7 +705,6 @@ ECPGdisconnect(int lineno, const char *connection_name)
struct connection *f = con;
con = con->next;
- ecpg_release_declared_statement(f->name);
ecpg_finish(f);
}
}
@@ -723,10 +720,7 @@ ECPGdisconnect(int lineno, const char *connection_name)
return false;
}
else
- {
- ecpg_release_declared_statement(connection_name);
ecpg_finish(con);
- }
}
#ifdef ENABLE_THREAD_SAFETY
diff --git a/src/interfaces/ecpg/ecpglib/cursor.c b/src/interfaces/ecpg/ecpglib/cursor.c
deleted file mode 100644
index c364a3c97d1..00000000000
--- a/src/interfaces/ecpg/ecpglib/cursor.c
+++ /dev/null
@@ -1,261 +0,0 @@
-/* src/interfaces/ecpg/ecpglib/cursor.c */
-
-#define POSTGRES_ECPG_INTERNAL
-#include "postgres_fe.h"
-
-#include <ctype.h>
-#include <locale.h>
-#include <string.h>
-
-#include "ecpgtype.h"
-#include "ecpglib.h"
-#include "ecpgerrno.h"
-#include "ecpglib_extern.h"
-#include "sqlca.h"
-
-static void add_cursor(const int, const char *, const char *);
-static void remove_cursor(const char *, struct connection *);
-static bool find_cursor(const char *, const struct connection *);
-
-/*
- * Function: Handle the EXEC SQL OPEN cursor statement:
- * Input:
- * cursor_name --- cursor name
- * prepared_name --- prepared name
- * others --- keep same as the parameters in ECPGdo() function
- */
-bool
-ECPGopen(const char *cursor_name, const char *prepared_name,
- const int lineno, const int compat, const int force_indicator,
- const char *connection_name, const bool questionmarks,
- const int st, const char *query,...)
-{
- va_list args;
- bool status;
- const char *real_connection_name = NULL;
-
- if (!query)
- {
- ecpg_raise(lineno, ECPG_EMPTY, ECPG_SQLSTATE_ECPG_INTERNAL_ERROR, NULL);
- return false;
- }
-
- /*
- * If the declared name is referred by the PREPARE statement then the
- * prepared_name is same as declared name
- */
- real_connection_name = ecpg_get_con_name_by_declared_name(prepared_name);
- if (real_connection_name)
- {
- /* Add the cursor name into the declared node */
- ecpg_update_declare_statement(prepared_name, cursor_name, lineno);
- }
- else
- {
- /*
- * If can't get the connection name by declared name then using
- * connection name coming from the parameter connection_name
- */
- real_connection_name = connection_name;
- }
-
-
- /* Add the cursor into the connection */
- add_cursor(lineno, cursor_name, real_connection_name);
-
- va_start(args, query);
-
- status = ecpg_do(lineno, compat, force_indicator, real_connection_name, questionmarks, st, query, args);
-
- va_end(args);
-
- return status;
-}
-
-
-/*
- * Function: Handle the EXEC SQL FETCH/MOVE CURSOR statements:
- * Input:
- * cursor_name --- cursor name
- * others --- keep same as the parameters in ECPGdo() function
- */
-bool
-ECPGfetch(const char *cursor_name,
- const int lineno, const int compat, const int force_indicator,
- const char *connection_name, const bool questionmarks,
- const int st, const char *query,...)
-{
- va_list args;
- bool status;
- const char *real_connection_name = NULL;
-
- if (!query)
- {
- ecpg_raise(lineno, ECPG_EMPTY, ECPG_SQLSTATE_ECPG_INTERNAL_ERROR, NULL);
- return (false);
- }
-
- real_connection_name = ecpg_get_con_name_by_cursor_name(cursor_name);
- if (real_connection_name == NULL)
- {
- /*
- * If can't get the connection name by cursor name then using
- * connection name coming from the parameter connection_name
- */
- real_connection_name = connection_name;
- }
-
- va_start(args, query);
-
- status = ecpg_do(lineno, compat, force_indicator, real_connection_name, questionmarks, st, query, args);
-
- va_end(args);
-
- return status;
-}
-
-
-/*
- * Function: Handle the EXEC SQL CLOSE CURSOR statements:
- * Input:
- * cursor_name --- cursor name
- * others --- keep same as the parameters in ECPGdo() function
- */
-bool
-ECPGclose(const char *cursor_name,
- const int lineno, const int compat, const int force_indicator,
- const char *connection_name, const bool questionmarks,
- const int st, const char *query,...)
-{
- va_list args;
- bool status;
- const char *real_connection_name = NULL;
- struct connection *con = NULL;
-
- if (!query)
- {
- ecpg_raise(lineno, ECPG_EMPTY, ECPG_SQLSTATE_ECPG_INTERNAL_ERROR, NULL);
- return false;
- }
-
- real_connection_name = ecpg_get_con_name_by_cursor_name(cursor_name);
- if (real_connection_name == NULL)
- {
- /*
- * If can't get the connection name by cursor name then using
- * connection name coming from the parameter connection_name
- */
- real_connection_name = connection_name;
- }
-
- con = ecpg_get_connection(real_connection_name);
-
- /* send the query to backend */
- va_start(args, query);
-
- status = ecpg_do(lineno, compat, force_indicator, real_connection_name, questionmarks, st, query, args);
-
- va_end(args);
-
- /* if it fails, raise an error */
- if (!status)
- {
- ecpg_raise(lineno, ECPG_INVALID_CURSOR, ECPG_SQLSTATE_ECPG_INTERNAL_ERROR, NULL);
- return false;
- }
-
- /* check the existence of the cursor in the connection */
- if (find_cursor(cursor_name, con) == true)
- remove_cursor(cursor_name, con);
-
- return status;
-}
-
-/*
- * Function: Add a cursor into the connection
- * The duplication of cursor_name is checked at ecpg.trailer,
- * so we don't check here.
- */
-static void
-add_cursor(const int lineno, const char *cursor_name, const char *connection_name)
-{
- struct connection *con;
- struct cursor_statement *new = NULL;
-
- if (!cursor_name)
- {
- ecpg_raise(lineno, ECPG_INVALID_CURSOR, ECPG_SQLSTATE_ECPG_INTERNAL_ERROR, NULL);
- return;
- }
-
- con = ecpg_get_connection(connection_name);
- if (!con)
- {
- ecpg_raise(lineno, ECPG_NO_CONN, ECPG_SQLSTATE_CONNECTION_DOES_NOT_EXIST,
- connection_name ? connection_name : ecpg_gettext("NULL"));
- return;
- }
-
- /* allocate a node to store the new cursor */
- new = (struct cursor_statement *) ecpg_alloc(sizeof(struct cursor_statement), lineno);
- if (new)
- {
- new->name = ecpg_strdup(cursor_name, lineno);
- new->next = con->cursor_stmts;
- con->cursor_stmts = new;
- }
-}
-
-/*
- * Function: Remove the cursor from the connection
- */
-static void
-remove_cursor(const char *cursor_name, struct connection *connection)
-{
- struct cursor_statement *cur = NULL;
- struct cursor_statement *prev = NULL;
-
- if (!connection || !cursor_name)
- return;
-
- cur = connection->cursor_stmts;
- while (cur)
- {
- if (strcmp(cur->name, cursor_name) == 0)
- {
- if (!prev)
- connection->cursor_stmts = cur->next;
- else
- prev->next = cur->next;
-
- ecpg_free(cur->name);
- ecpg_free(cur);
-
- break;
- }
- prev = cur;
- cur = cur->next;
- }
-}
-
-/*
- * Function: check the existence of the cursor in the connection
- * Return: true ---Found
- * false --- Not found
- */
-static bool
-find_cursor(const char *cursor_name, const struct connection *connection)
-{
- struct cursor_statement *cur = NULL;
-
- if (!connection || !cursor_name)
- return false;
-
- for (cur = connection->cursor_stmts; cur != NULL; cur = cur->next)
- {
- if (strcmp(cur->name, cursor_name) == 0)
- return true;
- }
-
- return false;
-}
diff --git a/src/interfaces/ecpg/ecpglib/descriptor.c b/src/interfaces/ecpg/ecpglib/descriptor.c
index d5ec3a61203..ef500a915d6 100644
--- a/src/interfaces/ecpg/ecpglib/descriptor.c
+++ b/src/interfaces/ecpg/ecpglib/descriptor.c
@@ -861,7 +861,6 @@ ECPGdescribe(int line, int compat, bool input, const char *connection_name, cons
struct prepared_statement *prep;
PGresult *res;
va_list args;
- const char *real_connection_name = NULL;
/* DESCRIBE INPUT is not yet supported */
if (input)
@@ -870,21 +869,11 @@ ECPGdescribe(int line, int compat, bool input, const char *connection_name, cons
return ret;
}
- real_connection_name = ecpg_get_con_name_by_declared_name(stmt_name);
- if (real_connection_name == NULL)
- {
- /*
- * If can't get the connection name by declared name then using
- * connection name coming from the parameter connection_name
- */
- real_connection_name = connection_name;
- }
-
- con = ecpg_get_connection(real_connection_name);
+ con = ecpg_get_connection(connection_name);
if (!con)
{
ecpg_raise(line, ECPG_NO_CONN, ECPG_SQLSTATE_CONNECTION_DOES_NOT_EXIST,
- real_connection_name ? real_connection_name : ecpg_gettext("NULL"));
+ connection_name ? connection_name : ecpg_gettext("NULL"));
return ret;
}
prep = ecpg_find_prepared_statement(stmt_name, con, NULL);
diff --git a/src/interfaces/ecpg/ecpglib/ecpglib_extern.h b/src/interfaces/ecpg/ecpglib/ecpglib_extern.h
index de8241bfc88..f788bfd1eac 100644
--- a/src/interfaces/ecpg/ecpglib/ecpglib_extern.h
+++ b/src/interfaces/ecpg/ecpglib/ecpglib_extern.h
@@ -88,15 +88,6 @@ struct statement
PGresult *results;
};
-/* structure to store declared statements */
-struct declared_statement
-{
- char *name; /* declared name */
- char *connection_name;
- char *cursor_name;
- struct declared_statement *next;
-};
-
/* structure to store prepared statements for a connection */
struct prepared_statement
{
@@ -106,12 +97,6 @@ struct prepared_statement
struct prepared_statement *next;
};
-struct cursor_statement
-{
- char *name; /* cursor name */
- struct cursor_statement *next;
-};
-
/* structure to store connections */
struct connection
{
@@ -120,7 +105,6 @@ struct connection
bool autocommit;
struct ECPGtype_information_cache *cache_head;
struct prepared_statement *prep_stmts;
- struct cursor_statement *cursor_stmts;
struct connection *next;
};
@@ -202,11 +186,6 @@ struct descriptor *ecpg_find_desc(int line, const char *name);
struct prepared_statement *ecpg_find_prepared_statement(const char *,
struct connection *, struct prepared_statement **);
-void ecpg_update_declare_statement(const char *, const char *, const int);
-char *ecpg_get_con_name_by_declared_name(const char *);
-const char *ecpg_get_con_name_by_cursor_name(const char *);
-void ecpg_release_declared_statement(const char *);
-
bool ecpg_store_result(const PGresult *results, int act_field,
const struct statement *stmt, struct variable *var);
bool ecpg_store_input(const int, const bool, const struct variable *, char **, bool);
diff --git a/src/interfaces/ecpg/ecpglib/error.c b/src/interfaces/ecpg/ecpglib/error.c
index c346a6b86ce..9c56991a1e8 100644
--- a/src/interfaces/ecpg/ecpglib/error.c
+++ b/src/interfaces/ecpg/ecpglib/error.c
@@ -200,13 +200,6 @@ ecpg_raise(int line, int code, const char *sqlstate, const char *str)
ecpg_gettext("could not connect to database \"%s\" on line %d"), str, line);
break;
- case ECPG_INVALID_CURSOR:
- snprintf(sqlca->sqlerrm.sqlerrmc, sizeof(sqlca->sqlerrm.sqlerrmc),
- /*------
- translator: this string will be truncated at 149 characters expanded. */
- ecpg_gettext("cursor is invalid on line %d"), line);
- break;
-
default:
snprintf(sqlca->sqlerrm.sqlerrmc, sizeof(sqlca->sqlerrm.sqlerrmc),
/*------
diff --git a/src/interfaces/ecpg/ecpglib/execute.c b/src/interfaces/ecpg/ecpglib/execute.c
index de5c43a4602..7c9cb760a99 100644
--- a/src/interfaces/ecpg/ecpglib/execute.c
+++ b/src/interfaces/ecpg/ecpglib/execute.c
@@ -2280,32 +2280,9 @@ ECPGdo(const int lineno, const int compat, const int force_indicator, const char
{
va_list args;
bool ret;
- const char *real_connection_name = NULL;
-
- real_connection_name = connection_name;
-
- if (!query)
- {
- ecpg_raise(lineno, ECPG_EMPTY, ECPG_SQLSTATE_ECPG_INTERNAL_ERROR, NULL);
- return false;
- }
-
- /* Handle the EXEC SQL EXECUTE... statement */
- if (ECPGst_execute == st)
- {
- real_connection_name = ecpg_get_con_name_by_declared_name(query);
- if (real_connection_name == NULL)
- {
- /*
- * If can't get the connection name by declared name then using
- * connection name coming from the parameter connection_name
- */
- real_connection_name = connection_name;
- }
- }
va_start(args, query);
- ret = ecpg_do(lineno, compat, force_indicator, real_connection_name,
+ ret = ecpg_do(lineno, compat, force_indicator, connection_name,
questionmarks, st, query, args);
va_end(args);
diff --git a/src/interfaces/ecpg/ecpglib/exports.txt b/src/interfaces/ecpg/ecpglib/exports.txt
index 08fa1bbf196..69e96179d5c 100644
--- a/src/interfaces/ecpg/ecpglib/exports.txt
+++ b/src/interfaces/ecpg/ecpglib/exports.txt
@@ -29,7 +29,3 @@ ECPGget_PGconn 26
ECPGtransactionStatus 27
ECPGset_var 28
ECPGget_var 29
-ECPGdeclare 30
-ECPGopen 31
-ECPGfetch 32
-ECPGclose 33 \ No newline at end of file
diff --git a/src/interfaces/ecpg/ecpglib/prepare.c b/src/interfaces/ecpg/ecpglib/prepare.c
index d44198fef0e..6e7adb94f26 100644
--- a/src/interfaces/ecpg/ecpglib/prepare.c
+++ b/src/interfaces/ecpg/ecpglib/prepare.c
@@ -36,11 +36,10 @@ typedef struct
static int nextStmtID = 1;
static stmtCacheEntry *stmtCacheEntries = NULL;
-static struct declared_statement *g_declared_list;
static bool deallocate_one(int lineno, enum COMPAT_MODE c, struct connection *con,
struct prepared_statement *prev, struct prepared_statement *this);
-static struct declared_statement *ecpg_find_declared_statement(const char *);
+
static bool
isvarchar(unsigned char c)
{
@@ -61,19 +60,10 @@ ecpg_register_prepared_stmt(struct statement *stmt)
{
struct statement *prep_stmt;
struct prepared_statement *this;
- struct connection *con = NULL;
+ struct connection *con = stmt->connection;
struct prepared_statement *prev = NULL;
- char *real_connection_name;
int lineno = stmt->lineno;
- real_connection_name = ecpg_get_con_name_by_declared_name(stmt->name);
- if (real_connection_name == NULL)
- real_connection_name = stmt->connection->name;
-
- con = ecpg_get_connection(real_connection_name);
- if (!ecpg_init(con, real_connection_name, stmt->lineno))
- return false;
-
/* check if we already have prepared this statement */
this = ecpg_find_prepared_statement(stmt->name, con, &prev);
if (this && !deallocate_one(lineno, ECPG_COMPAT_PGSQL, con, prev, this))
@@ -183,7 +173,6 @@ prepare_common(int lineno, struct connection *con, const char *name, const char
ecpg_free(this);
return false;
}
- memset(stmt, 0, sizeof(struct statement));
/* create statement */
stmt->lineno = lineno;
@@ -231,22 +220,11 @@ ECPGprepare(int lineno, const char *connection_name, const bool questionmarks,
struct connection *con;
struct prepared_statement *this,
*prev;
- const char *real_connection_name = NULL;
(void) questionmarks; /* quiet the compiler */
- real_connection_name = ecpg_get_con_name_by_declared_name(name);
- if (real_connection_name == NULL)
- {
- /*
- * If can't get the connection name by declared name then using
- * connection name coming from the parameter connection_name
- */
- real_connection_name = connection_name;
- }
-
- con = ecpg_get_connection(real_connection_name);
- if (!ecpg_init(con, real_connection_name, lineno))
+ con = ecpg_get_connection(connection_name);
+ if (!ecpg_init(con, connection_name, lineno))
return false;
/* check if we already have prepared this statement */
@@ -339,20 +317,9 @@ ECPGdeallocate(int lineno, int c, const char *connection_name, const char *name)
struct connection *con;
struct prepared_statement *this,
*prev;
- const char *real_connection_name = NULL;
- real_connection_name = ecpg_get_con_name_by_declared_name(name);
- if (real_connection_name == NULL)
- {
- /*
- * If can't get the connection name by declared name then using
- * connection name coming from the parameter connection_name
- */
- real_connection_name = connection_name;
- }
-
- con = ecpg_get_connection(real_connection_name);
- if (!ecpg_init(con, real_connection_name, lineno))
+ con = ecpg_get_connection(connection_name);
+ if (!ecpg_init(con, connection_name, lineno))
return false;
this = ecpg_find_prepared_statement(name, con, &prev);
@@ -400,21 +367,9 @@ ecpg_prepared(const char *name, struct connection *con)
char *
ECPGprepared_statement(const char *connection_name, const char *name, int lineno)
{
- const char *real_connection_name = NULL;
-
(void) lineno; /* keep the compiler quiet */
- real_connection_name = ecpg_get_con_name_by_declared_name(name);
- if (real_connection_name == NULL)
- {
- /*
- * If can't get the connection name by declared name then using
- * connection name coming from the parameter connection_name
- */
- real_connection_name = connection_name;
- }
-
- return ecpg_prepared(name, ecpg_get_connection(real_connection_name));
+ return ecpg_prepared(name, ecpg_get_connection(connection_name));
}
/*
@@ -645,210 +600,3 @@ ecpg_auto_prepare(int lineno, const char *connection_name, const int compat, cha
return true;
}
-
-/*
- * handle the EXEC SQL DECLARE STATEMENT
- * Input: connection_name -- connection name
- * name -- declared name
- */
-bool
-ECPGdeclare(int lineno, const char *connection_name, const char *name)
-{
- struct connection *con = NULL;
- struct declared_statement *p = NULL;
-
- if (name == NULL)
- {
- /* Should never go to here because ECPG pre-compiler will check it */
- return false;
- }
-
- if (connection_name == NULL)
- {
- /*
- * Going to here means not using AT clause in the DECLARE STATEMENT
- * ECPG pre-processor allows this case. However, we don't allocate a
- * node to store the declared name because the DECLARE STATEMENT
- * without using AT clause will be ignored. The following statement
- * such as PREPARE, EXECUTE are executed as usual on the current
- * connection.
- */
- return true;
- }
-
- con = ecpg_get_connection(connection_name);
- if (!ecpg_init(con, connection_name, lineno))
- return false;
-
- if (ecpg_find_declared_statement(name))
- {
- /*
- * Should not go to here because the pre-compiler has check the
- * duplicate name
- */
- return false;
- }
-
- /* allocate a declared_statement as a new node */
- p = (struct declared_statement *) ecpg_alloc(sizeof(struct declared_statement), lineno);
- if (!p)
- return false;
-
- memset(p, 0, sizeof(struct declared_statement));
-
- ecpg_log("ECPGdeclare on line %d: declared name \"%s\" on connection: \"%s\"\n", lineno, name, connection_name);
-
- p->name = ecpg_strdup(name, lineno);
- p->connection_name = ecpg_strdup(connection_name, lineno);
-
- /* Add the new node into the g_declared_list */
- if (g_declared_list != NULL)
- {
- p->next = g_declared_list;
- g_declared_list = p;
- }
- else
- g_declared_list = p;
-
- return true;
-}
-
-/*
- * Find a declared node by declared name
- * Input: name -- declared name
- * Return: Found -- The pointer points to the declared node
- * Not found -- NULL
- */
-static struct declared_statement *
-ecpg_find_declared_statement(const char *name)
-{
- struct declared_statement *p;
-
- if (name == NULL)
- return NULL;
-
- p = g_declared_list;
- while (p)
- {
- if (strcmp(p->name, name) == 0)
- return p;
- p = p->next;
- }
-
- return NULL;
-}
-
-/*
- * Build the relationship between the declared name and cursor name
- * Input: declared_name -- the name declared in the DECLARE STATEMENT
- * cursor_name -- cursor name declared in the DECLARE/OPEN CURSOR statement
- */
-void
-ecpg_update_declare_statement(const char *declared_name, const char *cursor_name, const int lineno)
-{
- struct declared_statement *p = NULL;
-
- if (!declared_name || !cursor_name)
- return;
-
- /* Find the declared node by declared name */
- p = ecpg_find_declared_statement(declared_name);
- if (p)
- {
- if (p->cursor_name)
- ecpg_free(p->cursor_name);
- p->cursor_name = ecpg_strdup(cursor_name, lineno);
- }
-}
-
-/*
- * Find and return the connection name referred by the declared name
- * Input: declared_name -- the name declared in the DECLARE STATEMENT
- * Return: Found -- The connection name
- * Not found -- NULL
- */
-char *
-ecpg_get_con_name_by_declared_name(const char *declared_name)
-{
- struct declared_statement *p;
-
- p = ecpg_find_declared_statement(declared_name);
- if (p)
- return p->connection_name;
-
- return NULL;
-}
-
-/*
- * Find the connection name by referring the declared statements
- * cursors by using the provided cursor name
- * Input: cursor_name -- the cursor name
- * Return: Found -- The connection name
- * Not found -- NULL
- */
-const char *
-ecpg_get_con_name_by_cursor_name(const char *cursor_name)
-{
- struct declared_statement *p;
-
- if (cursor_name == NULL)
- return NULL;
-
- p = g_declared_list;
- while (p)
- {
- /* Search the cursor name in the declared list */
- if (p->cursor_name && (strcmp(p->cursor_name, cursor_name) == 0))
- return p->connection_name;
-
- p = p->next;
- }
-
- return NULL;
-}
-
-/*
- * Release the declare node from the g_declared_list which refers the connection_name
- * Input: connection_name -- connection name
- */
-void
-ecpg_release_declared_statement(const char *connection_name)
-{
- struct declared_statement *cur = NULL;
- struct declared_statement *prev = NULL;
-
- if (connection_name == NULL)
- return;
-
- cur = g_declared_list;
- while (cur)
- {
- if (strcmp(cur->connection_name, connection_name) == 0)
- {
- /* If find then release the declared node from the list */
- if (prev)
- prev->next = cur->next;
- else
- g_declared_list = cur->next;
-
- ecpg_log("ecpg_release_declared_statement: declared name \"%s\" is released\n", cur->name);
-
- ecpg_free(cur->name);
- ecpg_free(cur->connection_name);
- ecpg_free(cur->cursor_name);
- ecpg_free(cur);
-
- /*
- * One connection can be used by multiple declared name, so no
- * break here
- */
- }
- else
- prev = cur;
-
- if (prev)
- cur = prev->next;
- else
- cur = g_declared_list;
- }
-}
diff --git a/src/interfaces/ecpg/include/ecpgerrno.h b/src/interfaces/ecpg/include/ecpgerrno.h
index a37956aa1b6..c4bc526463d 100644
--- a/src/interfaces/ecpg/include/ecpgerrno.h
+++ b/src/interfaces/ecpg/include/ecpgerrno.h
@@ -44,7 +44,6 @@
#define ECPG_UNKNOWN_DESCRIPTOR_ITEM -242
#define ECPG_VAR_NOT_NUMERIC -243
#define ECPG_VAR_NOT_CHAR -244
-#define ECPG_INVALID_CURSOR -245
/* finally the backend error messages, they start at 400 */
#define ECPG_PGSQL -400
diff --git a/src/interfaces/ecpg/include/ecpglib.h b/src/interfaces/ecpg/include/ecpglib.h
index e12d703b4e9..a9bc584cd8d 100644
--- a/src/interfaces/ecpg/include/ecpglib.h
+++ b/src/interfaces/ecpg/include/ecpglib.h
@@ -55,10 +55,6 @@ bool ECPGdisconnect(int, const char *);
bool ECPGprepare(int, const char *, const bool, const char *, const char *);
bool ECPGdeallocate(int, int, const char *, const char *);
bool ECPGdeallocate_all(int, int, const char *);
-bool ECPGdeclare(int, const char *, const char *);
-bool ECPGopen(const char *, const char *, const int, const int, const int, const char *, const bool, const int, const char *,...);
-bool ECPGfetch(const char *, const int, const int, const int, const char *, const bool, const int, const char *,...);
-bool ECPGclose(const char *, const int, const int, const int, const char *, const bool, const int, const char *,...);
char *ECPGprepared_statement(const char *, const char *, int);
PGconn *ECPGget_PGconn(const char *);
PGTransactionStatusType ECPGtransactionStatus(const char *);
diff --git a/src/interfaces/ecpg/include/ecpgtype.h b/src/interfaces/ecpg/include/ecpgtype.h
index cdeb43d18fa..3a575081e4f 100644
--- a/src/interfaces/ecpg/include/ecpgtype.h
+++ b/src/interfaces/ecpg/include/ecpgtype.h
@@ -102,13 +102,6 @@ enum ECPG_statement_type
ECPGst_exec_with_exprlist
};
-enum ECPG_cursor_statement_type
-{
- ECPGcst_declare,
- ECPGcst_open,
- ECPGcst_fetch,
- ECPGcst_close
-};
#ifdef __cplusplus
}
#endif
diff --git a/src/interfaces/ecpg/preproc/ecpg.addons b/src/interfaces/ecpg/preproc/ecpg.addons
index cbffd50e14c..300381eaad5 100644
--- a/src/interfaces/ecpg/preproc/ecpg.addons
+++ b/src/interfaces/ecpg/preproc/ecpg.addons
@@ -1,6 +1,22 @@
/* src/interfaces/ecpg/preproc/ecpg.addons */
ECPG: stmtClosePortalStmt block
- { $$ = $1;}
+ {
+ if (INFORMIX_MODE)
+ {
+ if (pg_strcasecmp($1+strlen("close "), "database") == 0)
+ {
+ if (connection)
+ mmerror(PARSE_ERROR, ET_ERROR, "AT option not allowed in CLOSE DATABASE statement");
+
+ fprintf(base_yyout, "{ ECPGdisconnect(__LINE__, \"CURRENT\");");
+ whenever_action(2);
+ free($1);
+ break;
+ }
+ }
+
+ output_statement($1, 0, ECPGst_normal);
+ }
ECPG: stmtDeallocateStmt block
{
output_deallocate_prepare_statement($1);
@@ -9,11 +25,7 @@ ECPG: stmtDeclareCursorStmt block
{ output_simple_statement($1, (strncmp($1, "ECPGset_var", strlen("ECPGset_var")) == 0) ? 4 : 0); }
ECPG: stmtDiscardStmt block
ECPG: stmtFetchStmt block
- {
- /* g_cursor_name is set in the fetch_args block and freed in the output_cursor_statement */
- output_cursor_statement(ECPGcst_fetch, g_cursor_name, NULL, $1, 1, ECPGst_normal);
- g_cursor_name = NULL;
- }
+ { output_statement($1, 1, ECPGst_normal); }
ECPG: stmtDeleteStmt block
ECPG: stmtInsertStmt block
ECPG: stmtSelectStmt block
@@ -92,10 +104,6 @@ ECPG: stmtViewStmt rule
whenever_action(2);
free($1);
}
- | ECPGDeclareStmt
- {
- output_declare_statement($1);
- }
| ECPGCursorStmt
{
output_simple_statement($1, (strncmp($1, "ECPGset_var", strlen("ECPGset_var")) == 0) ? 4 : 0);
@@ -165,14 +173,7 @@ ECPG: stmtViewStmt rule
if ((ptr = add_additional_variables($1, true)) != NULL)
{
connection = ptr->connection ? mm_strdup(ptr->connection) : NULL;
- if (ptr->prepared_name)
- {
- output_cursor_statement(ECPGcst_open, $1, mm_strdup(ptr->prepared_name), mm_strdup(ptr->command), 0, ECPGst_normal);
- }
- else
- {
- output_cursor_statement(ECPGcst_open, $1, NULL, mm_strdup(ptr->command), 0, ECPGst_normal);
- }
+ output_statement(mm_strdup(ptr->command), 0, ECPGst_normal);
ptr->opened = true;
}
}
@@ -244,7 +245,6 @@ ECPG: var_valueNumericOnly addon
}
ECPG: fetch_argscursor_name addon
add_additional_variables($1, false);
- g_cursor_name = mm_strdup($1);
if ($1[0] == ':')
{
free($1);
@@ -252,7 +252,6 @@ ECPG: fetch_argscursor_name addon
}
ECPG: fetch_argsfrom_incursor_name addon
add_additional_variables($2, false);
- g_cursor_name = mm_strdup($2);
if ($2[0] == ':')
{
free($2);
@@ -264,7 +263,6 @@ ECPG: fetch_argsFIRST_Popt_from_incursor_name addon
ECPG: fetch_argsLAST_Popt_from_incursor_name addon
ECPG: fetch_argsALLopt_from_incursor_name addon
add_additional_variables($3, false);
- g_cursor_name = mm_strdup($3);
if ($3[0] == ':')
{
free($3);
@@ -272,7 +270,6 @@ ECPG: fetch_argsALLopt_from_incursor_name addon
}
ECPG: fetch_argsSignedIconstopt_from_incursor_name addon
add_additional_variables($3, false);
- g_cursor_name = mm_strdup($3);
if ($3[0] == ':')
{
free($3);
@@ -286,7 +283,6 @@ ECPG: fetch_argsSignedIconstopt_from_incursor_name addon
ECPG: fetch_argsFORWARDALLopt_from_incursor_name addon
ECPG: fetch_argsBACKWARDALLopt_from_incursor_name addon
add_additional_variables($4, false);
- g_cursor_name = mm_strdup($4);
if ($4[0] == ':')
{
free($4);
@@ -297,7 +293,6 @@ ECPG: fetch_argsRELATIVE_PSignedIconstopt_from_incursor_name addon
ECPG: fetch_argsFORWARDSignedIconstopt_from_incursor_name addon
ECPG: fetch_argsBACKWARDSignedIconstopt_from_incursor_name addon
add_additional_variables($4, false);
- g_cursor_name = mm_strdup($4);
if ($4[0] == ':')
{
free($4);
@@ -365,7 +360,6 @@ ECPG: DeclareCursorStmtDECLAREcursor_namecursor_optionsCURSORopt_holdFORSelectSt
}
this = (struct cursor *) mm_alloc(sizeof(struct cursor));
- memset(this, 0 ,sizeof(struct cursor));
this->next = cur;
this->name = $2;
@@ -393,31 +387,8 @@ ECPG: DeclareCursorStmtDECLAREcursor_namecursor_optionsCURSORopt_holdFORSelectSt
}
ECPG: ClosePortalStmtCLOSEcursor_name block
{
- char *stmt = NULL;
- char *cursor_name = NULL;
char *cursor_marker = $2[0] == ':' ? mm_strdup("$0") : $2;
-
- cursor_name = mm_strdup($2);
-
- stmt = cat2_str(mm_strdup("close"), cursor_marker);
-
- if (INFORMIX_MODE)
- {
- if (pg_strcasecmp(stmt+strlen("close "), "database") == 0)
- {
- if (connection)
- mmerror(PARSE_ERROR, ET_ERROR, "AT option not allowed in CLOSE DATABASE statement");
-
- fprintf(base_yyout, "{ ECPGdisconnect(__LINE__, \"CURRENT\");");
- whenever_action(2);
- free(stmt);
- break;
- }
- }
-
- output_cursor_statement(ECPGcst_close, cursor_name, NULL, stmt, 0, ECPGst_normal);
-
- $$ = EMPTY;
+ $$ = cat2_str(mm_strdup("close"), cursor_marker);
}
ECPG: opt_hold block
{
@@ -496,56 +467,48 @@ ECPG: FetchStmtMOVEfetch_args rule
{
char *cursor_marker = $3[0] == ':' ? mm_strdup("$0") : $3;
add_additional_variables($3, false);
- g_cursor_name = mm_strdup($3);
$$ = cat_str(2, mm_strdup("fetch forward"), cursor_marker);
}
| FETCH FORWARD from_in cursor_name opt_ecpg_fetch_into
{
char *cursor_marker = $4[0] == ':' ? mm_strdup("$0") : $4;
add_additional_variables($4, false);
- g_cursor_name = mm_strdup($4);
$$ = cat_str(2, mm_strdup("fetch forward from"), cursor_marker);
}
| FETCH BACKWARD cursor_name opt_ecpg_fetch_into
{
char *cursor_marker = $3[0] == ':' ? mm_strdup("$0") : $3;
add_additional_variables($3, false);
- g_cursor_name = mm_strdup($3);
$$ = cat_str(2, mm_strdup("fetch backward"), cursor_marker);
}
| FETCH BACKWARD from_in cursor_name opt_ecpg_fetch_into
{
char *cursor_marker = $4[0] == ':' ? mm_strdup("$0") : $4;
add_additional_variables($4, false);
- g_cursor_name = mm_strdup($4);
$$ = cat_str(2, mm_strdup("fetch backward from"), cursor_marker);
}
| MOVE FORWARD cursor_name
{
char *cursor_marker = $3[0] == ':' ? mm_strdup("$0") : $3;
add_additional_variables($3, false);
- g_cursor_name = mm_strdup($3);
$$ = cat_str(2, mm_strdup("move forward"), cursor_marker);
}
| MOVE FORWARD from_in cursor_name
{
char *cursor_marker = $4[0] == ':' ? mm_strdup("$0") : $4;
add_additional_variables($4, false);
- g_cursor_name = mm_strdup($4);
$$ = cat_str(2, mm_strdup("move forward from"), cursor_marker);
}
| MOVE BACKWARD cursor_name
{
char *cursor_marker = $3[0] == ':' ? mm_strdup("$0") : $3;
add_additional_variables($3, false);
- g_cursor_name = mm_strdup($3);
$$ = cat_str(2, mm_strdup("move backward"), cursor_marker);
}
| MOVE BACKWARD from_in cursor_name
{
char *cursor_marker = $4[0] == ':' ? mm_strdup("$0") : $4;
add_additional_variables($4, false);
- g_cursor_name = mm_strdup($4);
$$ = cat_str(2, mm_strdup("move backward from"), cursor_marker);
}
ECPG: limit_clauseLIMITselect_limit_value','select_offset_value block
diff --git a/src/interfaces/ecpg/preproc/ecpg.c b/src/interfaces/ecpg/preproc/ecpg.c
index 16bac221f51..ee6e634e456 100644
--- a/src/interfaces/ecpg/preproc/ecpg.c
+++ b/src/interfaces/ecpg/preproc/ecpg.c
@@ -28,7 +28,6 @@ struct _include_path *include_paths = NULL;
struct cursor *cur = NULL;
struct typedefs *types = NULL;
struct _defines *defines = NULL;
-struct declared_name_st *g_declared_list = NULL;
static void
help(const char *progname)
@@ -112,48 +111,6 @@ add_preprocessor_define(char *define)
defines->next = pd;
}
-static void
-free_argument(struct arguments *arg)
-{
- if (arg == NULL)
- return;
-
- free_argument(arg->next);
-
- /*
- * Don't free variables in it because the original codes don't free it
- * either variables are static structures instead of allocating
- */
- free(arg);
-}
-
-static void
-free_cursor(struct cursor *c)
-{
- if (c == NULL)
- return;
-
- free_cursor(c->next);
- free_argument(c->argsinsert);
- free_argument(c->argsresult);
-
- free(c->name);
- free(c->function);
- free(c->command);
- free(c->prepared_name);
- free(c);
-}
-
-static void
-free_declared_stmt(struct declared_name_st *st)
-{
- if (st == NULL)
- return;
-
- free_declared_stmt(st->next);
- free(st);
-}
-
#define ECPG_GETOPT_LONG_REGRESSION 1
int
main(int argc, char *const argv[])
@@ -391,18 +348,29 @@ main(int argc, char *const argv[])
struct typedefs *typeptr;
/* remove old cursor definitions if any are still there */
- if (cur)
+ for (ptr = cur; ptr != NULL;)
{
- free_cursor(cur);
- cur = NULL;
- }
-
- /* remove old declared statements if any are still there */
- if (g_declared_list)
- {
- free_declared_stmt(g_declared_list);
- g_declared_list = NULL;
+ struct cursor *this = ptr;
+ struct arguments *l1,
+ *l2;
+
+ free(ptr->command);
+ free(ptr->connection);
+ free(ptr->name);
+ for (l1 = ptr->argsinsert; l1; l1 = l2)
+ {
+ l2 = l1->next;
+ free(l1);
+ }
+ for (l1 = ptr->argsresult; l1; l1 = l2)
+ {
+ l2 = l1->next;
+ free(l1);
+ }
+ ptr = ptr->next;
+ free(this);
}
+ cur = NULL;
/* remove non-pertinent old defines as well */
while (defines && !defines->pertinent)
@@ -519,18 +487,6 @@ main(int argc, char *const argv[])
free(input_filename);
}
-
- if (g_declared_list)
- {
- free_declared_stmt(g_declared_list);
- g_declared_list = NULL;
- }
-
- if (cur)
- {
- free_cursor(cur);
- cur = NULL;
- }
}
return ret_value;
}
diff --git a/src/interfaces/ecpg/preproc/ecpg.header b/src/interfaces/ecpg/preproc/ecpg.header
index 18b7bec6af8..4091ffd28b5 100644
--- a/src/interfaces/ecpg/preproc/ecpg.header
+++ b/src/interfaces/ecpg/preproc/ecpg.header
@@ -38,7 +38,6 @@ char *current_function;
int ecpg_internal_var = 0;
char *connection = NULL;
char *input_filename = NULL;
-char *g_cursor_name = NULL;
static int FoundInto = 0;
static int initializer = 0;
diff --git a/src/interfaces/ecpg/preproc/ecpg.trailer b/src/interfaces/ecpg/preproc/ecpg.trailer
index 6439344cc7c..1122f56a14d 100644
--- a/src/interfaces/ecpg/preproc/ecpg.trailer
+++ b/src/interfaces/ecpg/preproc/ecpg.trailer
@@ -291,38 +291,6 @@ prepared_name: name
;
/*
- * Declare Statement
- */
-ECPGDeclareStmt: DECLARE prepared_name STATEMENT
- {
- struct declared_name_st *ptr = NULL;
-
- /* Check whether the declared name has been defined or not */
- for (ptr = g_declared_list; ptr != NULL; ptr = ptr->next)
- {
- if (strcmp($2, ptr->name) == 0)
- {
- /* re-definition is a bug */
- mmerror(PARSE_ERROR, ET_ERROR, "declared name \"%s\" is already defined", ptr->name);
- }
- }
-
- /* Add a new declared name into the g_declared_list */
- ptr = NULL;
- ptr = (struct declared_name_st *) mm_alloc(sizeof(struct declared_name_st));
- if (ptr)
- {
- /* initial definition */
- ptr->name = $2;
- ptr->next = g_declared_list;
- g_declared_list = ptr;
- }
-
- $$ = mm_strdup($2);
- }
-;
-
-/*
* Declare a prepared cursor. The syntax is different from the standard
* declare statement, so we create a new rule.
*/
@@ -348,7 +316,6 @@ ECPGCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR prepared
}
this = (struct cursor *) mm_alloc(sizeof(struct cursor));
- memset(this, 0 ,sizeof(struct cursor));
/* initial definition */
this->next = cur;
@@ -358,7 +325,6 @@ ECPGCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR prepared
this->command = cat_str(6, mm_strdup("declare"), cursor_marker, $3, mm_strdup("cursor"), $5, mm_strdup("for $1"));
this->argsresult = NULL;
this->argsresult_oos = NULL;
- this->prepared_name = $7;
thisquery->type = &ecpg_query;
thisquery->brace_level = 0;
diff --git a/src/interfaces/ecpg/preproc/ecpg.type b/src/interfaces/ecpg/preproc/ecpg.type
index 519b737dde8..9497b91b9db 100644
--- a/src/interfaces/ecpg/preproc/ecpg.type
+++ b/src/interfaces/ecpg/preproc/ecpg.type
@@ -9,7 +9,6 @@
%type <str> ECPGDeallocateDescr
%type <str> ECPGDeclaration
%type <str> ECPGDeclare
-%type <str> ECPGDeclareStmt
%type <str> ECPGDescribe
%type <str> ECPGDisconnect
%type <str> ECPGExecuteImmediateStmt
diff --git a/src/interfaces/ecpg/preproc/output.c b/src/interfaces/ecpg/preproc/output.c
index 9419a39f9e9..65d06d5794b 100644
--- a/src/interfaces/ecpg/preproc/output.c
+++ b/src/interfaces/ecpg/preproc/output.c
@@ -5,7 +5,6 @@
#include "preproc_extern.h"
static void output_escaped_str(char *cmd, bool quoted);
-static void output_cursor_name(char *str);
void
output_line_number(void)
@@ -210,16 +209,7 @@ static void
output_escaped_str(char *str, bool quoted)
{
int i = 0;
- int len = 0;
-
- if (str == NULL)
- {
- fputs("NULL", base_yyout);
-
- return;
- }
-
- len = strlen(str);
+ int len = strlen(str);
if (quoted && str[0] == '"' && str[len - 1] == '"') /* do not escape quotes
* at beginning and end
@@ -268,148 +258,3 @@ output_escaped_str(char *str, bool quoted)
if (quoted && str[0] == '"' && str[len] == '"')
fputs("\"", base_yyout);
}
-
-/*
- * This is a tool function used by the output_cursor_statement function to print
- * cursor name after the string such as "ECPGopen(","ECPGfetch(","ECPGclose(".
- * This function filters escaped sequences such as \t, \n, \r to print cursor name cleanly
- */
-static void
-output_cursor_name(char *str)
-{
- int i = 0;
- int len = 0;
-
- if (str == NULL)
- {
- fputs("NULL", base_yyout);
-
- return;
- }
-
- len = strlen(str);
- fputs("\"", base_yyout);
- if (str[0] == '\"' && str[len - 1] == '\"')
- {
- i = 1;
- len--;
- fputs("\\\"", base_yyout);
-
- /* output this char by char as we have to filter " and \n */
- for (; i < len; i++)
- {
- if (str[i] == '"')
- fputs("\\\"", base_yyout);
- else if (str[i] == '\n')
- fputs("\\\n", base_yyout);
- else if (str[i] == '\\')
- {
- int j = i;
-
- /*
- * check whether this is a continuation line if it is, do not
- * output anything because newlines are escaped anyway
- */
-
- /* accept blanks after the '\' as some other compilers do too */
- do
- {
- j++;
- } while (str[j] == ' ' || str[j] == '\t');
-
- if ((str[j] != '\n') && (str[j] != '\r' || str[j + 1] != '\n')) /* not followed by a
- * newline */
- fputs("\\\\", base_yyout);
- }
- else if (str[i] == '\r' && str[i + 1] == '\n')
- {
- fputs("\\\r\n", base_yyout);
- i++;
- }
- else
- fputc(str[i], base_yyout);
- }
-
- fputs("\\\"", base_yyout);
- }
- else
- fputs(str, base_yyout);
-
- fputs("\"", base_yyout);
-}
-
-/*
- * Transform the EXEC SQL DECLARE STATEMENT into ECPGdeclare function
- */
-void
-output_declare_statement(char *name)
-{
- /* connection is set in "at:" token in ecpg.trailer file */
- fprintf(base_yyout, "{ ECPGdeclare(__LINE__, %s, ", connection ? connection : "NULL");
- output_escaped_str(name, true);
- fputs(");", base_yyout);
-
- whenever_action(2);
- free(name);
- if (connection != NULL)
- free(connection);
-}
-
-/*
- * Transform the EXEC SQL CURSOR STATEMENT such as OPEN/FETCH/CLOSE cursor into
- * ECPGopen/ECPGfetch/ECPGclose function
- */
-void
-output_cursor_statement(int cursor_stmt, char *cursor_name, char *prepared_name, char *stmt, int whenever_mode, enum ECPG_statement_type st)
-{
- switch (cursor_stmt)
- {
- case ECPGcst_open:
- fprintf(base_yyout, "{ ECPGopen(");
- output_cursor_name(cursor_name);
- fprintf(base_yyout, ", ");
- output_escaped_str(prepared_name, true);
- fprintf(base_yyout, ", __LINE__, %d, %d, %s, %d, ",
- compat, force_indicator, connection ? connection : "NULL", questionmarks);
- break;
- case ECPGcst_fetch:
- fprintf(base_yyout, "{ ECPGfetch(");
- output_cursor_name(cursor_name);
- fprintf(base_yyout, ", __LINE__, %d, %d, %s, %d, ",
- compat, force_indicator, connection ? connection : "NULL", questionmarks);
- break;
- case ECPGcst_close:
- fprintf(base_yyout, "{ ECPGclose(");
- output_cursor_name(cursor_name);
- fprintf(base_yyout, ", __LINE__, %d, %d, %s, %d, ",
- compat, force_indicator, connection ? connection : "NULL", questionmarks);
- break;
- }
-
- if (st == ECPGst_execute || st == ECPGst_exec_immediate)
- fprintf(base_yyout, "%s, %s, ", ecpg_statement_type_name[st], stmt);
- else
- {
- if (st == ECPGst_prepnormal && auto_prepare)
- fputs("ECPGst_prepnormal, \"", base_yyout);
- else
- fputs("ECPGst_normal, \"", base_yyout);
-
- output_escaped_str(stmt, false);
- fputs("\", ", base_yyout);
- }
-
- /* dump variables to C file */
- dump_variables(argsinsert, 1);
- fputs("ECPGt_EOIT, ", base_yyout);
- dump_variables(argsresult, 1);
- fputs("ECPGt_EORT);", base_yyout);
- reset_variables();
-
- whenever_action(whenever_mode | 2);
- free(cursor_name);
- free(prepared_name);
- free(stmt);
- if (connection != NULL)
- free(connection);
-}
diff --git a/src/interfaces/ecpg/preproc/preproc_extern.h b/src/interfaces/ecpg/preproc/preproc_extern.h
index 7de5cd50878..323fd5c3c1a 100644
--- a/src/interfaces/ecpg/preproc/preproc_extern.h
+++ b/src/interfaces/ecpg/preproc/preproc_extern.h
@@ -48,7 +48,6 @@ extern struct _include_path *include_paths;
extern struct cursor *cur;
extern struct typedefs *types;
extern struct _defines *defines;
-extern struct declared_name_st *g_declared_list;
extern struct ECPGtype ecpg_no_indicator;
extern struct variable no_indicator;
extern struct arguments *argsinsert;
@@ -70,8 +69,6 @@ extern void output_statement(char *, int, enum ECPG_statement_type);
extern void output_prepare_statement(char *, char *);
extern void output_deallocate_prepare_statement(char *);
extern void output_simple_statement(char *, int);
-extern void output_declare_statement(char *);
-extern void output_cursor_statement(int, char *, char *, char *, int, enum ECPG_statement_type);
extern char *hashline_number(void);
extern int base_yyparse(void);
extern int base_yylex(void);
diff --git a/src/interfaces/ecpg/preproc/type.h b/src/interfaces/ecpg/preproc/type.h
index 9c1df73241c..20b279001b2 100644
--- a/src/interfaces/ecpg/preproc/type.h
+++ b/src/interfaces/ecpg/preproc/type.h
@@ -134,7 +134,6 @@ struct cursor
char *command;
char *connection;
bool opened;
- char *prepared_name;
struct arguments *argsinsert;
struct arguments *argsinsert_oos;
struct arguments *argsresult;
@@ -142,13 +141,6 @@ struct cursor
struct cursor *next;
};
-/* structure to store declared name */
-struct declared_name_st
-{
- char *name; /* declared name */
- struct declared_name_st *next;
-};
-
struct typedefs
{
char *name;
diff --git a/src/interfaces/ecpg/test/ecpg_schedule b/src/interfaces/ecpg/test/ecpg_schedule
index e034c5a420c..1e67d2b1624 100644
--- a/src/interfaces/ecpg/test/ecpg_schedule
+++ b/src/interfaces/ecpg/test/ecpg_schedule
@@ -53,7 +53,6 @@ test: sql/show
test: sql/insupd
test: sql/parser
test: sql/prepareas
-test: sql/declare
test: thread/thread
test: thread/thread_implicit
test: thread/prep
diff --git a/src/interfaces/ecpg/test/expected/compat_informix-sqlda.c b/src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
index fee16595ecb..7e19319d27f 100644
--- a/src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
+++ b/src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
@@ -241,7 +241,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "open");
- { ECPGopen("mycur1", "st_id1", __LINE__, 1, 1, NULL, 0, ECPGst_normal, "declare mycur1 cursor for $1",
+ { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "declare mycur1 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 101 "sqlda.pgc"
@@ -258,7 +258,7 @@ if (sqlca.sqlcode < 0) exit (1);}
while (1)
{
strcpy(msg, "fetch");
- { ECPGfetch("mycur1", __LINE__, 1, 1, NULL, 0, ECPGst_normal, "fetch 1 from mycur1", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "fetch 1 from mycur1", ECPGt_EOIT,
ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 109 "sqlda.pgc"
@@ -279,7 +279,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "close");
- { ECPGclose("mycur1", __LINE__, 1, 1, NULL, 0, ECPGst_normal, "close mycur1", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "close mycur1", ECPGt_EOIT, ECPGt_EORT);
#line 118 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);}
@@ -316,7 +316,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "open");
- { ECPGopen("mycur2", "st_id2", __LINE__, 1, 1, NULL, 0, ECPGst_normal, "declare mycur2 cursor for $1",
+ { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "declare mycur2 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "st_id2", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 138 "sqlda.pgc"
@@ -333,7 +333,7 @@ if (sqlca.sqlcode < 0) exit (1);}
while (1)
{
strcpy(msg, "fetch");
- { ECPGfetch("mycur2", __LINE__, 1, 1, NULL, 0, ECPGst_normal, "fetch from mycur2", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "fetch from mycur2", ECPGt_EOIT,
ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 146 "sqlda.pgc"
@@ -354,7 +354,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "close");
- { ECPGclose("mycur2", __LINE__, 1, 1, NULL, 0, ECPGst_normal, "close mycur2", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "close mycur2", ECPGt_EOIT, ECPGt_EORT);
#line 155 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);}
diff --git a/src/interfaces/ecpg/test/expected/compat_informix-test_informix.c b/src/interfaces/ecpg/test/expected/compat_informix-test_informix.c
index 368626c393e..cc6504992d0 100644
--- a/src/interfaces/ecpg/test/expected/compat_informix-test_informix.c
+++ b/src/interfaces/ecpg/test/expected/compat_informix-test_informix.c
@@ -163,7 +163,7 @@ if (sqlca.sqlcode < 0) dosqlprint ( );
for (loopcount = 0; loopcount < 100; loopcount++)
{
- { ECPGfetch("c", __LINE__, 1, 1, NULL, 0, ECPGst_normal, "fetch forward c", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "fetch forward c", ECPGt_EOIT,
ECPGt_int,&(i),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_decimal,&(j),(long)1,(long)1,sizeof(decimal),
@@ -248,7 +248,7 @@ if (sqlca.sqlcode < 0) dosqlprint ( );}
static void openit(void)
{
- { ECPGopen("c", NULL, __LINE__, 1, 1, NULL, 0, ECPGst_normal, "declare c cursor for select * from test where i <= $1 ",
+ { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "declare c cursor for select * from test where i <= $1 ",
ECPGt_int,&(*( int *)(ECPGget_var( 0))),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 94 "test_informix.pgc"
diff --git a/src/interfaces/ecpg/test/expected/compat_oracle-char_array.c b/src/interfaces/ecpg/test/expected/compat_oracle-char_array.c
index d0638f056dd..04d4e1969e3 100644
--- a/src/interfaces/ecpg/test/expected/compat_oracle-char_array.c
+++ b/src/interfaces/ecpg/test/expected/compat_oracle-char_array.c
@@ -141,7 +141,7 @@ if (sqlca.sqlcode < 0) exit (1);}
/* declare C cursor for select strval , strval from strdbase */
#line 41 "char_array.pgc"
- { ECPGopen("C", NULL, __LINE__, 3, 1, NULL, 0, ECPGst_normal, "declare C cursor for select strval , strval from strdbase", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 3, 1, NULL, 0, ECPGst_normal, "declare C cursor for select strval , strval from strdbase", ECPGt_EOIT, ECPGt_EORT);
#line 42 "char_array.pgc"
if (sqlca.sqlwarn[0] == 'W') warn ( );
@@ -159,7 +159,7 @@ if (sqlca.sqlcode < 0) exit (1);}
for (loopcount = 0; loopcount < 100; loopcount++) {
strncpy(shortstr, ppppp, sizeof shortstr);
memset(bigstr, 0, sizeof bigstr);
- { ECPGfetch("C", __LINE__, 3, 1, NULL, 0, ECPGst_normal, "fetch C", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 3, 1, NULL, 0, ECPGst_normal, "fetch C", ECPGt_EOIT,
ECPGt_char,(bigstr),(long)11,(long)1,(11)*sizeof(char),
ECPGt_short,&(bigstr_ind),(long)1,(long)1,sizeof(short),
ECPGt_char,(shortstr),(long)5,(long)1,(5)*sizeof(char),
@@ -178,7 +178,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("\"%s\": \"%s\" %d\n", bigstr, shortstr, shstr_ind);
}
- { ECPGclose("C", __LINE__, 3, 1, NULL, 0, ECPGst_normal, "close C", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 3, 1, NULL, 0, ECPGst_normal, "close C", ECPGt_EOIT, ECPGt_EORT);
#line 54 "char_array.pgc"
if (sqlca.sqlwarn[0] == 'W') warn ( );
diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c b/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c
index 1b81b163614..b7e80547950 100644
--- a/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c
+++ b/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c
@@ -84,7 +84,7 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
/* declare cur cursor for select id , d , d from nantest1 */
#line 35 "nan_test.pgc"
- { ECPGopen("cur", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur cursor for select id , d , d from nantest1", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur cursor for select id , d , d from nantest1", ECPGt_EOIT, ECPGt_EORT);
#line 36 "nan_test.pgc"
if (sqlca.sqlcode < 0) sqlprint ( );}
@@ -92,7 +92,7 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
for (loopcount = 0; loopcount < 100; loopcount++)
{
- { ECPGfetch("cur", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch from cur", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch from cur", ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_double,&(d),(long)1,(long)1,sizeof(double),
@@ -132,14 +132,14 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
#line 48 "nan_test.pgc"
}
- { ECPGclose("cur", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur", ECPGt_EOIT, ECPGt_EORT);
#line 50 "nan_test.pgc"
if (sqlca.sqlcode < 0) sqlprint ( );}
#line 50 "nan_test.pgc"
- { ECPGopen("cur", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur cursor for select id , d , d from nantest1", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur cursor for select id , d , d from nantest1", ECPGt_EOIT, ECPGt_EORT);
#line 52 "nan_test.pgc"
if (sqlca.sqlcode < 0) sqlprint ( );}
@@ -147,7 +147,7 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
for (loopcount = 0; loopcount < 100; loopcount++)
{
- { ECPGfetch("cur", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch from cur", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch from cur", ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_double,&(d),(long)1,(long)1,sizeof(double),
@@ -166,7 +166,7 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
if (isnan(d))
printf("%d NaN '%s'\n", id, val);
}
- { ECPGclose("cur", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur", ECPGt_EOIT, ECPGt_EORT);
#line 63 "nan_test.pgc"
if (sqlca.sqlcode < 0) sqlprint ( );}
@@ -223,7 +223,7 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
/* declare cur1 cursor for select id , d , d from nantest2 */
#line 77 "nan_test.pgc"
- { ECPGopen("cur1", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur1 cursor for select id , d , d from nantest2", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur1 cursor for select id , d , d from nantest2", ECPGt_EOIT, ECPGt_EORT);
#line 78 "nan_test.pgc"
if (sqlca.sqlcode < 0) sqlprint ( );}
@@ -231,7 +231,7 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
for (loopcount = 0; loopcount < 100; loopcount++)
{
- { ECPGfetch("cur1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch from cur1", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch from cur1", ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_numeric,&(num),(long)1,(long)0,sizeof(numeric),
@@ -247,7 +247,7 @@ if (sqlca.sqlcode < 0) sqlprint ( );}
break;
printf("%d %s '%s'\n", id, (num->sign == NUMERIC_NAN ? "NaN" : "not NaN"), val);
}
- { ECPGclose("cur1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur1", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur1", ECPGt_EOIT, ECPGt_EORT);
#line 86 "nan_test.pgc"
if (sqlca.sqlcode < 0) sqlprint ( );}
diff --git a/src/interfaces/ecpg/test/expected/preproc-autoprep.c b/src/interfaces/ecpg/test/expected/preproc-autoprep.c
index 9d8711c4b6b..8ed5a2ca2c1 100644
--- a/src/interfaces/ecpg/test/expected/preproc-autoprep.c
+++ b/src/interfaces/ecpg/test/expected/preproc-autoprep.c
@@ -133,7 +133,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
#line 35 "autoprep.pgc"
- { ECPGopen("C", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare C cursor for select Item1 from T", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare C cursor for select Item1 from T", ECPGt_EOIT, ECPGt_EORT);
#line 37 "autoprep.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
@@ -143,7 +143,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
#line 37 "autoprep.pgc"
- { ECPGfetch("C", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 in C", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 in C", ECPGt_EOIT,
ECPGt_int,&(i),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 39 "autoprep.pgc"
@@ -156,7 +156,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
printf("i = %d\n", i);
- { ECPGclose("C", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close C", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close C", ECPGt_EOIT, ECPGt_EORT);
#line 42 "autoprep.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
@@ -180,7 +180,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
#line 46 "autoprep.pgc"
- { ECPGopen("cur1", "stmt1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur1 cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur1 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "stmt1", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 48 "autoprep.pgc"
@@ -199,7 +199,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
i = 0;
while (i < 100)
{
- { ECPGfetch("cur1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch cur1", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch cur1", ECPGt_EOIT,
ECPGt_int,&(item1),(long)1,(long)1,sizeof(int),
ECPGt_int,&(ind1),(long)1,(long)1,sizeof(int), ECPGt_EORT);
#line 55 "autoprep.pgc"
@@ -217,7 +217,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
i++;
}
- { ECPGclose("cur1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur1", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur1", ECPGt_EOIT, ECPGt_EORT);
#line 60 "autoprep.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
diff --git a/src/interfaces/ecpg/test/expected/preproc-cursor.c b/src/interfaces/ecpg/test/expected/preproc-cursor.c
index 54c9960ce6c..a4e7b12c17a 100644
--- a/src/interfaces/ecpg/test/expected/preproc-cursor.c
+++ b/src/interfaces/ecpg/test/expected/preproc-cursor.c
@@ -192,7 +192,7 @@ if (sqlca.sqlcode < 0) exit (1);
strcpy(msg, "open");
- { ECPGopen(":curname1", NULL, __LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for select id , t from t1",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for select id , t from t1",
ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 67 "cursor.pgc"
@@ -202,7 +202,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch from");
- { ECPGfetch(":curname1", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch forward from $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch forward from $0",
ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -217,7 +217,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "fetch");
- { ECPGfetch(":curname1", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch forward $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch forward $0",
ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -232,7 +232,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "fetch 1 from");
- { ECPGfetch(":curname1", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0",
ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -248,7 +248,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch :count from");
count = 1;
- { ECPGfetch(":curname1", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0",
ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
@@ -265,7 +265,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "move in");
- { ECPGfetch(":curname1", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 in $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 in $0",
ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 87 "cursor.pgc"
@@ -275,7 +275,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch 1");
- { ECPGfetch(":curname1", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0",
ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -291,7 +291,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch :count");
count = 1;
- { ECPGfetch(":curname1", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0",
ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
@@ -308,7 +308,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "close");
- { ECPGclose(":curname1", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0",
ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 99 "cursor.pgc"
@@ -333,7 +333,7 @@ if (sqlca.sqlcode < 0) exit (1);
strcpy(msg, "open");
- { ECPGopen(":curname2", NULL, __LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for select id , t from t1",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for select id , t from t1",
ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -347,7 +347,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch from");
- { ECPGfetch(":curname2", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch from $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch from $0",
ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -362,7 +362,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "fetch");
- { ECPGfetch(":curname2", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0",
ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -377,7 +377,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "fetch 1 from");
- { ECPGfetch(":curname2", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0",
ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -393,7 +393,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch :count from");
count = 1;
- { ECPGfetch(":curname2", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0",
ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
@@ -410,7 +410,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "move");
- { ECPGfetch(":curname2", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 $0",
ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -424,7 +424,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch 1");
- { ECPGfetch(":curname2", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0",
ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -440,7 +440,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch :count");
count = 1;
- { ECPGfetch(":curname2", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0",
ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
@@ -457,7 +457,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "close");
- { ECPGclose(":curname2", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0",
ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 140 "cursor.pgc"
@@ -503,7 +503,7 @@ if (sqlca.sqlcode < 0) exit (1);
strcpy(msg, "open");
- { ECPGopen(":curname3", "st_id1", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for $1",
ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char_variable,(ECPGprepared_statement("test1", "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
@@ -513,7 +513,7 @@ if (sqlca.sqlcode < 0) exit (1);
if (sqlca.sqlcode < 0) exit (1);}
#line 153 "cursor.pgc"
- { ECPGopen(":curname5", "st_id1", __LINE__, 0, 1, "test2", 0, ECPGst_normal, "declare $0 cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "declare $0 cursor for $1",
ECPGt_char,&(curname5),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char_variable,(ECPGprepared_statement("test2", "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
@@ -525,7 +525,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch");
- { ECPGfetch(":curname5", __LINE__, 0, 1, "test2", 0, ECPGst_normal, "fetch $0",
+ { ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "fetch $0",
ECPGt_char,&(curname5),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -540,7 +540,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "fetch from");
- { ECPGfetch(":curname3", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch from $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch from $0",
ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -555,7 +555,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "fetch 1 from");
- { ECPGfetch(":curname3", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0",
ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -571,7 +571,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch :count from");
count = 1;
- { ECPGfetch(":curname3", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0",
ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
@@ -588,7 +588,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "move");
- { ECPGfetch(":curname3", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 $0",
ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 174 "cursor.pgc"
@@ -598,7 +598,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch 1");
- { ECPGfetch(":curname3", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0",
ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -614,7 +614,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch :count");
count = 1;
- { ECPGfetch(":curname3", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0",
ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
@@ -631,7 +631,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "close");
- { ECPGclose(":curname3", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0",
ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 186 "cursor.pgc"
@@ -639,7 +639,7 @@ if (sqlca.sqlcode < 0) exit (1);}
if (sqlca.sqlcode < 0) exit (1);}
#line 186 "cursor.pgc"
- { ECPGclose(":curname5", __LINE__, 0, 1, "test2", 0, ECPGst_normal, "close $0",
+ { ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "close $0",
ECPGt_char,&(curname5),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 187 "cursor.pgc"
@@ -688,7 +688,7 @@ if (sqlca.sqlcode < 0) exit (1);
strcpy(msg, "open");
- { ECPGopen(":curname4", "st_id2", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for $1",
ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char_variable,(ECPGprepared_statement("test1", "st_id2", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
@@ -700,7 +700,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch from");
- { ECPGfetch(":curname4", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch from $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch from $0",
ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -715,7 +715,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "fetch");
- { ECPGfetch(":curname4", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0",
ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -730,7 +730,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "fetch 1 from");
- { ECPGfetch(":curname4", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0",
ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -746,7 +746,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch :count from");
count = 1;
- { ECPGfetch(":curname4", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0",
ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
@@ -763,7 +763,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "move");
- { ECPGfetch(":curname4", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 $0",
ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 226 "cursor.pgc"
@@ -773,7 +773,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch 1");
- { ECPGfetch(":curname4", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0",
ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
@@ -789,7 +789,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch :count");
count = 1;
- { ECPGfetch(":curname4", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0",
ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
@@ -806,7 +806,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d %s\n", id, t);
strcpy(msg, "close");
- { ECPGclose(":curname4", __LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0",
+ { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0",
ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 238 "cursor.pgc"
diff --git a/src/interfaces/ecpg/test/expected/preproc-outofscope.c b/src/interfaces/ecpg/test/expected/preproc-outofscope.c
index 49fc8dbf0dd..3a27c53e174 100644
--- a/src/interfaces/ecpg/test/expected/preproc-outofscope.c
+++ b/src/interfaces/ecpg/test/expected/preproc-outofscope.c
@@ -208,7 +208,7 @@ if (sqlca.sqlcode < 0) exit (1);
static void
open_cur1(void)
{
- { ECPGopen("mycur", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare mycur cursor for select * from a1", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare mycur cursor for select * from a1", ECPGt_EOIT,
ECPGt_int,&((*( MYTYPE *)(ECPGget_var( 0)) ).id),(long)1,(long)1,sizeof( struct mytype ),
ECPGt_int,&((*( MYNULLTYPE *)(ECPGget_var( 1)) ).id),(long)1,(long)1,sizeof( struct mynulltype ),
ECPGt_char,&((*( MYTYPE *)(ECPGget_var( 0)) ).t),(long)64,(long)1,sizeof( struct mytype ),
@@ -229,7 +229,7 @@ if (sqlca.sqlcode < 0) exit (1);}
static void
get_record1(void)
{
- { ECPGfetch("mycur", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch mycur", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch mycur", ECPGt_EOIT,
ECPGt_int,&((*( MYTYPE *)(ECPGget_var( 0)) ).id),(long)1,(long)1,sizeof( struct mytype ),
ECPGt_int,&((*( MYNULLTYPE *)(ECPGget_var( 1)) ).id),(long)1,(long)1,sizeof( struct mynulltype ),
ECPGt_char,&((*( MYTYPE *)(ECPGget_var( 0)) ).t),(long)64,(long)1,sizeof( struct mytype ),
@@ -250,7 +250,7 @@ if (sqlca.sqlcode < 0) exit (1);}
static void
close_cur1(void)
{
- { ECPGclose("mycur", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur", ECPGt_EOIT, ECPGt_EORT);
#line 52 "outofscope.pgc"
if (sqlca.sqlcode < 0) exit (1);}
diff --git a/src/interfaces/ecpg/test/expected/preproc-variable.c b/src/interfaces/ecpg/test/expected/preproc-variable.c
index 83dbc462e7a..3954f837690 100644
--- a/src/interfaces/ecpg/test/expected/preproc-variable.c
+++ b/src/interfaces/ecpg/test/expected/preproc-variable.c
@@ -190,7 +190,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "open");
- { ECPGopen("cur", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur cursor for select name , born , age , married , children from family", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur cursor for select name , born , age , married , children from family", ECPGt_EOIT, ECPGt_EORT);
#line 63 "variable.pgc"
if (sqlca.sqlcode < 0) exit (1);}
@@ -206,7 +206,7 @@ if (sqlca.sqlcode < 0) exit (1);}
memset(i, 0, sizeof(ind_personal));
for (loopcount = 0; loopcount < 100; loopcount++) {
strcpy(msg, "fetch");
- { ECPGfetch("cur", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch cur", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch cur", ECPGt_EOIT,
ECPGt_varchar,&(p->name),(long)BUFFERSIZ,(long)-1,sizeof( struct birthinfo ),
ECPGt_int,&(i->ind_name),(long)1,(long)-1,sizeof( struct birthinfo ),
ECPGt_long,&(p->birth.born),(long)1,(long)1,sizeof( struct birthinfo ),
@@ -241,7 +241,7 @@ if (sqlca.sqlcode < 0) exit (1);}
}
strcpy(msg, "close");
- { ECPGclose("cur", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur", ECPGt_EOIT, ECPGt_EORT);
#line 89 "variable.pgc"
if (sqlca.sqlcode < 0) exit (1);}
diff --git a/src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c b/src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c
index 77d4360a1da..56354ba2010 100644
--- a/src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c
+++ b/src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c
@@ -105,7 +105,7 @@ if (sqlca.sqlcode < 0) exit (1);}
#line 34 "whenever_do_continue.pgc"
- { ECPGopen("c", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c cursor for select ename , sal , comm from emp order by ename collate \"C\" asc", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c cursor for select ename , sal , comm from emp order by ename collate \"C\" asc", ECPGt_EOIT, ECPGt_EORT);
#line 36 "whenever_do_continue.pgc"
if (sqlca.sqlcode < 0) exit (1);}
@@ -124,7 +124,7 @@ if (sqlca.sqlcode < 0) exit (1);}
for (loopcount = 0; loopcount < 100; loopcount++)
{
- { ECPGfetch("c", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch c", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch c", ECPGt_EOIT,
ECPGt_char,&(emp.ename),(long)12,(long)1,(12)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_float,&(emp.sal),(long)1,(long)1,sizeof(float),
@@ -151,7 +151,7 @@ if (sqlca.sqlcode < 0) continue;}
#line 55 "whenever_do_continue.pgc"
- { ECPGclose("c", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close c", ECPGt_EOIT, ECPGt_EORT);}
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close c", ECPGt_EOIT, ECPGt_EORT);}
#line 57 "whenever_do_continue.pgc"
diff --git a/src/interfaces/ecpg/test/expected/sql-binary.c b/src/interfaces/ecpg/test/expected/sql-binary.c
index 66b1ae884b8..6d92ce344b6 100644
--- a/src/interfaces/ecpg/test/expected/sql-binary.c
+++ b/src/interfaces/ecpg/test/expected/sql-binary.c
@@ -108,7 +108,7 @@ if (sqlca.sqlcode < 0) exit (1);
#line 36 "binary.pgc"
- { ECPGopen("C", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare C cursor for select name , accs , byte from empl where idnum = $1 ",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare C cursor for select name , accs , byte from empl where idnum = $1 ",
ECPGt_long,&(empl.idnum),(long)1,(long)1,sizeof(long),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 37 "binary.pgc"
@@ -116,7 +116,7 @@ if (sqlca.sqlcode < 0) exit (1);
if (sqlca.sqlcode < 0) exit (1);}
#line 37 "binary.pgc"
- { ECPGfetch("C", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch C", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch C", ECPGt_EOIT,
ECPGt_char,(empl.name),(long)21,(long)1,(21)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_short,&(empl.accs),(long)1,(long)1,sizeof(short),
@@ -130,7 +130,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf ("name=%s, accs=%d byte=%s\n", empl.name, empl.accs, empl.byte);
- { ECPGclose("C", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close C", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close C", ECPGt_EOIT, ECPGt_EORT);
#line 41 "binary.pgc"
if (sqlca.sqlcode < 0) exit (1);}
@@ -147,7 +147,7 @@ if (sqlca.sqlcode < 0) exit (1);
#line 44 "binary.pgc"
- { ECPGopen("B", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare B binary cursor for select name , accs , byte from empl where idnum = $1 ",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare B binary cursor for select name , accs , byte from empl where idnum = $1 ",
ECPGt_long,&(empl.idnum),(long)1,(long)1,sizeof(long),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 45 "binary.pgc"
@@ -155,7 +155,7 @@ if (sqlca.sqlcode < 0) exit (1);
if (sqlca.sqlcode < 0) exit (1);}
#line 45 "binary.pgc"
- { ECPGfetch("B", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch B", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch B", ECPGt_EOIT,
ECPGt_char,(empl.name),(long)21,(long)1,(21)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_short,&(empl.accs),(long)1,(long)1,sizeof(short),
@@ -167,7 +167,7 @@ if (sqlca.sqlcode < 0) exit (1);}
if (sqlca.sqlcode < 0) exit (1);}
#line 46 "binary.pgc"
- { ECPGclose("B", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close B", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close B", ECPGt_EOIT, ECPGt_EORT);
#line 47 "binary.pgc"
if (sqlca.sqlcode < 0) exit (1);}
@@ -189,7 +189,7 @@ if (sqlca.sqlcode < 0) exit (1);
#line 55 "binary.pgc"
- { ECPGopen("A", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare A binary cursor for select byte from empl where idnum = $1 ",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare A binary cursor for select byte from empl where idnum = $1 ",
ECPGt_long,&(empl.idnum),(long)1,(long)1,sizeof(long),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 56 "binary.pgc"
@@ -197,7 +197,7 @@ if (sqlca.sqlcode < 0) exit (1);
if (sqlca.sqlcode < 0) exit (1);}
#line 56 "binary.pgc"
- { ECPGfetch("A", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch A", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch A", ECPGt_EOIT,
ECPGt_char,&(pointer),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 57 "binary.pgc"
@@ -205,7 +205,7 @@ if (sqlca.sqlcode < 0) exit (1);}
if (sqlca.sqlcode < 0) exit (1);}
#line 57 "binary.pgc"
- { ECPGclose("A", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close A", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close A", ECPGt_EOIT, ECPGt_EORT);
#line 58 "binary.pgc"
if (sqlca.sqlcode < 0) exit (1);}
diff --git a/src/interfaces/ecpg/test/expected/sql-declare.c b/src/interfaces/ecpg/test/expected/sql-declare.c
deleted file mode 100644
index 9c808daa611..00000000000
--- a/src/interfaces/ecpg/test/expected/sql-declare.c
+++ /dev/null
@@ -1,595 +0,0 @@
-/* Processed by ecpg (regression mode) */
-/* These include files are added by the preprocessor */
-#include <ecpglib.h>
-#include <ecpgerrno.h>
-#include <sqlca.h>
-/* End of automatic include section */
-#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y))
-
-#line 1 "declare.pgc"
-#include <locale.h>
-#include <string.h>
-#include <stdlib.h>
-
-/* exec sql whenever sqlerror sqlprint ; */
-#line 5 "declare.pgc"
-
-
-
-#line 1 "sqlca.h"
-#ifndef POSTGRES_SQLCA_H
-#define POSTGRES_SQLCA_H
-
-#ifndef PGDLLIMPORT
-#if defined(WIN32) || defined(__CYGWIN__)
-#define PGDLLIMPORT __declspec (dllimport)
-#else
-#define PGDLLIMPORT
-#endif /* __CYGWIN__ */
-#endif /* PGDLLIMPORT */
-
-#define SQLERRMC_LEN 150
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-struct sqlca_t
-{
- char sqlcaid[8];
- long sqlabc;
- long sqlcode;
- struct
- {
- int sqlerrml;
- char sqlerrmc[SQLERRMC_LEN];
- } sqlerrm;
- char sqlerrp[8];
- long sqlerrd[6];
- /* Element 0: empty */
- /* 1: OID of processed tuple if applicable */
- /* 2: number of rows processed */
- /* after an INSERT, UPDATE or */
- /* DELETE statement */
- /* 3: empty */
- /* 4: empty */
- /* 5: empty */
- char sqlwarn[8];
- /* Element 0: set to 'W' if at least one other is 'W' */
- /* 1: if 'W' at least one character string */
- /* value was truncated when it was */
- /* stored into a host variable. */
-
- /*
- * 2: if 'W' a (hopefully) non-fatal notice occurred
- */ /* 3: empty */
- /* 4: empty */
- /* 5: empty */
- /* 6: empty */
- /* 7: empty */
-
- char sqlstate[5];
-};
-
-struct sqlca_t *ECPGget_sqlca(void);
-
-#ifndef POSTGRES_ECPG_INTERNAL
-#define sqlca (*ECPGget_sqlca())
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-#line 7 "declare.pgc"
-
-
-#line 1 "regression.h"
-
-
-
-
-
-
-#line 8 "declare.pgc"
-
-
-#define ARRAY_SZIE 20
-
-void execute_test(void);
-void commitTable(void);
-void reset(void);
-void printResult(char *tc_name, int loop);
-
-/* exec sql begin declare section */
-
-
-
-
-#line 18 "declare.pgc"
- int f1 [ ARRAY_SZIE ] ;
-
-#line 19 "declare.pgc"
- int f2 [ ARRAY_SZIE ] ;
-
-#line 20 "declare.pgc"
- char f3 [ ARRAY_SZIE ] [ 20 ] ;
-/* exec sql end declare section */
-#line 21 "declare.pgc"
-
-
-int main(void)
-{
- setlocale(LC_ALL, "C");
-
- ECPGdebug(1, stderr);
-
- { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , "con1", 0);
-#line 29 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 29 "declare.pgc"
-
- { ECPGconnect(__LINE__, 0, "ecpg2_regression" , NULL, NULL , "con2", 0);
-#line 30 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 30 "declare.pgc"
-
-
- { ECPGdo(__LINE__, 0, 1, "con1", 0, ECPGst_normal, "create table source ( f1 integer , f2 integer , f3 varchar ( 20 ) )", ECPGt_EOIT, ECPGt_EORT);
-#line 32 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 32 "declare.pgc"
-
- { ECPGdo(__LINE__, 0, 1, "con2", 0, ECPGst_normal, "create table source ( f1 integer , f2 integer , f3 varchar ( 20 ) )", ECPGt_EOIT, ECPGt_EORT);
-#line 33 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 33 "declare.pgc"
-
-
- { ECPGdo(__LINE__, 0, 1, "con1", 0, ECPGst_normal, "insert into source values ( 1 , 10 , 'db on con1' )", ECPGt_EOIT, ECPGt_EORT);
-#line 35 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 35 "declare.pgc"
-
- { ECPGdo(__LINE__, 0, 1, "con1", 0, ECPGst_normal, "insert into source values ( 2 , 20 , 'db on con1' )", ECPGt_EOIT, ECPGt_EORT);
-#line 36 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 36 "declare.pgc"
-
-
- { ECPGdo(__LINE__, 0, 1, "con2", 0, ECPGst_normal, "insert into source values ( 1 , 10 , 'db on con2' )", ECPGt_EOIT, ECPGt_EORT);
-#line 38 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 38 "declare.pgc"
-
- { ECPGdo(__LINE__, 0, 1, "con2", 0, ECPGst_normal, "insert into source values ( 2 , 20 , 'db on con2' )", ECPGt_EOIT, ECPGt_EORT);
-#line 39 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 39 "declare.pgc"
-
-
- commitTable();
-
- execute_test();
-
- { ECPGdo(__LINE__, 0, 1, "con1", 0, ECPGst_normal, "drop table if exists source", ECPGt_EOIT, ECPGt_EORT);
-#line 45 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 45 "declare.pgc"
-
- { ECPGdo(__LINE__, 0, 1, "con2", 0, ECPGst_normal, "drop table if exists source", ECPGt_EOIT, ECPGt_EORT);
-#line 46 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 46 "declare.pgc"
-
-
- commitTable();
-
- { ECPGdisconnect(__LINE__, "ALL");
-#line 50 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 50 "declare.pgc"
-
-
- return 0;
-}
-
-/*
- * default connection: con2
- * Non-default connection: con1
- *
- */
-void execute_test(void)
-{
- /* exec sql begin declare section */
-
-
-
-#line 63 "declare.pgc"
- int i ;
-
-#line 64 "declare.pgc"
- char * selectString = "SELECT f1,f2,f3 FROM source" ;
-/* exec sql end declare section */
-#line 65 "declare.pgc"
-
-
- /*
- * testcase1. using DECLARE STATEMENT without using AT clause,
- * using PREPARE and CURSOR statement without using AT clause
- */
- reset();
-
- { ECPGdeclare(__LINE__, NULL, "stmt_1");
-#line 73 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 73 "declare.pgc"
-
- { ECPGprepare(__LINE__, NULL, 0, "stmt_1", selectString);
-#line 74 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 74 "declare.pgc"
-
- /* declare cur_1 cursor for $1 */
-#line 75 "declare.pgc"
-
- { ECPGopen("cur_1", "stmt_1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur_1 cursor for $1",
- ECPGt_char_variable,(ECPGprepared_statement(NULL, "stmt_1", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 76 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 76 "declare.pgc"
-
-
- /* exec sql whenever not found break ; */
-#line 78 "declare.pgc"
-
- i = 0;
- while (1)
- {
- { ECPGfetch("cur_1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch cur_1", ECPGt_EOIT,
- ECPGt_int,&(f1[i]),(long)1,(long)1,sizeof(int),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
- ECPGt_int,&(f2[i]),(long)1,(long)1,sizeof(int),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
- ECPGt_char,(f3[i]),(long)20,(long)1,(20)*sizeof(char),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 82 "declare.pgc"
-
-if (sqlca.sqlcode == ECPG_NOT_FOUND) break;
-#line 82 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 82 "declare.pgc"
-
- i++;
- }
- { ECPGclose("cur_1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur_1", ECPGt_EOIT, ECPGt_EORT);
-#line 85 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 85 "declare.pgc"
-
- { ECPGdeallocate(__LINE__, 0, NULL, "stmt_1");
-#line 86 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 86 "declare.pgc"
-
- /* exec sql whenever not found continue ; */
-#line 87 "declare.pgc"
-
-
- printResult("testcase1", 2);
-
-
- /*
- * testcase2. using DECLARE STATEMENT at con1,
- * using PREPARE and CURSOR statement without using AT clause
- */
- reset();
-
- { ECPGdeclare(__LINE__, "con1", "stmt_2");
-#line 98 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 98 "declare.pgc"
-
- { ECPGprepare(__LINE__, NULL, 0, "stmt_2", selectString);
-#line 99 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 99 "declare.pgc"
-
- /* declare cur_2 cursor for $1 */
-#line 100 "declare.pgc"
-
- { ECPGopen("cur_2", "stmt_2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare cur_2 cursor for $1",
- ECPGt_char_variable,(ECPGprepared_statement(NULL, "stmt_2", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 101 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 101 "declare.pgc"
-
-
- /* exec sql whenever not found break ; */
-#line 103 "declare.pgc"
-
- i = 0;
- while (1)
- {
- { ECPGfetch("cur_2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch cur_2", ECPGt_EOIT,
- ECPGt_int,&(f1[i]),(long)1,(long)1,sizeof(int),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
- ECPGt_int,&(f2[i]),(long)1,(long)1,sizeof(int),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
- ECPGt_char,(f3[i]),(long)20,(long)1,(20)*sizeof(char),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 107 "declare.pgc"
-
-if (sqlca.sqlcode == ECPG_NOT_FOUND) break;
-#line 107 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 107 "declare.pgc"
-
- i++;
- }
- { ECPGclose("cur_2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close cur_2", ECPGt_EOIT, ECPGt_EORT);
-#line 110 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 110 "declare.pgc"
-
- { ECPGdeallocate(__LINE__, 0, NULL, "stmt_2");
-#line 111 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 111 "declare.pgc"
-
- /* exec sql whenever not found continue ; */
-#line 112 "declare.pgc"
-
-
- printResult("testcase2", 2);
-
- /*
- * testcase3. using DECLARE STATEMENT at con1,
- * using PREPARE and CURSOR statement at con2
- */
- reset();
-
- { ECPGdeclare(__LINE__, "con1", "stmt_3");
-#line 122 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 122 "declare.pgc"
-
- { ECPGprepare(__LINE__, "con2", 0, "stmt_3", selectString);
-#line 123 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 123 "declare.pgc"
-
- /* declare cur_3 cursor for $1 */
-#line 124 "declare.pgc"
-
- { ECPGopen("cur_3", "stmt_3", __LINE__, 0, 1, "con2", 0, ECPGst_normal, "declare cur_3 cursor for $1",
- ECPGt_char_variable,(ECPGprepared_statement("con2", "stmt_3", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 125 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 125 "declare.pgc"
-
-
- /* exec sql whenever not found break ; */
-#line 127 "declare.pgc"
-
- i = 0;
- while (1)
- {
- { ECPGfetch("cur_3", __LINE__, 0, 1, "con2", 0, ECPGst_normal, "fetch cur_3", ECPGt_EOIT,
- ECPGt_int,&(f1[i]),(long)1,(long)1,sizeof(int),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
- ECPGt_int,&(f2[i]),(long)1,(long)1,sizeof(int),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
- ECPGt_char,(f3[i]),(long)20,(long)1,(20)*sizeof(char),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 131 "declare.pgc"
-
-if (sqlca.sqlcode == ECPG_NOT_FOUND) break;
-#line 131 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 131 "declare.pgc"
-
- i++;
- }
- { ECPGclose("cur_3", __LINE__, 0, 1, "con2", 0, ECPGst_normal, "close cur_3", ECPGt_EOIT, ECPGt_EORT);
-#line 134 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 134 "declare.pgc"
-
- { ECPGdeallocate(__LINE__, 0, "con2", "stmt_3");
-#line 135 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 135 "declare.pgc"
-
- /* exec sql whenever not found continue ; */
-#line 136 "declare.pgc"
-
-
- printResult("testcase3", 2);
-
-
- /*
- * testcase4. using DECLARE STATEMENT without using AT clause,
- * using PREPARE and CURSOR statement at con2
- */
- reset();
-
- { ECPGdeclare(__LINE__, NULL, "stmt_4");
-#line 147 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 147 "declare.pgc"
-
- { ECPGprepare(__LINE__, "con2", 0, "stmt_4", selectString);
-#line 148 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 148 "declare.pgc"
-
- /* declare cur_4 cursor for $1 */
-#line 149 "declare.pgc"
-
- { ECPGopen("cur_4", "stmt_4", __LINE__, 0, 1, "con2", 0, ECPGst_normal, "declare cur_4 cursor for $1",
- ECPGt_char_variable,(ECPGprepared_statement("con2", "stmt_4", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
-#line 150 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 150 "declare.pgc"
-
-
- /* exec sql whenever not found break ; */
-#line 152 "declare.pgc"
-
- i = 0;
- while (1)
- {
- { ECPGfetch("cur_4", __LINE__, 0, 1, "con2", 0, ECPGst_normal, "fetch cur_4", ECPGt_EOIT,
- ECPGt_int,&(f1[i]),(long)1,(long)1,sizeof(int),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
- ECPGt_int,&(f2[i]),(long)1,(long)1,sizeof(int),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
- ECPGt_char,(f3[i]),(long)20,(long)1,(20)*sizeof(char),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 156 "declare.pgc"
-
-if (sqlca.sqlcode == ECPG_NOT_FOUND) break;
-#line 156 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 156 "declare.pgc"
-
- i++;
- }
- { ECPGclose("cur_4", __LINE__, 0, 1, "con2", 0, ECPGst_normal, "close cur_4", ECPGt_EOIT, ECPGt_EORT);
-#line 159 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 159 "declare.pgc"
-
- { ECPGdeallocate(__LINE__, 0, "con2", "stmt_4");
-#line 160 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 160 "declare.pgc"
-
- /* exec sql whenever not found continue ; */
-#line 161 "declare.pgc"
-
-
- printResult("testcase4", 2);
-
- /*
- * testcase5. using DECLARE STATEMENT without using AT clause,
- * using PREPARE and EXECUTE statement without using AT clause
- */
- reset();
-
- { ECPGdeclare(__LINE__, NULL, "stmt_5");
-#line 171 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 171 "declare.pgc"
-
- { ECPGprepare(__LINE__, NULL, 0, "stmt_5", selectString);
-#line 172 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 172 "declare.pgc"
-
- { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "stmt_5", ECPGt_EOIT,
- ECPGt_int,(f1),(long)1,(long)ARRAY_SZIE,sizeof(int),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
- ECPGt_int,(f2),(long)1,(long)ARRAY_SZIE,sizeof(int),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
- ECPGt_char,(f3),(long)20,(long)ARRAY_SZIE,(20)*sizeof(char),
- ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
-#line 173 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 173 "declare.pgc"
-
-
- { ECPGdeallocate(__LINE__, 0, NULL, "stmt_5");
-#line 175 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 175 "declare.pgc"
-
-
- printResult("testcase5", 2);
-}
-
-void commitTable()
-{
- { ECPGtrans(__LINE__, "con1", "commit");
-#line 182 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 182 "declare.pgc"
-
- { ECPGtrans(__LINE__, "con2", "commit");
-#line 183 "declare.pgc"
-
-if (sqlca.sqlcode < 0) sqlprint();}
-#line 183 "declare.pgc"
-
-}
-
-/*
- * reset all the output variables
- */
-void reset()
-{
- memset(f1, 0, sizeof(f1));
- memset(f2, 0, sizeof(f2));
- memset(f3, 0, sizeof(f3));
-}
-
-void printResult(char *tc_name, int loop)
-{
- int i;
-
- if (tc_name)
- printf("****%s test results:****\n", tc_name);
-
- for (i = 0; i < loop; i++)
- printf("f1=%d, f2=%d, f3=%s\n", f1[i], f2[i], f3[i]);
-
- printf("\n");
-}
diff --git a/src/interfaces/ecpg/test/expected/sql-declare.stderr b/src/interfaces/ecpg/test/expected/sql-declare.stderr
deleted file mode 100644
index d74082a3871..00000000000
--- a/src/interfaces/ecpg/test/expected/sql-declare.stderr
+++ /dev/null
@@ -1,288 +0,0 @@
-[NO_PID]: ECPGdebug: set to 1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGconnect: opening database ecpg1_regression on <DEFAULT> port <DEFAULT>
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGconnect: opening database ecpg2_regression on <DEFAULT> port <DEFAULT>
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 32: query: create table source ( f1 integer , f2 integer , f3 varchar ( 20 ) ); with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 32: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 32: OK: CREATE TABLE
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 33: query: create table source ( f1 integer , f2 integer , f3 varchar ( 20 ) ); with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 33: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 33: OK: CREATE TABLE
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 35: query: insert into source values ( 1 , 10 , 'db on con1' ); with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 35: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 35: OK: INSERT 0 1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 36: query: insert into source values ( 2 , 20 , 'db on con1' ); with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 36: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 36: OK: INSERT 0 1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 38: query: insert into source values ( 1 , 10 , 'db on con2' ); with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 38: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 38: OK: INSERT 0 1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 39: query: insert into source values ( 2 , 20 , 'db on con2' ); with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 39: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 39: OK: INSERT 0 1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGtrans on line 182: action "commit"; connection "con1"
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGtrans on line 183: action "commit"; connection "con2"
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: prepare_common on line 74: name stmt_1; query: "SELECT f1,f2,f3 FROM source"
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 76: query: declare cur_1 cursor for SELECT f1,f2,f3 FROM source; with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 76: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 76: OK: DECLARE CURSOR
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 82: query: fetch cur_1; with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 82: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 82: correctly got 1 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 82: RESULT: 1 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 82: RESULT: 10 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 82: RESULT: db on con2 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 82: query: fetch cur_1; with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 82: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 82: correctly got 1 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 82: RESULT: 2 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 82: RESULT: 20 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 82: RESULT: db on con2 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 82: query: fetch cur_1; with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 82: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 82: correctly got 0 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: raising sqlcode 100 on line 82: no data found on line 82
-[NO_PID]: sqlca: code: 100, state: 02000
-[NO_PID]: ecpg_execute on line 85: query: close cur_1; with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 85: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 85: OK: CLOSE CURSOR
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: deallocate_one on line 86: name stmt_1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGdeclare on line 98: declared name "stmt_2" on connection: "con1"
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: prepare_common on line 99: name stmt_2; query: "SELECT f1,f2,f3 FROM source"
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 101: query: declare cur_2 cursor for SELECT f1,f2,f3 FROM source; with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 101: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 101: OK: DECLARE CURSOR
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 107: query: fetch cur_2; with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 107: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 107: correctly got 1 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 107: RESULT: 1 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 107: RESULT: 10 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 107: RESULT: db on con1 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 107: query: fetch cur_2; with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 107: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 107: correctly got 1 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 107: RESULT: 2 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 107: RESULT: 20 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 107: RESULT: db on con1 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 107: query: fetch cur_2; with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 107: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 107: correctly got 0 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: raising sqlcode 100 on line 107: no data found on line 107
-[NO_PID]: sqlca: code: 100, state: 02000
-[NO_PID]: ecpg_execute on line 110: query: close cur_2; with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 110: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 110: OK: CLOSE CURSOR
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: deallocate_one on line 111: name stmt_2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGdeclare on line 122: declared name "stmt_3" on connection: "con1"
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: prepare_common on line 123: name stmt_3; query: "SELECT f1,f2,f3 FROM source"
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 125: query: declare cur_3 cursor for SELECT f1,f2,f3 FROM source; with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 125: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 125: OK: DECLARE CURSOR
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 131: query: fetch cur_3; with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 131: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 131: correctly got 1 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 131: RESULT: 1 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 131: RESULT: 10 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 131: RESULT: db on con1 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 131: query: fetch cur_3; with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 131: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 131: correctly got 1 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 131: RESULT: 2 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 131: RESULT: 20 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 131: RESULT: db on con1 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 131: query: fetch cur_3; with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 131: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 131: correctly got 0 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: raising sqlcode 100 on line 131: no data found on line 131
-[NO_PID]: sqlca: code: 100, state: 02000
-[NO_PID]: ecpg_execute on line 134: query: close cur_3; with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 134: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 134: OK: CLOSE CURSOR
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: deallocate_one on line 135: name stmt_3
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: prepare_common on line 148: name stmt_4; query: "SELECT f1,f2,f3 FROM source"
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 150: query: declare cur_4 cursor for SELECT f1,f2,f3 FROM source; with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 150: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 150: OK: DECLARE CURSOR
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 156: query: fetch cur_4; with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 156: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 156: correctly got 1 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 156: RESULT: 1 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 156: RESULT: 10 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 156: RESULT: db on con2 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 156: query: fetch cur_4; with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 156: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 156: correctly got 1 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 156: RESULT: 2 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 156: RESULT: 20 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 156: RESULT: db on con2 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 156: query: fetch cur_4; with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 156: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 156: correctly got 0 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: raising sqlcode 100 on line 156: no data found on line 156
-[NO_PID]: sqlca: code: 100, state: 02000
-[NO_PID]: ecpg_execute on line 159: query: close cur_4; with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 159: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 159: OK: CLOSE CURSOR
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: deallocate_one on line 160: name stmt_4
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: prepare_common on line 172: name stmt_5; query: "SELECT f1,f2,f3 FROM source"
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 173: query: SELECT f1,f2,f3 FROM source; with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 173: using PQexecPrepared for "SELECT f1,f2,f3 FROM source"
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 173: correctly got 2 tuples with 3 fields
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 173: RESULT: 1 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 173: RESULT: 2 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 173: RESULT: 10 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 173: RESULT: 20 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 173: RESULT: db on con2 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_get_data on line 173: RESULT: db on con2 offset: -1; array: no
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: deallocate_one on line 175: name stmt_5
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 45: query: drop table if exists source; with 0 parameter(s) on connection con1
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 45: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 45: OK: DROP TABLE
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 46: query: drop table if exists source; with 0 parameter(s) on connection con2
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 46: using PQexec
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_process_output on line 46: OK: DROP TABLE
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGtrans on line 182: action "commit"; connection "con1"
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ECPGtrans on line 183: action "commit"; connection "con2"
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_finish: connection con2 closed
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_release_declared_statement: declared name "stmt_3" is released
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_release_declared_statement: declared name "stmt_2" is released
-[NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_finish: connection con1 closed
-[NO_PID]: sqlca: code: 0, state: 00000
diff --git a/src/interfaces/ecpg/test/expected/sql-declare.stdout b/src/interfaces/ecpg/test/expected/sql-declare.stdout
deleted file mode 100644
index 3352d47cc4f..00000000000
--- a/src/interfaces/ecpg/test/expected/sql-declare.stdout
+++ /dev/null
@@ -1,20 +0,0 @@
-****testcase1 test results:****
-f1=1, f2=10, f3=db on con2
-f1=2, f2=20, f3=db on con2
-
-****testcase2 test results:****
-f1=1, f2=10, f3=db on con1
-f1=2, f2=20, f3=db on con1
-
-****testcase3 test results:****
-f1=1, f2=10, f3=db on con1
-f1=2, f2=20, f3=db on con1
-
-****testcase4 test results:****
-f1=1, f2=10, f3=db on con2
-f1=2, f2=20, f3=db on con2
-
-****testcase5 test results:****
-f1=1, f2=10, f3=db on con2
-f1=2, f2=20, f3=db on con2
-
diff --git a/src/interfaces/ecpg/test/expected/sql-desc.c b/src/interfaces/ecpg/test/expected/sql-desc.c
index bcfe1bdf8bc..bdd12a506be 100644
--- a/src/interfaces/ecpg/test/expected/sql-desc.c
+++ b/src/interfaces/ecpg/test/expected/sql-desc.c
@@ -249,7 +249,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
/* declare c1 cursor for $1 */
#line 58 "desc.pgc"
- { ECPGopen("c1", "foo2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c1 cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c1 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "foo2", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_descriptor, "indesc", 1L, 1L, 1L,
@@ -260,7 +260,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
#line 59 "desc.pgc"
- { ECPGfetch("c1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch next from c1", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch next from c1", ECPGt_EOIT,
ECPGt_int,&(val1output),(long)1,(long)1,sizeof(int),
ECPGt_int,&(ind1),(long)1,(long)1,sizeof(int),
ECPGt_char,(val2output),(long)sizeof("AAA"),(long)1,(sizeof("AAA"))*sizeof(char),
@@ -273,7 +273,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
printf("val1=%d (ind1: %d) val2=%s (ind2: %d)\n",
val1output, ind1, val2output, ind2);
- { ECPGclose("c1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close c1", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close c1", ECPGt_EOIT, ECPGt_EORT);
#line 65 "desc.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
@@ -299,7 +299,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
/* declare c2 cursor for $1 */
#line 70 "desc.pgc"
- { ECPGopen("c2", "foo3", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c2 cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c2 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "foo3", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_descriptor, "indesc", 1L, 1L, 1L,
@@ -310,7 +310,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
#line 71 "desc.pgc"
- { ECPGfetch("c2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch next from c2", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch next from c2", ECPGt_EOIT,
ECPGt_int,&(val1output),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,(val2output),(long)sizeof("AAA"),(long)1,(sizeof("AAA"))*sizeof(char),
@@ -322,7 +322,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
printf("val1=%d val2=%s\n", val1output, val2i ? "null" : val2output);
- { ECPGclose("c2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close c2", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close c2", ECPGt_EOIT, ECPGt_EORT);
#line 76 "desc.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
diff --git a/src/interfaces/ecpg/test/expected/sql-dyntest.c b/src/interfaces/ecpg/test/expected/sql-dyntest.c
index f5a8ef09d4a..513d44c6304 100644
--- a/src/interfaces/ecpg/test/expected/sql-dyntest.c
+++ b/src/interfaces/ecpg/test/expected/sql-dyntest.c
@@ -261,7 +261,7 @@ if (sqlca.sqlcode < 0) error ( );}
#line 58 "dyntest.pgc"
- { ECPGopen("MYCURS", "myquery", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare MYCURS cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare MYCURS cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "myquery", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 60 "dyntest.pgc"
@@ -272,7 +272,7 @@ if (sqlca.sqlcode < 0) error ( );}
while (1)
{
- { ECPGfetch("MYCURS", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch in MYCURS", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch in MYCURS", ECPGt_EOIT,
ECPGt_descriptor, "MYDESC", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 64 "dyntest.pgc"
@@ -468,7 +468,7 @@ if (sqlca.sqlcode < 0) error ( );}
}
}
- { ECPGclose("MYCURS", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close MYCURS", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close MYCURS", ECPGt_EOIT, ECPGt_EORT);
#line 194 "dyntest.pgc"
if (sqlca.sqlcode < 0) error ( );}
diff --git a/src/interfaces/ecpg/test/expected/sql-execute.c b/src/interfaces/ecpg/test/expected/sql-execute.c
index e791621ad96..cac91dc5999 100644
--- a/src/interfaces/ecpg/test/expected/sql-execute.c
+++ b/src/interfaces/ecpg/test/expected/sql-execute.c
@@ -140,7 +140,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
#line 50 "execute.pgc"
- { ECPGopen("CUR", "f", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare CUR cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare CUR cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "f", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 52 "execute.pgc"
@@ -148,7 +148,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
if (sqlca.sqlcode < 0) sqlprint();}
#line 52 "execute.pgc"
- { ECPGfetch("CUR", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 8 in CUR", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 8 in CUR", ECPGt_EOIT,
ECPGt_char,(name),(long)8,(long)8,(8)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_int,(amount),(long)1,(long)8,sizeof(int),
@@ -180,7 +180,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l);
}
- { ECPGclose("CUR", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close CUR", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close CUR", ECPGt_EOIT, ECPGt_EORT);
#line 66 "execute.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
@@ -205,7 +205,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
#line 72 "execute.pgc"
- { ECPGopen("CUR2", "f", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare CUR2 cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare CUR2 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "f", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_const,"1",(long)1,(long)1,strlen("1"),
@@ -215,7 +215,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
if (sqlca.sqlcode < 0) sqlprint();}
#line 74 "execute.pgc"
- { ECPGfetch("CUR2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch in CUR2", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch in CUR2", ECPGt_EOIT,
ECPGt_char,(name),(long)8,(long)8,(8)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_int,(amount),(long)1,(long)8,sizeof(int),
@@ -247,7 +247,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l);
}
- { ECPGclose("CUR2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close CUR2", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close CUR2", ECPGt_EOIT, ECPGt_EORT);
#line 88 "execute.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
diff --git a/src/interfaces/ecpg/test/expected/sql-fetch.c b/src/interfaces/ecpg/test/expected/sql-fetch.c
index a265bce9895..ca7d14e97c4 100644
--- a/src/interfaces/ecpg/test/expected/sql-fetch.c
+++ b/src/interfaces/ecpg/test/expected/sql-fetch.c
@@ -99,7 +99,7 @@ if (sqlca.sqlcode < 0) exit (1);}
#line 26 "fetch.pgc"
- { ECPGopen("C", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare C cursor for select * from My_Table", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare C cursor for select * from My_Table", ECPGt_EOIT, ECPGt_EORT);
#line 28 "fetch.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
@@ -113,7 +113,7 @@ if (sqlca.sqlcode < 0) exit (1);}
#line 30 "fetch.pgc"
for (loopcount = 0; loopcount < 100; loopcount++) {
- { ECPGfetch("C", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 in C", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 in C", ECPGt_EOIT,
ECPGt_int,&(i),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,(str),(long)25,(long)1,(25)*sizeof(char),
@@ -135,7 +135,7 @@ if (sqlca.sqlcode < 0) exit (1);}
/* exec sql whenever not found continue ; */
#line 36 "fetch.pgc"
- { ECPGfetch("C", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "move backward 2 in C", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "move backward 2 in C", ECPGt_EOIT, ECPGt_EORT);
#line 37 "fetch.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
@@ -145,7 +145,7 @@ if (sqlca.sqlcode < 0) exit (1);}
#line 37 "fetch.pgc"
- { ECPGfetch("C", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0 in C",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch $0 in C",
ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_int,&(i),(long)1,(long)1,sizeof(int),
@@ -162,7 +162,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d: %s\n", i, str);
- { ECPGclose("C", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close C", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close C", ECPGt_EOIT, ECPGt_EORT);
#line 42 "fetch.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
@@ -176,7 +176,7 @@ if (sqlca.sqlcode < 0) exit (1);}
#line 44 "fetch.pgc"
- { ECPGopen("D", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare D cursor for select * from My_Table where Item1 = $1",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare D cursor for select * from My_Table where Item1 = $1",
ECPGt_const,"1",(long)1,(long)1,strlen("1"),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 46 "fetch.pgc"
@@ -188,7 +188,7 @@ if (sqlca.sqlcode < 0) exit (1);}
#line 46 "fetch.pgc"
- { ECPGfetch("D", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 in D", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 in D", ECPGt_EOIT,
ECPGt_int,&(i),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,(str),(long)25,(long)1,(25)*sizeof(char),
@@ -203,7 +203,7 @@ if (sqlca.sqlcode < 0) exit (1);}
printf("%d: %s\n", i, str);
- { ECPGclose("D", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close D", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close D", ECPGt_EOIT, ECPGt_EORT);
#line 51 "fetch.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
diff --git a/src/interfaces/ecpg/test/expected/sql-oldexec.c b/src/interfaces/ecpg/test/expected/sql-oldexec.c
index b98de49f590..d6a661e3fb5 100644
--- a/src/interfaces/ecpg/test/expected/sql-oldexec.c
+++ b/src/interfaces/ecpg/test/expected/sql-oldexec.c
@@ -141,7 +141,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
#line 51 "oldexec.pgc"
- { ECPGopen("CUR", "f", __LINE__, 0, 1, NULL, 1, ECPGst_normal, "declare CUR cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, NULL, 1, ECPGst_normal, "declare CUR cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "f", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 53 "oldexec.pgc"
@@ -149,7 +149,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
if (sqlca.sqlcode < 0) sqlprint();}
#line 53 "oldexec.pgc"
- { ECPGfetch("CUR", __LINE__, 0, 1, NULL, 1, ECPGst_normal, "fetch 8 in CUR", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 1, ECPGst_normal, "fetch 8 in CUR", ECPGt_EOIT,
ECPGt_char,(name),(long)8,(long)8,(8)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_int,(amount),(long)1,(long)8,sizeof(int),
@@ -171,7 +171,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l);
}
- { ECPGclose("CUR", __LINE__, 0, 1, NULL, 1, ECPGst_normal, "close CUR", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 1, ECPGst_normal, "close CUR", ECPGt_EOIT, ECPGt_EORT);
#line 65 "oldexec.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
@@ -190,7 +190,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
#line 70 "oldexec.pgc"
- { ECPGopen("CUR3", "f", __LINE__, 0, 1, NULL, 1, ECPGst_normal, "declare CUR3 cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, NULL, 1, ECPGst_normal, "declare CUR3 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "f", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_const,"1",(long)1,(long)1,strlen("1"),
@@ -200,7 +200,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
if (sqlca.sqlcode < 0) sqlprint();}
#line 72 "oldexec.pgc"
- { ECPGfetch("CUR3", __LINE__, 0, 1, NULL, 1, ECPGst_normal, "fetch in CUR3", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 1, ECPGst_normal, "fetch in CUR3", ECPGt_EOIT,
ECPGt_char,(name),(long)8,(long)8,(8)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_int,(amount),(long)1,(long)8,sizeof(int),
@@ -222,7 +222,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l);
}
- { ECPGclose("CUR3", __LINE__, 0, 1, NULL, 1, ECPGst_normal, "close CUR3", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 1, ECPGst_normal, "close CUR3", ECPGt_EOIT, ECPGt_EORT);
#line 84 "oldexec.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
diff --git a/src/interfaces/ecpg/test/expected/sql-quote.c b/src/interfaces/ecpg/test/expected/sql-quote.c
index a6f501c2ecd..05841bd6999 100644
--- a/src/interfaces/ecpg/test/expected/sql-quote.c
+++ b/src/interfaces/ecpg/test/expected/sql-quote.c
@@ -162,7 +162,7 @@ if (sqlca.sqlcode < 0) exit (1);}
#line 43 "quote.pgc"
- { ECPGopen("C", NULL, __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare C cursor for select * from \"My_Table\"", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare C cursor for select * from \"My_Table\"", ECPGt_EOIT, ECPGt_EORT);
#line 45 "quote.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
@@ -178,7 +178,7 @@ if (sqlca.sqlcode < 0) exit (1);}
for (loopcount = 0; loopcount < 100; loopcount++)
{
- { ECPGfetch("C", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch C", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch C", ECPGt_EOIT,
ECPGt_int,&(i),(long)1,(long)1,sizeof(int),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,(var),(long)25,(long)1,(25)*sizeof(char),
diff --git a/src/interfaces/ecpg/test/expected/sql-sqlda.c b/src/interfaces/ecpg/test/expected/sql-sqlda.c
index d1c7e3adf1c..6bd9d5527a0 100644
--- a/src/interfaces/ecpg/test/expected/sql-sqlda.c
+++ b/src/interfaces/ecpg/test/expected/sql-sqlda.c
@@ -261,7 +261,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "open");
- { ECPGopen("mycur1", "st_id1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare mycur1 cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare mycur1 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 115 "sqlda.pgc"
@@ -278,7 +278,7 @@ if (sqlca.sqlcode < 0) exit (1);}
while (1)
{
strcpy(msg, "fetch");
- { ECPGfetch("mycur1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 from mycur1", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 from mycur1", ECPGt_EOIT,
ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 123 "sqlda.pgc"
@@ -299,7 +299,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "close");
- { ECPGclose("mycur1", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur1", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur1", ECPGt_EOIT, ECPGt_EORT);
#line 132 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);}
@@ -334,7 +334,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "open");
- { ECPGopen("mycur2", "st_id2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare mycur2 cursor for $1",
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare mycur2 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "st_id2", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 150 "sqlda.pgc"
@@ -344,7 +344,7 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "fetch");
- { ECPGfetch("mycur2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch all from mycur2", ECPGt_EOIT,
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch all from mycur2", ECPGt_EOIT,
ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 153 "sqlda.pgc"
@@ -367,7 +367,7 @@ if (sqlca.sqlcode < 0) exit (1);}
}
strcpy(msg, "close");
- { ECPGclose("mycur2", __LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur2", ECPGt_EOIT, ECPGt_EORT);
+ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur2", ECPGt_EOIT, ECPGt_EORT);
#line 169 "sqlda.pgc"
if (sqlca.sqlcode < 0) exit (1);}
diff --git a/src/interfaces/ecpg/test/sql/.gitignore b/src/interfaces/ecpg/test/sql/.gitignore
index d3aaa620e06..613bdebc969 100644
--- a/src/interfaces/ecpg/test/sql/.gitignore
+++ b/src/interfaces/ecpg/test/sql/.gitignore
@@ -10,8 +10,6 @@
/copystdout.c
/createtableas
/createtableas.c
-/declare
-/declare.c
/define
/define.c
/desc
diff --git a/src/interfaces/ecpg/test/sql/Makefile b/src/interfaces/ecpg/test/sql/Makefile
index 876ca8df3e6..170bcd72c4d 100644
--- a/src/interfaces/ecpg/test/sql/Makefile
+++ b/src/interfaces/ecpg/test/sql/Makefile
@@ -26,7 +26,6 @@ TESTS = array array.c \
insupd insupd.c \
twophase twophase.c \
insupd insupd.c \
- declare declare.c \
bytea bytea.c \
prepareas prepareas.c
diff --git a/src/interfaces/ecpg/test/sql/declare.pgc b/src/interfaces/ecpg/test/sql/declare.pgc
deleted file mode 100644
index f9ef4687413..00000000000
--- a/src/interfaces/ecpg/test/sql/declare.pgc
+++ /dev/null
@@ -1,207 +0,0 @@
-#include <locale.h>
-#include <string.h>
-#include <stdlib.h>
-
-EXEC SQL WHENEVER SQLERROR SQLPRINT;
-
-EXEC SQL INCLUDE sqlca;
-EXEC SQL INCLUDE ../regression;
-
-#define ARRAY_SZIE 20
-
-void execute_test(void);
-void commitTable(void);
-void reset(void);
-void printResult(char *tc_name, int loop);
-
-EXEC SQL BEGIN DECLARE SECTION;
-int f1[ARRAY_SZIE];
-int f2[ARRAY_SZIE];
-char f3[ARRAY_SZIE][20];
-EXEC SQL END DECLARE SECTION;
-
-int main(void)
-{
- setlocale(LC_ALL, "C");
-
- ECPGdebug(1, stderr);
-
- EXEC SQL CONNECT TO REGRESSDB1 AS con1;
- EXEC SQL CONNECT TO REGRESSDB2 AS con2;
-
- EXEC SQL AT con1 CREATE TABLE source(f1 integer, f2 integer, f3 varchar(20));
- EXEC SQL AT con2 CREATE TABLE source(f1 integer, f2 integer, f3 varchar(20));
-
- EXEC SQL AT con1 INSERT INTO source VALUES(1, 10, 'db on con1');
- EXEC SQL AT con1 INSERT INTO source VALUES(2, 20, 'db on con1');
-
- EXEC SQL AT con2 INSERT INTO source VALUES(1, 10, 'db on con2');
- EXEC SQL AT con2 INSERT INTO source VALUES(2, 20, 'db on con2');
-
- commitTable();
-
- execute_test();
-
- EXEC SQL AT con1 DROP TABLE IF EXISTS source;
- EXEC SQL AT con2 DROP TABLE IF EXISTS source;
-
- commitTable();
-
- EXEC SQL DISCONNECT ALL;
-
- return 0;
-}
-
-/*
- * default connection: con2
- * Non-default connection: con1
- *
- */
-void execute_test(void)
-{
- EXEC SQL BEGIN DECLARE SECTION;
- int i;
- char *selectString = "SELECT f1,f2,f3 FROM source";
- EXEC SQL END DECLARE SECTION;
-
- /*
- * testcase1. using DECLARE STATEMENT without using AT clause,
- * using PREPARE and CURSOR statement without using AT clause
- */
- reset();
-
- EXEC SQL DECLARE stmt_1 STATEMENT;
- EXEC SQL PREPARE stmt_1 FROM :selectString;
- EXEC SQL DECLARE cur_1 CURSOR FOR stmt_1;
- EXEC SQL OPEN cur_1;
-
- EXEC SQL WHENEVER NOT FOUND DO BREAK;
- i = 0;
- while (1)
- {
- EXEC SQL FETCH cur_1 INTO :f1[i], :f2[i], :f3[i];
- i++;
- }
- EXEC SQL CLOSE cur_1;
- EXEC SQL DEALLOCATE PREPARE stmt_1;
- EXEC SQL WHENEVER NOT FOUND CONTINUE;
-
- printResult("testcase1", 2);
-
-
- /*
- * testcase2. using DECLARE STATEMENT at con1,
- * using PREPARE and CURSOR statement without using AT clause
- */
- reset();
-
- EXEC SQL AT con1 DECLARE stmt_2 STATEMENT;
- EXEC SQL PREPARE stmt_2 FROM :selectString;
- EXEC SQL DECLARE cur_2 CURSOR FOR stmt_2;
- EXEC SQL OPEN cur_2;
-
- EXEC SQL WHENEVER NOT FOUND DO BREAK;
- i = 0;
- while (1)
- {
- EXEC SQL FETCH cur_2 INTO :f1[i], :f2[i], :f3[i];
- i++;
- }
- EXEC SQL CLOSE cur_2;
- EXEC SQL DEALLOCATE PREPARE stmt_2;
- EXEC SQL WHENEVER NOT FOUND CONTINUE;
-
- printResult("testcase2", 2);
-
- /*
- * testcase3. using DECLARE STATEMENT at con1,
- * using PREPARE and CURSOR statement at con2
- */
- reset();
-
- EXEC SQL AT con1 DECLARE stmt_3 STATEMENT;
- EXEC SQL AT con2 PREPARE stmt_3 FROM :selectString;
- EXEC SQL AT con2 DECLARE cur_3 CURSOR FOR stmt_3;
- EXEC SQL AT con2 OPEN cur_3;
-
- EXEC SQL WHENEVER NOT FOUND DO BREAK;
- i = 0;
- while (1)
- {
- EXEC SQL AT con2 FETCH cur_3 INTO :f1[i], :f2[i], :f3[i];
- i++;
- }
- EXEC SQL AT con2 CLOSE cur_3;
- EXEC SQL AT con2 DEALLOCATE PREPARE stmt_3;
- EXEC SQL WHENEVER NOT FOUND CONTINUE;
-
- printResult("testcase3", 2);
-
-
- /*
- * testcase4. using DECLARE STATEMENT without using AT clause,
- * using PREPARE and CURSOR statement at con2
- */
- reset();
-
- EXEC SQL DECLARE stmt_4 STATEMENT;
- EXEC SQL AT con2 PREPARE stmt_4 FROM :selectString;
- EXEC SQL AT con2 DECLARE cur_4 CURSOR FOR stmt_4;
- EXEC SQL AT con2 OPEN cur_4;
-
- EXEC SQL WHENEVER NOT FOUND DO BREAK;
- i = 0;
- while (1)
- {
- EXEC SQL AT con2 FETCH cur_4 INTO :f1[i], :f2[i], :f3[i];
- i++;
- }
- EXEC SQL AT con2 CLOSE cur_4;
- EXEC SQL AT con2 DEALLOCATE PREPARE stmt_4;
- EXEC SQL WHENEVER NOT FOUND CONTINUE;
-
- printResult("testcase4", 2);
-
- /*
- * testcase5. using DECLARE STATEMENT without using AT clause,
- * using PREPARE and EXECUTE statement without using AT clause
- */
- reset();
-
- EXEC SQL DECLARE stmt_5 STATEMENT;
- EXEC SQL PREPARE stmt_5 FROM :selectString;
- EXEC SQL EXECUTE stmt_5 INTO :f1, :f2, :f3;
-
- EXEC SQL DEALLOCATE PREPARE stmt_5;
-
- printResult("testcase5", 2);
-}
-
-void commitTable()
-{
- EXEC SQL AT con1 COMMIT;
- EXEC SQL AT con2 COMMIT;
-}
-
-/*
- * reset all the output variables
- */
-void reset()
-{
- memset(f1, 0, sizeof(f1));
- memset(f2, 0, sizeof(f2));
- memset(f3, 0, sizeof(f3));
-}
-
-void printResult(char *tc_name, int loop)
-{
- int i;
-
- if (tc_name)
- printf("****%s test results:****\n", tc_name);
-
- for (i = 0; i < loop; i++)
- printf("f1=%d, f2=%d, f3=%s\n", f1[i], f2[i], f3[i]);
-
- printf("\n");
-}