%% Generated by Sphinx.
\def\sphinxdocclass{report}
\documentclass[letterpaper,10pt,english]{sphinxmanual}
\ifdefined\pdfpxdimen
   \let\sphinxpxdimen\pdfpxdimen\else\newdimen\sphinxpxdimen
\fi \sphinxpxdimen=.75bp\relax

\PassOptionsToPackage{warn}{textcomp}
\usepackage[utf8]{inputenc}
\ifdefined\DeclareUnicodeCharacter
% support both utf8 and utf8x syntaxes
  \ifdefined\DeclareUnicodeCharacterAsOptional
    \def\sphinxDUC#1{\DeclareUnicodeCharacter{"#1}}
  \else
    \let\sphinxDUC\DeclareUnicodeCharacter
  \fi
  \sphinxDUC{00A0}{\nobreakspace}
  \sphinxDUC{2500}{\sphinxunichar{2500}}
  \sphinxDUC{2502}{\sphinxunichar{2502}}
  \sphinxDUC{2514}{\sphinxunichar{2514}}
  \sphinxDUC{251C}{\sphinxunichar{251C}}
  \sphinxDUC{2572}{\textbackslash}
\fi
\usepackage{cmap}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amstext}
\usepackage{babel}



\usepackage{times}
\expandafter\ifx\csname T@LGR\endcsname\relax
\else
% LGR was declared as font encoding
  \substitutefont{LGR}{\rmdefault}{cmr}
  \substitutefont{LGR}{\sfdefault}{cmss}
  \substitutefont{LGR}{\ttdefault}{cmtt}
\fi
\expandafter\ifx\csname T@X2\endcsname\relax
  \expandafter\ifx\csname T@T2A\endcsname\relax
  \else
  % T2A was declared as font encoding
    \substitutefont{T2A}{\rmdefault}{cmr}
    \substitutefont{T2A}{\sfdefault}{cmss}
    \substitutefont{T2A}{\ttdefault}{cmtt}
  \fi
\else
% X2 was declared as font encoding
  \substitutefont{X2}{\rmdefault}{cmr}
  \substitutefont{X2}{\sfdefault}{cmss}
  \substitutefont{X2}{\ttdefault}{cmtt}
\fi


\usepackage[Bjarne]{fncychap}
\usepackage{sphinx}

\fvset{fontsize=\small}
\usepackage{geometry}


% Include hyperref last.
\usepackage{hyperref}
% Fix anchor placement for figures with captions.
\usepackage{hypcap}% it must be loaded after hyperref.
% Set up styles of URL: it should be placed after hyperref.
\urlstyle{same}

\addto\captionsenglish{\renewcommand{\contentsname}{Contents:}}

\usepackage{sphinxmessages}
\setcounter{tocdepth}{1}



\title{pySecondo}
\date{Jun 26, 2020}
\release{}
\author{Victor Silva}
\newcommand{\sphinxlogo}{\vbox{}}
\renewcommand{\releasename}{}
\makeindex
\begin{document}

\pagestyle{empty}
\sphinxmaketitle
\pagestyle{plain}
\sphinxtableofcontents
\pagestyle{normal}
\phantomsection\label{\detokenize{index::doc}}



\chapter{\sphinxstyleliteralintitle{\sphinxupquote{SECONDO}}\sphinxhyphen{}API Main Module}
\label{\detokenize{index:module-secondodb.api.secondoapi}}\label{\detokenize{index:sec-api-main-module}}\index{module@\spxentry{module}!secondodb.api.secondoapi@\spxentry{secondodb.api.secondoapi}}\index{secondodb.api.secondoapi@\spxentry{secondodb.api.secondoapi}!module@\spxentry{module}}
The module Secondo API implements the Application Programming Interface for Python for the interaction with a \sphinxcode{\sphinxupquote{SECONDO}}
server. The API implements the Python Database API 2.0 Specification (PEP 249).
\index{connect() (in module secondodb.api.secondoapi)@\spxentry{connect()}\spxextra{in module secondodb.api.secondoapi}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.connect}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{connect}}}{\emph{\DUrole{n}{host}}, \emph{\DUrole{n}{port}}, \emph{\DUrole{n}{username}\DUrole{o}{=}\DUrole{default_value}{\textquotesingle{}username\textquotesingle{}}}, \emph{\DUrole{n}{passwd}\DUrole{o}{=}\DUrole{default_value}{\textquotesingle{}passwd\textquotesingle{}}}, \emph{\DUrole{n}{database}\DUrole{o}{=}\DUrole{default_value}{\textquotesingle{}\textquotesingle{}}}}{}
Constructor for creating a connection to the \sphinxcode{\sphinxupquote{SECONDO}} server. If further data is provided (database and login data),
a connection to an existing database (if available on the server) will be established.

Returns a Connection Object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{host}} \textendash{} The host of the \sphinxcode{\sphinxupquote{SECONDO}} server as IP\sphinxhyphen{}address or as qualified name (localhost).

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{port}} \textendash{} The port of the \sphinxcode{\sphinxupquote{SECONDO}} server.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{username}} \textendash{} The username for the connection (optional).

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{passwd}} \textendash{} The password for the connection (optional).

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{database}} \textendash{} The name of the database (optional).

\end{itemize}

\item[{Returns}] \leavevmode
A Connection Object.

\end{description}\end{quote}

\end{fulllineitems}



\section{Connection Class}
\label{\detokenize{index:connection-class}}
The Connection Class provides methods to handle the connection to a \sphinxcode{\sphinxupquote{SECONDO}} server and a stored database. The connection
can be established in two levels:
\begin{itemize}
\item {} 
\sphinxstylestrong{Server\sphinxhyphen{}only mode}
\begin{quote}

A TCP connection will be established with the \sphinxcode{\sphinxupquote{SECONDO}} server. At this point no connection will be established with a
specific stored database on the server. This mode is useful for administration tasks on the \sphinxcode{\sphinxupquote{SECONDO}} server, like
creating, deleting and restoring databases. These methods can as well be called in the Direct DB connection mode, but
the current connection with the last opened database will be closed.
\end{quote}

\item {} 
\sphinxstylestrong{Direct DB connection mode}
\begin{quote}

Both a connection with the \sphinxcode{\sphinxupquote{SECONDO}} server and to a specific stored database will be established. The requisite for this
type of connection is the availability of the database and its specific login parameters (i.e. name of the database,
user name and password). A database may or not have login parameters (i.e. user name and password). Therefore, they
are optional parameters of the constructor method.
\end{quote}

\end{itemize}

\sphinxstylestrong{Example for establishing a connection to the Secondo server providing a host and a port:}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import} \PYG{n+nn}{secondodb}\PYG{n+nn}{.}\PYG{n+nn}{api} \PYG{k}{as} \PYG{n+nn}{secondo}

\PYG{n}{HOST} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{127.0.0.1}\PYG{l+s+s1}{\PYGZsq{}}   \PYG{c+c1}{\PYGZsh{} The server\PYGZsq{}s hostname or IP address}
\PYG{n}{PORT} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{1234}\PYG{l+s+s1}{\PYGZsq{}}        \PYG{c+c1}{\PYGZsh{} The port used by the server}

\PYG{n}{connection} \PYG{o}{=} \PYG{n}{secondo}\PYG{o}{.}\PYG{n}{connect}\PYG{p}{(}\PYG{n}{HOST}\PYG{p}{,} \PYG{n}{PORT}\PYG{p}{)}
\end{sphinxVerbatim}

\sphinxstylestrong{Example for establishing a connection to the Secondo server and to a specific stored database (BERLINTEST):}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{k+kn}{import} \PYG{n+nn}{secondodb}\PYG{n+nn}{.}\PYG{n+nn}{api} \PYG{k}{as} \PYG{n+nn}{secondo}

\PYG{n}{HOST} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{127.0.0.1}\PYG{l+s+s1}{\PYGZsq{}}   \PYG{c+c1}{\PYGZsh{} The server\PYGZsq{}s hostname or IP address}
\PYG{n}{PORT} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{1234}\PYG{l+s+s1}{\PYGZsq{}}        \PYG{c+c1}{\PYGZsh{} The port used by the server}

\PYG{n}{connection} \PYG{o}{=} \PYG{n}{secondo}\PYG{o}{.}\PYG{n}{connect}\PYG{p}{(}\PYG{n}{HOST}\PYG{p}{,} \PYG{n}{PORT}\PYG{p}{,} \PYG{n}{database}\PYG{o}{=}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{BERLINTEST}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{)}
\end{sphinxVerbatim}


\subsection{Basic Methods}
\label{\detokenize{index:basic-methods}}\index{Connection (class in secondodb.api.secondoapi)@\spxentry{Connection}\spxextra{class in secondodb.api.secondoapi}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{Connection}}}{\emph{\DUrole{n}{host}}, \emph{\DUrole{n}{port}}, \emph{\DUrole{n}{username}}, \emph{\DUrole{n}{passwd}}, \emph{\DUrole{n}{database}}}{}
This class implements the connection object of the \sphinxcode{\sphinxupquote{SECONDO}} API. The connection object manages all operations at server
level and provides access to the current connection instance with the server. The connection object provides the
cursor() method to create a cursor for the execution of operations at the database level.
\index{close() (Connection method)@\spxentry{close()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.close}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{close}}}{}{}
Close the connection now.

The connection will be unusable from this point forward; an InternalError exception will be raised if any
operation is attempted with the connection. The same applies to all cursor objects trying to use the connection.
Note that closing a connection without committing the changes first will cause an implicit rollback to be
performed.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
True, if the connection was closed successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{close\_database() (Connection method)@\spxentry{close\_database()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.close_database}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{close\_database}}}{}{}
Closes the currently opened database on the \sphinxcode{\sphinxupquote{SECONDO}} server. The connection object returns to the server\sphinxhyphen{}only
mode.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
True, if the database was closed successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{create\_database() (Connection method)@\spxentry{create\_database()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.create_database}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{create\_database}}}{\emph{\DUrole{n}{database\_name}}}{}
Creates a database on the \sphinxcode{\sphinxupquote{SECONDO}} server. The database remains open after creation.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{database\_name}} \textendash{} The name of the new database.

\item[{Returns}] \leavevmode
True, if the database was created successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{cursor() (Connection method)@\spxentry{cursor()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.cursor}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{cursor}}}{}{}
Return a new Cursor Object using the connection.

If the database does not provide a direct cursor concept, the module will have to emulate cursors using other
means to the extent needed by this specification.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
A Cursor object.

\end{description}\end{quote}

\end{fulllineitems}

\index{delete\_database() (Connection method)@\spxentry{delete\_database()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.delete_database}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{delete\_database}}}{\emph{\DUrole{n}{database\_name}}}{}
Deletes a database on the \sphinxcode{\sphinxupquote{SECONDO}} server. Before deletion, all opened databases on the Secondo server will be
closed. The connection object will be set to server\sphinxhyphen{}only mode.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{database\_name}} \textendash{} The name of the database.

\item[{Returns}] \leavevmode
True, if the database was deleted successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{open\_database() (Connection method)@\spxentry{open\_database()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.open_database}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{open\_database}}}{\emph{\DUrole{n}{database\_name}}}{}
Opens a database on the \sphinxcode{\sphinxupquote{SECONDO}} server. The server\sphinxhyphen{}only mode will be set to False.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{database\_name}} \textendash{} The name of the database.

