diff options
Diffstat (limited to 'src/pl/plpgsql')
| -rw-r--r-- | src/pl/plpgsql/src/pl_comp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c index 555da952e1b..042deb2a96c 100644 --- a/src/pl/plpgsql/src/pl_comp.c +++ b/src/pl/plpgsql/src/pl_comp.c @@ -515,6 +515,8 @@ do_compile(FunctionCallInfo fcinfo, else if (rettypeid == ANYRANGEOID || rettypeid == ANYCOMPATIBLERANGEOID) rettypeid = INT4RANGEOID; + else if (rettypeid == ANYMULTIRANGEOID) + rettypeid = INT4MULTIRANGEOID; else /* ANYELEMENT or ANYNONARRAY or ANYCOMPATIBLE */ rettypeid = INT4OID; /* XXX what could we use for ANYENUM? */ @@ -2109,6 +2111,7 @@ build_datatype(HeapTuple typeTup, int32 typmod, case TYPTYPE_BASE: case TYPTYPE_ENUM: case TYPTYPE_RANGE: + case TYPTYPE_MULTIRANGE: typ->ttype = PLPGSQL_TTYPE_SCALAR; break; case TYPTYPE_COMPOSITE: @@ -2526,6 +2529,9 @@ plpgsql_resolve_polymorphic_argtypes(int numargs, case ANYCOMPATIBLERANGEOID: argtypes[i] = INT4RANGEOID; break; + case ANYMULTIRANGEOID: + argtypes[i] = INT4MULTIRANGEOID; + break; default: break; } |
