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

Commit600be01

Browse files
author
Michael Meskes
committed
ecpg now adds a unique counter to its varchar struct definitions to make these definitions unique, too. It used to use the linenumber but in the rare case of two definitions in one line this was not unique.
1 parent6fcd501 commit600be01

File tree

11 files changed

+177
-167
lines changed

11 files changed

+177
-167
lines changed

‎src/interfaces/ecpg/preproc/descriptor.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* functions needed for descriptor handling
33
*
4-
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/descriptor.c,v 1.31 2010/02/26 02:01:31 momjian Exp $
4+
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/descriptor.c,v 1.32 2010/03/09 11:09:45 meskes Exp $
55
*
66
* since descriptor might be either a string constant or a string var
77
* we need to check for a constant if we expect a constant
@@ -338,7 +338,7 @@ sqlda_variable(const char *name)
338338
p->type->size=NULL;
339339
p->type->struct_sizeof=NULL;
340340
p->type->u.element=NULL;
341-
p->type->lineno=0;
341+
p->type->counter=0;
342342
p->brace_level=0;
343343
p->next=NULL;
344344

‎src/interfaces/ecpg/preproc/ecpg.header

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.header,v 1.13 2010/01/29 16:28:13 meskes Exp $ */
1+
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.header,v 1.14 2010/03/09 11:09:45 meskes Exp $ */
22