\item[{Returns}] \leavevmode
True, if the database was opened successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{restore\_database() (Connection method)@\spxentry{restore\_database()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.restore_database}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{restore\_database}}}{\emph{\DUrole{n}{database\_name}}, \emph{\DUrole{n}{database\_location}}}{}
Restores a database from a specific location into the \sphinxcode{\sphinxupquote{SECONDO}} server. After restoring the database will be
available for establish a connection.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{database\_name}} \textendash{} The name of the database.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{database\_location}} \textendash{} The location of the database.

\end{itemize}

\item[{Returns}] \leavevmode
True, if the database was successfully restored.

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}



\subsection{Transaction Methods}
\label{\detokenize{index:transaction-methods}}\index{Connection (class in secondodb.api.secondoapi)@\spxentry{Connection}\spxextra{class in secondodb.api.secondoapi}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:id0}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{Connection}}}{\emph{\DUrole{n}{host}}, \emph{\DUrole{n}{port}}, \emph{\DUrole{n}{username}}, \emph{\DUrole{n}{passwd}}, \emph{\DUrole{n}{database}}}{}
This class implements the connection object of the \sphinxcode{\sphinxupquote{SECONDO}} API. The connection object manages all operations at server
level and provides access to the current connection instance with the server. The connection object provides the
cursor() method to create a cursor for the execution of operations at the database level.
\index{commit() (Connection method)@\spxentry{commit()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.commit}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{commit}}}{}{}
Commit any pending transaction to the database.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
True, if the current transaction was commit successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{rollback() (Connection method)@\spxentry{rollback()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.rollback}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{rollback}}}{}{}
In case a database does provide transactions this method causes the database to roll back to the start of any
pending transaction. Closing a connection without committing the changes first will cause an implicit rollback
to be performed.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
True, if the current transaction was rolled back successfully.

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}



\subsection{Get\sphinxhyphen{}Methods}
\label{\detokenize{index:get-methods}}
Get\sphinxhyphen{}Methods can be used to retrieve different types of objects or information from a \sphinxcode{\sphinxupquote{SECONDO}} database.
\index{Connection (class in secondodb.api.secondoapi)@\spxentry{Connection}\spxextra{class in secondodb.api.secondoapi}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:id1}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{Connection}}}{\emph{\DUrole{n}{host}}, \emph{\DUrole{n}{port}}, \emph{\DUrole{n}{username}}, \emph{\DUrole{n}{passwd}}, \emph{\DUrole{n}{database}}}{}
This class implements the connection object of the \sphinxcode{\sphinxupquote{SECONDO}} API. The connection object manages all operations at server
level and provides access to the current connection instance with the server. The connection object provides the
cursor() method to create a cursor for the execution of operations at the database level.
\index{get\_algebra() (Connection method)@\spxentry{get\_algebra()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.get_algebra}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_algebra}}}{\emph{\DUrole{n}{algebra\_name}}}{}
Returns the details for an algebra from the \sphinxcode{\sphinxupquote{SECONDO}} server.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
A Python list with the available algebras on the \sphinxcode{\sphinxupquote{SECONDO}} server.

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_list\_algebras() (Connection method)@\spxentry{get\_list\_algebras()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.get_list_algebras}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_list\_algebras}}}{}{}
Returns a list of the available algebras in the \sphinxcode{\sphinxupquote{SECONDO}} server.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
A Python list with the available algebras\_1 on the \sphinxcode{\sphinxupquote{SECONDO}} server.

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_list\_databases() (Connection method)@\spxentry{get\_list\_databases()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.get_list_databases}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_list\_databases}}}{}{}
Returns a list of the databases in the \sphinxcode{\sphinxupquote{SECONDO}} server.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
A Python list with the names of the available databases on the \sphinxcode{\sphinxupquote{SECONDO}} server.

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_list\_objects() (Connection method)@\spxentry{get\_list\_objects()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.get_list_objects}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_list\_objects}}}{}{}
Returns a list of the objects in the \sphinxcode{\sphinxupquote{SECONDO}} server.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
A Python list with the names available objects of the currently opened database.

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_list\_type\_constructors() (Connection method)@\spxentry{get\_list\_type\_constructors()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.get_list_type_constructors}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_list\_type\_constructors}}}{}{}
Returns a list of the type constructors available in the \sphinxcode{\sphinxupquote{SECONDO}} server.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
A Python list with the constructors of the available types of the currently opened database.

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_list\_types() (Connection method)@\spxentry{get\_list\_types()}\spxextra{Connection method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Connection.get_list_types}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_list\_types}}}{}{}
Returns a list of the types available in the current open database.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
A list expression object with the available types of the currently opened database.

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}



\section{Cursor Class}
\label{\detokenize{index:cursor-class}}\index{Cursor (class in secondodb.api.secondoapi)@\spxentry{Cursor}\spxextra{class in secondodb.api.secondoapi}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{Cursor}}}{\emph{\DUrole{n}{connection}}}{}
This class implements the cursor object of the \sphinxcode{\sphinxupquote{SECONDO}} API. A cursor implements functions to operate within a specific
database connection. The main method of the class is the execute method, which implements the programm logic towards
the execution of CRUD operations at database level.
\index{close() (Cursor method)@\spxentry{close()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.close}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{close}}}{}{}
Close the cursor now (rather than whenever \_\_del\_\_ is called).

The cursor will be unusable from this point forward; an InternalError exception will be raised if any
operation is attempted with the cursor.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
True, if the cursor was closed successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{execute() (Cursor method)@\spxentry{execute()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.execute}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{execute}}}{\emph{\DUrole{n}{operation}}, \emph{\DUrole{n}{parameters}\DUrole{o}{=}\DUrole{default_value}{None}}}{}
Prepare and execute a database operation (query or command).

Parameters may be provided as sequence or mapping and will be bound to variables in the operation. The
placeholders in the operation must use the following format: \{i\}, where i is an integer, which
specifies the position of the parameter in the list of parameters.

Example 1: Simple Query

Operation = query \{0\}
Parameter list = {[}‘mehringdamm’{]}
Formatted operation = query mehringdamm

Example 2: Inserting Single Tuples

Operation = query \{0\} inserttuple{[}\{1\}, \{2\}{]} count;
Parameter list = {[}‘myfirstrel’,‘“Anna”’, ‘27’{]}
Formatted operation = query myfirstrel inserttuple{[}“Anna”, 27{]} count;
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{operation}} \textendash{} A string with a \sphinxcode{\sphinxupquote{SECONDO}} command.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{parameters}} \textendash{} Further parameters for the execution of the command (currently not in use).

\end{itemize}

\item[{Returns}] \leavevmode
A \sphinxcode{\sphinxupquote{SECONDO}} object, a list with \sphinxcode{\sphinxupquote{SECONDO}} objects or a \sphinxcode{\sphinxupquote{SECONDO}} response.

\end{description}\end{quote}

\end{fulllineitems}

\index{execute\_create() (Cursor method)@\spxentry{execute\_create()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.execute_create}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{execute\_create}}}{\emph{\DUrole{n}{identifier}}, \emph{\DUrole{n}{type\_expression}}}{}
Creates an object of the given type with undefined value.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{identifier}} \textendash{} The identifier of the object to be created.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{type\_expression}} \textendash{} A type expression for the command ‘create \textless{}identifier\textgreater{} = \textless{}type expression\textgreater{}’

\end{itemize}

\item[{Returns}] \leavevmode
The string Success, if the object was created successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{execute\_create\_empty\_relation() (Cursor method)@\spxentry{execute\_create\_empty\_relation()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.execute_create_empty_relation}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{execute\_create\_empty\_relation}}}{\emph{\DUrole{n}{relation\_name}}, \emph{\DUrole{n}{list\_attributes}}}{}
Creates an empty relation in the database. The list of the attributes must follow the following format:

list\_attributes = {[}attr{]}

where

attr = {[}Name, type{]}

IMPORTANT: The name of the attributes must begin with an upper case character.

Example:

attr1 = {[}‘Att1’, ‘string’{]}
attr2 = {[}‘Att2’, ‘string’{]}

list\_attributes = {[}attr1, attr2{]}
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{relation\_name}} (\sphinxcode{\sphinxupquote{str}}) \textendash{} The name of the relation.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{list\_attributes}} (\sphinxstyleliteralemphasis{\sphinxupquote{{[}}}\sphinxstyleliteralemphasis{\sphinxupquote{{]}}}) \textendash{} A list with the attributes of the relation (please be aware of the format).

\end{itemize}

\item[{Returns}] \leavevmode
The string ‘Success’, if the relation was successfully created, otherwise None.

\end{description}\end{quote}

\end{fulllineitems}

\index{execute\_create\_type() (Cursor method)@\spxentry{execute\_create\_type()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.execute_create_type}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{execute\_create\_type}}}{\emph{\DUrole{n}{identifier}}, \emph{\DUrole{n}{type\_expression}}}{}
Creates a named type in the database.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{identifier}} \textendash{} The identifier of the type to be created.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{type\_expression}} \textendash{} A type expression for the command ‘type \textless{}identifier\textgreater{} = \textless{}type expression\textgreater{}’

\end{itemize}

\item[{Returns}] \leavevmode
The string Success, if the named type was created successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{execute\_delete() (Cursor method)@\spxentry{execute\_delete()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.execute_delete}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{execute\_delete}}}{\emph{\DUrole{n}{identifier}}}{}
Deletes the object with the name \textless{}identifier\textgreater{} from the currently opened database.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{identifier}} \textendash{} The identifier of the object.

\item[{Returns}] \leavevmode
The string Success, if the object was deleted successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{execute\_delete\_type() (Cursor method)@\spxentry{execute\_delete\_type()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.execute_delete_type}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{execute\_delete\_type}}}{\emph{\DUrole{n}{identifier}}}{}
Deletes a named type from the database.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{identifier}} \textendash{} The identifier of the type to be deleted.

\item[{Returns}] \leavevmode
The string Success, if the named type was deleted successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{execute\_derive() (Cursor method)@\spxentry{execute\_derive()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.execute_derive}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{execute\_derive}}}{\emph{\DUrole{n}{identifier}}, \emph{\DUrole{n}{value\_expression}}}{}
This works basically in the same way as the let command. The difference is the handling of the created objects
during creating and restoring a database dump. The derive command should be used for objects that have no
external representation, e.g., indexes.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{identifier}} \textendash{} The identifier of the object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{value\_expression}} \textendash{} A value expression for the command ‘derive \textless{}identifier\textgreater{} = \textless{}value expression\textgreater{}’

\end{itemize}

\item[{Returns}] \leavevmode
None

\end{description}\end{quote}

\end{fulllineitems}

