For some reason that is lost in history, a descending sequence would
default its minimum value to -2^63+1 (-PG_INT64_MAX) instead of
-2^63 (PG_INT64_MIN), even though explicitly specifying a minimum value
of -2^63 would work. Fix this inconsistency by using the full range by
default.
Reported-by: Daniel Verite <[email protected]>
Reviewed-by: Michael Paquier <[email protected]>
the minimum value a sequence can generate. If this clause is not
supplied or <option>NO MINVALUE</option> is specified, then
defaults will be used. The defaults are 1 and
- -2<superscript>63</>-1 for ascending and descending sequences,
+ -2<superscript>63</> for ascending and descending sequences,
respectively.
</para>
</listitem>
else if (isInit || max_value != NULL)
{
if (seqform->seqincrement > 0)
- seqform->seqmax = SEQ_MAXVALUE; /* ascending seq */
+ seqform->seqmax = PG_INT64_MAX; /* ascending seq */
else
seqform->seqmax = -1; /* descending seq */
seqdataform->log_cnt = 0;
if (seqform->seqincrement > 0)
seqform->seqmin = 1; /* ascending seq */
else
- seqform->seqmin = SEQ_MINVALUE; /* descending seq */
+ seqform->seqmin = PG_INT64_MIN; /* descending seq */
seqdataform->log_cnt = 0;
}
/* Make sure we are in proper schema */
selectSourceSchema(fout, tbinfo->dobj.namespace->dobj.name);
- snprintf(bufm, sizeof(bufm), INT64_FORMAT, SEQ_MINVALUE);
- snprintf(bufx, sizeof(bufx), INT64_FORMAT, SEQ_MAXVALUE);
+ snprintf(bufm, sizeof(bufm), INT64_FORMAT, PG_INT64_MIN);
+ snprintf(bufx, sizeof(bufx), INT64_FORMAT, PG_INT64_MAX);
if (fout->remoteVersion >= 100000)
{
*/
#define PARTITION_MAX_KEYS 32
-/*
- * Set the upper and lower bounds of sequence values.
- */
-#define SEQ_MAXVALUE PG_INT64_MAX
-#define SEQ_MINVALUE (-SEQ_MAXVALUE)
-
/*
* When we don't have native spinlocks, we use semaphores to simulate them.
* Decreasing this value reduces consumption of OS resources; increasing it