cursor.c.esql
text/plain
Filename: cursor.c.esql
Type: text/plain
Part: 1
#include <stdlib.h>
#include <sqlhdr.h>
#include <sqliapi.h>
#line 1 "cursor.ec"
/* exec sql whenever sqlerror sqlprint; */
/*
* exec sql whenever sqlerror stop;
*/
#line 2 "cursor.ec"
void runit(char *);
main()
{
/*
* exec sql begin declare section;
*/
#line 8 "cursor.ec"
#line 9 "cursor.ec"
char *cursor = strdup("A");
/*
* exec sql end declare section;
*/
#line 10 "cursor.ec"
/*
* exec sql connect to 'test';
*/
#line 12 "cursor.ec"
{
#line 12 "cursor.ec"
sqli_connect_open(ESQLINTVERSION, 0, "test", (char *)0, (ifx_conn_t *)0, 0);
#line 12 "cursor.ec"
{ if (SQLCODE < 0) { sqli_stop_whenever(); exit(1);} }
#line 12 "cursor.ec"
}
/*
* exec sql declare :cursor cursor for select 1 from dummy where id = 1;
*/
#line 13 "cursor.ec"
{
#line 13 "cursor.ec"
static const char *sqlcmdtxt[] =
#line 13 "cursor.ec"
{
#line 13 "cursor.ec"
"select 1 from dummy where id = 1",
0
};
#line 13 "cursor.ec"
#line 13 "cursor.ec"
sqli_curs_decl_stat(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cursor, 0), cursor, sqlcmdtxt, (ifx_sqlda_t *)0, (ifx_sqlda_t *)0, 0, (ifx_literal_t *)0, (ifx_namelist_t *)0, 2, 0, 0);
#line 13 "cursor.ec"
{ if (SQLCODE < 0) { sqli_stop_whenever(); exit(1);} }
#line 13 "cursor.ec"
}
runit(cursor);
/*
* exec sql close :cursor;
*/
#line 15 "cursor.ec"
{
#line 15 "cursor.ec"
sqli_curs_close(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cursor, 256));
#line 15 "cursor.ec"
{ if (SQLCODE < 0) { sqli_stop_whenever(); exit(1);} }
#line 15 "cursor.ec"
}
/*
* exec sql declare :cursor cursor for select 2 from dummy where id = 1;
*/
#line 16 "cursor.ec"
{
#line 16 "cursor.ec"
static const char *sqlcmdtxt[] =
#line 16 "cursor.ec"
{
#line 16 "cursor.ec"
"select 2 from dummy where id = 1",
0
};
#line 16 "cursor.ec"
#line 16 "cursor.ec"
sqli_curs_decl_stat(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cursor, 0), cursor, sqlcmdtxt, (ifx_sqlda_t *)0, (ifx_sqlda_t *)0, 0, (ifx_literal_t *)0, (ifx_namelist_t *)0, 2, 0, 0);
#line 16 "cursor.ec"
{ if (SQLCODE < 0) { sqli_stop_whenever(); exit(1);} }
#line 16 "cursor.ec"
}
runit(cursor);
/*
* exec sql close :cursor;
*/
#line 18 "cursor.ec"
{
#line 18 "cursor.ec"
sqli_curs_close(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cursor, 256));
#line 18 "cursor.ec"
{ if (SQLCODE < 0) { sqli_stop_whenever(); exit(1);} }
#line 18 "cursor.ec"
}
/*
* exec sql disconnect all;
*/
#line 19 "cursor.ec"
{
#line 19 "cursor.ec"
sqli_connect_close(2, (char *)0, 0, 0);
#line 19 "cursor.ec"
{ if (SQLCODE < 0) { sqli_stop_whenever(); exit(1);} }
#line 19 "cursor.ec"
}
}
void runit(char *name)
{
/*
* exec sql begin declare section;
*/
#line 24 "cursor.ec"
#line 25 "cursor.ec"
char *mycursor = name;
int i;
/*
* exec sql end declare section;
*/
#line 27 "cursor.ec"
/*
* exec sql open :mycursor;
*/
#line 29 "cursor.ec"
{
#line 29 "cursor.ec"
sqli_curs_open(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, mycursor, 256), (ifx_sqlda_t *)0, (char *)0, (struct value *)0, 0, 0);
#line 29 "cursor.ec"
{ if (SQLCODE < 0) { sqli_stop_whenever(); exit(1);} }
#line 29 "cursor.ec"
}
/*
* exec sql fetch :mycursor into :i;
*/
#line 30 "cursor.ec"
{
#line 30 "cursor.ec"
static ifx_sqlvar_t _sqobind[] =
{
{ 102, sizeof(i), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
#line 30 "cursor.ec"
};
static ifx_sqlda_t _SD0 = { 1, _sqobind, {0}, 1, 0 };
static _FetchSpec _FS1 = { 0, 1, 0 };
#line 30 "cursor.ec"
_sqobind[0].sqldata = (char *) &i;
sqli_curs_fetch(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, mycursor, 256), (ifx_sqlda_t *)0, &_SD0, (char *)0, &_FS1);
#line 30 "cursor.ec"
{ if (SQLCODE < 0) { sqli_stop_whenever(); exit(1);} }
#line 30 "cursor.ec"
}
printf("Found %d\n", i);
}
#line 32 "cursor.ec"