\index{execute\_insert\_tuple\_into\_relation() (Cursor method)@\spxentry{execute\_insert\_tuple\_into\_relation()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.execute_insert_tuple_into_relation}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{execute\_insert\_tuple\_into\_relation}}}{\emph{\DUrole{n}{relation\_name}}, \emph{\DUrole{n}{single\_tuple}}}{}
Inserts a list of values into a relation.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{relation\_name}} (\sphinxcode{\sphinxupquote{str}}) \textendash{} The name of the relation.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{single\_tuple}} (\sphinxstyleliteralemphasis{\sphinxupquote{{[}}}\sphinxstyleliteralemphasis{\sphinxupquote{{]}}}) \textendash{} A single tuple of the relation. The single tuple is a list must contain two elements: the
first element is a list with the values of the tuple, and the second element is a list with
the types of the relation.

\end{itemize}

\item[{Returns}] \leavevmode
The string ‘Success’, if the tuples were successfully added, otherwise None.

\end{description}\end{quote}

\end{fulllineitems}

\index{execute\_kill() (Cursor method)@\spxentry{execute\_kill()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.execute_kill}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{execute\_kill}}}{\emph{\DUrole{n}{identifier}}}{}
Removes the object with the name \textless{}identifier\textgreater{} from the opened database catalog without removing its data
structures. Generally, the delete command should be used to remove database objects. The kill command should
only be used if the delete command crashes the database due to corrupted persistent data structures for this
object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{identifier}} \textendash{} The identifier of the object to be “killed”.

\item[{Returns}] \leavevmode
The string Success, if the object was “killed” successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{execute\_let() (Cursor method)@\spxentry{execute\_let()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.execute_let}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{execute\_let}}}{\emph{\DUrole{n}{identifier}}, \emph{\DUrole{n}{value\_expression}}}{}
This command does almost the same as the query command. In contrast, the result of the \textless{}value expression\textgreater{} is not
displayed on the screen. Instead, the result is stored in an object with the name \textless{}identifier\textgreater{}. The command only
runs successfully if the object does not exist yet in the database; otherwise, an error message is displayed.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{identifier}} \textendash{} The identifier of the object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{value\_expression}} \textendash{} A value expression for the command ‘let \textless{}identifier\textgreater{} = \textless{}value expression\textgreater{}’

\end{itemize}

\item[{Returns}] \leavevmode
A list expression object with the response from the \sphinxcode{\sphinxupquote{SECONDO}} server.

\end{description}\end{quote}

\end{fulllineitems}

\index{execute\_simple\_query() (Cursor method)@\spxentry{execute\_simple\_query()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.execute_simple_query}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{execute\_simple\_query}}}{\emph{\DUrole{n}{value\_expression}}}{}
Evaluates the given value expression and displays the result object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{value\_expression}} \textendash{} A value expression for the command ‘query \textless{}value expression\textgreater{}’

\item[{Returns}] \leavevmode
A list expression object with the response from the \sphinxcode{\sphinxupquote{SECONDO}} server.

\end{description}\end{quote}

\end{fulllineitems}

\index{execute\_update() (Cursor method)@\spxentry{execute\_update()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.execute_update}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{execute\_update}}}{\emph{\DUrole{n}{identifier}}, \emph{\DUrole{n}{value\_expression}}}{}
Assigns the result of the value expression to an existing object in the database.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{identifier}} \textendash{} The identifier of the object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{value\_expression}} \textendash{} A value expression for the command ‘update \textless{}identifier\textgreater{} := \textless{}value expression\textgreater{}’

\end{itemize}

\item[{Returns}] \leavevmode
The string Success, if the object was updated successfully.

\end{description}\end{quote}

\end{fulllineitems}

\index{executemany() (Cursor method)@\spxentry{executemany()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.executemany}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{executemany}}}{\emph{\DUrole{n}{operation}}, \emph{\DUrole{n}{seq\_of\_parameters}}}{}
Prepare a database operation (query or command) and then execute it against all parameter sequences or mappings
found in the sequence seq\_of\_parameters. Every entry of the list seq\_of\_parameters must be declared as a list,
even when just one parameter is being used.

The placeholders in the operation must use the following format: \{i\}, where i is an integer number, which
specifies the position of the parameter in the list of parameters.

Example 1: Simple Query

Operation = query \{0\}
Parameter list = {[}‘mehringdamm’{]}
Formatted operation = query mehringdamm

Example 2: Inserting Single Tuples

Operation = query \{0\} inserttuple{[}\{1\}, \{2\}{]} count;
Parameter list = {[}‘myfirstrel’,‘“Anna”’, ‘27’{]}
Formatted operation = query myfirstrel inserttuple{[}“Anna”, 27{]} count;
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{operation}} \textendash{} A \sphinxcode{\sphinxupquote{SECONDO}} command with placeholders.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{seq\_of\_parameters}} \textendash{} A list with further parameters for the execution of the commands of the list.

\end{itemize}

\item[{Returns}] \leavevmode
A list with entries. Each entry is a list with an \sphinxcode{\sphinxupquote{SECONDO}} object, the type of the response and the list
expression as string.

\end{description}\end{quote}

\end{fulllineitems}

\index{fetchall() (Cursor method)@\spxentry{fetchall()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.fetchall}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{fetchall}}}{}{}
Fetch all (remaining) rows of a query result, returning them as a sequence of sequences (e.g. a list of tuples).
An empty sequence is returned when no more rows are available.

An InterfaceError exception is raised if the previous call to .execute*() did not produce any result set or
no call was issued yet.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
A list with the fetched elements.

\end{description}\end{quote}

\end{fulllineitems}

\index{fetchmany() (Cursor method)@\spxentry{fetchmany()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.fetchmany}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{fetchmany}}}{\emph{\DUrole{n}{size}\DUrole{o}{=}\DUrole{default_value}{1}}}{}
Fetch the next set of rows of a query result, returning a sequence of sequences (e.g. a list of tuples). An
empty sequence is returned when no more rows are available. If there are not enough rows to fulfil the size
parameter, only the available rows will be returned.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{size}} \textendash{} The number of the rows to be returned from the cursor.

\item[{Returns}] \leavevmode
A list with the fetched elements.

\end{description}\end{quote}

\end{fulllineitems}

\index{fetchone() (Cursor method)@\spxentry{fetchone()}\spxextra{Cursor method}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.secondoapi.Cursor.fetchone}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{fetchone}}}{}{}
Fetch the next row of a query result set, returning a single sequence, or None when no more data is available.

An InterfaceError exception is raised if the previous call to .execute*() did not produce any result set or
no call was issued yet.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
A single row of a query result set.

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}



\section{Exceptions}
\label{\detokenize{index:exceptions}}
The module Secondo API implements the Application Programming Interface for Python for the interaction with a \sphinxcode{\sphinxupquote{SECONDO}}
server. The API implements the Python Database API 2.0 Specification (PEP 249).


\begin{fulllineitems}
\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exception }}\sphinxbfcode{\sphinxupquote{DataError}}}{\emph{\DUrole{n}{message}}, \emph{\DUrole{o}{*}\DUrole{n}{args}}}{}
Exception raised for errors that are due to problems with the processed data like division by zero,
numeric value out of range, etc.

\end{fulllineitems}



\begin{fulllineitems}
\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exception }}\sphinxbfcode{\sphinxupquote{DatabaseError}}}{\emph{\DUrole{n}{message}}, \emph{\DUrole{o}{*}\DUrole{n}{args}}}{}
Exception raised for errors that are related to the database.

\end{fulllineitems}



\begin{fulllineitems}
\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exception }}\sphinxbfcode{\sphinxupquote{Error}}}{\emph{\DUrole{n}{message}}, \emph{\DUrole{o}{*}\DUrole{n}{args}}}{}
Exception that is the base class of all other error exceptions.
You can use this to catch all errors with one single except statement.
Warnings are not considered errors and thus should not use this class as base.

\end{fulllineitems}



\begin{fulllineitems}
\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exception }}\sphinxbfcode{\sphinxupquote{IntegrityError}}}{\emph{\DUrole{n}{message}}, \emph{\DUrole{o}{*}\DUrole{n}{args}}}{}
Exception raised when the relational integrity of the database is affected, e.g. a foreign key check fails.

\end{fulllineitems}



\begin{fulllineitems}
\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exception }}\sphinxbfcode{\sphinxupquote{InterfaceError}}}{\emph{\DUrole{n}{message}}, \emph{\DUrole{o}{*}\DUrole{n}{args}}}{}
Exception raised for errors that are related to the database interface rather than the database itself.

\end{fulllineitems}



\begin{fulllineitems}
\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exception }}\sphinxbfcode{\sphinxupquote{InternalError}}}{\emph{\DUrole{n}{message}}, \emph{\DUrole{o}{*}\DUrole{n}{args}}}{}
Exception raised when the database encounters an internal error, e.g. the cursor is not valid anymore,
the transaction is out of sync, etc.

\end{fulllineitems}



\begin{fulllineitems}
\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exception }}\sphinxbfcode{\sphinxupquote{NotSupportedError}}}{\emph{\DUrole{n}{message}}, \emph{\DUrole{o}{*}\DUrole{n}{args}}}{}
Exception raised in case a method or database API was used which is not supported by the database,
e.g. requesting a .rollback() on a connection that does not support transaction or has transactions turned off.

\end{fulllineitems}



\begin{fulllineitems}
\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exception }}\sphinxbfcode{\sphinxupquote{OperationalError}}}{\emph{\DUrole{n}{message}}, \emph{\DUrole{o}{*}\DUrole{n}{args}}}{}
Exception raised for errors that are related to the database’s operation and not necessarily under
the control of the programmer, e.g. an unexpected disconnect occurs, the data source name is not found,
a transaction could not be processed, a memory allocation error occurred during processing, etc.

\end{fulllineitems}



\begin{fulllineitems}
\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exception }}\sphinxbfcode{\sphinxupquote{ProgrammingError}}}{\emph{\DUrole{n}{message}}, \emph{\DUrole{o}{*}\DUrole{n}{args}}}{}
Exception raised for programming errors, e.g. table not found or already exists, syntax error in the SQL statement,
wrong number of parameters specified, etc.

\end{fulllineitems}



\begin{fulllineitems}
\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exception }}\sphinxbfcode{\sphinxupquote{Warning}}}{\emph{\DUrole{n}{message}}, \emph{\DUrole{o}{*}\DUrole{n}{args}}}{}
Exception raised for important warnings like data truncations while inserting, etc.

\end{fulllineitems}



\chapter{Support Modules}
\label{\detokenize{index:support-modules}}

\section{\sphinxstyleliteralintitle{\sphinxupquote{SECONDO}} Commands}
\label{\detokenize{index:module-secondodb.api.support.secondocommands}}\label{\detokenize{index:sec-commands}}\index{module@\spxentry{module}!secondodb.api.support.secondocommands@\spxentry{secondodb.api.support.secondocommands}}\index{secondodb.api.support.secondocommands@\spxentry{secondodb.api.support.secondocommands}!module@\spxentry{module}}
The module Secondo Commands contains the strings of the commands to interact with the \sphinxcode{\sphinxupquote{SECONDO}} server and its objects.
The strings can be formatted using the Python method format() to replace the placeholders (i.e. \{0\} or \{1\}).
\index{apply\_parameters\_to\_operation() (in module secondodb.api.support.secondocommands)@\spxentry{apply\_parameters\_to\_operation()}\spxextra{in module secondodb.api.support.secondocommands}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondocommands.apply_parameters_to_operation}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{apply\_parameters\_to\_operation}}}{\emph{\DUrole{n}{operation}}, \emph{\DUrole{n}{parameter\_list}}}{}
Replaces the placeholders of the operation with the parameters of the list.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{operation}} \textendash{} A string with an operation, which includes placeholders for the parameters.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{parameter\_list}} \textendash{} A list of parameters.

