Fix compiler warning in multirange_constructor0()
authorAlexander Korotkov <akorotkov@postgresql.org>
Mon, 21 Dec 2020 11:25:32 +0000 (14:25 +0300)
committerAlexander Korotkov <akorotkov@postgresql.org>
Mon, 21 Dec 2020 11:25:32 +0000 (14:25 +0300)
Discussion: https://postgr.es/m/X%2BBP8XE0UpIB6Yvh%40paquier.xyz
Author: Michael Paquier

src/backend/utils/adt/multirangetypes.c

index a4dc439a218a842623032a789314f55e1bec9518..06316ba6b6570d032d2f372e5bea1874f86b2dd1 100644 (file)
@@ -1016,20 +1016,20 @@ multirange_constructor1(PG_FUNCTION_ARGS)
 Datum
 multirange_constructor0(PG_FUNCTION_ARGS)
 {
-       Oid                     mltrngtypid = get_fn_expr_rettype(fcinfo->flinfo);
+       Oid                     mltrngtypid;
        TypeCacheEntry *typcache;
        TypeCacheEntry *rangetyp;
 
+       /* This should always be called without arguments */
+       if (PG_NARGS() != 0)
+               elog(ERROR,
+                        "niladic multirange constructor must not receive arguments");
+
+       mltrngtypid = get_fn_expr_rettype(fcinfo->flinfo);
        typcache = multirange_get_typcache(fcinfo, mltrngtypid);
        rangetyp = typcache->rngtype;
 
-       /* We should always be called with no arguments */
-
-       if (PG_NARGS() == 0)
-               PG_RETURN_MULTIRANGE_P(make_multirange(mltrngtypid, rangetyp, 0, NULL));
-       else
-               elog(ERROR,                             /* can't happen */
-                        "niladic multirange constructor must not receive arguments");
+       PG_RETURN_MULTIRANGE_P(make_multirange(mltrngtypid, rangetyp, 0, NULL));
 }