drop operator class..using .. left dependency behind.

From: Rajkumar Raghuwanshi <rajkumar(dot)raghuwanshi(at)enterprisedb(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: drop operator class..using .. left dependency behind.
Date: 2017-06-19 13:17:28
Message-ID: CAKcux6nOM2GybPe_1tDJ30nXd-Sbxy_PughT=Re0s-6cCA9oJA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I have observed that even after dropping operator class, not able to drop
schema containing it. below is a example.

postgres=# CREATE SCHEMA sch_test;
CREATE SCHEMA
postgres=# SET search_path TO 'sch_test';
SET
postgres=# CREATE OR REPLACE FUNCTION sch_test.dummy_hashint4_39779(a int4)
RETURNS int4 AS $$ BEGIN RETURN a; END; $$ LANGUAGE 'plpgsql' IMMUTABLE;
CREATE FUNCTION
postgres=# CREATE OPERATOR CLASS sch_test.custom_opclass_test FOR TYPE int4
USING HASH AS OPERATOR 1 = , FUNCTION 1 sch_test.dummy_hashint4_39779(a
int4);
CREATE OPERATOR CLASS

*postgres=# DROP OPERATOR CLASS sch_test.custom_opclass_test USING
HASH;DROP OPERATOR CLASS*
postgres=# DROP FUNCTION sch_test.dummy_hashint4_39779(a int4);
DROP FUNCTION
postgres=# RESET search_path;
RESET

*postgres=# DROP SCHEMA sch_test;ERROR: cannot drop schema sch_test
because other objects depend on itDETAIL: operator family
sch_test.custom_opclass_test for access method hash depends on schema
sch_testHINT: Use DROP ... CASCADE to drop the dependent objects too.*
when investigated found, entry still present in pg_opfamily.

postgres=# select * from pg_opfamily where opfname like
'custom_opclass_test%';
opfmethod | opfname | opfnamespace | opfowner
-----------+---------------------+--------------+----------
405 | custom_opclass_test | 16409 | 10
(1 row)

Is this expected behaviour??

Thanks & Regards,
Rajkumar Raghuwanshi
QMG, EnterpriseDB Corporation

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2017-06-19 13:19:29 Re: RLS policy not getting honer while pg_dump on declarative partition
Previous Message Oleksandr Shulgin 2017-06-19 13:00:39 psql's \d and \dt are sending their complaints to different output files