\end{itemize}

\item[{Returns}] \leavevmode
The formatted operation.

\end{description}\end{quote}

\end{fulllineitems}


\sphinxstylestrong{Available Secondo Commands:}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{c+c1}{\PYGZsh{} \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{} Basic commands \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{} \PYGZsh{}}

\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}QUERY} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{query }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}LET} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{let }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{ = }\PYG{l+s+si}{\PYGZob{}1\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}DERIVE} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{derive }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{ = }\PYG{l+s+si}{\PYGZob{}1\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}UPDATE} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{update }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{ := }\PYG{l+s+si}{\PYGZob{}1\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}DELETE} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{delete }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}TYPE} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{type }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{ = }\PYG{l+s+si}{\PYGZob{}1\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}DELETE\PYGZus{}TYPE} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{delete type }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}CREATE} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{create }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{ : }\PYG{l+s+si}{\PYGZob{}1\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}KILL} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{kill }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}

\PYG{c+c1}{\PYGZsh{} \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{} Databases \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{} \PYGZsh{}}

\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}CREATE\PYGZus{}DB} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{create database }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}OPEN\PYGZus{}DB} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{open database }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}CLOSE\PYGZus{}DB} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{close database}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}DELETE\PYGZus{}DB} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{delete database }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}RESTORE\PYGZus{}DB} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{restore database }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}

\PYG{c+c1}{\PYGZsh{} \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{} Transactions \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{} \PYGZsh{}}

\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}BEGIN\PYGZus{}TR} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{begin transaction}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}COMMIT\PYGZus{}TR} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{commit transaction}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}ABORT\PYGZus{}TR} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{abort transaction}\PYG{l+s+s1}{\PYGZsq{}}

\PYG{c+c1}{\PYGZsh{} \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{} Inquiries \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{} \PYGZsh{}}

\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}LIST\PYGZus{}DB} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{list databases}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}LIST\PYGZus{}TYPE\PYGZus{}CONS} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{list type constructors}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}LIST\PYGZus{}OPERATORS} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{list operators}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}LIST\PYGZus{}ALGEBRAS} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{list algebras}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}LIST\PYGZus{}ALGEBRA} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{list algebra }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}LIST\PYGZus{}TYPES} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{list types}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}LIST\PYGZus{}OBJECTS} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{list objects}\PYG{l+s+s1}{\PYGZsq{}}

\PYG{c+c1}{\PYGZsh{} \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{} Import and Export \PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{}\PYGZhy{} \PYGZsh{}}

\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}SAVE\PYGZus{}DB} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{save database to }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}RESTORE\PYGZus{}DB\PYGZus{}FROM} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{restore database }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{ from }\PYG{l+s+si}{\PYGZob{}1\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}SAVE\PYGZus{}OBJECT} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{save }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{ to }\PYG{l+s+si}{\PYGZob{}1\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COM\PYGZus{}RESTORE\PYGZus{}OBJECT} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{restore }\PYG{l+s+si}{\PYGZob{}0\PYGZcb{}}\PYG{l+s+s1}{ from }\PYG{l+s+si}{\PYGZob{}1\PYGZcb{}}\PYG{l+s+s1}{\PYGZsq{}}
\end{sphinxVerbatim}


\section{\sphinxstyleliteralintitle{\sphinxupquote{SECONDO}} Messages}
\label{\detokenize{index:module-secondodb.api.support.secondomessages}}\label{\detokenize{index:sec-messages}}\index{module@\spxentry{module}!secondodb.api.support.secondomessages@\spxentry{secondodb.api.support.secondomessages}}\index{secondodb.api.support.secondomessages@\spxentry{secondodb.api.support.secondomessages}!module@\spxentry{module}}
The module Secondo Messages contains the start and end strings of the responses to an inquiry or a command from the
\sphinxcode{\sphinxupquote{SECONDO}} server.

\sphinxstylestrong{Available Secondo Messages:}

\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n}{SECONDO\PYGZus{}OK} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}SecondoOk/\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}

\PYG{n}{SECONDO\PYGZus{}INTRO\PYGZus{}START} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}SecondoIntro\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}INTRO\PYGZus{}END} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}/SecondoIntro\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}

\PYG{n}{SECONDO\PYGZus{}ERROR\PYGZus{}START} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}SecondoError\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}ERROR\PYGZus{}END} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}/SecondoError\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}

\PYG{n}{SECONDO\PYGZus{}CONNECT\PYGZus{}START} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}Connect\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}CONNECT\PYGZus{}END} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}/Connect\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}DISCONNECT\PYGZus{}END} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}Disconnect/\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}

\PYG{n}{SECONDO\PYGZus{}COMMAND\PYGZus{}START} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}Secondo\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}COMMAND\PYGZus{}END} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}/Secondo\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}

\PYG{n}{SECONDO\PYGZus{}MESSAGE\PYGZus{}START} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}Message\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}MESSAGE\PYGZus{}END} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}/Message\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}

\PYG{n}{SECONDO\PYGZus{}RESPONSE\PYGZus{}START} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}SecondoResponse\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}
\PYG{n}{SECONDO\PYGZus{}RESPONSE\PYGZus{}END} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZlt{}/SecondoResponse\PYGZgt{}}\PYG{l+s+s1}{\PYGZsq{}}

\PYG{n}{SECONDO\PYGZus{}PROGRESS} \PYG{o}{=} \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{progress}\PYG{l+s+s1}{\PYGZsq{}}
\end{sphinxVerbatim}


\section{\sphinxstyleliteralintitle{\sphinxupquote{SECONDO}} Parser}
\label{\detokenize{index:module-secondodb.api.support.secondoparser}}\label{\detokenize{index:sec-parser}}\index{module@\spxentry{module}!secondodb.api.support.secondoparser@\spxentry{secondodb.api.support.secondoparser}}\index{secondodb.api.support.secondoparser@\spxentry{secondodb.api.support.secondoparser}!module@\spxentry{module}}
The module Secondo Parser implements functions for parsing a response to an inquiry or a command from the \sphinxcode{\sphinxupquote{SECONDO}}
server. A list expression object can be constructed through the function receive\_response. A list expression object
for a specific inquiry can be then converted to a Python structure (dictionary or list), which can be used to print or
display the results in an ad\sphinxhyphen{}hoc format.
\index{check\_identifier() (in module secondodb.api.support.secondoparser)@\spxentry{check\_identifier()}\spxextra{in module secondodb.api.support.secondoparser}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoparser.check_identifier}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{check\_identifier}}}{\emph{\DUrole{n}{identifier}}}{}
Checks the validity of a given value expression.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{identifier}} (\sphinxcode{\sphinxupquote{str}}) \textendash{} 

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{bool}}

\item[{Returns}] \leavevmode
True, if the value expression is valid.

\end{description}\end{quote}

\end{fulllineitems}

\index{check\_port() (in module secondodb.api.support.secondoparser)@\spxentry{check\_port()}\spxextra{in module secondodb.api.support.secondoparser}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoparser.check_port}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{check\_port}}}{\emph{\DUrole{n}{port}}}{}
Checks the validity of a given port value.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{port}} (\sphinxcode{\sphinxupquote{str}}) \textendash{} The number of the port as string.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{bool}}

\item[{Returns}] \leavevmode
True, if the port value is valid.

\end{description}\end{quote}

\end{fulllineitems}

\index{check\_validity\_string() (in module secondodb.api.support.secondoparser)@\spxentry{check\_validity\_string()}\spxextra{in module secondodb.api.support.secondoparser}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoparser.check_validity_string}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{check\_validity\_string}}}{\emph{\DUrole{n}{validity\_string}}}{}
Checks the validity string of a \sphinxcode{\sphinxupquote{SECONDO}} response.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{validity\_string}} (\sphinxcode{\sphinxupquote{str}}) \textendash{} The string with the value ‘bnl’.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{bool}}

\item[{Returns}] \leavevmode
True, if the string has the bnl\sphinxhyphen{}value. Otherwise a DataError will be raised.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_inquiry\_algebra() (in module secondodb.api.support.secondoparser)@\spxentry{parse\_inquiry\_algebra()}\spxextra{in module secondodb.api.support.secondoparser}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoparser.parse_inquiry_algebra}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_inquiry\_algebra}}}{\emph{\DUrole{n}{list\_expr}}}{}
Returns a list with the objects of a database.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A response list.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{Algebra}}

\item[{Returns}] \leavevmode
An Algebra object.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_inquiry\_algebras() (in module secondodb.api.support.secondoparser)@\spxentry{parse\_inquiry\_algebras()}\spxextra{in module secondodb.api.support.secondoparser}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoparser.parse_inquiry_algebras}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_inquiry\_algebras}}}{\emph{\DUrole{n}{list\_expr}}}{}
Returns a list with the algebras of the server.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object.

\item[{Return type}] \leavevmode
{[}{]}

\item[{Returns}] \leavevmode
The list of the algebras.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_inquiry\_databases() (in module secondodb.api.support.secondoparser)@\spxentry{parse\_inquiry\_databases()}\spxextra{in module secondodb.api.support.secondoparser}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoparser.parse_inquiry_databases}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_inquiry\_databases}}}{\emph{\DUrole{n}{list\_expr}}}{}
Returns a list with the database names of a database inquiry.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A List Expression object with a database inquiry.

\item[{Return type}] \leavevmode
{[}{]}

\item[{Returns}] \leavevmode
A list with the database names.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_inquiry\_objects() (in module secondodb.api.support.secondoparser)@\spxentry{parse\_inquiry\_objects()}\spxextra{in module secondodb.api.support.secondoparser}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoparser.parse_inquiry_objects}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_inquiry\_objects}}}{\emph{\DUrole{n}{list\_expr}}}{}
Parses an objects inquiry from a \sphinxcode{\sphinxupquote{SECONDO}} server response.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object with the types of the response.

\item[{Return type}] \leavevmode
{[}{]}

\item[{Returns}] \leavevmode
A list with objects of the class Object containing the types.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_inquiry\_type\_constructors() (in module secondodb.api.support.secondoparser)@\spxentry{parse\_inquiry\_type\_constructors()}\spxextra{in module secondodb.api.support.secondoparser}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoparser.parse_inquiry_type_constructors}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_inquiry\_type\_constructors}}}{\emph{\DUrole{n}{list\_expr}}}{}
Parses a types inquiry from a \sphinxcode{\sphinxupquote{SECONDO}} server response.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object with the types of the response.

\item[{Return type}] \leavevmode
{[}{]}

\item[{Returns}] \leavevmode
A list containing the type constructors.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_inquiry\_types() (in module secondodb.api.support.secondoparser)@\spxentry{parse\_inquiry\_types()}\spxextra{in module secondodb.api.support.secondoparser}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoparser.parse_inquiry_types}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_inquiry\_types}}}{\emph{\DUrole{n}{list\_expr}}}{}
Parses a types inquiry from a \sphinxcode{\sphinxupquote{SECONDO}} server response.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object with the types of the response.

