| Advance the sequence to its next value and return that value. | |
| Reset the sequence to its initial state or the specified value. | 
Advance the sequence to its next value and return that value.
Sequence advancement is done atomically, each concurrent session and transaction will receive a distinct sequence value.
db>
SELECT sequence_next(INTROSPECT MySequence);{11}Reset the sequence to its initial state or the specified value.
The single-parameter form resets the sequence to its initial state, where
                    the next sequence_next() call will return the first value in
                    sequence.  The two-parameters form allows changing the last returned
                    value of the sequence.
db>
SELECT sequence_reset(INTROSPECT MySequence);{1}db>
SELECT sequence_next(INTROSPECT MySequence);{1}db>
SELECT sequence_reset(INTROSPECT MySequence, 22);{22}db>
SELECT sequence_next(INTROSPECT MySequence);{23}The sequence to be operated on by the functions above is specified
                by a schema::ScalarType object.  If the sequence argument is
                known ahead of time and does not change, the recommended way to pass
                it is to use the INTROSPECT operator:
SELECT sequence_next(INTROSPECT MySequenceType);
# or
SELECT sequence_next(INTROSPECT TYPEOF MyObj.seq_prop);This style will ensure that a reference to a sequence type from an expression is tracked properly to ensure schema referential integrity.
If, on the other hand, the operated sequence type is determined at run time
                via a query argument, it must be queried from the schema::ScalarType
                set directly like so:
WITH
  SeqType := (
    SELECT schema::ScalarType
    FILTER .name = <str>$seq_type_name
  )
SELECT
  sequence_next(SeqType);Caution
To work efficiently in high concurrency without lock contention, a
                sequence_next() operation is never rolled back even if
                the containing transaction is aborted.  This may result in gaps
                in the generated sequence.  Likewise, sequence_reset()
                is not undone if the transaction is rolled back.