operator commutator

Started by strkover 21 years ago5 messages
#1strk
strk@keybit.net

Hi all,
when trying to restore a dump I get the following error:
pg_restore: [archiver (db)] could not execute query: ERROR: argument of commutator must be a name

Operator commutator is itself, and when reading the ascii version
of the dump (produced with -Fc) I see that this has been changed
with what was probably it's oid instead.

Is this a bug in pg_dump ?
How do I tell which pg_dump version produced the dump ?
Is self commutation valid ?

TIA

--strk;

#2Christopher Kings-Lynne
chriskl@familyhealth.com.au
In reply to: strk (#1)
Re: operator commutator

Operator commutator is itself, and when reading the ascii version
of the dump (produced with -Fc) I see that this has been changed
with what was probably it's oid instead.

Can you paste that ascii from the dump?

Is this a bug in pg_dump ?
How do I tell which pg_dump version produced the dump ?

I'm not sure it is possible. If it is, it will be at the very top of
the ascii version.

Chris

#3strk
strk@keybit.net
In reply to: Christopher Kings-Lynne (#2)
Re: operator commutator

On Tue, Aug 03, 2004 at 04:49:48PM +0800, Christopher Kings-Lynne wrote:

Operator commutator is itself, and when reading the ascii version
of the dump (produced with -Fc) I see that this has been changed
with what was probably it's oid instead.

Can you paste that ascii from the dump?

--
-- TOC entry 537 (OID 2663955)
-- Name: ~=; Type: OPERATOR; Schema: public; Owner: strk
-- Data Pos: 0
--

CREATE OPERATOR ~= (
PROCEDURE = geometry_same,
LEFTARG = geometry,
RIGHTARG = geometry,
COMMUTATOR = 2663954,
RESTRICT = eqsel,
JOIN = eqjoinsel
);

Is this a bug in pg_dump ?
How do I tell which pg_dump version produced the dump ?

I'm not sure it is possible. If it is, it will be at the very top of
the ascii version.

No luck. Would be helpful IMO.

Chris

--strk;

#4Christopher Kings-Lynne
chriskl@familyhealth.com.au
In reply to: strk (#3)
Re: operator commutator

--
-- TOC entry 537 (OID 2663955)
-- Name: ~=; Type: OPERATOR; Schema: public; Owner: strk
-- Data Pos: 0
--

CREATE OPERATOR ~= (
PROCEDURE = geometry_same,
LEFTARG = geometry,
RIGHTARG = geometry,
COMMUTATOR = 2663954,
RESTRICT = eqsel,
JOIN = eqjoinsel
);

How about:

\x
SELECT oid, * FROM pg_operator WHERE oprname='~=' OR oid=2663954;

Chris

#5strk
strk@keybit.net
In reply to: Christopher Kings-Lynne (#4)
Re: operator commutator

On Tue, Aug 03, 2004 at 05:17:27PM +0800, Christopher Kings-Lynne wrote:

--
-- TOC entry 537 (OID 2663955)
-- Name: ~=; Type: OPERATOR; Schema: public; Owner: strk
-- Data Pos: 0
--

CREATE OPERATOR ~= (
PROCEDURE = geometry_same,
LEFTARG = geometry,
RIGHTARG = geometry,
COMMUTATOR = 2663954,
RESTRICT = eqsel,
JOIN = eqjoinsel
);

How about:

\x
SELECT oid, * FROM pg_operator WHERE oprname='~=' OR oid=2663954;

Unfortunately I'm not on the machine from which the dump was
issued, so I can't check. I'll inspect when possible, so I'll also
tell you which pg_dump version was it.

--strk;

Show quoted text

Chris