\item[{Return type}] \leavevmode
{[}{]}

\item[{Returns}] \leavevmode
A list with objects of the class Type containing the types.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_query() (in module secondodb.api.support.secondoparser)@\spxentry{parse\_query()}\spxextra{in module secondodb.api.support.secondoparser}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoparser.parse_query}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_query}}}{\emph{\DUrole{n}{list\_expr}}}{}
Converts the result of a query in list expression format into Python objects.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object.

\item[{Returns}] \leavevmode
A Python object.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_type\_definition() (in module secondodb.api.support.secondoparser)@\spxentry{parse\_type\_definition()}\spxextra{in module secondodb.api.support.secondoparser}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoparser.parse_type_definition}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_type\_definition}}}{\emph{\DUrole{n}{list\_expr}}}{}
Parses a type definition element from a \sphinxcode{\sphinxupquote{SECONDO}} server response.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object with the type definition of the response.

\item[{Returns}] \leavevmode
A string value with the type and a list with the attributes, if the type corresponds to a relation.
Otherwise the list parameter will be set to None. Every single attribute is an object of the class
Attribute.

\end{description}\end{quote}

\end{fulllineitems}

\index{receive\_response() (in module secondodb.api.support.secondoparser)@\spxentry{receive\_response()}\spxextra{in module secondodb.api.support.secondoparser}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoparser.receive_response}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{receive\_response}}}{\emph{\DUrole{n}{socket\_object}}}{}
This method handles the \sphinxcode{\sphinxupquote{SECONDO}} response from the server. After processing two parameters will be returned: The first
parameter contains the opening string of the response (for example \textless{}SecondoIntro\textgreater{}). The second parameter depends on
this string, as it can be a simple string with a message or a List Expression object with the result of an inquiry.

In case of an error, a dictionary structure with the details (error code, position and message) will be returned. In
any case, the returned result list corresponds to the fourth element of the obtained list expression object from the
server response.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{socket\_object}} (\sphinxcode{\sphinxupquote{socket}}) \textendash{} A socket object with the response from the server.

\item[{Returns}] \leavevmode
The opening string of the response and a list or a message.

\end{description}\end{quote}

\end{fulllineitems}



\section{\sphinxstyleliteralintitle{\sphinxupquote{SECONDO}} Algebras}
\label{\detokenize{index:sec-algebras}}
\sphinxstylestrong{Data types for the Secondo Standard Algebra}

\phantomsection\label{\detokenize{index:module-secondodb.api.algebras.secondostandardalgebra}}\index{module@\spxentry{module}!secondodb.api.algebras.secondostandardalgebra@\spxentry{secondodb.api.algebras.secondostandardalgebra}}\index{secondodb.api.algebras.secondostandardalgebra@\spxentry{secondodb.api.algebras.secondostandardalgebra}!module@\spxentry{module}}
The module Secondo Standard Algebra implements the data types for the conversion of list expression objects with values
of the types contained in the StandardAlgebra of the \sphinxcode{\sphinxupquote{SECONDO}} system. The data types are implemented in Python
using Data Classes. Data Classes are implemented in the API like normal classes without behaviour.
Like regular classes their attributes can be called through the given names.
\index{parse\_bool() (in module secondodb.api.algebras.secondostandardalgebra)@\spxentry{parse\_bool()}\spxextra{in module secondodb.api.algebras.secondostandardalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondostandardalgebra.parse_bool}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_bool}}}{\emph{\DUrole{n}{list\_expr}}}{}
Parses a list expression for a boolean object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a boolean.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{bool}}

\item[{Returns}] \leavevmode
A boolean.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_int() (in module secondodb.api.algebras.secondostandardalgebra)@\spxentry{parse\_int()}\spxextra{in module secondodb.api.algebras.secondostandardalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondostandardalgebra.parse_int}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_int}}}{\emph{\DUrole{n}{list\_expr}}}{}
Parses a list expression for an integer object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing an integer.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{int}}

\item[{Returns}] \leavevmode
An integer.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_longint() (in module secondodb.api.algebras.secondostandardalgebra)@\spxentry{parse\_longint()}\spxextra{in module secondodb.api.algebras.secondostandardalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondostandardalgebra.parse_longint}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_longint}}}{\emph{\DUrole{n}{list\_expr}}}{}
Parses a list expression for a long integer object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a long integer.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{int}}

\item[{Returns}] \leavevmode
An integer.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_rational() (in module secondodb.api.algebras.secondostandardalgebra)@\spxentry{parse\_rational()}\spxextra{in module secondodb.api.algebras.secondostandardalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondostandardalgebra.parse_rational}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_rational}}}{\emph{\DUrole{n}{list\_expr}}}{}
Parses a list expression for a rational object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a rational.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{float}}

\item[{Returns}] \leavevmode
A float.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_real() (in module secondodb.api.algebras.secondostandardalgebra)@\spxentry{parse\_real()}\spxextra{in module secondodb.api.algebras.secondostandardalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondostandardalgebra.parse_real}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_real}}}{\emph{\DUrole{n}{list\_expr}}}{}
Parses a list expression for a real object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a real.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{float}}

\item[{Returns}] \leavevmode
A float.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_string() (in module secondodb.api.algebras.secondostandardalgebra)@\spxentry{parse\_string()}\spxextra{in module secondodb.api.algebras.secondostandardalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondostandardalgebra.parse_string}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_string}}}{\emph{\DUrole{n}{list\_expr}}}{}
Parses a list expression for a string object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a string.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{str}}

\item[{Returns}] \leavevmode
A string.

\end{description}\end{quote}

\end{fulllineitems}


\sphinxstylestrong{Data types for the Secondo Spatial Algebra}

\phantomsection\label{\detokenize{index:module-secondodb.api.algebras.secondospatialalgebra}}\index{module@\spxentry{module}!secondodb.api.algebras.secondospatialalgebra@\spxentry{secondodb.api.algebras.secondospatialalgebra}}\index{secondodb.api.algebras.secondospatialalgebra@\spxentry{secondodb.api.algebras.secondospatialalgebra}!module@\spxentry{module}}
The module Secondo Spatial Algebra implements the data types for the conversion of list expression objects with values
of the types contained in the SpatialAlgebra of the \sphinxcode{\sphinxupquote{SECONDO}} system. The data types are implemented in Python
using Data Classes. Data Classes are implemented in the API like normal classes without behaviour.
Like regular classes their attributes can be called through the given names.
\index{Face (class in secondodb.api.algebras.secondospatialalgebra)@\spxentry{Face}\spxextra{class in secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.Face}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{Face}}}{\emph{\DUrole{n}{outercycle}}, \emph{\DUrole{n}{holecycles}}}{}
Implements a single face of a region, containing an outercycle (list of single points) and holecycles (a list of
cycles, where each cycle is a list of points).

\end{fulllineitems}

\index{Line (class in secondodb.api.algebras.secondospatialalgebra)@\spxentry{Line}\spxextra{class in secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.Line}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{Line}}}{\emph{\DUrole{n}{segments}}}{}
Implements a line as a list of single segments of the class Segment.

\end{fulllineitems}

\index{Point (class in secondodb.api.algebras.secondospatialalgebra)@\spxentry{Point}\spxextra{class in secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.Point}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{Point}}}{\emph{\DUrole{n}{x}}, \emph{\DUrole{n}{y}}}{}
Implements a single point expressing two coordinates X and Y.

\end{fulllineitems}

\index{Region (class in secondodb.api.algebras.secondospatialalgebra)@\spxentry{Region}\spxextra{class in secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.Region}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{Region}}}{\emph{\DUrole{n}{faces}}}{}
Implements a region as a list of faces of the class Face.

\end{fulllineitems}

\index{Segment (class in secondodb.api.algebras.secondospatialalgebra)@\spxentry{Segment}\spxextra{class in secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.Segment}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{Segment}}}{\emph{\DUrole{n}{x1}}, \emph{\DUrole{n}{y1}}, \emph{\DUrole{n}{x2}}, \emph{\DUrole{n}{y2}}}{}
Implements a single segment of a line.

\end{fulllineitems}

\index{convert\_line\_to\_list\_exp\_str() (in module secondodb.api.algebras.secondospatialalgebra)@\spxentry{convert\_line\_to\_list\_exp\_str()}\spxextra{in module secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.convert_line_to_list_exp_str}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{convert\_line\_to\_list\_exp\_str}}}{\emph{\DUrole{n}{line}}}{}
Converts a line object to a nested list in string format.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{line}} ({\hyperref[\detokenize{index:secondodb.api.algebras.secondospatialalgebra.Line}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{Line}}}}}) \textendash{} A line object.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{str}}

\item[{Returns}] \leavevmode
The nested list as string.

\end{description}\end{quote}

\end{fulllineitems}

\index{convert\_point\_to\_list\_exp\_str() (in module secondodb.api.algebras.secondospatialalgebra)@\spxentry{convert\_point\_to\_list\_exp\_str()}\spxextra{in module secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.convert_point_to_list_exp_str}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{convert\_point\_to\_list\_exp\_str}}}{\emph{\DUrole{n}{point}}}{}
Converts a point object to a nested list in string format.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{point}} ({\hyperref[\detokenize{index:secondodb.api.algebras.secondospatialalgebra.Point}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{Point}}}}}) \textendash{} A point object.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{str}}

\item[{Returns}] \leavevmode
The nested list as string.

\end{description}\end{quote}

\end{fulllineitems}

\index{convert\_points\_to\_list\_exp\_str() (in module secondodb.api.algebras.secondospatialalgebra)@\spxentry{convert\_points\_to\_list\_exp\_str()}\spxextra{in module secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.convert_points_to_list_exp_str}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{convert\_points\_to\_list\_exp\_str}}}{\emph{\DUrole{n}{points}}}{}
Converts a points object to a nested list in string format.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{points}} (\sphinxstyleliteralemphasis{\sphinxupquote{{[}}}\sphinxstyleliteralemphasis{\sphinxupquote{{]}}}) \textendash{} A points object.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{str}}

\item[{Returns}] \leavevmode
The nested list as string.

\end{description}\end{quote}

\end{fulllineitems}

\index{convert\_region\_to\_list\_exp\_str() (in module secondodb.api.algebras.secondospatialalgebra)@\spxentry{convert\_region\_to\_list\_exp\_str()}\spxextra{in module secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.convert_region_to_list_exp_str}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{convert\_region\_to\_list\_exp\_str}}}{\emph{\DUrole{n}{region}}}{}
Converts a region object to a nested list in string format.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{region}} ({\hyperref[\detokenize{index:secondodb.api.algebras.secondospatialalgebra.Region}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{Region}}}}}) \textendash{} A region object.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{str}}

\item[{Returns}] \leavevmode
The nested list as string.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_line() (in module secondodb.api.algebras.secondospatialalgebra)@\spxentry{parse\_line()}\spxextra{in module secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.parse_line}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_line}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing a line (line) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a line (line).

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondospatialalgebra.Line}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{Line}}}}}

\item[{Returns}] \leavevmode
A named tuple with the line.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_point() (in module secondodb.api.algebras.secondospatialalgebra)@\spxentry{parse\_point()}\spxextra{in module secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.parse_point}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_point}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing a point (point) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a point (point).

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondospatialalgebra.Point}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{Point}}}}}

