postgresql/src/test/regress/expected/drop_operator.out
Tom Lane c94959d411 Fix DROP OPERATOR to reset oprcom/oprnegate links to the dropped operator.
This avoids leaving dangling links in pg_operator; which while fairly
harmless are also unsightly.

While we're at it, simplify OperatorUpd, which went through
heap_modify_tuple for no very good reason considering it had already made
a tuple copy it could just scribble on.

Roma Sokolov, reviewed by Tomas Vondra, additional hacking by Robert Haas
and myself.
2016-03-25 12:33:16 -04:00

62 lines
1.5 KiB
Plaintext

CREATE OPERATOR === (
PROCEDURE = int8eq,
LEFTARG = bigint,
RIGHTARG = bigint,
COMMUTATOR = ===
);
CREATE OPERATOR !== (
PROCEDURE = int8ne,
LEFTARG = bigint,
RIGHTARG = bigint,
NEGATOR = ===,
COMMUTATOR = !==
);
DROP OPERATOR !==(bigint, bigint);
SELECT ctid, oprcom
FROM pg_catalog.pg_operator fk
WHERE oprcom != 0 AND
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_operator pk WHERE pk.oid = fk.oprcom);
ctid | oprcom
------+--------
(0 rows)
SELECT ctid, oprnegate
FROM pg_catalog.pg_operator fk
WHERE oprnegate != 0 AND
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_operator pk WHERE pk.oid = fk.oprnegate);
ctid | oprnegate
------+-----------
(0 rows)
DROP OPERATOR ===(bigint, bigint);
CREATE OPERATOR <| (
PROCEDURE = int8lt,
LEFTARG = bigint,
RIGHTARG = bigint
);
CREATE OPERATOR |> (
PROCEDURE = int8gt,
LEFTARG = bigint,
RIGHTARG = bigint,
NEGATOR = <|,
COMMUTATOR = <|
);
DROP OPERATOR |>(bigint, bigint);
SELECT ctid, oprcom
FROM pg_catalog.pg_operator fk
WHERE oprcom != 0 AND
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_operator pk WHERE pk.oid = fk.oprcom);
ctid | oprcom
------+--------
(0 rows)
SELECT ctid, oprnegate
FROM pg_catalog.pg_operator fk
WHERE oprnegate != 0 AND
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_operator pk WHERE pk.oid = fk.oprnegate);
ctid | oprnegate
------+-----------
(0 rows)
DROP OPERATOR <|(bigint, bigint);