From 7f60be72b0865dd442c4f6164a997ff528a44d85 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Mon, 3 Jan 2011 22:08:55 -0500 Subject: Fix crash in ALTER OPERATOR CLASS/FAMILY .. SET SCHEMA. In the previous coding, the parser emitted a List containing a C string, which is no good, because copyObject() can't handle it. Dimitri Fontaine --- src/backend/commands/opclasscmds.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'src/backend/commands/opclasscmds.c') diff --git a/src/backend/commands/opclasscmds.c b/src/backend/commands/opclasscmds.c index ab9bc327feb..662b9420387 100644 --- a/src/backend/commands/opclasscmds.c +++ b/src/backend/commands/opclasscmds.c @@ -1993,16 +1993,13 @@ AlterOpClassOwner_internal(Relation rel, HeapTuple tup, Oid newOwnerId) * ALTER OPERATOR CLASS any_name USING access_method SET SCHEMA name */ void -AlterOpClassNamespace(List *name, List *argam, const char *newschema) +AlterOpClassNamespace(List *name, char *access_method, const char *newschema) { Oid amOid; - char *access_method = linitial(argam); Relation rel; Oid oid; Oid nspOid; - Assert(list_length(argam) == 1); - amOid = get_am_oid(access_method, false); rel = heap_open(OperatorClassRelationId, RowExclusiveLock); @@ -2185,15 +2182,13 @@ get_am_oid(const char *amname, bool missing_ok) * ALTER OPERATOR FAMILY any_name USING access_method SET SCHEMA name */ void -AlterOpFamilyNamespace(List *name, List *argam, const char *newschema) +AlterOpFamilyNamespace(List *name, char *access_method, const char *newschema) { Oid amOid; - char *access_method = linitial(argam); Relation rel; Oid nspOid; Oid oid; - Assert(list_length(argam) == 1); amOid = get_am_oid(access_method, false); rel = heap_open(OperatorFamilyRelationId, RowExclusiveLock); -- cgit v1.2.3