1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
-
- This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
- project.
-
- Copyright (C) 1998-2018 OpenLink Software
-
- This project is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; only version 2 of the License, dated June 1991.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-->
<refentry id="fn_sequence_next">
<refmeta>
<refentrytitle>sequence_next</refentrytitle>
<refmiscinfo>sql</refmiscinfo>
</refmeta>
<refnamediv>
<refname>sequence_next</refname>
<refpurpose>Returns the current state of the specified sequence and increments it by one.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="fsyn_sequence_next">
<funcprototype id="fproto_sequence_next">
<funcdef>integer <function>sequence_next</function></funcdef>
<paramdef>in <parameter>name</parameter> varchar</paramdef>
<paramdef>in <parameter>increment_by</parameter> integer</paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc_sequence_next">
<title>Description</title>
<para>This function returns the current state of the specified sequence and
atomically increments it by one.
The next call will thus return a number one greater than the previous.
The sequence is shared between all connections and all transactions so an increment that is is made in one of connection will
be seen in other connection immediately.
Using a sequence never involves locking.
</para>
</refsect1>
<refsect1 id="params_sequence_next">
<title>Parameters</title>
<refsect2><title>name</title><para>The server-wide name of a sequence.</para>
</refsect2>
<refsect2><title>increment_by</title><para>
This is to specify how much will be added to the sequence (must be greater than zero)
If not specified defaults to 1.
</para>
</refsect2>
</refsect1>
<refsect1 id="ret_sequence_next"><title>Return Types</title>
<para>The function returns integer</para>
</refsect1>
<refsect1 id="seealso_sequence_next">
<title>See Also</title>
<para><link linkend="sequenceobjects">Sequence Objects</link></para>
<para><link linkend="fn_sequence_get_all"><function>sequence_get_all</function></link></para>
<para><link linkend="fn_sequence_set"><function>sequence_set</function></link></para>
<para><link linkend="fn_sequence_remove"><function>sequence_remove</function></link></para>
<para><link linkend="fn_registry_get"><function>registry_get</function></link></para>
<para><link linkend="fn_registry_get_all"><function>registry_get_all</function></link></para>
<para><link linkend="fn_registry_set"><function>registry_set</function></link></para>
<para><link linkend="fn_registry_name_is_protected"><function>registry_name_is_protected</function></link></para>
<para><link linkend="fn_registry_remove"><function>registry_remove</function></link></para>
</refsect1>
</refentry>
|