From: | Ed Loehr <eloehr(at)austin(dot)rr(dot)com> |
---|---|
To: | Peter Eisentraut <peter_e(at)gmx(dot)net>, pghackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Server process exited with status 139 (meaning?) |
Date: | 2000-06-26 04:56:24 |
Message-ID: | 3956E278.7CEE86A0@austin.rr.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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)::date AS "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));
From | Date | Subject | |
---|---|---|---|
Next Message | Ed Loehr | 2000-06-26 05:07:30 | Re: Server process exited with status 139 (meaning?) |
Previous Message | Chris Bitmead | 2000-06-26 04:48:13 | Re: [HACKERS] CLASSOID patch |