diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c index 898c52099b..834339dcff 100644 --- a/src/backend/utils/adt/numeric.c +++ b/src/backend/utils/adt/numeric.c @@ -4245,7 +4245,15 @@ int64_div_fast_to_numeric(int64 val1, int log10val2) */ if (m > 0) { +#if DEC_DIGITS == 4 static int pow10[] = {1, 10, 100, 1000}; +#elif DEC_DIGITS == 2 + static int pow10[] = {1, 10}; +#elif DEC_DIGITS == 1 + static int pow10[] = {1}; +#else +#error unsupported NBASE +#endif StaticAssertDecl(lengthof(pow10) == DEC_DIGITS, "mismatch with DEC_DIGITS");