Обсуждение: BUG #12878: Update fails with ODBC driver 9.0.3.400

Поиск
Список
Период
Сортировка

BUG #12878: Update fails with ODBC driver 9.0.3.400

От
rstefan@perceptron.com
Дата:
The following bug has been logged on the website:

Bug reference:      12878
Logged by:          Ralph Stefan
Email address:      rstefan@perceptron.com
PostgreSQL version: 9.2.10
Operating system:   Windows 7
Description:

I have a problem with the 9.0.3.400 ODBC driver. Using a C++ client using
CRecordSet, the update method fails. The ODBC driver is now expanding a
double to 17 or 18 digits of precision. In version 9.0.3.300 and lower, it
only expanded it to 16 digits of precision. Here is the SQL log for an
update in version 9.0.3.300:

UPDATE SP_MEMS_LIGHTSOURCE_OPTIONS SET

start_x='-0.0819098162202559',start_y='-0.288030017956869',end_x='0.0959545102741697',end_y='0.270450291244762',number_of_lines=10,cycle_time=480,exposure=5946,min_clipz='-20',max_clipz='20',min_exposure=500,max_exposure=10000
 WHERE "options_id" = 10009 AND "lightsource_order" = 0 AND "surface_id" =
10007 AND "lightsource_type" = 1 AND "pattern_type" = 0 AND "start_x" =
'-0.28' AND "start_y" = '-0.32' AND "end_x" = '0.32' AND "end_y" = '0.26'
AND "number_of_lines" = 20 AND "cycle_time" = 800 AND "samples_per_second" =
50000 AND "horizontal_speed" = 0 AND "vertical_speed" = 0 AND "scan_rate" =
25 AND "exposure" = 6196 AND "gain" = 3 AND "mode" = 1 AND "continuous" = 0
AND "disable_interpolation" = 0 AND "disable_filter" = 0 AND "min_clipz" =
'-50' AND "max_clipz" = '50' AND "rotation" = '0' AND "algorithm" = 2 AND
"min_exposure" = 0 AND "max_exposure" = 0 AND "laser_modulation" = 0 AND
"allow_updates" = 1

Here is the same update in 9.0.3.400

UPDATE SP_MEMS_LIGHTSOURCE_OPTIONS SET

start_x='-0.081909816220255879',start_y='-0.288030017956869',end_x='0.09595451027416968',end_y='0.27045029124476166',number_of_lines=10,cycle_time=480,exposure=5946,min_clipz='-20',max_clipz='20',min_exposure=500,max_exposure=10000
 WHERE "options_id" = 10019 AND "lightsource_order" = 0 AND "surface_id" =
10017 AND "lightsource_type" = 1 AND "pattern_type" = 0 AND "start_x" =
'-0.28000000000000003' AND "start_y" = '-0.32000000000000001' AND "end_x" =
'0.32000000000000001' AND "end_y" = '0.26000000000000001' AND
"number_of_lines" = 20 AND "cycle_time" = 800 AND "samples_per_second" =
50000 AND "horizontal_speed" = 0 AND "vertical_speed" = 0 AND "scan_rate" =
25 AND "exposure" = 6196 AND "gain" = 3 AND "mode" = 1 AND "continuous" = 0
AND "disable_interpolation" = 0 AND "disable_filter" = 0 AND "min_clipz" =
'-50' AND "max_clipz" = '50' AND "rotation" = '0' AND "algorithm" = 2 AND
"min_exposure" = 0 AND "max_exposure" = 0 AND "laser_modulation" = 0 AND
"allow_updates" = 1

With the additional garbage digit of precision, the update now fails.

Re: BUG #12878: Update fails with ODBC driver 9.0.3.400

От
jaime soler
Дата:
El mié, 18-03-2015 a las 19:13 +0000, rstefan@perceptron.com escribió:
> The following bug has been logged on the website:
>
> Bug reference:      12878
> Logged by:          Ralph Stefan
> Email address:      rstefan@perceptron.com
> PostgreSQL version: 9.2.10
> Operating system:   Windows 7
> Description:
>
> I have a problem with the 9.0.3.400 ODBC driver. Using a C++ client using
> CRecordSet, the update method fails. The ODBC driver is now expanding a
> double to 17 or 18 digits of precision. In version 9.0.3.300 and lower, it
> only expanded it to 16 digits of precision. Here is the SQL log for an
> update in version 9.0.3.300:
>
> UPDATE SP_MEMS_LIGHTSOURCE_OPTIONS SET
>
start_x='-0.0819098162202559',start_y='-0.288030017956869',end_x='0.0959545102741697',end_y='0.270450291244762',number_of_lines=10,cycle_time=480,exposure=5946,min_clipz='-20',max_clipz='20',min_exposure=500,max_exposure=10000
>  WHERE "options_id" = 10009 AND "lightsource_order" = 0 AND "surface_id" =
> 10007 AND "lightsource_type" = 1 AND "pattern_type" = 0 AND "start_x" =
> '-0.28' AND "start_y" = '-0.32' AND "end_x" = '0.32' AND "end_y" = '0.26'
> AND "number_of_lines" = 20 AND "cycle_time" = 800 AND "samples_per_second" =
> 50000 AND "horizontal_speed" = 0 AND "vertical_speed" = 0 AND "scan_rate" =
> 25 AND "exposure" = 6196 AND "gain" = 3 AND "mode" = 1 AND "continuous" = 0
> AND "disable_interpolation" = 0 AND "disable_filter" = 0 AND "min_clipz" =
> '-50' AND "max_clipz" = '50' AND "rotation" = '0' AND "algorithm" = 2 AND
> "min_exposure" = 0 AND "max_exposure" = 0 AND "laser_modulation" = 0 AND
> "allow_updates" = 1
>
> Here is the same update in 9.0.3.400
>
> UPDATE SP_MEMS_LIGHTSOURCE_OPTIONS SET
>
start_x='-0.081909816220255879',start_y='-0.288030017956869',end_x='0.09595451027416968',end_y='0.27045029124476166',number_of_lines=10,cycle_time=480,exposure=5946,min_clipz='-20',max_clipz='20',min_exposure=500,max_exposure=10000
>  WHERE "options_id" = 10019 AND "lightsource_order" = 0 AND "surface_id" =
> 10017 AND "lightsource_type" = 1 AND "pattern_type" = 0 AND "start_x" =
> '-0.28000000000000003' AND "start_y" = '-0.32000000000000001' AND "end_x" =
> '0.32000000000000001' AND "end_y" = '0.26000000000000001' AND
> "number_of_lines" = 20 AND "cycle_time" = 800 AND "samples_per_second" =
> 50000 AND "horizontal_speed" = 0 AND "vertical_speed" = 0 AND "scan_rate" =
> 25 AND "exposure" = 6196 AND "gain" = 3 AND "mode" = 1 AND "continuous" = 0
> AND "disable_interpolation" = 0 AND "disable_filter" = 0 AND "min_clipz" =
> '-50' AND "max_clipz" = '50' AND "rotation" = '0' AND "algorithm" = 2 AND
> "min_exposure" = 0 AND "max_exposure" = 0 AND "laser_modulation" = 0 AND
> "allow_updates" = 1
>
> With the additional garbage digit of precision, the update now fails.

Could you send this info to pgsql-odbc@postgresql.org ?
>
>
>