BUG #7685: last_value() not consistent throughout window partition

Поиск
Список
Период
Сортировка
От wes@devauld.ca
Тема BUG #7685: last_value() not consistent throughout window partition
Дата
Msg-id E1Tapjk-00074I-EU@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #7685: last_value() not consistent throughout window partition  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      7685
Logged by:          Wes Devauld
Email address:      wes@devauld.ca
PostgreSQL version: 9.2.1
Operating system:   Windows 7 Enterprise
Description:        =


-- The last_value(0 window function appears to be changing values
-- mid window.  An example is detailed below.

----SELECT version();
--                           version
-------------------------------------------------------------
-- PostgreSQL 9.1.6, compiled by Visual C++ build 1500, 32-bit

-------------------------

-- **** DB DUMP ****
--
-- PostgreSQL database dump
--

-- Dumped from database version 9.1.4
-- Dumped by pg_dump version 9.1.4
-- Started on 2012-11-19 15:01:41

SET statement_timeout =3D 0;
SET client_encoding =3D 'UTF8';
SET standard_conforming_strings =3D on;
SET check_function_bodies =3D false;
SET client_min_messages =3D warning;

SET search_path =3D public, pg_catalog;

SET default_tablespace =3D '';

SET default_with_oids =3D false;

--
-- TOC entry 170 (class 1259 OID 25186)
-- Dependencies: 5
-- Name: bug_report; Type: TABLE; Schema: public; Owner: postgres;
Tablespace: =

--

CREATE TABLE bug_report (
    d1 date NOT NULL,
    d2 date NOT NULL,
    v real NOT NULL
);


ALTER TABLE public.bug_report OWNER TO postgres;

--
-- TOC entry 1880 (class 0 OID 25186)
-- Dependencies: 170
-- Data for Name: bug_report; Type: TABLE DATA; Schema: public; Owner:
postgres
--

COPY bug_report (d1, d2, v) FROM stdin;
2012-11-19    2012-11-07    358363
2012-11-18    2012-11-07    358363
2012-11-17    2012-11-07    358363
2012-11-16    2012-11-07    257572
2012-11-15    2012-11-07    257572
2012-11-14    2012-11-07    257572
2012-11-13    2012-11-07    257572
2012-11-12    2012-11-07    257572
2012-11-11    2012-11-07    257572
2012-11-10    2012-11-07    257572
\.


-- Completed on 2012-11-19 15:01:42

--**** Description ****

select d2, last_value(v) over (partition by d2 order by d1),
           first_value(v) over (partition by d2 order by d1 desc)
from bug_report

--Returns:
--"2012-11-07";358363;358363
--"2012-11-07";358363;358363
--"2012-11-07";358363;358363
--"2012-11-07";257572;358363
--"2012-11-07";257572;358363
--"2012-11-07";257572;358363
--"2012-11-07";257572;358363
--"2012-11-07";257572;358363
--"2012-11-07";257572;358363
--"2012-11-07";257572;358363

--You can see that the last_value() =

--switches in the middle of the
--partition for the window function =

--when both columns should be =

--identical since the first/last =

--and asc/desc changes should
--cancel each other out.  =



--Thanks, and good work with the product.

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

Предыдущее
От: timur.luchkin@gmail.com
Дата:
Сообщение: BUG #7684: pg_dumpall doesn't sort "CREATE SERVER"s options correctly
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #7684: pg_dumpall doesn't sort "CREATE SERVER"s options correctly