Re: Server process exited with status 139 (meaning?)
От | Ed Loehr |
---|---|
Тема | Re: Server process exited with status 139 (meaning?) |
Дата | |
Msg-id | 3956E278.7CEE86A0@austin.rr.com обсуждение исходный текст |
Ответ на | Re: Server process exited with status 139 (meaning?) (Peter Eisentraut <peter_e@gmx.net>) |
Список | pgsql-hackers |
Ed Loehr wrote: > > 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... Oops. A few typos in my last post. Correction below (still segfaulting): 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; -- Here's the offending query... 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, bar r, baz z WHERE r.id = 2 AND z.bar_id = 2 AND (f.d = (r.start_time - '1 day'::interval)::date OR f.d = (r.start_time + (z.duration||'days')::interval));
В списке pgsql-hackers по дате отправления: