Fix compiler warnings in multivariate MCV code
authorTomas Vondra <tomas.vondra@postgresql.org>
Sat, 30 Mar 2019 17:43:16 +0000 (18:43 +0100)
committerTomas Vondra <tomas.vondra@postgresql.org>
Sat, 30 Mar 2019 17:43:16 +0000 (18:43 +0100)
Compiler warnings were observed on gcc 3.4.6 (on gaur).

The assert is unnecessary, as the indexes are uint16 and so always >= 0.

Reported-by: Tom Lane
src/backend/statistics/mcv.c

index c5288b42d6f134921bad01456d2128e782e4db0a..3e9d39c25a34e6f8cf2635401007302795f7024f 100644 (file)
@@ -740,7 +740,6 @@ statext_mcv_serialize(MCVList * mcvlist, VacAttrStats **stats)
            ITEM_INDEXES(item)[dim] = (uint16) (value - values[dim]);
 
            /* check the index is within expected bounds */
-           Assert(ITEM_INDEXES(item)[dim] >= 0);
            Assert(ITEM_INDEXES(item)[dim] < info[dim].nvalues);
        }
 
@@ -814,7 +813,7 @@ statext_mcv_deserialize(bytea *data)
     * header.
     */
    if (VARSIZE_ANY_EXHDR(data) < offsetof(MCVList, items))
-       elog(ERROR, "invalid MCV size %ld (expected at least %zu)",
+       elog(ERROR, "invalid MCV size %zd (expected at least %zu)",
             VARSIZE_ANY_EXHDR(data), offsetof(MCVList, items));
 
    /* read the MCV list header */
@@ -870,7 +869,7 @@ statext_mcv_deserialize(bytea *data)
     * to do this check first, before accessing the dimension info.
     */
    if (VARSIZE_ANY_EXHDR(data) < expected_size)
-       elog(ERROR, "invalid MCV size %ld (expected %zu)",
+       elog(ERROR, "invalid MCV size %zd (expected %zu)",
             VARSIZE_ANY_EXHDR(data), expected_size);
 
    /* Now it's safe to access the dimension info. */
@@ -896,7 +895,7 @@ statext_mcv_deserialize(bytea *data)
     * check on size.
     */
    if (VARSIZE_ANY_EXHDR(data) != expected_size)
-       elog(ERROR, "invalid MCV size %ld (expected %zu)",
+       elog(ERROR, "invalid MCV size %zd (expected %zu)",
             VARSIZE_ANY_EXHDR(data), expected_size);
 
    /*