[comp.databases] A little

struan@fivegl.co.nz (Struan Judd) (05/09/91)

In the following program (shortened but complete 4gl) the stack
gets totally mucked up at the point shown :


    database <database>

    main
	define L_num integer, L_dec decimal, L_str char(1000)

	for L_num = 1 to 1000
	    let L_dec = L_num / 3.141
	    let L_str = L_dec { Things go haywire here }
	    message L_str, L_num
	end for
    end main


Additionally if the offending statement is changed to

	    let L_str = L_dec using "&&&&&&&.&&"

then every thing is alright.

This is primarily a problem for us because we have a 4gl code generator
    and we are unable to detect that a variable is a decimal as opposed
    to a string.

Has anyone else out there encountered this problem? found a way round it?
    or even got a bug patch from Informix themselves?

Please email responses

-- 
+------------------------------------------------+---------------------+
| Struan L. Judd                                 | struan@fivegl.co.nz |
| Of all the bit boxes in this electronic world, | PH:  +64 9 302-1621 |
| this message had to shift into this one.       | FAX: +64 9 302-1617 |

das@trac2000.ueci.com (David Snyder) (05/11/91)

In article <1991May9.024936.15884@fivegl.co.nz->, struan@fivegl.co.nz (Struan Judd) writes:
-> In the following program (shortened but complete 4gl) the stack
-> gets totally mucked up at the point shown :
-> 
-> 
->     database <database->
-> 
->     main
-> 	define L_num integer, L_dec decimal, L_str char(1000)
-> 
-> 	for L_num = 1 to 1000
-> 	    let L_dec = L_num / 3.141
-> 	    let L_str = L_dec { Things go haywire here }
-> 	    message L_str, L_num
-> 	end for
->     end main
-> 
Well guess what... you're right!  I'm running 2.10.03F and this gem dumps
a core on me every time (unless I use a "USING").  Interestingly enough,
Informix-RDS runs this correctly whether I use the USING or not... go
figure :-)

DAS
-- 
David A. Snyder @ UE&C - Catalytic in Philadelphia, PA

UUCP:  ..!uunet!trac2000!das     INTERNET:  das@trac2000.ueci.com

aland@informix.com (Colonel Panic) (05/22/91)

In article <1020@trac2000.ueci.com> das@trac2000.ueci.com (David Snyder) writes:
>In article <1991May9.024936.15884@fivegl.co.nz->, struan@fivegl.co.nz (Struan Judd) writes:
>-> In the following program (shortened but complete 4gl) the stack
>-> gets totally mucked up at the point shown :
>-> 
>->     main
>-> 	define L_num integer, L_dec decimal, L_str char(1000)
>-> 
>-> 	for L_num = 1 to 1000
>-> 	    let L_dec = L_num / 3.141
>-> 	    let L_str = L_dec { Things go haywire here }
>-> 	    message L_str, L_num
>-> 	end for
>->     end main
>Well guess what... you're right!  I'm running 2.10.03F and this gem dumps
>a core on me every time (unless I use a "USING").  Interestingly enough,

Ditto for .03K on Sun 3 (I don't understand the "stack gets mucked up"
comment, I just get a core dump.)

In RDS (2.10.03K or 4.0), it works fine.  In compiled 4GL 4.0+, it
also works fine.

Sooooo, unless you are on a really odd platform, an upgrade to 4.0
heals this wound...

--
Alan Denney      aland@informix.com      {pyramid|uunet}!infmx!aland

"In the cafeteria just after lunch, (well, not *just* after, more like
 *during* lunch, about 12:28; say 12:30, give or take a few minutes),
 I leaned back in my chair (it was one of those aluminum chairs, good
 strength-to-weight, like titanium but not quite; but then of course
 titanium would be a bit of an overkill).  Anyway, I heard one of the
 girls talking about how boring she thought engineers could be."