Mapper
fvalues.c
Go to the documentation of this file.
1 #include <sqlhdr.h>
2 #include <sqliapi.h>
3 static const char _Cn1[] = "fvalcursor";
4 #line 1 "fvalues.ec"
5 #include "prototypes_new.h"
6 /*
7  * EXEC SQL include sqlca.h;
8  */
9 #line 2 "fvalues.ec"
10 
11 #line 2 "fvalues.ec"
12 #line 1 "/opt/informix/incl/esql/sqlca.h"
13 /****************************************************************************
14  *
15  * Licensed Material - Property Of IBM
16  *
17  * "Restricted Materials of IBM"
18  *
19  * IBM Informix Client SDK
20  * Copyright IBM Corporation 1997, 2008. All rights reserved.
21  *
22  * Title: sqlca.h
23  * Description: SQL Control Area
24  *
25  ***************************************************************************
26  */
27 
28 #ifndef SQLCA_INCL
29 #define SQLCA_INCL
30 
31 #include "ifxtypes.h"
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 typedef struct sqlca_s
38  {
39  int4 sqlcode;
40 #ifdef DB2CLI
41  char sqlerrm[600]; /* error message parameters */
42 #else /* DB2CLI */
43  char sqlerrm[72]; /* error message parameters */
44 #endif /* DB2CLI */
45  char sqlerrp[8];
46  int4 sqlerrd[6];
47  /* 0 - estimated number of rows returned */
48  /* 1 - serial value after insert or ISAM error code */
49  /* 2 - number of rows processed */
50  /* 3 - estimated cost */
51  /* 4 - offset of the error into the SQL statement */
52  /* 5 - rowid after insert */
53 #ifdef _FGL_
54  char sqlawarn[8];
55 #else
56  struct sqlcaw_s
57  {
58  char sqlwarn0; /* = W if any of sqlwarn[1-7] = W */
59  char sqlwarn1; /* = W if any truncation occurred or
60  database has transactions or
61  no privileges revoked */
62  char sqlwarn2; /* = W if a null value returned or
63  ANSI database */
64  char sqlwarn3; /* = W if no. in select list != no. in into list or
65  turbo backend or no privileges granted */
66  char sqlwarn4; /* = W if no where clause on prepared update, delete or
67  incompatible float format */
68  char sqlwarn5; /* = W if non-ANSI statement */
69  char sqlwarn6; /* = W if server is in data replication secondary mode */
70  char sqlwarn7; /* = W if database locale is different from proc_locale
71  = W if backend XPS and if explain avoid_execute is set
72  (for select, insert, delete and update only)
73  */
74  } sqlwarn;
75 #endif
77 
78 /* NOTE: 4gl assumes that the sqlwarn structure can be defined as
79  * sqlawarn -- an 8 character string, because single-char
80  * variables are not recognized in 4gl.
81  *
82  * If this structure should change, the code generated by 4gl compiler
83  * must also change
84  */
85 
86 #define SQLNOTFOUND 100
87 
88 #ifndef IFX_THREAD
89 #ifdef DB2CLI
90 #define sqlca ifmxsqlca
91 extern struct sqlca_s sqlca;
92 #else /* DB2CLI */
93 extern struct sqlca_s sqlca;
94 #endif /* DB2CLI */
95 
96 #ifndef DRDAHELP
97 extern int4 SQLCODE;
98 #endif
99 
100 extern char SQLSTATE[];
101 #else /* IFX_THREAD */
102 extern int4 * ifx_sqlcode(void);
103 extern struct sqlca_s * ifx_sqlca(void);
104 /* ifx_sqlstate() declared in sqlhdr.h */
105 #define SQLCODE (*(ifx_sqlcode()))
106 #define SQLSTATE ((char *)(ifx_sqlstate()))
107 #define sqlca (*(ifx_sqlca()))
108 #endif /* IFX_THREAD */
109 
110 #ifdef __cplusplus
111 }
112 #endif
113 
114 #endif /* SQLCA_INCL */
115 
116 #line 103 "/opt/informix/incl/esql/sqlca.h"
117 #line 3 "fvalues.ec"
118 int fvalues_search(char *hb5,char *parm,struct stim begin_date,struct stim
119 end_date,struct stn_values *stn_values)
120 
121 {
122 
123 int i,j,jtotal,k;
124 int etime,btime,zdate;
125 int cdate,ctime;
126 int odate,otime;
127 
128 /*
129  * EXEC SQL BEGIN DECLARE SECTION;
130  */
131 #line 13 "fvalues.ec"
132 #line 14 "fvalues.ec"
133 int byear, eyear, bmonth, emonth, bday, eday;
134 int eval, bval;
135  char pe1[2], pe2[2], dur[2], t[2], s[2], e[2], p[2], shb5[10];
136 struct fval_rec_single
137  {
138  char id[6];
139  char pe1[2];
140  char pe2[2];
141  char dur[2];
142  char t[2];
143  char s[2];
144  char e[2];
145  char p[2];
146  int vcal_yr;
147  int vmon;
148  int vzday;
149  int vtime;
150  int ccal_yr;
151  int cmon;
152  int czday;
153  int ctime;
154  double value;
155  } fval_rec;
156 /*
157  * EXEC SQL END DECLARE SECTION;
158  */
159 #line 42 "fvalues.ec"
160 
161 
162 pe1[1]=0;
163 pe2[1]=0;
164 dur[1]=0;
165 t[1]=0;
166 s[1]=0;
167 e[1]=0;
168 p[1]=0;
169 
170 strcpy(shb5,hb5);
171 pe1[0]=parm[0];
172 pe2[0]=parm[1];
173 dur[0]=parm[2];
174 t[0]=parm[3];
175 s[0]=parm[4];
176 e[0]=parm[5];
177 p[0]=parm[6];
178 
179 eyear=end_date.year;
180 byear=begin_date.year;
181 
182 emonth=end_date.month;
183 bmonth=begin_date.month;
184 
185 eday=end_date.day;
186 bday=begin_date.day;
187 
188 etime=end_date.hour*10000+
189  end_date.minute*100;
190 
191 btime=begin_date.hour*10000+
192  begin_date.minute*100;
193 
194 printf("%d %d %d %d %d %d\n",eyear,emonth,eday,byear,bmonth,bday);
195 
196 eval=eyear*10000+emonth*100+eday;
197 bval=byear*10000+bmonth*100+bday;
198 
199 
200 /*
201  * EXEC SQL open fvalcursor using :shb5, :pe1, :pe2,
202  * :dur, :t, :s, :e, :p,
203  * :eval, :bval;
204  */
205 #line 82 "fvalues.ec"
206  {
207 #line 84 "fvalues.ec"
208  static ifx_sqlvar_t _sqibind[] =
209  {
210  { 100, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
211  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
212  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
213  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
214  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
215  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
216  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
217  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
218  { 102, sizeof(eval), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
219  { 102, sizeof(bval), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
220 #line 84 "fvalues.ec"
221  };
222  static ifx_sqlda_t _SD0 = { 10, _sqibind, {0}, 10, 0 };
223 #line 84 "fvalues.ec"
224  _sqibind[0].sqldata = shb5;
225 #line 84 "fvalues.ec"
226  _sqibind[1].sqldata = pe1;
227 #line 84 "fvalues.ec"
228  _sqibind[2].sqldata = pe2;
229 #line 84 "fvalues.ec"
230  _sqibind[3].sqldata = dur;
231 #line 84 "fvalues.ec"
232  _sqibind[4].sqldata = t;
233 #line 84 "fvalues.ec"
234  _sqibind[5].sqldata = s;
235 #line 84 "fvalues.ec"
236  _sqibind[6].sqldata = e;
237 #line 84 "fvalues.ec"
238  _sqibind[7].sqldata = p;
239 #line 84 "fvalues.ec"
240  _sqibind[8].sqldata = (char *) &eval;
241 #line 84 "fvalues.ec"
242  _sqibind[9].sqldata = (char *) &bval;
243  sqli_curs_open(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, _Cn1, 768), &_SD0, (char *)0, (struct value *)0, 1, 0);
244 #line 84 "fvalues.ec"
245  }
246 
247 if(sqlca.sqlcode !=0 )
248  return(sqlca.sqlcode);
249 
250 
251 jtotal=0;
252 
253 odate=-1;
254 otime=-1;
255 
256 for(;;) {
257 
258 
259 /*
260  * EXEC SQL fetch fvalcursor into: fval_rec;
261  */
262 #line 98 "fvalues.ec"
263  {
264 #line 98 "fvalues.ec"
265  static ifx_sqlvar_t _sqobind[] =
266  {
267  { 100, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
268  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
269  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
270  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
271  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
272  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
273  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
274  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
275  { 102, sizeof((fval_rec).vcal_yr), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
276  { 102, sizeof((fval_rec).vmon), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
277  { 102, sizeof((fval_rec).vzday), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
278  { 102, sizeof((fval_rec).vtime), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
279  { 102, sizeof((fval_rec).ccal_yr), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
280  { 102, sizeof((fval_rec).cmon), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
281  { 102, sizeof((fval_rec).czday), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
282  { 102, sizeof((fval_rec).ctime), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
283  { 105, sizeof((fval_rec).value), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
284 #line 98 "fvalues.ec"
285  };
286  static ifx_sqlda_t _SD0 = { 17, _sqobind, {0}, 17, 0 };
287  static _FetchSpec _FS1 = { 0, 1, 0 };
288 #line 98 "fvalues.ec"
289  _sqobind[0].sqldata = (fval_rec).id;
290 #line 98 "fvalues.ec"
291  _sqobind[1].sqldata = (fval_rec).pe1;
292 #line 98 "fvalues.ec"
293  _sqobind[2].sqldata = (fval_rec).pe2;
294 #line 98 "fvalues.ec"
295  _sqobind[3].sqldata = (fval_rec).dur;
296 #line 98 "fvalues.ec"
297  _sqobind[4].sqldata = (fval_rec).t;
298 #line 98 "fvalues.ec"
299  _sqobind[5].sqldata = (fval_rec).s;
300 #line 98 "fvalues.ec"
301  _sqobind[6].sqldata = (fval_rec).e;
302 #line 98 "fvalues.ec"
303  _sqobind[7].sqldata = (fval_rec).p;
304 #line 98 "fvalues.ec"
305  _sqobind[8].sqldata = (char *) &(fval_rec).vcal_yr;
306 #line 98 "fvalues.ec"
307  _sqobind[9].sqldata = (char *) &(fval_rec).vmon;
308 #line 98 "fvalues.ec"
309  _sqobind[10].sqldata = (char *) &(fval_rec).vzday;
310 #line 98 "fvalues.ec"
311  _sqobind[11].sqldata = (char *) &(fval_rec).vtime;
312 #line 98 "fvalues.ec"
313  _sqobind[12].sqldata = (char *) &(fval_rec).ccal_yr;
314 #line 98 "fvalues.ec"
315  _sqobind[13].sqldata = (char *) &(fval_rec).cmon;
316 #line 98 "fvalues.ec"
317  _sqobind[14].sqldata = (char *) &(fval_rec).czday;
318 #line 98 "fvalues.ec"
319  _sqobind[15].sqldata = (char *) &(fval_rec).ctime;
320 #line 98 "fvalues.ec"
321  _sqobind[16].sqldata = (char *) &(fval_rec).value;
322  sqli_curs_fetch(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, _Cn1, 768), (ifx_sqlda_t *)0, &_SD0, (char *)0, &_FS1);
323 #line 98 "fvalues.ec"
324  }
325 
326  if(sqlca.sqlcode < 0)
327  return(sqlca.sqlcode);
328 
329  if(sqlca.sqlcode != 0)
330  break;
331 
332 
333  zdate=fval_rec.vcal_yr*10000+fval_rec.vmon*100+fval_rec.vzday;
334 
335  cdate=fval_rec.ccal_yr*10000+fval_rec.cmon*100+fval_rec.czday;
336 
337  ctime=fval_rec.ctime;
338 
339  if(odate==zdate && otime==fval_rec.vtime)
340  continue;
341 
342  odate=zdate;
343  otime=fval_rec.vtime;
344 
345  stn_values[jtotal].zdate=zdate;
346 
347  stn_values[jtotal].ztime=fval_rec.vtime;
348 
349  stn_values[jtotal].value=fval_rec.value;
350 
351  stn_values[jtotal].qual=0;
352 
353  stn_values[jtotal].ctime=ctime;
354 
355  stn_values[jtotal++].cdate=cdate;
356 
357  if(jtotal > 9600)
358  break;
359 
360  }
361 
362 /*
363  * EXEC SQL close fvalcursor;
364  */
365 #line 136 "fvalues.ec"
366  {
367 #line 136 "fvalues.ec"
368  sqli_curs_close(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, _Cn1, 768));
369 #line 136 "fvalues.ec"
370  }
371 
372 return(jtotal);
373 
374 
375 }
376 
377 #line 141 "fvalues.ec"
static int i
int fvalues_search(char *hb5, char *parm, struct stim begin_date, struct stim end_date, struct stn_values *stn_values)
Definition: fvalues.c:118
static const char _Cn1[]
Definition: fvalues.c:3
int4 SQLCODE
struct sqlca_s ifx_sqlca_t
char SQLSTATE[]
struct sqlca_s sqlca
printf("fbuf is %s\n", fbuf)
int j
Definition: mapp2h.h:48
int k
Definition: mapp2h.h:48
float value
char sqlwarn5
Definition: db.c:65
char sqlwarn3
Definition: db.c:61
char sqlwarn4
Definition: db.c:63
char sqlwarn7
Definition: db.c:67
char sqlwarn1
Definition: db.c:57
char sqlwarn6
Definition: db.c:66
char sqlwarn2
Definition: db.c:59
char sqlwarn0
Definition: db.c:56
Definition: db.c:43
long sqlerrd[6]
Definition: db.c:47
struct sqlca_s::sqlcaw_s sqlwarn
long sqlcode
Definition: db.c:44
char sqlerrm[72]
Definition: db.c:45
char sqlerrp[8]
Definition: db.c:46
Definition: misc.h:93
int minute
Definition: misc.h:99
int day
Definition: misc.h:97
int year
Definition: misc.h:95
int hour
Definition: misc.h:98
int month
Definition: misc.h:96
char qual
Definition: hydro_data.h:36
int ctime
Definition: misc_new.h:199
int cdate
Definition: misc_new.h:198
float value
Definition: hydro_data.h:35