summaryrefslogtreecommitdiff
path: root/doc/src/sgml/ref/begin.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/ref/begin.sgml')
-rw-r--r--doc/src/sgml/ref/begin.sgml193
1 files changed, 193 insertions, 0 deletions
diff --git a/doc/src/sgml/ref/begin.sgml b/doc/src/sgml/ref/begin.sgml
new file mode 100644
index 0000000000..9939a9df6e
--- /dev/null
+++ b/doc/src/sgml/ref/begin.sgml
@@ -0,0 +1,193 @@
+<REFENTRY ID="SQL-BEGINWORK-1">
+ <REFMETA>
+ <REFENTRYTITLE>
+ BEGIN WORK
+ </REFENTRYTITLE>
+ <REFMISCINFO>SQL - Language Statements</REFMISCINFO>
+ </REFMETA>
+ <REFNAMEDIV>
+ <REFNAME>
+ BEGIN WORK
+ </REFNAME>
+ <REFPURPOSE>
+ Begins a transaction
+ </REFPURPOSE>
+
+
+ <REFSYNOPSISDIV>
+ <REFSYNOPSISDIVINFO>
+ <DATE>1998-04-15</DATE>
+ </REFSYNOPSISDIVINFO>
+ <SYNOPSIS>
+ BEGIN { WORK | TRANSACTION }
+ </SYNOPSIS>
+
+ <REFSECT2 ID="R2-SQL-BEGINWORK-1">
+ <REFSECT2INFO>
+ <DATE>1998-04-15</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Inputs
+ </TITLE>
+ <PARA>
+ </PARA>
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ <ReturnValue>
+ None
+ </ReturnValue>
+ </TERM>
+ <LISTITEM>
+ <para></para>
+ </LISTITEM>
+ </varlistentry>
+ </VARIABLELIST>
+ </REFSECT2>
+
+ <REFSECT2 ID="R2-SQL-BEGINWORK-2">
+ <REFSECT2INFO>
+ <DATE>1998-04-15</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Outputs
+ </TITLE>
+ <PARA>
+ </PARA>
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ status
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ <VARIABLELIST>
+ <VARLISTENTRY>
+ <TERM>
+ <ReturnValue>BEGIN</ReturnValue>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ This signifies that a new transaction has been started.
+ </PARA>
+ </LISTITEM>
+ </VARLISTENTRY>
+ <VARLISTENTRY>
+ <TERM>
+ <ReturnValue>
+ NOTICE: BeginTransactionBlock and not in default state
+ </ReturnValue>
+ </TERM>
+ <LISTITEM>
+ <PARA>
+ This indicates that a transaction was already in progress.
+ <comment>
+ What happens to command queries already run
+ in the transaction? Does this have no effect, or does
+ it restart the transaction?
+ </comment>
+ </PARA>
+ </LISTITEM>
+ </VARLISTENTRY>
+ </variablelist>
+ </para>
+ </LISTITEM>
+ </VARLISTENTRY>
+ </VARIABLELIST>
+ </REFSECT2>
+ </REFSYNOPSISDIV>
+
+ <REFSECT1 ID="R1-SQL-BEGINWORK-1">
+ <REFSECT1INFO>
+ <DATE>1998-04-15</DATE>
+ </REFSECT1INFO>
+ <TITLE>
+ Description
+ </TITLE>
+ <para>
+ BEGIN begins a user transaction which PostgreSQL will
+ guarantee is serialisable with respect to all concurrently
+ executing transactions. PostgreSQL uses two-phase locking
+ to perform this task. If the transaction is committed,
+ PostgreSQL will ensure either that all updates are done orelse
+ that none of
+ them are done. Transactions have the standard ACID
+ (atomic, consistent, isolatable, and durable) property.
+ </para>
+
+ <REFSECT2 ID="R2-SQL-BEGINWORK-3">
+ <REFSECT2INFO>
+ <DATE>1998-04-15</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ Notes
+ </TITLE>
+ <PARA>
+ The keyword TRANSACTION is just a cosmetic alternative to WORK.
+ Neither keyword need be specified.
+ </PARA>
+
+ <PARA>
+ BEGIN statement is a PostgreSQL language extension.
+ </PARA>
+
+ <PARA>
+ Refer to the LOCK statement for further information about locking
+ tables inside a transaction.
+ </PARA>
+
+ <PARA>
+ Use COMMIT or ROLLBACK to terminate a transaction.
+ </PARA>
+ </REFSECT2>
+
+ <REFSECT1 ID="R1-SQL-BEGINWORK-2">
+ <TITLE>
+ Usage
+ </TITLE>
+ <PARA>To begin a user transaction:
+ </PARA>
+ <ProgramListing>
+ BEGIN WORK;
+ </ProgramListing>
+ </REFSECT1>
+
+ <REFSECT1 ID="R1-SQL-BEGINWORK-3">
+ <TITLE>
+ Compatibility
+ </TITLE>
+ <PARA>
+ </PARA>
+
+ <REFSECT2 ID="R2-SQL-BEGINWORK-4">
+ <REFSECT2INFO>
+ <DATE>1998-04-15</DATE>
+ </REFSECT2INFO>
+ <TITLE>
+ SQL92
+ </TITLE>
+ <PARA>
+ There is no explicit "BEGIN WORK" in SQL92; transaction initiation
+ is always implicit and it terminates either with a COMMIT or with
+ a ROLLBACK statement.
+ </PARA>
+ </refsect2>
+ </refsect1>
+</REFENTRY>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"../reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/catalog"
+sgml-local-ecat-files:nil
+End:
+-->