Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitec99e9a

Browse files
committed
Add some test coverage for ecpg's "long long" support.
This will only actually exercise the "long long" code paths on platformswhere "long" is 32 bits --- otherwise, the SQL bigint type maps toplain "long", and we will test that code path instead. But that'sprobably sufficient coverage, and anyway we weren't testing eithercode path before.Dang Minh Huong, tweaked a bit by meDiscussion:https://postgr.es/m/151935568942.1461.14623890240535309745@wrigleys.postgresql.org
1 parent25caeae commitec99e9a

File tree

4 files changed

+273
-219
lines changed

4 files changed

+273
-219
lines changed

‎src/interfaces/ecpg/test/expected/sql-sqlda.c

Lines changed: 74 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,14 @@ dump_sqlda(sqlda_t *sqlda)
149149
caseECPGt_int:
150150
printf("name sqlda descriptor: '%s' value %d\n",sqlda->sqlvar[i].sqlname.data,*(int*)sqlda->sqlvar[i].sqldata);
151151
break;
152+
caseECPGt_long:
153+
printf("name sqlda descriptor: '%s' value %ld\n",sqlda->sqlvar[i].sqlname.data,*(longint*)sqlda->sqlvar[i].sqldata);
154+
break;
155+
#ifdefHAVE_LONG_LONG_INT
156+
caseECPGt_long_long:
157+
printf("name sqlda descriptor: '%s' value %lld\n",sqlda->sqlvar[i].sqlname.data,*(long longint*)sqlda->sqlvar[i].sqldata);
158+
break;
159+
#endif
152160
caseECPGt_double:
153161
printf("name sqlda descriptor: '%s' value %lf\n",sqlda->sqlvar[i].sqlname.data,*(double*)sqlda->sqlvar[i].sqldata);
154162
break;
@@ -174,19 +182,19 @@ main (void)
174182

175183

176184

177-
#line59 "sqlda.pgc"
185+
#line67 "sqlda.pgc"
178186
char*stmt1="SELECT * FROM t1" ;
179187

180-
#line60 "sqlda.pgc"
188+
#line68 "sqlda.pgc"
181189
char*stmt2="SELECT * FROM t1 WHERE id = ?" ;
182190

183-
#line61 "sqlda.pgc"
191+
#line69 "sqlda.pgc"
184192
intrec ;
185193

186-
#line62 "sqlda.pgc"
194+
#line70 "sqlda.pgc"
187195
intid ;
188196
/* exec sql end declare section */
189-
#line63 "sqlda.pgc"
197+
#line71 "sqlda.pgc"
190198

191199

192200
charmsg[128];
@@ -195,42 +203,42 @@ main (void)
195203

196204
strcpy(msg,"connect");
197205
{ECPGconnect(__LINE__,0,"ecpg1_regression" ,NULL,NULL ,"regress1",0);
198-
#line70 "sqlda.pgc"
206+
#line78 "sqlda.pgc"
199207

200208
if (sqlca.sqlcode<0)exit (1);}
201-
#line70 "sqlda.pgc"
209+
#line78 "sqlda.pgc"
202210

203211

204212
strcpy(msg,"set");
205213
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"set datestyle to iso",ECPGt_EOIT,ECPGt_EORT);
206-
#line73 "sqlda.pgc"
214+
#line81 "sqlda.pgc"
207215

208216
if (sqlca.sqlcode<0)exit (1);}
209-
#line73 "sqlda.pgc"
217+
#line81 "sqlda.pgc"
210218

211219

212220
strcpy(msg,"create");
213-
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"create table t1 ( id integer , t text , d1 numeric , d2 float8 , c char ( 10 ) )",ECPGt_EOIT,ECPGt_EORT);
214-
#line81 "sqlda.pgc"
221+
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"create table t1 ( id integer , t text , d1 numeric , d2 float8 , c char ( 10 ), big bigint)",ECPGt_EOIT,ECPGt_EORT);
222+
#line91 "sqlda.pgc"
215223

216224
if (sqlca.sqlcode<0)exit (1);}
217-
#line81 "sqlda.pgc"
225+
#line91 "sqlda.pgc"
218226

219227

