Re: [PATCH] Negative Transition Aggregate Functions (WIP) - Mailing list pgsql-hackers
| From | Erik Rijkers |
|---|---|
| Subject | Re: [PATCH] Negative Transition Aggregate Functions (WIP) |
| Date | |
| Msg-id | b3934227f702f3504d18801fe1950852.squirrel@webmail.xs4all.nl Whole thread Raw |
| In response to | Re: [PATCH] Negative Transition Aggregate Functions (WIP) ("Erik Rijkers" <er@xs4all.nl>) |
| Responses |
Re: [PATCH] Negative Transition Aggregate Functions (WIP)
|
| List | pgsql-hackers |
On Thu, January 2, 2014 17:33, Erik Rijkers wrote:
> On Thu, January 2, 2014 13:36, Erik Rijkers wrote:
>> On Thu, January 2, 2014 13:05, David Rowley wrote:
>>> here's a slightly updated patch
>>> [inverse_transition_functions_v1.8.patch.gz ]
>>
>> patch applies, and compiles (although with new warnings).
>> But make check complains loudly
To figure out where this 'make check' failed, I lifted a few statements from the offending sql:
src/test/regress/sql/window.sql (see snafu.sh below).
That reliably crashes the server. It is caused by a SUM, but only when configured like this (i.e. *not* configured
for
speed) :
$ pg_config --configure
'--prefix=/home/aardvark/pg_stuff/pg_installations/pgsql.inverse'
'--bindir=/home/aardvark/pg_stuff/pg_installations/pgsql.inverse/bin'
'--libdir=/home/aardvark/pg_stuff/pg_installations/pgsql.inverse/lib' '--with-pgport=6554' '--enable-depend'
'--enable-cassert' '--enable-debug' '--with-openssl' '--with-perl' '--with-libxml' '--with-libxslt' '--with-ossp-uuid'
'--with-zlib'
$ cat snafu.sh
#!/bin/sh
echo "
--
-- WINDOW FUNCTIONS
--
drop TABLE if exists empsalary ;
-- CREATE TEMPORARY TABLE empsalary ( CREATE TABLE empsalary ( depname varchar, empno bigint, salary
int, enroll_date date
);
INSERT INTO empsalary VALUES
('develop', 10, 5200, '2007-08-01'),
('sales', 1, 5000, '2006-10-01'),
('personnel', 5, 3500, '2007-12-10'),
('sales', 4, 4800, '2007-08-08'),
('personnel', 2, 3900, '2006-12-23'),
('develop', 7, 4200, '2008-01-01'),
('develop', 9, 4500, '2008-01-01'),
('sales', 3, 4800, '2007-08-01'),
('develop', 8, 6000, '2006-10-01'),
('develop', 11, 5200, '2007-08-15');
-- SELECT depname, empno, salary, sum(salary) OVER (PARTITION BY depname) FROM empsalary ORDER BY depname, salary;
" | psql
echo "select * from empsalary;" | psql
echo " SELECT depname, empno, salary, sum(salary) OVER (PARTITION BY depname) FROM empsalary ORDER BY depname,
salary;
" | psql
$ ./snafu.sh
Timing is on.
DROP TABLE
Time: 1.093 ms
CREATE TABLE
Time: 80.161 ms
INSERT 0 10
Time: 11.964 ms
Timing is on. depname | empno | salary | enroll_date
-----------+-------+--------+-------------develop | 10 | 5200 | 2007-08-01sales | 1 | 5000 |
2006-10-01personnel| 5 | 3500 | 2007-12-10sales | 4 | 4800 | 2007-08-08personnel | 2 | 3900 |
2006-12-23develop | 7 | 4200 | 2008-01-01develop | 9 | 4500 | 2008-01-01sales | 3 | 4800 |
2007-08-01develop | 8 | 6000 | 2006-10-01develop | 11 | 5200 | 2007-08-15
(10 rows)
Time: 1.854 ms
Timing is on.
connection to server was lost
So, to repeat, this runs fine on a server compiled for speed.
I haven't looked any further (whether perhaps more statements are faulty)
pgsql-hackers by date: