From 8de42263d02231bfc0ac9e0c73532260a7b98dce Mon Sep 17 00:00:00 2001 From: Greg Nancarrow Date: Mon, 21 Jun 2021 19:41:08 +1000 Subject: [PATCH] Remove useless int64 range checks on BIGINT sequence MINVALUE/MAXVALUE values. Remove checks that test whether BIGINT sequence MINVALUE/MAXVALUE values are outside of the range [PG_INT64_MIN,PG_INT64_MAX]. These checks don't work (i.e. always evaluate to false) as the values are held in an "int64" which can't hold values outside that range. BIGINT sequence MINVALUE/MAXVALUE values are anyway getting int64 range-checked prior to these existing checks, when converted to int64 by defGetInt64(). --- src/backend/commands/sequence.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index 0415df9ccb..bc076d49ec 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -1461,8 +1461,7 @@ init_params(ParseState *pstate, List *options, bool for_identity, } if ((seqform->seqtypid == INT2OID && (seqform->seqmax < PG_INT16_MIN || seqform->seqmax > PG_INT16_MAX)) - || (seqform->seqtypid == INT4OID && (seqform->seqmax < PG_INT32_MIN || seqform->seqmax > PG_INT32_MAX)) - || (seqform->seqtypid == INT8OID && (seqform->seqmax < PG_INT64_MIN || seqform->seqmax > PG_INT64_MAX))) + || (seqform->seqtypid == INT4OID && (seqform->seqmax < PG_INT32_MIN || seqform->seqmax > PG_INT32_MAX))) { char bufx[100]; @@ -1498,8 +1497,7 @@ init_params(ParseState *pstate, List *options, bool for_identity, } if ((seqform->seqtypid == INT2OID && (seqform->seqmin < PG_INT16_MIN || seqform->seqmin > PG_INT16_MAX)) - || (seqform->seqtypid == INT4OID && (seqform->seqmin < PG_INT32_MIN || seqform->seqmin > PG_INT32_MAX)) - || (seqform->seqtypid == INT8OID && (seqform->seqmin < PG_INT64_MIN || seqform->seqmin > PG_INT64_MAX))) + || (seqform->seqtypid == INT4OID && (seqform->seqmin < PG_INT32_MIN || seqform->seqmin > PG_INT32_MAX))) { char bufm[100]; -- 2.27.0