Re: Bug #640: ECPG: inserting float numbers

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Bug #640: ECPG: inserting float numbers
Дата
Msg-id 200206101957.g5AJvFv11439@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: Bug #640: ECPG: inserting float numbers  (Edward Pilipczuk <edx@astercity.net>)
Ответы Re: Bug #640: ECPG: inserting float numbers  (Lee Kindness <lkindness@csl.co.uk>)
Список pgsql-bugs
Has this been addressed?  Can you supply a reproducable example?

---------------------------------------------------------------------------

Edward Pilipczuk wrote:
> On Monday, 22 April 2002 18:41, you wrote:
> > 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 errors in ECPG translations
> > putting into resulted sql statement unexpected characters => see fragments
> > of sample code and ECPGdebug 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
> >
> ----------
> I am fighting with this bug on "PostgreSQL 7.2 on i686-pc-linux-gnu, compiled
> by GCC 2.96". It appears also on 7.1.x, which was reported previously
> (see buglist -> ecpg: unstable INSERT operation) on August 2001.
> The temporary workaround I apllied here is "if" statement before INSERT:
> if( fabs( rate ) < 1.0e-3 ) rate = 0.0;
>
> Edward
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: LOG_PID
Следующее
От: pgsql-bugs@postgresql.org
Дата:
Сообщение: Bug #688: dump/reinstall fails with local sameuser security