220228
strcpy(msg,"insert");
221-
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"insert into t1 values ( 1 , 'a' , 1.0 , 1 , 'a' ) , ( 2 , null , null , null , null ) , ( 4 , 'd' , 4.0 , 4 , 'd' )",ECPGt_EOIT,ECPGt_EORT);
222-
#line87 "sqlda.pgc"
229+
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"insert into t1 values ( 1 , 'a' , 1.0 , 1 , 'a', 1111111111111111111) , ( 2 , null , null , null , null, null) , ( 4 , 'd' , 4.0 , 4 , 'd' , 4444444444444444444 )",ECPGt_EOIT,ECPGt_EORT);
230+
#line97 "sqlda.pgc"
223231

224232
if (sqlca.sqlcode<0)exit (1);}
225-
#line87 "sqlda.pgc"
233+
#line97 "sqlda.pgc"
226234

227235

228236
strcpy(msg,"commit");
229237
{ECPGtrans(__LINE__,NULL,"commit");
230-
#line90 "sqlda.pgc"
238+
#line100 "sqlda.pgc"
231239

232240
if (sqlca.sqlcode<0)exit (1);}
233-
#line90 "sqlda.pgc"
241+
#line100 "sqlda.pgc"
234242

235243

236244
/* SQLDA test for getting all records from a table */
@@ -239,29 +247,29 @@ if (sqlca.sqlcode < 0) exit (1);}
239247

240248
strcpy(msg,"prepare");
241249
{ECPGprepare(__LINE__,NULL,0,"st_id1",stmt1);
242-
#line97 "sqlda.pgc"
250+
#line107 "sqlda.pgc"
243251

244252
if (sqlca.sqlcode<0)exit (1);}
245-
#line97 "sqlda.pgc"
253+
#line107 "sqlda.pgc"
246254

247255

248256
strcpy(msg,"declare");
249257
/* declare mycur1 cursor for $1 */
250-
#line100 "sqlda.pgc"
258+
#line110 "sqlda.pgc"
251259

252260

253261
strcpy(msg,"open");
254262
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"declare mycur1 cursor for $1",
255263
ECPGt_char_variable,(ECPGprepared_statement(NULL,"st_id1",__LINE__)),(long)1,(long)1,(1)*sizeof(char),
256264
ECPGt_NO_INDICATOR,NULL ,0L,0L,0L,ECPGt_EOIT,ECPGt_EORT);
257-
#line103 "sqlda.pgc"
265+
#line113 "sqlda.pgc"
258266

259267
if (sqlca.sqlcode<0)exit (1);}
260-
#line103 "sqlda.pgc"
268+
#line113 "sqlda.pgc"
261269

262270

263271
/* exec sql whenever not found break ; */
264-
#line105 "sqlda.pgc"
272+
#line115 "sqlda.pgc"
265273

266274

267275
rec=0;
@@ -271,37 +279,37 @@ if (sqlca.sqlcode < 0) exit (1);}
271279
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"fetch 1 from mycur1",ECPGt_EOIT,
272280
ECPGt_sqlda,&outp_sqlda,0L,0L,0L,
273281
ECPGt_NO_INDICATOR,NULL ,0L,0L,0L,ECPGt_EORT);
274-
#line111 "sqlda.pgc"
282+
#line121 "sqlda.pgc"
275283

276284
if (sqlca.sqlcode==ECPG_NOT_FOUND)break;
277-
#line111 "sqlda.pgc"
285+
#line121 "sqlda.pgc"
278286

279287
if (sqlca.sqlcode<0)exit (1);}
280-
#line111 "sqlda.pgc"
288+
#line121 "sqlda.pgc"
281289

282290

283291
printf("FETCH RECORD %d\n",++rec);
284292
dump_sqlda(outp_sqlda);
285293
}
286294

287295
/* exec sql whenever not found continue ; */
288-
#line117 "sqlda.pgc"
296+
#line127 "sqlda.pgc"
289297

290298

291299
strcpy(msg,"close");
292300
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"close mycur1",ECPGt_EOIT,ECPGt_EORT);
293-
#line120 "sqlda.pgc"
301+
#line130 "sqlda.pgc"
294302

295303
if (sqlca.sqlcode<0)exit (1);}
296-
#line120 "sqlda.pgc"
304+
#line130 "sqlda.pgc"
297305

298306

299307
strcpy(msg,"deallocate");
300308
{ECPGdeallocate(__LINE__,0,NULL,"st_id1");
301-
#line123 "sqlda.pgc"
309+
#line133 "sqlda.pgc"
302310

303311
if (sqlca.sqlcode<0)exit (1);}
304-
#line123 "sqlda.pgc"
312+
#line133 "sqlda.pgc"
305313

306314

