Header And Logo

PostgreSQL
| The world's most advanced open source database.

Data Structures | Defines | Typedefs | Functions

preproc-cursor.c File Reference

#include <ecpglib.h>
#include <ecpgerrno.h>
#include <sqlca.h>
#include <stdlib.h>
#include <string.h>
Include dependency graph for preproc-cursor.c:

Go to the source code of this file.

Data Structures

union  ind

Defines

#define ECPGdebug(X, Y)   ECPGdebug((X)+100,(Y))
#define BUFFERSIZ   8
#define CURNAME   "mycur"

Typedefs

typedef char * c

Functions

int main (void)

Define Documentation

#define BUFFERSIZ   8

Definition at line 44 of file preproc-cursor.c.

#define CURNAME   "mycur"

Definition at line 49 of file preproc-cursor.c.

Referenced by main().

#define ECPGdebug (   X,
  Y 
)    ECPGdebug((X)+100,(Y))

Definition at line 7 of file preproc-cursor.c.


Typedef Documentation

typedef char* c

Definition at line 31 of file preproc-cursor.c.


Function Documentation

int main ( void   ) 

Definition at line 52 of file preproc-cursor.c.

References CURNAME, ECPGconnect(), ECPGdeallocate(), ECPGdebug, ECPGdisconnect(), ECPGdo(), ECPGprepare(), ECPGprepared_statement(), ECPGset_var(), ECPGst_normal, ECPGt_char, ECPGt_char_variable, ECPGt_EOIT, ECPGt_EORT, ECPGt_int, ECPGt_NO_INDICATOR, ECPGt_varchar, ECPGtrans(), NULL, and sqlca.

