src/modules/db_postgres/pg_sql.h
7c1f066c
 /* 
9b411f76
  * PostgreSQL Database Driver for Kamailio
7c1f066c
  *
  * Portions Copyright (C) 2001-2003 FhG FOKUS
  * Copyright (C) 2003 August.Net Services, LLC
  * Portions Copyright (C) 2005-2008 iptelorg GmbH
  *
9b411f76
  * This file is part of Kamailio, a free SIP server.
7c1f066c
  *
9b411f76
  * Kamailio is free software; you can redistribute it and/or modify it under the
7c1f066c
  * terms of the GNU General Public License as published by the Free Software
  * Foundation; either version 2 of the License, or (at your option) any later
  * version
  *
9b411f76
  * Kamailio is distributed in the hope that it will be useful, but WITHOUT ANY
7c1f066c
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
  * details.
  *
  * You should have received a copy of the GNU General Public License along
  * with this program; if not, write to the Free Software Foundation, Inc., 59
  * Temple Place, Suite 330, Boston, MA 02111-1307 USA
  */
 
 #ifndef _PG_SQL_H
 #define _PG_SQL_H
 
 /** \addtogroup postgres
  * @{ 
  */
 
 /** \file
  * Implementation of various functions that assemble SQL query strings for
  * PostgreSQL.
  */
 
b372a105
 #include "../../lib/srdb2/db_cmd.h"
cf83221d
 #include "../../core/str.h"
7c1f066c
 
 
 /** Builds an UPDATE SQL statement.
  * This function creates an UPDATE SQL statement where column values are
  * replaced with special markers. The resulting SQL statement is suitable
  * for submitting as prepared statement. The result string is zero terminated.
  * @param sql_cmd Pointer to a str variable where the resulting SQL statement
  *                will be stored. The buffer in sql_cmd->s is allocated using
  *                pkg_malloc and the caller of the function is responsible for
  *                freeing it.
  * @param cmd The command whose data will be used to generate the query.
  * @return 0 on success, negative number on error
  */
60f177bf
 int build_update_sql(str *sql_cmd, db_cmd_t *cmd);
7c1f066c
 
 
 /** Builds an INSERT SQL statement.
  * This function creates an INSERT SQL statement where column values are
  * replaced with special markers. The resulting SQL statement is suitable
  * for submitting as prepared statement. The result string is zero terminated.
  * @param sql_cmd Pointer to a str variable where the resulting SQL statement
  *                will be stored. The buffer in sql_cmd->s is allocated using
  *                pkg_malloc and the caller of the function is responsible for *                freeing it.
  * @param cmd The command whose data will be used to generate the query.
  * @return 0 on success, negative number on error
  */
60f177bf
 int build_insert_sql(str *sql_cmd, db_cmd_t *cmd);
7c1f066c
 
 
 /** Builds a DELETE SQL statement.
  * This function creates a DELETE SQL statement where column values are
  * replaced with special markers. The resulting SQL statement is suitable
  * for submitting as prepared statement. The result string is zero terminated.
  * @param sql_cmd Pointer to a str variable where the resulting SQL statement
  *                will be stored. The buffer in sql_cmd->s is allocated using
  *                pkg_malloc and the caller of the function is responsible for
  *                freeing it.
  * @param cmd The command whose data will be used to generate the query.
  * @return 0 on success, negative number on error
  */
60f177bf
 int build_delete_sql(str *sql_cmd, db_cmd_t *cmd);
7c1f066c
 
 
 /** Builds a SELECT SQL statement.
  * This function creates a SELECT SQL statement where column values are
  * replaced with special markers. The resulting SQL statement is suitable
  * for submitting as prepared statement. The result string is zero terminated.
  * @param sql_cmd Pointer to a str variable where the resulting SQL statement
  *                will be stored. The buffer in sql_cmd->s is allocated using
  *                pkg_malloc and the caller of the function is responsible for
  *                freeing it.
  * @param cmd The command whose data will be used to generate the query.
  * @return 0 on success, negative number on error
  */
60f177bf
 int build_select_sql(str *sql_cmd, db_cmd_t *cmd);
7c1f066c
 
 
 /* Builds SQL query used to obtain the list of supported field types.
  * This function builds a special SQL query that is used to obtain the list
  * of supported field type from the server's system catalogs.
  */
60f177bf
 int build_select_oid_sql(str *sql_cmd);
7c1f066c
 
 
 /** Builds the SQL query used to determine the format of timestamp fields.
  * This function builds a special SQL query that is sent to the server
  * immediately after establishing a connection to determine the format of
  * timestamp fields used on the server.
  */
60f177bf
 int build_timestamp_format_sql(str *sql_cmd);
7c1f066c
 
 /** @} */
 
 #endif /* _PG_SQL_H */