307315
free(outp_sqlda);
@@ -312,35 +320,35 @@ if (sqlca.sqlcode < 0) exit (1);}
312320

313321
strcpy(msg,"prepare");
314322
{ECPGprepare(__LINE__,NULL,0,"st_id2",stmt1);
315-
#line132 "sqlda.pgc"
323+
#line142 "sqlda.pgc"
316324

317325
if (sqlca.sqlcode<0)exit (1);}
318-
#line132 "sqlda.pgc"
326+
#line142 "sqlda.pgc"
319327

320328

321329
strcpy(msg,"declare");
322330
/* declare mycur2 cursor for $1 */
323-
#line135 "sqlda.pgc"
331+
#line145 "sqlda.pgc"
324332

325333

326334
strcpy(msg,"open");
327335
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"declare mycur2 cursor for $1",
328336
ECPGt_char_variable,(ECPGprepared_statement(NULL,"st_id2",__LINE__)),(long)1,(long)1,(1)*sizeof(char),
329337
ECPGt_NO_INDICATOR,NULL ,0L,0L,0L,ECPGt_EOIT,ECPGt_EORT);
330-
#line138 "sqlda.pgc"
338+
#line148 "sqlda.pgc"
331339

332340
if (sqlca.sqlcode<0)exit (1);}
333-
#line138 "sqlda.pgc"
341+
#line148 "sqlda.pgc"
334342

335343

336344
strcpy(msg,"fetch");
337345
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"fetch all from mycur2",ECPGt_EOIT,
338346
ECPGt_sqlda,&outp_sqlda,0L,0L,0L,
339347
ECPGt_NO_INDICATOR,NULL ,0L,0L,0L,ECPGt_EORT);
340-
#line141 "sqlda.pgc"
348+
#line151 "sqlda.pgc"
341349

342350
if (sqlca.sqlcode<0)exit (1);}
343-
#line141 "sqlda.pgc"
351+
#line151 "sqlda.pgc"
344352

345353

346354
outp_sqlda1=outp_sqlda;
@@ -358,18 +366,18 @@ if (sqlca.sqlcode < 0) exit (1);}
358366

359367
strcpy(msg,"close");
360368
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"close mycur2",ECPGt_EOIT,ECPGt_EORT);
361-
#line157 "sqlda.pgc"
369+
#line167 "sqlda.pgc"
362370

363371
if (sqlca.sqlcode<0)exit (1);}
364-
#line157 "sqlda.pgc"
372+
#line167 "sqlda.pgc"
365373

366374

367375
strcpy(msg,"deallocate");
368376
{ECPGdeallocate(__LINE__,0,NULL,"st_id2");
369-
#line160 "sqlda.pgc"
377+
#line170 "sqlda.pgc"
370378

371379
if (sqlca.sqlcode<0)exit (1);}
372-
#line160 "sqlda.pgc"
380+
#line170 "sqlda.pgc"
373381

374382

375383
/* SQLDA test for getting one record using an input descriptor */
@@ -393,10 +401,10 @@ if (sqlca.sqlcode < 0) exit (1);}
393401

394402
strcpy(msg,"prepare");
395403
{ECPGprepare(__LINE__,NULL,0,"st_id3",stmt2);
396-
#line182 "sqlda.pgc"
404+
#line192 "sqlda.pgc"
397405

398406
if (sqlca.sqlcode<0)exit (1);}
399-
#line182 "sqlda.pgc"
407+
#line192 "sqlda.pgc"
400408

401409

402410
strcpy(msg,"execute");
@@ -405,20 +413,20 @@ if (sqlca.sqlcode < 0) exit (1);}
405413
ECPGt_NO_INDICATOR,NULL ,0L,0L,0L,ECPGt_EOIT,
406414
ECPGt_sqlda,&outp_sqlda,0L,0L,0L,
407415
ECPGt_NO_INDICATOR,NULL ,0L,0L,0L,ECPGt_EORT);
408-
#line185 "sqlda.pgc"
416+
#line195 "sqlda.pgc"
409417

410418
if (sqlca.sqlcode<0)exit (1);}
411-
#line185 "sqlda.pgc"
419+
#line195 "sqlda.pgc"
412420

413421

414422
dump_sqlda(outp_sqlda);
415423

416424
strcpy(msg,"deallocate");
417425
{ECPGdeallocate(__LINE__,0,NULL,"st_id3");
418-
#line190 "sqlda.pgc"
426+
#line200 "sqlda.pgc"
419427

420428
if (sqlca.sqlcode<0)exit (1);}
421-
#line190 "sqlda.pgc"
429+
#line200 "sqlda.pgc"
422430