{
/* exec sql begin declare section */
          
          
          
          
        
          
        
        
        

#line 23 "cursor.pgc"
 char * stmt1 = "SELECT id, t FROM t1" ;
 
#line 24 "cursor.pgc"
 char * curname1 = CURNAME ;
 
#line 25 "cursor.pgc"
 char * curname2 = CURNAME ;
 
#line 26 "cursor.pgc"
 char * curname3 = CURNAME ;
 
#line 27 "cursor.pgc"
  struct varchar_1  { int len; char arr[ 50 ]; }  curname4 ;
 
#line 28 "cursor.pgc"
 char * curname5 = CURNAME ;
 
#line 29 "cursor.pgc"
 int count ;
 
#line 30 "cursor.pgc"
 int id ;
 
#line 31 "cursor.pgc"
 char t [ 64 ] ;
/* exec sql end declare section */
#line 32 "cursor.pgc"


    char msg[128];

    ECPGdebug(1, stderr);

    strcpy(msg, "connect");
    { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , "test1", 0); 
#line 39 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 39 "cursor.pgc"

    { ECPGconnect(__LINE__, 0, "connectdb" , NULL, NULL , "test2", 0); 
#line 40 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 40 "cursor.pgc"


    strcpy(msg, "set");
    { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "set datestyle to iso", ECPGt_EOIT, ECPGt_EORT);
#line 43 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 43 "cursor.pgc"


    strcpy(msg, "create");
    { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "create table t1 ( id serial primary key , t text )", ECPGt_EOIT, ECPGt_EORT);
#line 46 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 46 "cursor.pgc"

    { ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "create table t1 ( id serial primary key , t text )", ECPGt_EOIT, ECPGt_EORT);
#line 47 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 47 "cursor.pgc"


    strcpy(msg, "insert");
    { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'a' )", ECPGt_EOIT, ECPGt_EORT);
#line 50 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 50 "cursor.pgc"

    { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'b' )", ECPGt_EOIT, ECPGt_EORT);
#line 51 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 51 "cursor.pgc"

    { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'c' )", ECPGt_EOIT, ECPGt_EORT);
#line 52 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 52 "cursor.pgc"

    { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'd' )", ECPGt_EOIT, ECPGt_EORT);
#line 53 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 53 "cursor.pgc"

    { ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'e' )", ECPGt_EOIT, ECPGt_EORT);
#line 54 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 54 "cursor.pgc"


    strcpy(msg, "commit");
    { ECPGtrans(__LINE__, "test1", "commit");
#line 57 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 57 "cursor.pgc"

    { ECPGtrans(__LINE__, "test2", "commit");
#line 58 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 58 "cursor.pgc"


    /* Dynamic cursorname test with INTO list in FETCH stmts */

    strcpy(msg, "declare");
    ECPGset_var( 0, &( curname1 ), __LINE__);\
 /* declare $0 cursor for select id , t from t1 */
#line 64 "cursor.pgc"


    strcpy(msg, "open");
    { 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"

if (sqlca.sqlcode < 0) exit (1);}
#line 67 "cursor.pgc"


    strcpy(msg, "fetch from");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 70 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 70 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 74 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 74 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch 1 from");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 78 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 78 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch :count from");
    count = 1;
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, 
    ECPGt_int,&(id),(long)1,(long)1,sizeof(int), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 83 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 83 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "move in");
    { 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"

if (sqlca.sqlcode < 0) exit (1);}
#line 87 "cursor.pgc"


    strcpy(msg, "fetch 1");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 90 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 90 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch :count");
    count = 1;
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, 
    ECPGt_int,&(id),(long)1,(long)1,sizeof(int), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 95 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 95 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "close");
    { 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"

if (sqlca.sqlcode < 0) exit (1);}
#line 99 "cursor.pgc"


    /* Dynamic cursorname test with INTO list in DECLARE stmt */

    strcpy(msg, "declare");
    ECPGset_var( 1, &( curname2 ), __LINE__);\
 ECPGset_var( 2, ( t ), __LINE__);\
 ECPGset_var( 3, &( id ), __LINE__);\
 /* declare $0 cursor for select id , t from t1 */
#line 105 "cursor.pgc"


    strcpy(msg, "open");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 108 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 108 "cursor.pgc"


    strcpy(msg, "fetch from");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 111 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 111 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 115 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 115 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch 1 from");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 119 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 119 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch :count from");
    count = 1;
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, 
    ECPGt_int,&(id),(long)1,(long)1,sizeof(int), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 124 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 124 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "move");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 128 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 128 "cursor.pgc"


    strcpy(msg, "fetch 1");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 131 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 131 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch :count");
    count = 1;
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, 
    ECPGt_int,&(id),(long)1,(long)1,sizeof(int), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 136 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 136 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "close");
    { 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"

if (sqlca.sqlcode < 0) exit (1);}
#line 140 "cursor.pgc"


    /* Dynamic cursorname test with PREPARED stmt */

    strcpy(msg, "prepare");
    { ECPGprepare(__LINE__, "test1", 0, "st_id1", stmt1);
#line 145 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 145 "cursor.pgc"

    { ECPGprepare(__LINE__, "test2", 0, "st_id1", stmt1);
#line 146 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 146 "cursor.pgc"


    strcpy(msg, "declare");
    ECPGset_var( 4, &( curname3 ), __LINE__);\
 /* declare $0 cursor for $1 */
#line 149 "cursor.pgc"

    ECPGset_var( 5, &( curname5 ), __LINE__);\
 /* declare $0 cursor for $1 */
#line 150 "cursor.pgc"


    strcpy(msg, "open");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 153 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 153 "cursor.pgc"

    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 154 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 154 "cursor.pgc"


    strcpy(msg, "fetch");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 157 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 157 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch from");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 161 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 161 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch 1 from");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 165 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 165 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch :count from");
    count = 1;
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, 
    ECPGt_int,&(id),(long)1,(long)1,sizeof(int), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 170 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 170 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "move");
    { 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"

if (sqlca.sqlcode < 0) exit (1);}
#line 174 "cursor.pgc"


    strcpy(msg, "fetch 1");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 177 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 177 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch :count");
    count = 1;
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, 
    ECPGt_int,&(id),(long)1,(long)1,sizeof(int), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 182 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 182 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "close");
    { 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"

if (sqlca.sqlcode < 0) exit (1);}
#line 186 "cursor.pgc"

    { 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"

if (sqlca.sqlcode < 0) exit (1);}
#line 187 "cursor.pgc"


    strcpy(msg, "deallocate prepare");
    { ECPGdeallocate(__LINE__, 0, "test1", "st_id1");
#line 190 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 190 "cursor.pgc"

    { ECPGdeallocate(__LINE__, 0, "test2", "st_id1");
#line 191 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 191 "cursor.pgc"


    /* Dynamic cursorname test with PREPARED stmt,
       cursor name in varchar */

    curname4.len = strlen(CURNAME);
    strcpy(curname4.arr, CURNAME);

    strcpy(msg, "prepare");
    { ECPGprepare(__LINE__, "test1", 0, "st_id2", stmt1);
#line 200 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 200 "cursor.pgc"


    strcpy(msg, "declare");
    ECPGset_var( 6, &( curname4 ), __LINE__);\
 /* declare $0 cursor for $1 */
#line 203 "cursor.pgc"


    strcpy(msg, "open");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 206 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 206 "cursor.pgc"


    strcpy(msg, "fetch from");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 209 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 209 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 213 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 213 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch 1 from");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 217 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 217 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch :count from");
    count = 1;
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, 
    ECPGt_int,&(id),(long)1,(long)1,sizeof(int), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 222 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 222 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "move");
    { 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"

if (sqlca.sqlcode < 0) exit (1);}
#line 226 "cursor.pgc"


    strcpy(msg, "fetch 1");
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 229 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 229 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "fetch :count");
    count = 1;
    { 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), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, 
    ECPGt_int,&(id),(long)1,(long)1,sizeof(int), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, 
    ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char), 
    ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 234 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 234 "cursor.pgc"

    printf("%d %s\n", id, t);

    strcpy(msg, "close");
    { 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"

if (sqlca.sqlcode < 0) exit (1);}
#line 238 "cursor.pgc"


    strcpy(msg, "deallocate prepare");
    { ECPGdeallocate(__LINE__, 0, "test1", "st_id2");
#line 241 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 241 "cursor.pgc"


    /* End test */

    strcpy(msg, "drop");
    { ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT);
#line 246 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 246 "cursor.pgc"

    { ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT);
#line 247 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 247 "cursor.pgc"


    strcpy(msg, "commit");
    { ECPGtrans(__LINE__, "test1", "commit");
#line 250 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 250 "cursor.pgc"


    strcpy(msg, "disconnect");
    { ECPGdisconnect(__LINE__, "ALL");
#line 253 "cursor.pgc"

if (sqlca.sqlcode < 0) exit (1);}
#line 253 "cursor.pgc"


    return (0);
}