Re: BUG #4728: segfault with window function partition involving subquery

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #4728: segfault with window function partition involving subquery
Дата
Msg-id 8549.1237929109@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #4728: segfault with window function partition involving subquery  ("Bruce Toll" <btoll@dhsus.com>)
Ответы Re: BUG #4728: segfault with window function partition involving subquery
Re: BUG #4728: segfault with window function partition involving subquery
Список pgsql-bugs
"Bruce Toll" <btoll@dhsus.com> writes:
> I encountered a problem that will hopefully be
> easy for you to reproduce using psql with the
> snippet below.

Sigh ... I could've sworn I tested that code path, but evidently not,
'cause it's broken as can be.

*** src/backend/optimizer/plan/planner.c.orig    Fri Jan  9 10:46:10 2009
--- src/backend/optimizer/plan/planner.c    Tue Mar 24 17:03:03 2009
***************
*** 2546,2553 ****
              if (list_length(new_pathkeys) > list_length(pathkeys))
              {
                  /* this sort clause is actually significant */
!                 *partColIdx[*partNumCols] = sortColIdx[scidx++];
!                 *partOperators[*partNumCols] = sgc->eqop;
                  (*partNumCols)++;
                  pathkeys = new_pathkeys;
              }
--- 2546,2553 ----
              if (list_length(new_pathkeys) > list_length(pathkeys))
              {
                  /* this sort clause is actually significant */
!                 (*partColIdx)[*partNumCols] = sortColIdx[scidx++];
!                 (*partOperators)[*partNumCols] = sgc->eqop;
                  (*partNumCols)++;
                  pathkeys = new_pathkeys;
              }
***************
*** 2565,2572 ****
              if (list_length(new_pathkeys) > list_length(pathkeys))
              {
                  /* this sort clause is actually significant */
!                 *ordColIdx[*ordNumCols] = sortColIdx[scidx++];
!                 *ordOperators[*ordNumCols] = sgc->eqop;
                  (*ordNumCols)++;
                  pathkeys = new_pathkeys;
              }
--- 2565,2572 ----
              if (list_length(new_pathkeys) > list_length(pathkeys))
              {
                  /* this sort clause is actually significant */
!                 (*ordColIdx)[*ordNumCols] = sortColIdx[scidx++];
!                 (*ordOperators)[*ordNumCols] = sgc->eqop;
                  (*ordNumCols)++;
                  pathkeys = new_pathkeys;
              }


Thanks for the report!

            regards, tom lane

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

Предыдущее
От: "Bruce Toll"
Дата:
Сообщение: BUG #4728: segfault with window function partition involving subquery
Следующее
От: Bruce Toll
Дата:
Сообщение: Re: BUG #4728: segfault with window function partition involving subquery