Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
10ecc0d5
Commit
10ecc0d5
authored
Jan 04, 2012
by
Michael Meskes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Made code in ecpg better readable.
parent
54a622ca
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
67 additions
and
65 deletions
+67
-65
src/interfaces/ecpg/preproc/ecpg.header
src/interfaces/ecpg/preproc/ecpg.header
+47
-45
src/interfaces/ecpg/test/expected/preproc-outofscope.c
src/interfaces/ecpg/test/expected/preproc-outofscope.c
+20
-20
No files found.
src/interfaces/ecpg/preproc/ecpg.header
View file @
10ecc0d5
...
@@ -224,16 +224,16 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
...
@@ -224,16 +224,16 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
{
{
/* Informix accepts DECLARE with variables that are out of scope when OPEN is called.
/* Informix accepts DECLARE with variables that are out of scope when OPEN is called.
* For instance you can DECLARE a cursor in one function, and OPEN/FETCH/CLOSE
* For instance you can DECLARE a cursor in one function, and OPEN/FETCH/CLOSE
* it in other functions. This is very useful for e.g. event-driver programming,
* it in
an
other functions. This is very useful for e.g. event-driver programming,
* but may also lead to dangerous programming. The limitation when this is allowed
* but may also lead to dangerous programming. The limitation when this is allowed
* and doesn'
s
cause problems have to be documented, like the allocated variables
* and doesn'
t
cause problems have to be documented, like the allocated variables
* must not be realloc()'ed.
* must not be realloc()'ed.
*
*
* We have to change the variables to our own struct and just store the pointer
* We have to change the variables to our own struct and just store the pointer
* instead of the variable. Do it only for local variables, not for globals.
* instead of the variable. Do it only for local variables, not for globals.
*/
*/
char *result =
mm_strdup("")
;
char *result =
EMPTY
;
int insert;
int insert;
for (insert = 1; insert >= 0; insert--)
for (insert = 1; insert >= 0; insert--)
...
@@ -247,13 +247,14 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
...
@@ -247,13 +247,14 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
for (ptr = list; ptr != NULL; ptr = ptr->next)
for (ptr = list; ptr != NULL; ptr = ptr->next)
{
{
char
temp
[20];
char
var_text
[20];
char *original_var;
char *original_var;
bool skip_set_var = false;
bool skip_set_var = false;
bool var_ptr = false;
/* change variable name to "ECPGget_var(<counter>)" */
/* change variable name to "ECPGget_var(<counter>)" */
original_var = ptr->variable->name;
original_var = ptr->variable->name;
sprintf(
temp
, "%d))", ecpg_internal_var);
sprintf(
var_text
, "%d))", ecpg_internal_var);
/* Don't emit ECPGset_var() calls for global variables */
/* Don't emit ECPGset_var() calls for global variables */
if (ptr->variable->brace_level == 0)
if (ptr->variable->brace_level == 0)
...
@@ -276,13 +277,12 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
...
@@ -276,13 +277,12 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
newvar = new_variable(cat_str(4, mm_strdup("("),
newvar = new_variable(cat_str(4, mm_strdup("("),
mm_strdup(ecpg_type_name(ptr->variable->type->u.element->type)),
mm_strdup(ecpg_type_name(ptr->variable->type->u.element->type)),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(
temp
)),
mm_strdup(
var_text
)),
ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type,
ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type,
mm_strdup("1"),
mm_strdup("1"),
ptr->variable->type->u.element->counter),
ptr->variable->type->u.element->counter),
ptr->variable->type->size),
ptr->variable->type->size),
0);
0);
sprintf(temp, "%d, (", ecpg_internal_var++);
}
}
else if ((ptr->variable->type->type == ECPGt_varchar
else if ((ptr->variable->type->type == ECPGt_varchar
|| ptr->variable->type->type == ECPGt_char
|| ptr->variable->type->type == ECPGt_char
...
@@ -293,59 +293,57 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
...
@@ -293,59 +293,57 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
newvar = new_variable(cat_str(4, mm_strdup("("),
newvar = new_variable(cat_str(4, mm_strdup("("),
mm_strdup(ecpg_type_name(ptr->variable->type->type)),
mm_strdup(ecpg_type_name(ptr->variable->type->type)),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(
temp
)),
mm_strdup(
var_text
)),
ECPGmake_simple_type(ptr->variable->type->type,
ECPGmake_simple_type(ptr->variable->type->type,
ptr->variable->type->size,
ptr->variable->type->size,
ptr->variable->type->counter),
ptr->variable->type->counter),
0);
0);
if (ptr->variable->type->type == ECPGt_varchar)
if (ptr->variable->type->type == ECPGt_varchar)
sprintf(temp, "%d, &(", ecpg_internal_var++);
var_ptr = true;
else
sprintf(temp, "%d, (", ecpg_internal_var++);
}
}
else if (ptr->variable->type->type == ECPGt_struct
else if (ptr->variable->type->type == ECPGt_struct
|| ptr->variable->type->type == ECPGt_union)
|| ptr->variable->type->type == ECPGt_union)
{
{
sprintf(temp, "%d)))", ecpg_internal_var);
newvar = new_variable(cat_str(5, mm_strdup("(*("),
newvar = new_variable(cat_str(4, mm_strdup("(*("),
mm_strdup(ptr->variable->type->type_name),
mm_strdup(ptr->variable->type->type_name),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(temp)),
mm_strdup(var_text),
mm_strdup(")")),
ECPGmake_struct_type(ptr->variable->type->u.members,
ECPGmake_struct_type(ptr->variable->type->u.members,
ptr->variable->type->type,
ptr->variable->type->type,
ptr->variable->type->type_name,
ptr->variable->type->type_name,
ptr->variable->type->struct_sizeof),
ptr->variable->type->struct_sizeof),
0);
0);
sprintf(temp, "%d, &(", ecpg_internal_var++)
;
var_ptr = true
;
}
}
else if (ptr->variable->type->type == ECPGt_array)
else if (ptr->variable->type->type == ECPGt_array)
{
{
if (ptr->variable->type->u.element->type == ECPGt_struct
if (ptr->variable->type->u.element->type == ECPGt_struct
|| ptr->variable->type->u.element->type == ECPGt_union)
|| ptr->variable->type->u.element->type == ECPGt_union)
{
{
sprintf(temp, "%d)))", ecpg_internal_var);
newvar = new_variable(cat_str(5, mm_strdup("(*("),
newvar = new_variable(cat_str(4, mm_strdup("(*("),
mm_strdup(ptr->variable->type->u.element->type_name),
mm_strdup(ptr->variable->type->u.element->type_name),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(" *)(ECPGget_var("), mm_strdup(temp)),
mm_strdup(var_text),
mm_strdup(")")),
ECPGmake_struct_type(ptr->variable->type->u.element->u.members,
ECPGmake_struct_type(ptr->variable->type->u.element->u.members,
ptr->variable->type->u.element->type,
ptr->variable->type->u.element->type,
ptr->variable->type->u.element->type_name,
ptr->variable->type->u.element->type_name,
ptr->variable->type->u.element->struct_sizeof),
ptr->variable->type->u.element->struct_sizeof),
0);
0);
sprintf(temp, "%d, (", ecpg_internal_var++);
}
}
else
else
{
{
newvar = new_variable(cat_str(4, mm_strdup("("),
newvar = new_variable(cat_str(4, mm_strdup("("),
mm_strdup(ecpg_type_name(ptr->variable->type->type)),
mm_strdup(ecpg_type_name(ptr->variable->type->type)),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(
temp
)),
mm_strdup(
var_text
)),
ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type,
ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type,
ptr->variable->type->u.element->size,
ptr->variable->type->u.element->size,
ptr->variable->type->u.element->counter),
ptr->variable->type->u.element->counter),
ptr->variable->type->size),
ptr->variable->type->size),
0);
0);
sprintf(temp, "%d, &(", ecpg_internal_var++)
;
var_ptr = true
;
}
}
}
}
else
else
...
@@ -353,19 +351,22 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
...
@@ -353,19 +351,22 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
newvar = new_variable(cat_str(4, mm_strdup("*("),
newvar = new_variable(cat_str(4, mm_strdup("*("),
mm_strdup(ecpg_type_name(ptr->variable->type->type)),
mm_strdup(ecpg_type_name(ptr->variable->type->type)),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(
temp
)),
mm_strdup(
var_text
)),
ECPGmake_simple_type(ptr->variable->type->type,
ECPGmake_simple_type(ptr->variable->type->type,
ptr->variable->type->size,
ptr->variable->type->size,
ptr->variable->type->counter),
ptr->variable->type->counter),
0);
0);
sprintf(temp, "%d, &(", ecpg_internal_var++)
;
var_ptr = true
;
}
}
/* create call to "ECPGset_var(<counter>, <pointer>. <line number>)" */
/* create call to "ECPGset_var(<counter>, <
connection>, <
pointer>. <line number>)" */
if (!skip_set_var)
if (!skip_set_var)
{
sprintf(var_text, "%d, %s", ecpg_internal_var++, var_ptr ? "&(" : "(");
result = cat_str(5, result, mm_strdup("ECPGset_var("),
result = cat_str(5, result, mm_strdup("ECPGset_var("),
mm_strdup(
temp
), mm_strdup(original_var),
mm_strdup(
var_text
), mm_strdup(original_var),
mm_strdup("), __LINE__);\n"));
mm_strdup("), __LINE__);\n"));
}
/* now the indicator if there is one and it's not a global variable */
/* now the indicator if there is one and it's not a global variable */
if ((ptr->indicator->type->type == ECPGt_NO_INDICATOR) || (ptr->indicator->brace_level == 0))
if ((ptr->indicator->type->type == ECPGt_NO_INDICATOR) || (ptr->indicator->brace_level == 0))
...
@@ -376,50 +377,51 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
...
@@ -376,50 +377,51 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
{
{
/* change variable name to "ECPGget_var(<counter>)" */
/* change variable name to "ECPGget_var(<counter>)" */
original_var = ptr->indicator->name;
original_var = ptr->indicator->name;
sprintf(temp, "%d))", ecpg_internal_var);
sprintf(var_text, "%d))", ecpg_internal_var);
var_ptr = false;
if (ptr->indicator->type->type == ECPGt_struct
if (ptr->indicator->type->type == ECPGt_struct
|| ptr->indicator->type->type == ECPGt_union)
|| ptr->indicator->type->type == ECPGt_union)
{
{
sprintf(temp, "%d)))", ecpg_internal_var);
newind = new_variable(cat_str(5, mm_strdup("(*("),
newind = new_variable(cat_str(4, mm_strdup("(*("
),
mm_strdup(ptr->indicator->type->type_name
),
mm_strdup(ptr->indicator->type->type_name
),
mm_strdup(" *)(ECPGget_var("
),
mm_strdup(" *)(ECPGget_var("
),
mm_strdup(var_text
),
mm_strdup(temp
)),
mm_strdup(")"
)),
ECPGmake_struct_type(ptr->indicator->type->u.members,
ECPGmake_struct_type(ptr->indicator->type->u.members,
ptr->indicator->type->type,
ptr->indicator->type->type,
ptr->indicator->type->type_name,
ptr->indicator->type->type_name,
ptr->indicator->type->struct_sizeof),
ptr->indicator->type->struct_sizeof),
0);
0);
sprintf(temp, "%d, &(", ecpg_internal_var++)
;
var_ptr = true
;
}
}
else if (ptr->indicator->type->type == ECPGt_array)
else if (ptr->indicator->type->type == ECPGt_array)
{
{
if (ptr->indicator->type->u.element->type == ECPGt_struct
if (ptr->indicator->type->u.element->type == ECPGt_struct
|| ptr->indicator->type->u.element->type == ECPGt_union)
|| ptr->indicator->type->u.element->type == ECPGt_union)
{
{
sprintf(temp, "%d)))", ecpg_internal_var);
newind = new_variable(cat_str(5, mm_strdup("(*("),
newind = new_variable(cat_str(4, mm_strdup("(*("),
mm_strdup(ptr->indicator->type->u.element->type_name),
mm_strdup(ptr->indicator->type->u.element->type_name),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(" *)(ECPGget_var("), mm_strdup(temp)),
mm_strdup(var_text),
mm_strdup(")")),
ECPGmake_struct_type(ptr->indicator->type->u.element->u.members,
ECPGmake_struct_type(ptr->indicator->type->u.element->u.members,
ptr->indicator->type->u.element->type,
ptr->indicator->type->u.element->type,
ptr->indicator->type->u.element->type_name,
ptr->indicator->type->u.element->type_name,
ptr->indicator->type->u.element->struct_sizeof),
ptr->indicator->type->u.element->struct_sizeof),
0);
0);
sprintf(temp, "%d, (", ecpg_internal_var++);
}
}
else
else
{
{
newind = new_variable(cat_str(4, mm_strdup("("),
newind = new_variable(cat_str(4, mm_strdup("("),
mm_strdup(ecpg_type_name(ptr->indicator->type->u.element->type)),
mm_strdup(ecpg_type_name(ptr->indicator->type->u.element->type)),
mm_strdup(" *)(ECPGget_var("), mm_strdup(
temp
)),
mm_strdup(" *)(ECPGget_var("), mm_strdup(
var_text
)),
ECPGmake_array_type(ECPGmake_simple_type(ptr->indicator->type->u.element->type,
ECPGmake_array_type(ECPGmake_simple_type(ptr->indicator->type->u.element->type,
ptr->indicator->type->u.element->size,
ptr->indicator->type->u.element->size,
ptr->indicator->type->u.element->counter),
ptr->indicator->type->u.element->counter),
ptr->indicator->type->size),
ptr->indicator->type->size),
0);
0);
sprintf(temp, "%d, &(", ecpg_internal_var++)
;
var_ptr = true
;
}
}
}
}
else if (atoi(ptr->indicator->type->size) > 1)
else if (atoi(ptr->indicator->type->size) > 1)
...
@@ -427,29 +429,29 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
...
@@ -427,29 +429,29 @@ adjust_outofscope_cursor_vars(struct cursor *cur)
newind = new_variable(cat_str(4, mm_strdup("("),
newind = new_variable(cat_str(4, mm_strdup("("),
mm_strdup(ecpg_type_name(ptr->indicator->type->type)),
mm_strdup(ecpg_type_name(ptr->indicator->type->type)),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(
temp
)),
mm_strdup(
var_text
)),
ECPGmake_simple_type(ptr->indicator->type->type,
ECPGmake_simple_type(ptr->indicator->type->type,
ptr->indicator->type->size,
ptr->indicator->type->size,
ptr->variable->type->counter),
ptr->variable->type->counter),
0);
0);
sprintf(temp, "%d, (", ecpg_internal_var++);
}
}
else
else
{
{
newind = new_variable(cat_str(4, mm_strdup("*("),
newind = new_variable(cat_str(4, mm_strdup("*("),
mm_strdup(ecpg_type_name(ptr->indicator->type->type)),
mm_strdup(ecpg_type_name(ptr->indicator->type->type)),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(" *)(ECPGget_var("),
mm_strdup(
temp
)),
mm_strdup(
var_text
)),
ECPGmake_simple_type(ptr->indicator->type->type,
ECPGmake_simple_type(ptr->indicator->type->type,
ptr->indicator->type->size,
ptr->indicator->type->size,
ptr->variable->type->counter),
ptr->variable->type->counter),
0);
0);
sprintf(temp, "%d, &(", ecpg_internal_var++)
;
var_ptr = true
;
}
}
/* create call to "ECPGset_var(<counter>, <pointer>. <line number>)" */
/* create call to "ECPGset_var(<counter>, <pointer>. <line number>)" */
sprintf(var_text, "%d, %s", ecpg_internal_var++, var_ptr ? "&(" : "(");
result = cat_str(5, result, mm_strdup("ECPGset_var("),
result = cat_str(5, result, mm_strdup("ECPGset_var("),
mm_strdup(
temp
), mm_strdup(original_var),
mm_strdup(
var_text
), mm_strdup(original_var),
mm_strdup("), __LINE__);\n"));
mm_strdup("), __LINE__);\n"));
}
}
...
...
src/interfaces/ecpg/test/expected/preproc-outofscope.c
View file @
10ecc0d5
...
@@ -202,16 +202,16 @@ static void
...
@@ -202,16 +202,16 @@ static void
open_cur1
(
void
)
open_cur1
(
void
)
{
{
{
ECPGdo
(
__LINE__
,
0
,
1
,
NULL
,
0
,
ECPGst_normal
,
"declare mycur cursor for select * from a1"
,
ECPGt_EOIT
,
{
ECPGdo
(
__LINE__
,
0
,
1
,
NULL
,
0
,
ECPGst_normal
,
"declare mycur cursor for select * from a1"
,
ECPGt_EOIT
,
ECPGt_int
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))).
id
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_int
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))
).
id
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))).
id
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))
).
id
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_char
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))).
t
),(
long
)
64
,(
long
)
1
,(
64
)
*
sizeof
(
char
),
ECPGt_char
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))
).
t
),(
long
)
64
,(
long
)
1
,(
64
)
*
sizeof
(
char
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))).
t
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))
).
t
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_double
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))).
d1
),(
long
)
1
,(
long
)
1
,
sizeof
(
double
),
ECPGt_double
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))
).
d1
),(
long
)
1
,(
long
)
1
,
sizeof
(
double
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))).
d1
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))
).
d1
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_double
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))).
d2
),(
long
)
1
,(
long
)
1
,
sizeof
(
double
),
ECPGt_double
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))
).
d2
),(
long
)
1
,(
long
)
1
,
sizeof
(
double
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))).
d2
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))
).
d2
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_char
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))).
c
),(
long
)
30
,(
long
)
1
,(
30
)
*
sizeof
(
char
),
ECPGt_char
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))
).
c
),(
long
)
30
,(
long
)
1
,(
30
)
*
sizeof
(
char
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))).
c
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_EORT
);
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))
).
c
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_EORT
);
#line 40 "outofscope.pgc"
#line 40 "outofscope.pgc"
if
(
sqlca
.
sqlcode
<
0
)
exit
(
1
);}
if
(
sqlca
.
sqlcode
<
0
)
exit
(
1
);}
...
@@ -226,16 +226,16 @@ static void
...
@@ -226,16 +226,16 @@ static void
get_record1
(
void
)
get_record1
(
void
)
{
{
{
ECPGdo
(
__LINE__
,
0
,
1
,
NULL
,
0
,
ECPGst_normal
,
"fetch mycur"
,
ECPGt_EOIT
,
{
ECPGdo
(
__LINE__
,
0
,
1
,
NULL
,
0
,
ECPGst_normal
,
"fetch mycur"
,
ECPGt_EOIT
,
ECPGt_int
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))).
id
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_int
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))
).
id
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))).
id
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))
).
id
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_char
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))).
t
),(
long
)
64
,(
long
)
1
,(
64
)
*
sizeof
(
char
),
ECPGt_char
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))
).
t
),(
long
)
64
,(
long
)
1
,(
64
)
*
sizeof
(
char
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))).
t
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))
).
t
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_double
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))).
d1
),(
long
)
1
,(
long
)
1
,
sizeof
(
double
),
ECPGt_double
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))
).
d1
),(
long
)
1
,(
long
)
1
,
sizeof
(
double
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))).
d1
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))
).
d1
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_double
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))).
d2
),(
long
)
1
,(
long
)
1
,
sizeof
(
double
),
ECPGt_double
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))
).
d2
),(
long
)
1
,(
long
)
1
,
sizeof
(
double
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))).
d2
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))
).
d2
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_char
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))).
c
),(
long
)
30
,(
long
)
1
,(
30
)
*
sizeof
(
char
),
ECPGt_char
,
&
((
*
(
MYTYPE
*
)(
ECPGget_var
(
0
))
).
c
),(
long
)
30
,(
long
)
1
,(
30
)
*
sizeof
(
char
),
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))).
c
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_EORT
);
ECPGt_int
,
&
((
*
(
MYNULLTYPE
*
)(
ECPGget_var
(
1
))
).
c
),(
long
)
1
,(
long
)
1
,
sizeof
(
int
),
ECPGt_EORT
);
#line 49 "outofscope.pgc"
#line 49 "outofscope.pgc"
if
(
sqlca
.
sqlcode
<
0
)
exit
(
1
);}
if
(
sqlca
.
sqlcode
<
0
)
exit
(
1
);}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment