diff options
author | Robert Haas <rhaas@postgresql.org> | 2011-01-03 22:08:55 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2011-01-03 22:08:55 -0500 |
commit | 7f60be72b0865dd442c4f6164a997ff528a44d85 (patch) | |
tree | 510b1cf3846a5976fd1c5b2efa2833b2abbf3c90 /src/backend/commands/opclasscmds.c | |
parent | dc8a14311a4825b6bf7b787764b9f0c3f8d8df8e (diff) | |
download | postgresql-7f60be72b0865dd442c4f6164a997ff528a44d85.tar.gz postgresql-7f60be72b0865dd442c4f6164a997ff528a44d85.zip |
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
Diffstat (limited to 'src/backend/commands/opclasscmds.c')
-rw-r--r-- | src/backend/commands/opclasscmds.c | 9 |
1 files changed, 2 insertions, 7 deletions
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); |