\item[{Returns}] \leavevmode
A named tuple with the point.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_points() (in module secondodb.api.algebras.secondospatialalgebra)@\spxentry{parse\_points()}\spxextra{in module secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.parse_points}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_points}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing points (points) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing points (points).

\item[{Return type}] \leavevmode
{[}{]}

\item[{Returns}] \leavevmode
A named tuple with the points.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_region() (in module secondodb.api.algebras.secondospatialalgebra)@\spxentry{parse\_region()}\spxextra{in module secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.parse_region}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_region}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing a region (region) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a region (region).

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondospatialalgebra.Region}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{Region}}}}}

\item[{Returns}] \leavevmode
A named tuple with the region.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_segment() (in module secondodb.api.algebras.secondospatialalgebra)@\spxentry{parse\_segment()}\spxextra{in module secondodb.api.algebras.secondospatialalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatialalgebra.parse_segment}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_segment}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing a segment (segment) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a segment (segment).

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondospatialalgebra.Segment}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{Segment}}}}}

\item[{Returns}] \leavevmode
A named tuple with the segment.

\end{description}\end{quote}

\end{fulllineitems}


\sphinxstylestrong{Data types for the Secondo Spatio Temporal Algebra}

\phantomsection\label{\detokenize{index:module-secondodb.api.algebras.secondospatiotemporalalgebra}}\index{module@\spxentry{module}!secondodb.api.algebras.secondospatiotemporalalgebra@\spxentry{secondodb.api.algebras.secondospatiotemporalalgebra}}\index{secondodb.api.algebras.secondospatiotemporalalgebra@\spxentry{secondodb.api.algebras.secondospatiotemporalalgebra}!module@\spxentry{module}}
The module Secondo Spatio\sphinxhyphen{}Temporal Algebra implements the data types for the conversion of list expression objects with
values of the types contained in the TemporalAlgebra of the \sphinxcode{\sphinxupquote{SECONDO}} system. The data types are implemented in Python
using Data Classes. Data Classes are implemented in the API like normal classes without behaviour.
Like regular classes their attributes can be called through the given names.
\index{BoolInInterval (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{BoolInInterval}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.BoolInInterval}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{BoolInInterval}}}{\emph{\DUrole{n}{interval}}, \emph{\DUrole{n}{value\_vector}}}{}
Implements a structure to store the time interval and the value vector of a moving boolean.

\end{fulllineitems}

\index{IPoint (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{IPoint}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.IPoint}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{IPoint}}}{\emph{\DUrole{n}{instant}}, \emph{\DUrole{n}{point}}}{}
Implements an instant point as a point for a specific instant.

\end{fulllineitems}

\index{IRegion (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{IRegion}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.IRegion}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{IRegion}}}{\emph{\DUrole{n}{instant}}, \emph{\DUrole{n}{region}}}{}
Implements an instant region as a region for a specific instant.

\end{fulllineitems}

\index{IntInInterval (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{IntInInterval}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.IntInInterval}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{IntInInterval}}}{\emph{\DUrole{n}{interval}}, \emph{\DUrole{n}{value\_vector}}}{}
Implements a structure to store the time interval and the value vector of a moving integer.

\end{fulllineitems}

\index{Interval (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{Interval}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.Interval}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{Interval}}}{\emph{\DUrole{n}{start\_time}}, \emph{\DUrole{n}{end\_time}}, \emph{\DUrole{n}{close\_left}}, \emph{\DUrole{n}{close\_right}}}{}
Implements a time interval.

\end{fulllineitems}

\index{MBool (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{MBool}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MBool}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{MBool}}}{\emph{\DUrole{n}{intervals}}}{}
Implements a moving boolean as a series of booleans in intervals.

\end{fulllineitems}

\index{MInt (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{MInt}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MInt}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{MInt}}}{\emph{\DUrole{n}{intervals}}}{}
Implements a moving integer as a series of integer values in intervals.

\end{fulllineitems}

\index{MPoint (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{MPoint}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MPoint}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{MPoint}}}{\emph{\DUrole{n}{intervals}}}{}
Implements a moving point as a series of points in intervals.

\end{fulllineitems}

\index{MReal (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{MReal}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MReal}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{MReal}}}{\emph{\DUrole{n}{intervals}}}{}
Implements a moving real as a series of real values in intervals.

\end{fulllineitems}

\index{MRegion (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{MRegion}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MRegion}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{MRegion}}}{\emph{\DUrole{n}{intervals}}}{}
Implements a moving region as a series of regions in intervals.

\end{fulllineitems}

\index{MString (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{MString}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MString}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{MString}}}{\emph{\DUrole{n}{intervals}}}{}
Implements a moving string as a series of string values in intervals.

\end{fulllineitems}

\index{MapPoint (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{MapPoint}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MapPoint}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{MapPoint}}}{\emph{\DUrole{n}{x1}}, \emph{\DUrole{n}{y1}}, \emph{\DUrole{n}{x2}}, \emph{\DUrole{n}{y2}}}{}
Implements a map point, i.e. a motion vector for a point of a moving region.

\end{fulllineitems}

\index{MotionVector (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{MotionVector}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MotionVector}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{MotionVector}}}{\emph{\DUrole{n}{x1}}, \emph{\DUrole{n}{y1}}, \emph{\DUrole{n}{x2}}, \emph{\DUrole{n}{y2}}}{}
Implements a motion vector of a moving point.

\end{fulllineitems}

\index{PointInInterval (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{PointInInterval}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.PointInInterval}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{PointInInterval}}}{\emph{\DUrole{n}{interval}}, \emph{\DUrole{n}{motion\_vector}}}{}
Implements a structure to store the time interval and the motion vector of a moving point.

\end{fulllineitems}

\index{RealInInterval (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{RealInInterval}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.RealInInterval}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{RealInInterval}}}{\emph{\DUrole{n}{interval}}, \emph{\DUrole{n}{value\_vector}}}{}
Implements a structure to store the time interval and the value vector of a moving real.

\end{fulllineitems}

\index{RegionInInterval (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{RegionInInterval}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.RegionInInterval}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{RegionInInterval}}}{\emph{\DUrole{n}{interval}}, \emph{\DUrole{n}{map\_faces}}}{}
Implements a structure to store the time interval and the motion vector of a moving region.

\end{fulllineitems}

\index{StringInInterval (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{StringInInterval}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.StringInInterval}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{StringInInterval}}}{\emph{\DUrole{n}{interval}}, \emph{\DUrole{n}{value\_vector}}}{}
Implements a structure to store the time interval and the value vector of a moving string.

\end{fulllineitems}

\index{ValueVectorBool (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{ValueVectorBool}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.ValueVectorBool}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{ValueVectorBool}}}{\emph{\DUrole{n}{value}}}{}
Implements the value vector for a moving boolean.

\end{fulllineitems}

\index{ValueVectorInt (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{ValueVectorInt}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.ValueVectorInt}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{ValueVectorInt}}}{\emph{\DUrole{n}{value}}}{}
Implements the value vector for a moving integer.

\end{fulllineitems}

\index{ValueVectorReal (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{ValueVectorReal}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.ValueVectorReal}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{ValueVectorReal}}}{\emph{\DUrole{n}{start\_value}}, \emph{\DUrole{n}{end\_value}}, \emph{\DUrole{n}{boolean}}}{}
Implements the value vector for a moving real.

\end{fulllineitems}

\index{ValueVectorString (class in secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{ValueVectorString}\spxextra{class in secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.ValueVectorString}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{ValueVectorString}}}{\emph{\DUrole{n}{value}}}{}
Implements the value vector for a moving string.

\end{fulllineitems}

\index{parse\_ipoint() (in module secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{parse\_ipoint()}\spxextra{in module secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.parse_ipoint}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_ipoint}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing an instant point (ipoint) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing an instant region (ipoint).

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.IPoint}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{IPoint}}}}}

\item[{Returns}] \leavevmode
An object of the data class IPoint with the instant point.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_iregion() (in module secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{parse\_iregion()}\spxextra{in module secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.parse_iregion}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_iregion}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing an instant region (iregion) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing an instant region (iregion).

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.IRegion}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{IRegion}}}}}

\item[{Returns}] \leavevmode
An object of the data class IRegion with the instant region.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_mbool() (in module secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{parse\_mbool()}\spxextra{in module secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.parse_mbool}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_mbool}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing a moving boolean (mbool) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a moving boolean (mbool).

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MBool}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{MBool}}}}}

\item[{Returns}] \leavevmode
An object of the data class MBool with the moving boolean.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_mint() (in module secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{parse\_mint()}\spxextra{in module secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.parse_mint}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_mint}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing a moving integer (mint) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a moving integer (mint).

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MInt}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{MInt}}}}}

\item[{Returns}] \leavevmode
An object of the data class MInt with the moving integer.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_mpoint() (in module secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{parse\_mpoint()}\spxextra{in module secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.parse_mpoint}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_mpoint}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing a moving point (mpoint) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a moving point (mpoint).

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MPoint}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{MPoint}}}}}

\item[{Returns}] \leavevmode
An object of the data class MPoint with the moving point.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_mreal() (in module secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{parse\_mreal()}\spxextra{in module secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.parse_mreal}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_mreal}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing a moving real (mreal) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} \textendash{} A list expression object containing a moving real (mreal).

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MReal}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{MReal}}}}}

\item[{Returns}] \leavevmode
An object of the data class MReal with the moving real.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_mregion() (in module secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{parse\_mregion()}\spxextra{in module secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.parse_mregion}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_mregion}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing a moving region (mregion) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a moving region (mregion).

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MRegion}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{MRegion}}}}}

\item[{Returns}] \leavevmode
An object of the data class MRegion with the moving region.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_mstring() (in module secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{parse\_mstring()}\spxextra{in module secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.parse_mstring}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_mstring}}}{\emph{\DUrole{n}{list\_expr}}}{}
Transforms a list expression object containing a moving string (mstring) to a named tuple.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object containing a moving string (mstring).

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.MString}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{MString}}}}}

\item[{Returns}] \leavevmode
An object of the data class MString with the moving string.

\end{description}\end{quote}

\end{fulllineitems}

\index{parse\_timestamp() (in module secondodb.api.algebras.secondospatiotemporalalgebra)@\spxentry{parse\_timestamp()}\spxextra{in module secondodb.api.algebras.secondospatiotemporalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondospatiotemporalalgebra.parse_timestamp}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_timestamp}}}{\emph{\DUrole{n}{timestamp}}}{}
Parses a timestamp string using the Python module datetime.

Formats supported:

‘\%Y\sphinxhyphen{}\%m\sphinxhyphen{}\%d\sphinxhyphen{}\%H:\%M’
‘\%Y\sphinxhyphen{}\%m\sphinxhyphen{}\%d\sphinxhyphen{}\%H:\%M:\%S’
‘\%Y\sphinxhyphen{}\%m\sphinxhyphen{}\%d\sphinxhyphen{}\%H:\%M:\%S.\%f’
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{timestamp}} (\sphinxcode{\sphinxupquote{str}}) \textendash{} A string with a timestamp.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{datetime}}

