Re: same query but different result on pg16devel and pg15.2

Поиск
Список
Период
Сортировка
От tender wang
Тема Re: same query but different result on pg16devel and pg15.2
Дата
Msg-id CAHewXNkGy3RSQ6pEyvbUe888ROaa4G7oLq2f_kowTsOY2DfGaQ@mail.gmail.com
обсуждение исходный текст
Ответ на same query but different result on pg16devel and pg15.2  (tender wang <tndrwang@gmail.com>)
Список pgsql-hackers
Attached file included table schema information, but no data.

tender wang <tndrwang@gmail.com> 于2023年4月4日周二 10:53写道:
Hi hackers,
    I encounter a problem, as shown below:

query:
  select  
  ref_0.ps_suppkey as c0,
  ref_1.c_acctbal as c1,
  ref_2.o_totalprice as c2,
  ref_2.o_orderpriority as c3,
  ref_2.o_clerk as c4
from
  public.partsupp as ref_0
      left join public.nation as sample_0
        inner join public.customer as sample_1
        on (false)
      on (true)
    left join public.customer as ref_1
        right join public.orders as ref_2
        on (false)
      left join public.supplier as ref_3
      on (false)
    on (sample_0.n_comment = ref_1.c_name )
where (8 <= NULLIF(CASE WHEN (o_orderkey IS NOT NULL) THEN 4 ELSE 4 END, CASE WHEN (o_orderdate >= o_orderdate) THEN 95 ELSE 95 END))
order by c0, c1, c2, c3, c4 limit 1;

on pg16devel:
c0 | c1 | c2 | c3 | c4
----+----+----+----+----
  1 |    |    |    |
(1 row)
plan:
                                      QUERY PLAN                                      
---------------------------------------------------------------------------------------
 Limit
   ->  Sort
         Sort Key: ref_0.ps_suppkey, c_acctbal, o_totalprice, o_orderpriority, o_clerk
         ->  Nested Loop Left Join
               ->  Seq Scan on partsupp ref_0
               ->  Result
                     One-Time Filter: false
(7 rows)

on pg15.2:
 c0 | c1 | c2 | c3 | c4
----+----+----+----+----
(0 rows)
plan:
                                                                      QUERY PLAN                                                                      
-------------------------------------------------------------------------------------------------------------------------------------------------------
 Limit
   ->  Sort
         Sort Key: ref_0.ps_suppkey, c_acctbal, o_totalprice, o_orderpriority, o_clerk
         ->  Hash Left Join
               Hash Cond: ((n_comment)::text = (c_name)::text)
               Filter: (8 <= NULLIF(CASE WHEN (o_orderkey IS NOT NULL) THEN 4 ELSE 4 END, CASE WHEN (o_orderdate >= o_orderdate) THEN 95 ELSE 95 END))
               ->  Nested Loop Left Join
                     ->  Seq Scan on partsupp ref_0
                     ->  Result
                           One-Time Filter: false
               ->  Hash
                     ->  Result
                           One-Time Filter: false
(13 rows)



                                                         regards, tender wang
Вложения

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

Предыдущее
От: David Rowley
Дата:
Сообщение: Re: Prefetch the next tuple's memory during seqscans
Следующее
От: Amit Kapila
Дата:
Сообщение: Re: Minimal logical decoding on standbys