> Thanks for the review. I've found another crash today and attached is
> fixed version. The case is:
>
> SELECT four, sum(ten) over (PARTITION BY four ORDER BY four RANGE 1
> PRECEDING) FROM tenk1 WHERE unique1 < 10;
>
Hi,
The patch (more_frame_options.20100115.patch.gz) applies cleanly, but the regression test gives:
***
/var/data1/pg_stuff/pg_sandbox/pgsql.rows_frame_types/src/test/regress/expected/window.out 2010-01-15
22:36:01.000000000 +0100
---
/var/data1/pg_stuff/pg_sandbox/pgsql.rows_frame_types/src/test/regress/results/window.out 2010-01-15
22:37:01.000000000 +0100
***************
*** 934,953 ****
SELECT four, ten, sum(ten) over (partition by four order by four range 1 preceding) FROM tenk1 WHERE unique1 < 10;
! four | ten | sum
! ------+-----+-----
! 0 | 0 | 12
! 0 | 8 | 12
! 0 | 4 | 12
! 1 | 5 | 15
! 1 | 9 | 15
! 1 | 1 | 15
! 2 | 6 | 8
! 2 | 2 | 8
! 3 | 3 | 10
! 3 | 7 | 10
! (10 rows)
! CREATE VIEW v_window AS SELECT i, sum(i) over (order by i rows between 1 preceding and 1 following) as sum_rows,
sum(i) over (order by i / 3 range between 1 preceding and 1 following) as sum_range
--- 934,940 ----
SELECT four, ten, sum(ten) over (partition by four order by four range 1 preceding) FROM tenk1 WHERE unique1 < 10;
! ERROR: cannot extract system attribute from minimal tuple CREATE VIEW v_window AS SELECT i, sum(i) over (order
byi rows between 1 preceding and 1 following) as sum_rows, sum(i) over (order by i / 3 range between 1 preceding
and1 following) as sum_range
======================================================================
regards,
Erik Rijkers