\item[{Returns}] \leavevmode
A datetime object.

\end{description}\end{quote}

\end{fulllineitems}


\sphinxstylestrong{Data types for the Secondo Relational Algebra}

\phantomsection\label{\detokenize{index:module-secondodb.api.algebras.secondorelationalalgebra}}\index{module@\spxentry{module}!secondodb.api.algebras.secondorelationalalgebra@\spxentry{secondodb.api.algebras.secondorelationalalgebra}}\index{secondodb.api.algebras.secondorelationalalgebra@\spxentry{secondodb.api.algebras.secondorelationalalgebra}!module@\spxentry{module}}
The module Secondo Relational Algebra implements the data types for the conversion of list expression objects with
values of the types contained in the RelationalAlgebra of the \sphinxcode{\sphinxupquote{SECONDO}} system. The data types are implemented in Python
using Data Classes. Data Classes are implemented in the API like normal classes without behaviour.
Like regular classes their attributes can be called through the given names.
\index{Relation (class in secondodb.api.algebras.secondorelationalalgebra)@\spxentry{Relation}\spxextra{class in secondodb.api.algebras.secondorelationalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondorelationalalgebra.Relation}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxbfcode{\sphinxupquote{Relation}}}{\emph{\DUrole{n}{attributes}}, \emph{\DUrole{n}{data}}}{}
Implements the type relation (rel) of the relational algebra of \sphinxcode{\sphinxupquote{SECONDO}}.

\end{fulllineitems}

\index{parse\_relation() (in module secondodb.api.algebras.secondorelationalalgebra)@\spxentry{parse\_relation()}\spxextra{in module secondodb.api.algebras.secondorelationalalgebra}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.algebras.secondorelationalalgebra.parse_relation}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse\_relation}}}{\emph{\DUrole{n}{list\_expr}}, \emph{\DUrole{n}{attr\_list}}}{}
Parses a relation (rel) object. A relation named tuple with two attributes (attributes and data) will be returned.
The attribute “attributes” contains the fields and types of the relation. The attribute “data” contains the entries.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{list\_expr}} (\sphinxcode{\sphinxupquote{ListExp}}) \textendash{} A list expression object with a relation.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{attr\_list}} (\sphinxstyleliteralemphasis{\sphinxupquote{{[}}}\sphinxstyleliteralemphasis{\sphinxupquote{{]}}}) \textendash{} The list of the attributes. Every attribute is an object of the class Attribute.

\end{itemize}

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{index:secondodb.api.algebras.secondorelationalalgebra.Relation}]{\sphinxcrossref{\sphinxcode{\sphinxupquote{Relation}}}}}

\item[{Returns}] \leavevmode
An object of the class Relation with the data. Every entry of the relation data is a Python dictionary,
which allows to call the single fields of the tuple using the corresponding attribute name. The retrieval
of the value using an index (like in lists) is allowed as well.

\end{description}\end{quote}

\end{fulllineitems}



\section{\sphinxstyleliteralintitle{\sphinxupquote{SECONDO}} Input Handler}
\label{\detokenize{index:module-secondodb.api.support.secondoinputhandler}}\label{\detokenize{index:sec-input-handler}}\index{module@\spxentry{module}!secondodb.api.support.secondoinputhandler@\spxentry{secondodb.api.support.secondoinputhandler}}\index{secondodb.api.support.secondoinputhandler@\spxentry{secondodb.api.support.secondoinputhandler}!module@\spxentry{module}}
The module Secondo Input Handler handles the conversion of different values from a socket stream in form of binary
values. The implementation is based on the Java\sphinxhyphen{}Class MyInputStreamReader of the Secondo JavaGUI and supports the
reception and construction of a list expression object originated through the response to an inquiry (or command) from
the \sphinxcode{\sphinxupquote{SECONDO}} server.
\index{build\_list\_expr\_from\_binary() (in module secondodb.api.support.secondoinputhandler)@\spxentry{build\_list\_expr\_from\_binary()}\spxextra{in module secondodb.api.support.secondoinputhandler}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoinputhandler.build_list_expr_from_binary}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{build\_list\_expr\_from\_binary}}}{\emph{\DUrole{n}{socket\_object}}}{}
This method builds a list expression object from a binary response from the \sphinxcode{\sphinxupquote{SECONDO}} server.
In javagui: readBinaryFrom()
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{socket\_object}} (\sphinxcode{\sphinxupquote{socket}}) \textendash{} 

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{ListExp}}

\item[{Returns}] \leavevmode
A list expression object with the contents of the nested list.

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_binary\_record() (in module secondodb.api.support.secondoinputhandler)@\spxentry{read\_binary\_record()}\spxextra{in module secondodb.api.support.secondoinputhandler}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoinputhandler.read_binary_record}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{read\_binary\_record}}}{\emph{\DUrole{n}{socket\_object}}}{}
Reads on each iteration a single buffered vector of bytes and translates it to the specified type. Some types
requiere the specification of the length for the buffer. The length is normally expressed as the first binary value
after the specification of the type integer.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{socket\_object}} (\sphinxcode{\sphinxupquote{socket}}) \textendash{} A socket object with the response from the \sphinxcode{\sphinxupquote{SECONDO}} server.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{ListExp}}

\item[{Returns}] \leavevmode
None

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_bool() (in module secondodb.api.support.secondoinputhandler)@\spxentry{read\_bool()}\spxextra{in module secondodb.api.support.secondoinputhandler}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoinputhandler.read_bool}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{read\_bool}}}{\emph{\DUrole{n}{socket\_object}}}{}
Reads a boolean value from the socket response.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{socket\_object}} (\sphinxcode{\sphinxupquote{socket}}) \textendash{} A socket object with the response from the \sphinxcode{\sphinxupquote{SECONDO}} server.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{bool}}

\item[{Returns}] \leavevmode
A boolean value.

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_byte() (in module secondodb.api.support.secondoinputhandler)@\spxentry{read\_byte()}\spxextra{in module secondodb.api.support.secondoinputhandler}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoinputhandler.read_byte}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{read\_byte}}}{\emph{\DUrole{n}{socket\_object}}}{}
Reads a single byte from the socket response.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{socket\_object}} (\sphinxcode{\sphinxupquote{socket}}) \textendash{} A socket object with the response from the \sphinxcode{\sphinxupquote{SECONDO}} server.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{bytes}}

\item[{Returns}] \leavevmode
A byte value.

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_double() (in module secondodb.api.support.secondoinputhandler)@\spxentry{read\_double()}\spxextra{in module secondodb.api.support.secondoinputhandler}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoinputhandler.read_double}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{read\_double}}}{\emph{\DUrole{n}{socket\_object}}}{}
Reads a double value from the socket response.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{socket\_object}} (\sphinxcode{\sphinxupquote{socket}}) \textendash{} A socket object with the response from the \sphinxcode{\sphinxupquote{SECONDO}} server.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{float}}

\item[{Returns}] \leavevmode
A float representing the double value.

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_int() (in module secondodb.api.support.secondoinputhandler)@\spxentry{read\_int()}\spxextra{in module secondodb.api.support.secondoinputhandler}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoinputhandler.read_int}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{read\_int}}}{\emph{\DUrole{n}{socket\_object}}}{}
Reads an integer value from the socket response. An integer value takes 4 bytes to be built.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{socket\_object}} (\sphinxcode{\sphinxupquote{socket}}) \textendash{} A socket object with the response from the \sphinxcode{\sphinxupquote{SECONDO}} server.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{int}}

\item[{Returns}] \leavevmode
An integer value.

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_line\_of\_text() (in module secondodb.api.support.secondoinputhandler)@\spxentry{read\_line\_of\_text()}\spxextra{in module secondodb.api.support.secondoinputhandler}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoinputhandler.read_line_of_text}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{read\_line\_of\_text}}}{\emph{\DUrole{n}{socket\_object}}}{}
Returns a single text line from a response. The input stream will be read until the occurrence of a new line.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{socket\_object}} (\sphinxcode{\sphinxupquote{socket}}) \textendash{} A socket object.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{str}}

\item[{Returns}] \leavevmode
A string with a single text line.

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_long() (in module secondodb.api.support.secondoinputhandler)@\spxentry{read\_long()}\spxextra{in module secondodb.api.support.secondoinputhandler}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoinputhandler.read_long}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{read\_long}}}{\emph{\DUrole{n}{socket\_object}}}{}
Reads a long value from the socket response.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{socket\_object}} (\sphinxcode{\sphinxupquote{socket}}) \textendash{} A socket object with the response from the \sphinxcode{\sphinxupquote{SECONDO}} server.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{int}}

\item[{Returns}] \leavevmode
A long (int) value.

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_real() (in module secondodb.api.support.secondoinputhandler)@\spxentry{read\_real()}\spxextra{in module secondodb.api.support.secondoinputhandler}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoinputhandler.read_real}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{read\_real}}}{\emph{\DUrole{n}{socket\_object}}}{}
Reads a real value from the socket response.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{socket\_object}} (\sphinxcode{\sphinxupquote{socket}}) \textendash{} A socket object with the response from the \sphinxcode{\sphinxupquote{SECONDO}} server.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{float}}

\item[{Returns}] \leavevmode
A float representing the real value.

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_short() (in module secondodb.api.support.secondoinputhandler)@\spxentry{read\_short()}\spxextra{in module secondodb.api.support.secondoinputhandler}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoinputhandler.read_short}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{read\_short}}}{\emph{\DUrole{n}{socket\_object}}}{}
Reads a short value from the socket response. A short value takes 2 bytes to be built.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{socket\_object}} (\sphinxcode{\sphinxupquote{socket}}) \textendash{} A socket object with the response from the \sphinxcode{\sphinxupquote{SECONDO}} server.

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{int}}

\item[{Returns}] \leavevmode
A short value.

\end{description}\end{quote}

\end{fulllineitems}

\index{read\_string() (in module secondodb.api.support.secondoinputhandler)@\spxentry{read\_string()}\spxextra{in module secondodb.api.support.secondoinputhandler}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondoinputhandler.read_string}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{read\_string}}}{\emph{\DUrole{n}{socket\_object}}, \emph{\DUrole{n}{size}}}{}
Reads a string of a specified size from a socket object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{socket\_object}} (\sphinxcode{\sphinxupquote{socket}}) \textendash{} A socket object with the response from the \sphinxcode{\sphinxupquote{SECONDO}} server.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{size}} (\sphinxcode{\sphinxupquote{int}}) \textendash{} The size of the string.

\end{itemize}

\item[{Return type}] \leavevmode
\sphinxcode{\sphinxupquote{str}}

\item[{Returns}] \leavevmode
A string value.

\end{description}\end{quote}

\end{fulllineitems}



