Edward (edx@astercity.net) reports a bug with a severity of 1
The lower the number the more severe it is.
Short Description
ECPG: inserting float numbers
Long Description
Inserting records with single precision real variables having small value (range 1.0e-6 or less) frequently results in
errorsin ECPG translations putting into resulted sql statement unexpected characters => see fragments of sample code
andECPGdebug log where after value of rate variable the unexpected character '^A' appears
Sample Code
/* fragment of the program code */
exec sql begin declare section;
/* ... */
float rate; /* level change rate */
/* ... */
exec sql end declare section;
/* ... */
sprintf(buf,"INSERT: %.8s.%.8s @%.32s -> %08x/%08x %f %f %f %f %f", loc, name, ts, devstat, meastat, relative, level,
ullage,rate, volume );
dbg_message( __FILE__, __LINE__, DBG_DBI, MSG_SQL, buf );
exec sql INSERT INTO rdr_meas ( name, loc, ts, devstat, meastat, relative, level, ullage, levelrate, volume ) VALUES (
:name,:loc, 'now', :devstat, :meastat, :relative, :level, :ullage, :rate, :volume ) ;
/* ... */
---
The above produces in ECPG debug :
...
[2782]: ECPGexecute line 1042: QUERY: insert into rdr_meas ( name , loc , ts , devstat , meastat , relative ,
level , ullage , levelrate , volume ) values ( 'NR1 ' , 'Swedwood' , 'now' , 0 , 4096 , 37.388961791992 ,
0.71039032936096, 1.1896096467972 , -5.5060195336409e-06 ^A , 3.4871203899384 ) on connection radar
[2782]: ECPGexecute line 1042: Error: ERROR: parser: parse error at or near "^A"
[2782]: raising sqlcode -400 in line 1042, ''ERROR: parser: parse error at or near "^A"' in line 1042.'.
No file was uploaded with this report