33
/* Copyright comment */
44
%{
@@ -44,6 +44,7 @@ static intpacounter = 1;
4444
static char pacounter_buffer[sizeof(int) * CHAR_BIT * 10 / 3]; /* a rough guess at the size we need */
4545
static struct this_type actual_type[STRUCT_DEPTH];
4646
static char *actual_startline[STRUCT_DEPTH];
47+
static int varchar_counter = 1;
4748

4849
/* temporarily store struct members while creating the data structure */
4950
struct ECPGstruct_member *struct_member_list[STRUCT_DEPTH] = { NULL };
@@ -275,12 +276,12 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
275276
}
276277
else if ((ptr->variable->type->type != ECPGt_varchar && ptr->variable->type->type != ECPGt_char && ptr->variable->type->type != ECPGt_unsigned_char && ptr->variable->type->type != ECPGt_string) && atoi(ptr->variable->type->size) > 1)
277278
{
278-
newvar = new_variable(cat_str(4, make_str("("), mm_strdup(ecpg_type_name(ptr->variable->type->u.element->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type, make_str("1"), ptr->variable->type->u.element->lineno), ptr->variable->type->size), 0);
279+
newvar = new_variable(cat_str(4, make_str("("), mm_strdup(ecpg_type_name(ptr->variable->type->u.element->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type, make_str("1"), ptr->variable->type->u.element->counter), ptr->variable->type->size), 0);
279280
sprintf(temp, "%d, (", ecpg_internal_var++);
280281
}
281282
else if ((ptr->variable->type->type == ECPGt_varchar || ptr->variable->type->type == ECPGt_char || ptr->variable->type->type == ECPGt_unsigned_char || ptr->variable->type->type == ECPGt_string) && atoi(ptr->variable->type->size) > 1)
282283
{
283-
newvar = new_variable(cat_str(4, make_str("("), mm_strdup(ecpg_type_name(ptr->variable->type->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->variable->type->type, ptr->variable->type->size, ptr->variable->type->lineno), 0);
284+
newvar = new_variable(cat_str(4, make_str("("), mm_strdup(ecpg_type_name(ptr->variable->type->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->variable->type->type, ptr->variable->type->size, ptr->variable->type->counter), 0);
284285
if (ptr->variable->type->type == ECPGt_varchar)
285286
sprintf(temp, "%d, &(", ecpg_internal_var++);
286287
else
@@ -302,13 +303,13 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
302303
}
303304
else
304305
{
305-
newvar = new_variable(cat_str(4, make_str("("), mm_strdup(ecpg_type_name(ptr->variable->type->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type, ptr->variable->type->u.element->size, ptr->variable->type->u.element->lineno), ptr->variable->type->size), 0);
306+
newvar = new_variable(cat_str(4, make_str("("), mm_strdup(ecpg_type_name(ptr->variable->type->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type, ptr->variable->type->u.element->size, ptr->variable->type->u.element->counter), ptr->variable->type->size), 0);
306307
sprintf(temp, "%d, &(", ecpg_internal_var++);
307308
}
308309
}
309310
else
310311
{
311-
newvar = new_variable(cat_str(4, make_str("*("), mm_strdup(ecpg_type_name(ptr->variable->type->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->variable->type->type, ptr->variable->type->size, ptr->variable->type->lineno), 0);
312+
newvar = new_variable(cat_str(4, make_str("*("), mm_strdup(ecpg_type_name(ptr->variable->type->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->variable->type->type, ptr->variable->type->size, ptr->variable->type->counter), 0);
312313
sprintf(temp, "%d, &(", ecpg_internal_var++);
313314
}
314315

@@ -343,18 +344,18 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
343344
}
344345
else
345346
{
346-
newind = new_variable(cat_str(4, make_str("("), mm_strdup(ecpg_type_name(ptr->indicator->type->u.element->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_array_type(ECPGmake_simple_type(ptr->indicator->type->u.element->type, ptr->indicator->type->u.element->size, ptr->indicator->type->u.element->lineno), ptr->indicator->type->size), 0);
347+
newind = new_variable(cat_str(4, make_str("("), mm_strdup(ecpg_type_name(ptr->indicator->type->u.element->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_array_type(ECPGmake_simple_type(ptr->indicator->type->u.element->type, ptr->indicator->type->u.element->size, ptr->indicator->type->u.element->counter), ptr->indicator->type->size), 0);
347348
sprintf(temp, "%d, &(", ecpg_internal_var++);
348349
}
349350
}
350351
else if (atoi(ptr->indicator->type->size) > 1)
351352
{
352-
newind = new_variable(cat_str(4, make_str("("), mm_strdup(ecpg_type_name(ptr->indicator->type->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->indicator->type->type, ptr->indicator->type->size, ptr->variable->type->lineno), 0);
353+
newind = new_variable(cat_str(4, make_str("("), mm_strdup(ecpg_type_name(ptr->indicator->type->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->indicator->type->type, ptr->indicator->type->size, ptr->variable->type->counter), 0);
353354
sprintf(temp, "%d, (", ecpg_internal_var++);
354355
}
355356
else
356357
{
357-
newind = new_variable(cat_str(4, make_str("*("), mm_strdup(ecpg_type_name(ptr->indicator->type->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->indicator->type->type, ptr->indicator->type->size, ptr->variable->type->lineno), 0);
358+
newind = new_variable(cat_str(4, make_str("*("), mm_strdup(ecpg_type_name(ptr->indicator->type->type)), make_str(" *)(ECPGget_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->indicator->type->type, ptr->indicator->type->size, ptr->variable->type->counter), 0);
358359
sprintf(temp, "%d, &(", ecpg_internal_var++);
359360
}
360361

‎src/interfaces/ecpg/preproc/ecpg.trailer

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.trailer,v 1.20 2010/01/29 16:28:13 meskes Exp $ */
1+
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.trailer,v 1.21 2010/03/09 11:09:45 meskes Exp $ */
22

33
statements: /*EMPTY*/
44
| statements statement
@@ -855,9 +855,9 @@ variable: opt_pointer ECPGColLabel opt_array_bounds opt_bit_field opt_initialize
855855

856856
case ECPGt_varchar:
857857
if (atoi(dimension) < 0)
858-
type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length,yylineno);
858+
type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length,varchar_counter);
859859
else
860-
type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, length,yylineno), dimension);
860+
type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, length,varchar_counter), dimension);
861861

862862
if (strcmp(dimension, "0") == 0 || abs(atoi(dimension)) == 1)
863863
*dim = '\0';
@@ -867,13 +867,14 @@ variable: opt_pointer ECPGColLabel opt_array_bounds opt_bit_field opt_initialize
867867
if (atoi(length) < 0 || strcmp(length, "0") == 0)
868868
mmerror(PARSE_ERROR, ET_ERROR, "pointers to varchar are not implemented");
869869

870-
/* make sure varchar struct name is unique by addinglinenumer of its definition */
870+
/* make sure varchar struct name is unique by addinga unique counter to its definition */
871871
vcn = (char *) mm_alloc(strlen($2) + sizeof(int) * CHAR_BIT * 10 / 3);
872-
sprintf(vcn, "%s_%d", $2,yylineno);
872+
sprintf(vcn, "%s_%d", $2,varchar_counter);
873873
if (strcmp(dimension, "0") == 0)
874874
$$ = cat_str(7, make2_str(make_str(" struct varchar_"), vcn), make_str(" { int len; char arr["), mm_strdup(length), make_str("]; } *"), mm_strdup($2), $4, $5);
875875
else
876876
$$ = cat_str(8, make2_str(make_str(" struct varchar_"), vcn), make_str(" { int len; char arr["), mm_strdup(length), make_str("]; } "), mm_strdup($2), mm_strdup(dim), $4, $5);
877+
varchar_counter++;
877878
break;
878879

879880
case ECPGt_char:

‎src/interfaces/ecpg/preproc/type.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/type.c,v 1.87 2010/01/2609:07:31 meskes Exp $ */
1+
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/type.c,v 1.88 2010/03/09 11:09:45 meskes Exp $ */
22

33
#include"postgres_fe.h"
44

@@ -57,10 +57,10 @@ ECPGstruct_member_dup(struct ECPGstruct_member * rm)
5757
if (rm->type->u.element->type==ECPGt_struct)
5858
type=ECPGmake_struct_type(rm->type->u.element->u.members,rm->type->u.element->type,rm->type->u.element->type_name,rm->type->u.element->struct_sizeof);
5959
else
60-
type=ECPGmake_array_type(ECPGmake_simple_type(rm->type->u.element->type,rm->type->u.element->size,rm->type->u.element->lineno),rm->type->size);
60+
type=ECPGmake_array_type(ECPGmake_simple_type(rm->type->u.element->type,rm->type->u.element->size,rm->type->u.element->counter),rm->type->size);
6161
break;
6262
default:
63-
type=ECPGmake_simple_type(rm->type->type,rm->type->size,rm->type->lineno);
63+
type=ECPGmake_simple_type(rm->type->type,rm->type->size,rm->type->counter);
6464
break;
6565
}
6666

@@ -93,7 +93,7 @@ ECPGmake_struct_member(char *name, struct ECPGtype * type, struct ECPGstruct_mem
9393
}
9494

9595
structECPGtype*
96-
ECPGmake_simple_type(enumECPGttypetype,char*size,intlineno)
96+
ECPGmake_simple_type(enumECPGttypetype,char*size,intcounter)
9797
{
9898
structECPGtype*ne= (structECPGtype*)mm_alloc(sizeof(structECPGtype));
9999

@@ -102,7 +102,7 @@ ECPGmake_simple_type(enum ECPGttype type, char *size, int lineno)
102102
ne->size=size;
103103
ne->u.element=NULL;
104104
ne->struct_sizeof=NULL;
105-
ne->lineno=lineno;/* only needed for varchar */
105+
ne->counter=counter;/* only needed for varchar */
106106

107107
returnne;
108108
}
@@ -267,7 +267,7 @@ ECPGdump_a_type(FILE *o, const char *name, struct ECPGtype * type,
267267

268268
ECPGdump_a_simple(o,name,
269269
type->u.element->type,
270-
type->u.element->size,type->size,NULL,prefix,type->u.element->lineno);
270+
type->u.element->size,type->size,NULL,prefix,type->u.element->counter);
271271

272272
if (ind_type!=NULL)
273273
{
@@ -310,7 +310,7 @@ ECPGdump_a_type(FILE *o, const char *name, struct ECPGtype * type,
310310
if (indicator_set&& (ind_type->type==ECPGt_struct||ind_type->type==ECPGt_array))
311311
mmerror(INDICATOR_NOT_SIMPLE,ET_FATAL,"indicator for simple data type has to be simple");
312312

313-
ECPGdump_a_simple(o,name,type->type,type->size, (arr_str_siz&&strcmp(arr_str_siz,"0")!=0) ?arr_str_siz :make_str("-1"),struct_sizeof,prefix,type->lineno);
313+
ECPGdump_a_simple(o,name,type->type,type->size, (arr_str_siz&&strcmp(arr_str_siz,"0")!=0) ?arr_str_siz :make_str("-1"),struct_sizeof,prefix,type->counter);
314314
if (ind_type!=NULL)
315315
ECPGdump_a_simple(o,ind_name,ind_type->type,ind_type->size, (arr_str_siz&&strcmp(arr_str_siz,"0")!=0) ?arr_str_siz :make_str("-1"),ind_struct_sizeof,ind_prefix,0);
316316
break;
@@ -326,7 +326,7 @@ ECPGdump_a_simple(FILE *o, const char *name, enum ECPGttype type,
326326
char*arrsize,
327327
constchar*siz,
328328
constchar*prefix,
329-
intlineno)
329+
intcounter)
330330
{
331331
if (type==ECPGt_NO_INDICATOR)
332332
fprintf(o,"\n\tECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ");
@@ -367,8 +367,8 @@ ECPGdump_a_simple(FILE *o, const char *name, enum ECPGttype type,
367367
ptr=strchr(var_name,'[');
368368
if (ptr)
369369
*ptr='\0';
370-
if (lineno)
371-
sprintf(offset,"sizeof(struct varchar_%s_%d)",var_name,lineno);
370+
if (counter)
371+
sprintf(offset,"sizeof(struct varchar_%s_%d)",var_name,counter);
372372
else
373373
sprintf(offset,"sizeof(struct varchar_%s)",var_name);
374374
free(var_name);

‎src/interfaces/ecpg/preproc/type.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/type.h,v 1.53 2010/02/26 02:01:31 momjian Exp $
2+
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/type.h,v 1.54 2010/03/09 11:09:45 meskes Exp $
33
*/
44
#ifndef_ECPG_PREPROC_TYPE_H
55
#define_ECPG_PREPROC_TYPE_H
@@ -30,7 +30,7 @@ struct ECPGtype
3030
structECPGstruct_member*members;/* A pointer to a list of
3131
* members. */
3232
}u;
33-
intlineno;
33+
intcounter;
3434
};
3535

3636
/* Everything is malloced. */

‎src/interfaces/ecpg/preproc/variable.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/variable.c,v 1.53 2010/02/26 02:01:31 momjian Exp $ */
1+
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/variable.c,v 1.54 2010/03/09 11:09:45 meskes Exp $ */
22

33
#include"postgres_fe.h"
44

@@ -44,12 +44,12 @@ find_struct_member(char *name, char *str, struct ECPGstruct_member * members, in
4444
switch (members->type->type)
4545
{
4646
caseECPGt_array:
47-
return (new_variable(name,ECPGmake_array_type(ECPGmake_simple_type(members->type->u.element->type,members->type->u.element->size,members->type->u.element->lineno),members->type->size),brace_level));
47+
return (new_variable(name,ECPGmake_array_type(ECPGmake_simple_type(members->type->u.element->type,members->type->u.element->size,members->type->u.element->counter),members->type->size),brace_level));
4848
caseECPGt_struct:
4949
caseECPGt_union:
5050
return (new_variable(name,ECPGmake_struct_type(members->type->u.members,members->type->type,members->type->type_name,members->type->struct_sizeof),brace_level));
5151
default:
52-
return (new_variable(name,ECPGmake_simple_type(members->type->type,members->type->size,members->type->lineno),brace_level));
52+
return (new_variable(name,ECPGmake_simple_type(members->type->type,members->type->size,members->type->counter),brace_level));
5353
}
5454
}
5555
else
@@ -91,12 +91,12 @@ find_struct_member(char *name, char *str, struct ECPGstruct_member * members, in
9191
switch (members->type->u.element->type)
9292
{
9393
caseECPGt_array:
94-
return (new_variable(name,ECPGmake_array_type(ECPGmake_simple_type(members->type->u.element->u.element->type,members->type->u.element->u.element->size,members->type->u.element->u.element->lineno),members->type->u.element->size),brace_level));
94+
return (new_variable(name,ECPGmake_array_type(ECPGmake_simple_type(members->type->u.element->u.element->type,members->type->u.element->u.element->size,members->type->u.element->u.element->counter),members->type->u.element->size),brace_level));
9595
caseECPGt_struct:
9696
caseECPGt_union:
9797
return (new_variable(name,ECPGmake_struct_type(members->type->u.element->u.members,members->type->u.element->type,members->type->u.element->type_name,members->type->u.element->struct_sizeof),brace_level));
9898
default:
99-
return (new_variable(name,ECPGmake_simple_type(members->type->u.element->type,members->type->u.element->size,members->type->u.element->lineno),brace_level));
99+
return (new_variable(name,ECPGmake_simple_type(members->type->u.element->type,members->type->u.element->size,members->type->u.element->counter),brace_level));
100100
}
101101
break;
102102
case'-':
@@ -232,12 +232,12 @@ find_variable(char *name)
232232
switch (p->type->u.element->type)
233233
{
234234
caseECPGt_array:
235-
return (new_variable(name,ECPGmake_array_type(ECPGmake_simple_type(p->type->u.element->u.element->type,p->type->u.element->u.element->size,p->type->u.element->u.element->lineno),p->type->u.element->size),p->brace_level));
235+
return (new_variable(name,ECPGmake_array_type(ECPGmake_simple_type(p->type->u.element->u.element->type,p->type->u.element->u.element->size,p->type->u.element->u.element->counter),p->type->u.element->size),p->brace_level));
236236
caseECPGt_struct:
237237
caseECPGt_union:
238238
return (new_variable(name,ECPGmake_struct_type(p->type->u.element->u.members,p->type->u.element->type,p->type->u.element->type_name,p->type->u.element->struct_sizeof),p->brace_level));
239239
default:
240-
return (new_variable(name,ECPGmake_simple_type(p->type->u.element->type,p->type->u.element->size,p->type->u.element->lineno),p->brace_level));
240+
return (new_variable(name,ECPGmake_simple_type(p->type->u.element->type,p->type->u.element->size,p->type->u.element->counter),p->brace_level));
241241
}
242242
}
243243
}

‎src/interfaces/ecpg/test/expected/preproc-array_of_struct.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
typedefstruct {
3434
#line 12 "array_of_struct.pgc"
35-
structvarchar_name_12 {intlen;chararr[50 ]; }name ;
35+
structvarchar_name_1 {intlen;chararr[50 ]; }name ;
3636

3737
#line 13 "array_of_struct.pgc"
3838
intphone ;
@@ -61,7 +61,7 @@ int main()
6161

6262
typedefstruct {
6363
#line 30 "array_of_struct.pgc"
64-
structvarchar_name_30 {intlen;chararr[50 ]; }name ;
64+
structvarchar_name_2 {intlen;chararr[50 ]; }name ;
6565

6666
#line 31 "array_of_struct.pgc"
6767
intphone ;
@@ -95,7 +95,7 @@ int main()
9595
#line 38 "array_of_struct.pgc"
9696
structcustomer3 {
9797
#line 36 "array_of_struct.pgc"
98-
structvarchar_name_36 {intlen;chararr[50 ]; }name ;
98+
structvarchar_name_3 {intlen;chararr[50 ]; }name ;
9999

100100
#line 37 "array_of_struct.pgc"
101101
intphone ;
@@ -104,7 +104,7 @@ int main()
104104
#line 43 "array_of_struct.pgc"
105105
structcustomer4 {
106106
#line 41 "array_of_struct.pgc"
107-
structvarchar_name_41 {intlen;chararr[50 ]; }name ;
107+
structvarchar_name_4 {intlen;chararr[50 ]; }name ;
108108

109109
#line 42 "array_of_struct.pgc"
110110
intphone ;
@@ -114,7 +114,7 @@ int main()
114114
intr ;
115115

116116
#line 45 "array_of_struct.pgc"
117-
structvarchar_onlyname_45 {intlen;chararr[50 ]; }onlyname [2] ;
117+
structvarchar_onlyname_5 {intlen;chararr[50 ]; }onlyname [2] ;
118118
/* exec sql end declare section */
119119
#line 46 "array_of_struct.pgc"
120120

@@ -235,7 +235,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
235235
}
236236

237237
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"select * from customers limit 1",ECPGt_EOIT,
238-
ECPGt_varchar,&(custs4.name),(long)50,(long)1,sizeof(structvarchar_name_41),
238+
ECPGt_varchar,&(custs4.name),(long)50,(long)1,sizeof(structvarchar_name_4),
239239
ECPGt_short,&(inds[0].name_ind),(long)1,(long)1,sizeof(short),
240240
ECPGt_int,&(custs4.phone),(long)1,(long)1,sizeof(int),
241241
ECPGt_short,&(inds[0].phone_ind),(long)1,(long)1,sizeof(short),ECPGt_EORT);
@@ -255,7 +255,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
255255
printf("phone - %d\n",custs4.phone );
256256

257257
{ECPGdo(__LINE__,0,1,NULL,0,ECPGst_normal,"select c from customers limit 2",ECPGt_EOIT,
258-
ECPGt_varchar,(onlyname),(long)50,(long)2,sizeof(structvarchar_onlyname_45),
258+
ECPGt_varchar,(onlyname),(long)50,(long)2,sizeof(structvarchar_onlyname_5),
259259
ECPGt_NO_INDICATOR,NULL ,0L,0L,0L,ECPGt_EORT);
260260
#line 85 "array_of_struct.pgc"
261261

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp