MCPcopy Create free account
hub / github.com/apache/cloudberry / sequence_options

Function sequence_options

src/backend/commands/sequence.c:1942–1971  ·  view source on GitHub ↗

* Return sequence parameters in a list of the form created by the parser. */

Source from the content-addressed store, hash-verified

1940 * Return sequence parameters in a list of the form created by the parser.
1941 */
1942List *
1943sequence_options(Oid relid)
1944{
1945 HeapTuple pgstuple;
1946 Form_pg_sequence pgsform;
1947 List *options = NIL;
1948
1949 pgstuple = SearchSysCache1(SEQRELID, relid);
1950 if (!HeapTupleIsValid(pgstuple))
1951 elog(ERROR, "cache lookup failed for sequence %u", relid);
1952 pgsform = (Form_pg_sequence) GETSTRUCT(pgstuple);
1953
1954 /* Use makeFloat() for 64-bit integers, like gram.y does. */
1955 options = lappend(options,
1956 makeDefElem("cache", (Node *) makeFloat(psprintf(INT64_FORMAT, pgsform->seqcache)), -1));
1957 options = lappend(options,
1958 makeDefElem("cycle", (Node *) makeInteger(pgsform->seqcycle), -1));
1959 options = lappend(options,
1960 makeDefElem("increment", (Node *) makeFloat(psprintf(INT64_FORMAT, pgsform->seqincrement)), -1));
1961 options = lappend(options,
1962 makeDefElem("maxvalue", (Node *) makeFloat(psprintf(INT64_FORMAT, pgsform->seqmax)), -1));
1963 options = lappend(options,
1964 makeDefElem("minvalue", (Node *) makeFloat(psprintf(INT64_FORMAT, pgsform->seqmin)), -1));
1965 options = lappend(options,
1966 makeDefElem("start", (Node *) makeFloat(psprintf(INT64_FORMAT, pgsform->seqstart)), -1));
1967
1968 ReleaseSysCache(pgstuple);
1969
1970 return options;
1971}
1972
1973/*
1974 * Return sequence parameters (formerly for use by information schema)

Callers 1

transformTableLikeClauseFunction · 0.85

Calls 7

SearchSysCache1Function · 0.85
lappendFunction · 0.85
makeDefElemFunction · 0.85
makeFloatFunction · 0.85
psprintfFunction · 0.85
makeIntegerFunction · 0.85
ReleaseSysCacheFunction · 0.85

Tested by

no test coverage detected