Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 600be01

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 parent 6fcd501 commit 600be01

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 int pacounter = 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 adding linenumer of its definition */
870+
/* make sure varchar struct name is unique by adding a 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/26 09: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
struct ECPGtype *
96-
ECPGmake_simple_type(enum ECPGttype type, char *size, int lineno)
96+
ECPGmake_simple_type(enum ECPGttype type, char *size, int counter)
9797
{
9898
struct ECPGtype *ne = (struct ECPGtype *) mm_alloc(sizeof(struct ECPGtype));
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
return ne;
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
const char *siz,
328328
const char *prefix,
329-
int lineno)
329+
int counter)
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
struct ECPGstruct_member *members; /* A pointer to a list of
3131
* members. */
3232
} u;
33-
int lineno;
33+
int counter;
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
case ECPGt_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
case ECPGt_struct:
4949
case ECPGt_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
case ECPGt_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
case ECPGt_struct:
9696
case ECPGt_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
case ECPGt_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
case ECPGt_struct:
237237
case ECPGt_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
typedef struct {
3434
#line 12 "array_of_struct.pgc"
35-
struct varchar_name_12 { int len; char arr[ 50 ]; } name ;
35+
struct varchar_name_1 { int len; char arr[ 50 ]; } name ;
3636

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

6262
typedef struct {
6363
#line 30 "array_of_struct.pgc"
64-
struct varchar_name_30 { int len; char arr[ 50 ]; } name ;
64+
struct varchar_name_2 { int len; char arr[ 50 ]; } name ;
6565

6666
#line 31 "array_of_struct.pgc"
6767
int phone ;
@@ -95,7 +95,7 @@ int main()
9595
#line 38 "array_of_struct.pgc"
9696
struct customer3 {
9797
#line 36 "array_of_struct.pgc"
98-
struct varchar_name_36 { int len; char arr[ 50 ]; } name ;
98+
struct varchar_name_3 { int len; char arr[ 50 ]; } name ;
9999

100100
#line 37 "array_of_struct.pgc"
101101
int phone ;
@@ -104,7 +104,7 @@ int main()
104104
#line 43 "array_of_struct.pgc"
105105
struct customer4 {
106106
#line 41 "array_of_struct.pgc"
107-
struct varchar_name_41 { int len; char arr[ 50 ]; } name ;
107+
struct varchar_name_4 { int len; char arr[ 50 ]; } name ;
108108

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

116116
#line 45 "array_of_struct.pgc"
117-
struct varchar_onlyname_45 { int len; char arr[ 50 ]; } onlyname [2] ;
117+
struct varchar_onlyname_5 { int len; char arr[ 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(struct varchar_name_41),
238+
ECPGt_varchar,&(custs4.name),(long)50,(long)1,sizeof(struct varchar_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(struct varchar_onlyname_45),
258+
ECPGt_varchar,(onlyname),(long)50,(long)2,sizeof(struct varchar_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)