BUG #6644: Query give wrong results when 'is not null' is applied in where clause

Поиск
Список
Период
Сортировка
От kwalbrecht@cghtech.com
Тема BUG #6644: Query give wrong results when 'is not null' is applied in where clause
Дата
Msg-id E1SUf4z-0002Yu-1y@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #6644: Query give wrong results when 'is not null' is applied in where clause  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      6644
Logged by:          Karl Walbrecht
Email address:      kwalbrecht@cghtech.com
PostgreSQL version: 9.0.3
Operating system:   SunOS 5.10
Description:=20=20=20=20=20=20=20=20

geom.ArcToStreight(integer) is a function which returns the following type:

Composite type "geom.t_line_ref"
  Column   |       Type=20=20=20=20=20=20=20=20
-----------+-------------------
 line_id   | integer
 start_id  | integer
 mid_id    | integer
 end_id    | integer
 line      | geometry
 line_type | character varying
 chart_id  | integer

The following queries show 1) the total number of rows. 2) the number of
null rows. 3) the number of not null rows.

The problem is that results of query 2 + the results of query 3 should equal
the result of query 1 which they do not.


SELECT count(*)
FROM (
  select geom.ArcToStreight(line_id) as a
  from sdat_legacy.lines
  where mid_node is not null
) foo=20
;

 count
-------
 14177
(1 row)

SELECT count(*)
FROM (
  select geom.ArcToStreight(line_id) as a
  from sdat_legacy.lines
  where mid_node is not null
) foo
WHERE foo.a is null=20
;

 count
-------
 13796
(1 row)


SELECT count(*)
FROM (
  select geom.ArcToStreight(line_id) as a
  from sdat_legacy.lines
  where mid_node is not null
) foo
WHERE foo.a is not null=20
;

 count
-------
     0
(1 row)

Clearly something is amiss.

  14197  Total number of rows
- 13796  Number of null row
--------
    381 Expected number of not null rows

      0 Number of not null rows returned

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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: BUG #6642: Spanish collation fault
Следующее
От: steve@empiricalthought.com
Дата:
Сообщение: BUG #6646: PL/Python spiexceptions raised inside Python do not include sqlstate in external code