BUG #2807: constraint violation

Поиск
Список
Период
Сортировка
От Ross Cohen
Тема BUG #2807: constraint violation
Дата
Msg-id 200612060017.kB60HSx7055291@wwwmaster.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #2807: constraint violation  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged online:

Bug reference:      2807
Logged by:          Ross Cohen
Email address:      rcohen@snurgle.org
PostgreSQL version: 8.2
Operating system:   linux (fedora core 4, released RPMS)
Description:        constraint violation
Details:

This query:
select
    photo_0.id,
    cert_2.id,
    user_profile_3.id,
    interest_profile_4.id
from photo as photo_0
left join cert as cert_2
on ((cert_2.cert_domain = 'photo' and
    cert_2.cert_type = 'has-photo' and
    cert_2.right_id = photo_0.id ))
left join user_profile as user_profile_3
on ((user_profile_3.id = cert_2.left_id ))
left join interest_profile as interest_profile_4
on ((interest_profile_4.id = cert_2.left_id ))
where
    -- these 2 clauses should give the same results
    ( user_profile_3.id = '19' or interest_profile_4.id = '19' );
    -- cert_2.left_id = '19';

Returns tuples with both the user_profile and interest_profile ids as null.

The plan is as follows:
                                                               QUERY PLAN
----------------------------------------------------------------------------
-------------------------------------------------------------
 Hash Left Join  (cost=3569.99..3617.56 rows=59 width=32)
   Hash Cond: (photo_0.id = cert_2.right_id)
   ->  Seq Scan on photo photo_0  (cost=0.00..41.71 rows=1171 width=8)
   ->  Hash  (cost=3569.99..3569.99 rows=1 width=32)
         ->  Nested Loop Left Join  (cost=0.00..3569.99 rows=1 width=32)
               Filter: ((user_profile_3.id = 19::bigint) OR
(interest_profile_4.id = 19::bigint))
               ->  Nested Loop Left Join  (cost=0.00..3497.60 rows=11
width=32)
                     ->  Index Scan using cert_cert_type_id_index on cert
cert_2  (cost=0.00..3461.27 rows=11 width=24)
                           Index Cond: ((cert_type)::text =
'has-photo'::text)
                           Filter: ((cert_domain)::text = 'photo'::text)
                     ->  Index Scan using interest_profile_pkey on
interest_profile interest_profile_4  (cost=0.00..3.29 rows=1 width=8)
                           Index Cond: (interest_profile_4.id =
cert_2.left_id)
               ->  Index Scan using user_profile_pkey on user_profile
user_profile_3  (cost=0.00..6.56 rows=1 width=8)
                     Index Cond: (user_profile_3.id = cert_2.left_id)
(14 rows)

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

Предыдущее
От: Jeff Davis
Дата:
Сообщение: 8.2 bug with outer join reordering
Следующее
От: "Ross Cohen"
Дата:
Сообщение: BUG #2811: Error determining param type in prepared statement of unused variable