\section{\sphinxstyleliteralintitle{\sphinxupquote{SECONDO}} List Expression}
\label{\detokenize{index:module-secondodb.api.support.secondolistexpr}}\label{\detokenize{index:sec-list-expression}}\index{module@\spxentry{module}!secondodb.api.support.secondolistexpr@\spxentry{secondodb.api.support.secondolistexpr}}\index{secondodb.api.support.secondolistexpr@\spxentry{secondodb.api.support.secondolistexpr}!module@\spxentry{module}}
The module Secondo List Expression implements methods for the reception and construction of a list expression object
originated through the response of the \sphinxcode{\sphinxupquote{SECONDO}} server to an inquiry or a command. The implementation is based on the
Java class ListExpr of the Secondo JavaGUI.
\index{append\_to\_last\_element() (in module secondodb.api.support.secondolistexpr)@\spxentry{append\_to\_last\_element()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.append_to_last_element}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{append\_to\_last\_element}}}{\emph{\DUrole{n}{last\_element}}, \emph{\DUrole{n}{new\_node}}}{}
Appends a new element to a list expression object. The new element will be stored in the “value” variable of the
last element passed and stores an empty list in his “next” variable.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{last\_element}} \textendash{} The list expression object to be extended.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{new\_node}} \textendash{} The list expression object to be appended.

\end{itemize}

\item[{Returns}] \leavevmode
The new list expression object with the new appended element.

\end{description}\end{quote}

\end{fulllineitems}

\index{build\_new\_list\_node() (in module secondodb.api.support.secondolistexpr)@\spxentry{build\_new\_list\_node()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.build_new_list_node}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{build\_new\_list\_node}}}{\emph{\DUrole{n}{left\_list}}, \emph{\DUrole{n}{right\_list}}}{}
Builds a new node for a list expression. A node is formed by a left and a right list. The right list, which will be
appended in the “next”\sphinxhyphen{}parameter, must not be an atom.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{left\_list}} \textendash{} The left list expression object for the parameter “value”.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{right\_list}} \textendash{} The right list expression object for the parameter “next”.

\end{itemize}

\item[{Returns}] \leavevmode
A list expression object.

\end{description}\end{quote}

\end{fulllineitems}

\index{check\_if\_atom() (in module secondodb.api.support.secondolistexpr)@\spxentry{check\_if\_atom()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.check_if_atom}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{check\_if\_atom}}}{\emph{\DUrole{n}{in\_list}}}{}
Verifies if the ListExpr object is an atom. The method verifies the type of the list object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{in\_list}} \textendash{} A ListExpr Object.

\item[{Returns}] \leavevmode
True, if the list element is not an atom, otherwise false.

\end{description}\end{quote}

\end{fulllineitems}

\index{create\_bool\_atom() (in module secondodb.api.support.secondolistexpr)@\spxentry{create\_bool\_atom()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.create_bool_atom}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{create\_bool\_atom}}}{\emph{\DUrole{n}{value}}}{}
Creates a new boolean atom using a boolean as value.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{value}} \textendash{} A boolean.

\item[{Returns}] \leavevmode
A ListExp object with the newly created boolean atom.

\end{description}\end{quote}

\end{fulllineitems}

\index{create\_integer\_atom() (in module secondodb.api.support.secondolistexpr)@\spxentry{create\_integer\_atom()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.create_integer_atom}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{create\_integer\_atom}}}{\emph{\DUrole{n}{value}}}{}
Creates a new integer atom using an integer as value.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{value}} \textendash{} An integer.

\item[{Returns}] \leavevmode
A ListExp object with the newly created integer atom.

\end{description}\end{quote}

\end{fulllineitems}

\index{create\_real\_atom() (in module secondodb.api.support.secondolistexpr)@\spxentry{create\_real\_atom()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.create_real_atom}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{create\_real\_atom}}}{\emph{\DUrole{n}{value}}}{}
Creates a new real atom using an real as value.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{value}} \textendash{} A real value.

\item[{Returns}] \leavevmode
A ListExp object with the newly created real atom.

\end{description}\end{quote}

\end{fulllineitems}

\index{create\_string\_atom() (in module secondodb.api.support.secondolistexpr)@\spxentry{create\_string\_atom()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.create_string_atom}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{create\_string\_atom}}}{\emph{\DUrole{n}{value}}}{}
Creates a new string atom using a string as value.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{value}} \textendash{} A string.

\item[{Returns}] \leavevmode
A ListExp object with the newly created string atom.

\end{description}\end{quote}

\end{fulllineitems}

\index{create\_symbol\_atom() (in module secondodb.api.support.secondolistexpr)@\spxentry{create\_symbol\_atom()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.create_symbol_atom}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{create\_symbol\_atom}}}{\emph{\DUrole{n}{value}}}{}
Creates a new symbol atom using its identifier as value.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{value}} \textendash{} The identifier of the symbol (like DATABASE).

\item[{Returns}] \leavevmode
A ListExp object with the newly created symbol atom.

\end{description}\end{quote}

\end{fulllineitems}

\index{create\_text\_atom() (in module secondodb.api.support.secondolistexpr)@\spxentry{create\_text\_atom()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.create_text_atom}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{create\_text\_atom}}}{\emph{\DUrole{n}{value}}}{}
Creates a new text atom using a passed text as value.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{value}} \textendash{} A text.

\item[{Returns}] \leavevmode
A ListExp object with the newly created text atom.

\end{description}\end{quote}

\end{fulllineitems}

\index{five\_element\_list() (in module secondodb.api.support.secondolistexpr)@\spxentry{five\_element\_list()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.five_element_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{five\_element\_list}}}{\emph{\DUrole{n}{element\_1}}, \emph{\DUrole{n}{element\_2}}, \emph{\DUrole{n}{element\_3}}, \emph{\DUrole{n}{element\_4}}, \emph{\DUrole{n}{element\_5}}}{}
Creates a five element list expression.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_1}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_2}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_3}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_4}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_5}} \textendash{} A list expression object.

\end{itemize}

\item[{Returns}] \leavevmode
A list expression object with five elements.

\end{description}\end{quote}

\end{fulllineitems}

\index{four\_element\_list() (in module secondodb.api.support.secondolistexpr)@\spxentry{four\_element\_list()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.four_element_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{four\_element\_list}}}{\emph{\DUrole{n}{element\_1}}, \emph{\DUrole{n}{element\_2}}, \emph{\DUrole{n}{element\_3}}, \emph{\DUrole{n}{element\_4}}}{}
Creates a four element list expression.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_1}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_2}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_3}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_4}} \textendash{} A list expression object.

\end{itemize}

\item[{Returns}] \leavevmode
A list expression object with four elements.

\end{description}\end{quote}

\end{fulllineitems}

\index{one\_element\_list() (in module secondodb.api.support.secondolistexpr)@\spxentry{one\_element\_list()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.one_element_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{one\_element\_list}}}{\emph{\DUrole{n}{element\_1}}}{}
Creates a one element list expression. The left node contains the element value, and the right node an empty list.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{element\_1}} \textendash{} A list expression object.

\item[{Returns}] \leavevmode
A list expression object with one element.

\end{description}\end{quote}

\end{fulllineitems}

\index{six\_element\_list() (in module secondodb.api.support.secondolistexpr)@\spxentry{six\_element\_list()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.six_element_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{six\_element\_list}}}{\emph{\DUrole{n}{element\_1}}, \emph{\DUrole{n}{element\_2}}, \emph{\DUrole{n}{element\_3}}, \emph{\DUrole{n}{element\_4}}, \emph{\DUrole{n}{element\_5}}, \emph{\DUrole{n}{element\_6}}}{}
Creates a six element list expression.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_1}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_2}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_3}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_4}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_5}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_6}} \textendash{} A list expression object.

\end{itemize}

\item[{Returns}] \leavevmode
A list expression object with six elements.

\end{description}\end{quote}

\end{fulllineitems}

\index{three\_element\_list() (in module secondodb.api.support.secondolistexpr)@\spxentry{three\_element\_list()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.three_element_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{three\_element\_list}}}{\emph{\DUrole{n}{element\_1}}, \emph{\DUrole{n}{element\_2}}, \emph{\DUrole{n}{element\_3}}}{}
Creates a three element list expression.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_1}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_2}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_3}} \textendash{} A list expression object.

\end{itemize}

\item[{Returns}] \leavevmode
A list expression object with three elements.

\end{description}\end{quote}

\end{fulllineitems}

\index{two\_element\_list() (in module secondodb.api.support.secondolistexpr)@\spxentry{two\_element\_list()}\spxextra{in module secondodb.api.support.secondolistexpr}}

\begin{fulllineitems}
\phantomsection\label{\detokenize{index:secondodb.api.support.secondolistexpr.two_element_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{two\_element\_list}}}{\emph{\DUrole{n}{element\_1}}, \emph{\DUrole{n}{element\_2}}}{}
Creates a two element list expression.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_1}} \textendash{} A list expression object.

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{element\_2}} \textendash{} A list expression object.

\end{itemize}

\item[{Returns}] \leavevmode
A list expression object with two elements.

\end{description}\end{quote}

\end{fulllineitems}



\chapter{Indices and tables}
\label{\detokenize{index:indices-and-tables}}\begin{itemize}
\item {} 
\DUrole{xref,std,std-ref}{genindex}

\item {} 
\DUrole{xref,std,std-ref}{modindex}

\item {} 
\DUrole{xref,std,std-ref}{search}

\end{itemize}


\renewcommand{\indexname}{Python Module Index}
\begin{sphinxtheindex}
\let\bigletter\sphinxstyleindexlettergroup
\bigletter{s}
\item\relax\sphinxstyleindexentry{secondodb.api.algebras.secondorelationalalgebra}\sphinxstyleindexpageref{index:\detokenize{module-secondodb.api.algebras.secondorelationalalgebra}}
\item\relax\sphinxstyleindexentry{secondodb.api.algebras.secondospatialalgebra}\sphinxstyleindexpageref{index:\detokenize{module-secondodb.api.algebras.secondospatialalgebra}}
\item\relax\sphinxstyleindexentry{secondodb.api.algebras.secondospatiotemporalalgebra}\sphinxstyleindexpageref{index:\detokenize{module-secondodb.api.algebras.secondospatiotemporalalgebra}}
\item\relax\sphinxstyleindexentry{secondodb.api.algebras.secondostandardalgebra}\sphinxstyleindexpageref{index:\detokenize{module-secondodb.api.algebras.secondostandardalgebra}}
\item\relax\sphinxstyleindexentry{secondodb.api.secondoapi}\sphinxstyleindexpageref{index:\detokenize{module-secondodb.api.secondoapi}}
\item\relax\sphinxstyleindexentry{secondodb.api.support.secondocommands}\sphinxstyleindexpageref{index:\detokenize{module-secondodb.api.support.secondocommands}}
\item\relax\sphinxstyleindexentry{secondodb.api.support.secondoinputhandler}\sphinxstyleindexpageref{index:\detokenize{module-secondodb.api.support.secondoinputhandler}}
\item\relax\sphinxstyleindexentry{secondodb.api.support.secondolistexpr}\sphinxstyleindexpageref{index:\detokenize{module-secondodb.api.support.secondolistexpr}}
\item\relax\sphinxstyleindexentry{secondodb.api.support.secondomessages}\sphinxstyleindexpageref{index:\detokenize{module-secondodb.api.support.secondomessages}}
\item\relax\sphinxstyleindexentry{secondodb.api.support.secondoparser}\sphinxstyleindexpageref{index:\detokenize{module-secondodb.api.support.secondoparser}}
\end{sphinxtheindex}

\renewcommand{\indexname}{Index}
\printindex
\end{document}