Fix compiler warning in multirange_constructor0()
authorAlexander Korotkov
Mon, 21 Dec 2020 11:25:32 +0000 (14:25 +0300)
committerAlexander Korotkov
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));
 }