Peter Eisentraut wrote:
>
> Ed Loehr writes:
>
> > I have a query crashing the backend and leaving this message in the
> > server log...
> > What does exit status 139 mean?
>
> The backend terminated because of a segmentation fault (note 139 = 128 +
> 11, 11 = SIGSEGV). So it's definitely a bug and we'd need to see the
> query.
I don't need help on this as I found workable queries for my purposes,
but here is a simplified core-dumper (7.0beta3) for posterity...
Regards,
Ed Loehr
DROP TABLE foo;
CREATE TABLE foo (d date);
CREATE UNIQUE INDEX date_uidx ON foo(d);
CREATE UNIQUE INDEX datetime_uidx ON foo(datetime(d));
INSERT INTO foo (d) VALUES ('17-Jun-1995');
INSERT INTO foo (d) VALUES ('18-Jun-1995');
INSERT INTO foo (d) VALUES ('19-Jun-1995');
DROP TABLE bar;
DROP SEQUENCE bar_id_seq;
CREATE TABLE bar ( id SERIAL, start_time DATETIME, duration FLOAT
);
INSERT INTO bar (start_time, duration) VALUES ('17-Jun-1995', 3);
INSERT INTO bar (start_time, duration) VALUES ('18-Jun-1995', 3);
INSERT INTO bar (start_time, duration) VALUES ('19-Jun-1995', 3);
DROP TABLE baz;
DROP SEQUENCE baz_id_seq;
CREATE TABLE baz ( id SERIAL, bar_id DATETIME, duration FLOAT
);
INSERT INTO baz (bar_id, duration) SELECT id, duration FROM bar;
SELECT f.d, r.start_time::date, r.duration AS "r_dur", z.duration AS "z_dur", f.d, (r.start_time - '1
day'::interval)::dateAS "leave", (r.start_time + (z.duration||' days')::interval)::date AS "return"
FROM foo f, activity r, activity_hr_need z
WHERE r.id = 2 AND z.activity_id = 2 AND (f.d = (r.start_time - '1 day'::interval)::date OR f.d = (r.start_time +
(z.duration||'days')::interval));