2006-08-02 10:14:04 -04:00
/* Processed by ecpg (4.2.1) */
/* These include files are added by the preprocessor */
# include <ecpgtype.h>
# include <ecpglib.h>
# include <ecpgerrno.h>
# include <sqlca.h>
/* End of automatic include section */
2006-09-05 08:11:03 -04:00
# line 1 "array.pgc"
2006-08-02 10:14:04 -04:00
# include <locale.h>
# include <string.h>
# include <stdlib.h>
/* exec sql whenever sqlerror sqlprint ; */
2006-09-05 08:11:03 -04:00
# line 5 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-08-29 09:23:27 -04:00
# line 1 "sqlca.h"
2006-08-02 10:14:04 -04:00
# ifndef POSTGRES_SQLCA_H
# define POSTGRES_SQLCA_H
# ifndef DLLIMPORT
# if defined(WIN32) || defined(__CYGWIN__)
# define DLLIMPORT __declspec (dllimport)
# else
# define DLLIMPORT
# endif /* __CYGWIN__ */
# endif /* DLLIMPORT */
# 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
2006-10-04 06:09:03 -04:00
2006-08-02 10:14:04 -04:00
# endif
2006-09-05 08:11:03 -04:00
# line 7 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-08-29 09:23:27 -04:00
# line 1 "regression.h"
2006-08-02 10:14:04 -04:00
2006-09-05 08:11:03 -04:00
# line 8 "array.pgc"
2006-08-02 10:14:04 -04:00
int
2006-10-04 06:09:03 -04:00
main ( void )
2006-08-02 10:14:04 -04:00
{
/* exec sql begin declare section */
2006-10-04 06:09:03 -04:00
2006-08-02 10:14:04 -04:00
2006-09-05 08:11:03 -04:00
# line 14 "array.pgc"
2006-10-04 06:09:03 -04:00
int i = 1 ;
2006-09-05 08:11:03 -04:00
# line 15 "array.pgc"
2006-10-04 06:09:03 -04:00
int * did = & i ;
2006-09-05 08:11:03 -04:00
# line 16 "array.pgc"
2006-10-04 06:09:03 -04:00
int a [ 10 ] = { 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 } ;
2006-09-05 08:11:03 -04:00
# line 17 "array.pgc"
2006-10-04 06:09:03 -04:00
char text [ 25 ] = " klmnopqrst " ;
2006-09-05 08:11:03 -04:00
# line 18 "array.pgc"
2006-10-04 06:09:03 -04:00
char * t = ( char * ) malloc ( 11 ) ;
2006-09-05 08:11:03 -04:00
# line 19 "array.pgc"
2006-10-04 06:09:03 -04:00
double f ;
2006-08-02 10:14:04 -04:00
/* exec sql end declare section */
2006-09-05 08:11:03 -04:00
# line 20 "array.pgc"
2006-08-02 10:14:04 -04:00
strcpy ( t , " 0123456789 " ) ;
2006-08-05 12:48:48 -04:00
setlocale ( LC_ALL , " C " ) ;
2006-08-02 10:14:04 -04:00
ECPGdebug ( 1 , stderr ) ;
2006-10-04 06:09:03 -04:00
{ ECPGconnect ( __LINE__ , 0 , " regress1 " , NULL , NULL , NULL , 0 ) ;
2006-09-05 08:11:03 -04:00
# line 27 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 27 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
{ ECPGsetcommit ( __LINE__ , " on " , NULL ) ;
2006-09-05 08:11:03 -04:00
# line 29 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 29 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
{ ECPGtrans ( __LINE__ , NULL , " begin transaction " ) ;
2006-09-05 08:11:03 -04:00
# line 31 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 31 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
{ ECPGdo ( __LINE__ , 0 , 1 , NULL , " create table test ( f float , i int , a int [ 10 ] , text char ( 10 ) ) " , ECPGt_EOIT , ECPGt_EORT ) ;
2006-09-05 08:11:03 -04:00
# line 33 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 33 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
{ ECPGdo ( __LINE__ , 0 , 1 , NULL , " insert into test ( f , i , a , text ) values ( 404.90 , 3 , '{0,1,2,3,4,5,6,7,8,9}' , 'abcdefghij' ) " , ECPGt_EOIT , ECPGt_EORT ) ;
2006-09-05 08:11:03 -04:00
# line 35 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 35 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
{ ECPGdo ( __LINE__ , 0 , 1 , NULL , " insert into test ( f , i , a , text ) values ( 140787.0 , 2 , ? , ? ) " ,
ECPGt_int , ( a ) , ( long ) 1 , ( long ) 10 , sizeof ( int ) ,
ECPGt_NO_INDICATOR , NULL , 0L , 0L , 0L ,
ECPGt_char , ( text ) , ( long ) 25 , ( long ) 1 , ( 25 ) * sizeof ( char ) ,
ECPGt_NO_INDICATOR , NULL , 0L , 0L , 0L , ECPGt_EOIT , ECPGt_EORT ) ;
2006-09-05 08:11:03 -04:00
# line 37 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 37 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
{ ECPGdo ( __LINE__ , 0 , 1 , NULL , " insert into test ( f , i , a , text ) values ( 14.07 , ? , ? , ? ) " ,
ECPGt_int , & ( did ) , ( long ) 1 , ( long ) 0 , sizeof ( int ) ,
ECPGt_NO_INDICATOR , NULL , 0L , 0L , 0L ,
ECPGt_int , ( a ) , ( long ) 1 , ( long ) 10 , sizeof ( int ) ,
ECPGt_NO_INDICATOR , NULL , 0L , 0L , 0L ,
ECPGt_char , & ( t ) , ( long ) 0 , ( long ) 1 , ( 1 ) * sizeof ( char ) ,
ECPGt_NO_INDICATOR , NULL , 0L , 0L , 0L , ECPGt_EOIT , ECPGt_EORT ) ;
2006-09-05 08:11:03 -04:00
# line 39 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 39 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
{ ECPGtrans ( __LINE__ , NULL , " commit " ) ;
2006-09-05 08:11:03 -04:00
# line 41 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 41 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
{ ECPGtrans ( __LINE__ , NULL , " begin transaction " ) ;
2006-09-05 08:11:03 -04:00
# line 43 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 43 "array.pgc"
2006-10-04 06:09:03 -04:00
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
{ ECPGdo ( __LINE__ , 0 , 1 , NULL , " select f , text from test where i = 1 " , ECPGt_EOIT ,
ECPGt_double , & ( f ) , ( long ) 1 , ( long ) 1 , sizeof ( double ) ,
ECPGt_NO_INDICATOR , NULL , 0L , 0L , 0L ,
ECPGt_char , ( text ) , ( long ) 25 , ( long ) 1 , ( 25 ) * sizeof ( char ) ,
ECPGt_NO_INDICATOR , NULL , 0L , 0L , 0L , ECPGt_EORT ) ;
2006-09-05 08:11:03 -04:00
# line 48 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 48 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-09-05 08:11:03 -04:00
printf ( " Found f=%f text=%10.10s \n " , f , text ) ;
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
f = 140787 ;
{ ECPGdo ( __LINE__ , 0 , 1 , NULL , " select a , text from test where f = ? " ,
ECPGt_double , & ( f ) , ( long ) 1 , ( long ) 1 , sizeof ( double ) ,
ECPGt_NO_INDICATOR , NULL , 0L , 0L , 0L , ECPGt_EOIT ,
ECPGt_int , ( a ) , ( long ) 1 , ( long ) 10 , sizeof ( int ) ,
ECPGt_NO_INDICATOR , NULL , 0L , 0L , 0L ,
ECPGt_char , & ( t ) , ( long ) 0 , ( long ) 1 , ( 1 ) * sizeof ( char ) ,
ECPGt_NO_INDICATOR , NULL , 0L , 0L , 0L , ECPGt_EORT ) ;
2006-09-05 08:11:03 -04:00
# line 56 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 56 "array.pgc"
2006-08-02 10:14:04 -04:00
for ( i = 0 ; i < 10 ; i + + )
printf ( " Found a[%d] = %d \n " , i , a [ i ] ) ;
printf ( " Found text=%10.10s \n " , t ) ;
2006-10-04 06:09:03 -04:00
{ ECPGdo ( __LINE__ , 0 , 1 , NULL , " select a from test where f = ? " ,
ECPGt_double , & ( f ) , ( long ) 1 , ( long ) 1 , sizeof ( double ) ,
ECPGt_NO_INDICATOR , NULL , 0L , 0L , 0L , ECPGt_EOIT ,
ECPGt_char , ( text ) , ( long ) 25 , ( long ) 1 , ( 25 ) * sizeof ( char ) ,
ECPGt_NO_INDICATOR , NULL , 0L , 0L , 0L , ECPGt_EORT ) ;
2006-09-05 08:11:03 -04:00
# line 66 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 66 "array.pgc"
2006-08-02 10:14:04 -04:00
printf ( " Found text=%s \n " , text ) ;
2006-10-04 06:09:03 -04:00
{ ECPGdo ( __LINE__ , 0 , 1 , NULL , " drop table test " , ECPGt_EOIT , ECPGt_EORT ) ;
2006-09-05 08:11:03 -04:00
# line 70 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 70 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
{ ECPGtrans ( __LINE__ , NULL , " commit " ) ;
2006-09-05 08:11:03 -04:00
# line 72 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 72 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
{ ECPGdisconnect ( __LINE__ , " CURRENT " ) ;
2006-09-05 08:11:03 -04:00
# line 74 "array.pgc"
2006-08-02 10:14:04 -04:00
2006-10-04 06:09:03 -04:00
if ( sqlca . sqlcode < 0 ) sqlprint ( ) ; }
2006-09-05 08:11:03 -04:00
# line 74 "array.pgc"
2006-08-02 10:14:04 -04:00
return ( 0 ) ;
}