423431

424432
free(inp_sqlda);
@@ -429,10 +437,10 @@ if (sqlca.sqlcode < 0) exit (1);}
429437
*/
430438

431439
{ECPGconnect(__LINE__,0,"ecpg1_regression" ,NULL,NULL ,"con2",0);
432-
#line199 "sqlda.pgc"
440+
#line209 "sqlda.pgc"
433441

434442
if (sqlca.sqlcode<0)exit (1);}
435-
#line199 "sqlda.pgc"
443+
#line209 "sqlda.pgc"
436444

437445

438446
/*
@@ -454,10 +462,10 @@ if (sqlca.sqlcode < 0) exit (1);}
454462

455463
strcpy(msg,"prepare");
456464
{ECPGprepare(__LINE__,"con2",0,"st_id4",stmt2);
457-
#line219 "sqlda.pgc"
465+
#line229 "sqlda.pgc"
458466

459467
if (sqlca.sqlcode<0)exit (1);}
460-
#line219 "sqlda.pgc"
468+
#line229 "sqlda.pgc"
461469

462470

463471
strcpy(msg,"execute");
@@ -466,65 +474,65 @@ if (sqlca.sqlcode < 0) exit (1);}
466474
ECPGt_NO_INDICATOR,NULL ,0L,0L,0L,ECPGt_EOIT,
467475
ECPGt_sqlda,&outp_sqlda,0L,0L,0L,
468476
ECPGt_NO_INDICATOR,NULL ,0L,0L,0L,ECPGt_EORT);
469-
#line222 "sqlda.pgc"
477+
#line232 "sqlda.pgc"
470478

471479
if (sqlca.sqlcode<0)exit (1);}
472-
#line222 "sqlda.pgc"
480+
#line232 "sqlda.pgc"
473481

474482

475483
dump_sqlda(outp_sqlda);
476484

477485
strcpy(msg,"commit");
478486
{ECPGtrans(__LINE__,"con2","commit");
479-
#line227 "sqlda.pgc"
487+
#line237 "sqlda.pgc"
480488

481489
if (sqlca.sqlcode<0)exit (1);}
482-
#line227 "sqlda.pgc"
490+
#line237 "sqlda.pgc"
483491

484492

485493
strcpy(msg,"deallocate");
486494
{ECPGdeallocate(__LINE__,0,NULL,"st_id4");
487-
#line230 "sqlda.pgc"
495+
#line240 "sqlda.pgc"
488496

489497
if (sqlca.sqlcode<0)exit (1);}
490-
#line230 "sqlda.pgc"
498+
#line240 "sqlda.pgc"
491499

492500

493501
free(inp_sqlda);
494502
free(outp_sqlda);
495503

496504
strcpy(msg,"disconnect");
497505
{ECPGdisconnect(__LINE__,"con2");
498-
#line236 "sqlda.pgc"
506+
#line246 "sqlda.pgc"
499507

500508
if (sqlca.sqlcode<0)exit (1);}
501-
#line236 "sqlda.pgc"
509+
#line246 "sqlda.pgc"
502510

503511

504512
/* End test */
505513

506514
strcpy(msg,"drop");
507515
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"drop table t1",ECPGt_EOIT,ECPGt_EORT);
508-
#line241 "sqlda.pgc"
516+
#line251 "sqlda.pgc"
509517

510518
if (sqlca.sqlcode<0)exit (1);}
511-
#line241 "sqlda.pgc"
519+
#line251 "sqlda.pgc"
512520

513521

514522
strcpy(msg,"commit");
515523
{ECPGtrans(__LINE__,NULL,"commit");
516-
#line244 "sqlda.pgc"
524+
#line254 "sqlda.pgc"
517525

518526
if (sqlca.sqlcode<0)exit (1);}
519-
#line244 "sqlda.pgc"
527+
#line254 "sqlda.pgc"
520528

521529

522530
strcpy(msg,"disconnect");
523531
{ECPGdisconnect(__LINE__,"CURRENT");
524-
#line247 "sqlda.pgc"
532+
#line257 "sqlda.pgc"
525533

526534
if (sqlca.sqlcode<0)exit (1);}
527-
#line247 "sqlda.pgc"
535+
#line257 "sqlda.pgc"
528536

529537

530538
return (0);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp