From 8de42263d02231bfc0ac9e0c73532260a7b98dce Mon Sep 17 00:00:00 2001
From: Greg Nancarrow <gregn4422@gmail.com>
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

