4GL bug /locale support
Posted in 1999
This is a multi-part message in MIME format.
--------------489E85096C624697D26A0E70
Content-Type: text/plain; charset=koi8-r
Content-Transfer-Encoding: 7bit
Hello , we are using Dynamic Server( 7.30.uc7) on RH 6.0 with GLS on:
DB_LOCALE=ru_ru.1251
CLIENT_LOCALE=ru_ru.KOI-8+
we're using 4GL 7.20.uc7 and see following ERROR.
If we do :select * from table where field="AAA" // (KOI-8 coding AAA)
all is OK
but if we do{
define a char(3);
a="AAA";
select * from table where field=a}
"select" can't find "field" I've need BECOSE!?! field in "table"
defined as CHAR( 3) and all positions in use("AAA"- 3 chars)
and host variable "a" must been defined at least 4( four) characters
length -additional character needed?!!
But without locales(GLS) all was OK and " a CHAR( 3)= 'AAA' " works
fine,
by the way how about RECORD LIKE ? it's also wan't work -his fields
becomes unusable(
select * from table where record.field) because "record" field quietmatches "table's" field- 3 chars...
What's the matter? If you need supplement coding for supporting locale(
additional char position )
why you can't simple add it to every handling string internal???
That simple 4gl program always displays ERROR... Why?
Best regards. Andrey.
--------------489E85096C624697D26A0E70
Content-Type: text/plain; charset=koi8-r;
name="test.4gl"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="test.4gl"
DATABASE w_amu
DEFINE p RECORD LIKE w_test.*
#structure of w_test : key char(3),
# rab char(20),
# pole char(4)
MAIN
DEFINE
rab1 CHAR(4),
str CHAR(20)
LET rab1 = 'AAA'
SELECT * INTO p.* FROM w_test WHERE key = rab1
IF status<>NOTFOUND
THEN
LET str = "rab1=<",rab1,">"
DISPLAY str
SELECT * INTO p.* FROM w_test WHERE pole = p.key
IF status<>NOTFOUND
THEN
DISPLAY "ERROR"
END IF
END IF
END MAIN
--------------489E85096C624697D26A0E70--