Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
KSQL_TRANS_OPEN(3)	    Library Functions Manual	    KSQL_TRANS_OPEN(3)

NAME
       ksql_trans_exclopen,  ksql_trans_open,  ksql_trans_singleopen --	open a
       database	transaction

LIBRARY
       library "ksql"

SYNOPSIS
       #include	<sys/types.h>
       #include	<stdint.h>
       #include	<ksql.h>

       enum ksqlc
       ksql_trans_exclopen(struct ksql *sql, size_t id);

       enum ksqlc
       ksql_trans_open(struct ksql *sql, size_t	id);

       enum ksqlc
       ksql_trans_singleopen(struct ksql *sql, size_t id);

DESCRIPTION
       The	  ksql_trans_exclopen(),	ksql_trans_open(),	   and
       ksql_trans_singleopen() functions open transactions with	different lock
       states.	 All functions accept sql, the database	connection; and	id, an
       identifier used in error	reporting and in making	sure that  transaction
       calls  are  symmetric.	Each  of  these	 functions must	be followed by
       ksql_trans_commit(3) or ksql_trans_rollback(3).

       If ksql_trans_open() is	used  (a  "DEFERRED"  transaction,  in	SQLite
       terms),	the  database is locked	only when the first database operation
       is invoked.  The	lock is	read-shared (multiple readers, no writers) for
       a read operation	and is upgraded	 to  write-single  (multiple  readers,
       single writer) on a write.

       If ksql_trans_singleopen() is used ("IMMEDIATE"), the database is imme-
       diately locked in write-single mode.

       If  ksql_trans_exclopen()  ("EXCLUSIVE"),  the  database	is opened in a
       write-exclusive lock, where only	the calling process may	write or  read
       from the	database.

       Recursive transactions are disallowed.

RETURN VALUES
       This  returns  KSQL_NOTOPEN  if	the  database  connection is not open,
       KSQL_TRANS if a transaction is already open, KSQL_DB if errors occurred
       on the database,	or KSQL_OK on success.

SEE ALSO
       sqlite3_exec(3)

FreeBSD	Ports 14.quarterly	 April 3, 2018		    KSQL_TRANS_OPEN(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ksql_trans_open&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help