openldap/servers/slapd/back-sql/sql-wrap.h
Pierangelo Masarati 115408986c changes:
- re-style according to the style giudelines for better readability
- updated to recent frontend/backend API changes
- fixed a few quirks about normalization
- "optimized" a few memory allocation/string handling functions
- fixed a few quirks about add/modify (still have to look ad modrdn)

todo:
- there is still something broken (at least with PostgreSQL and IBM db2,
  the two RDBMS O have at hand) when adding
- move everything to struct bervals and try to save a few strlen
- try some LDAP/SQL syntax relation to use appropriate value bind if possible
- ...
2002-08-13 17:12:27 +00:00

41 lines
1.4 KiB
C

#ifndef __BACKSQL_SQL_WRAP_H__
#define __BACKSQL_SQL_WRAP_H__
/*
* Copyright 1999, Dmitry Kovalev <mit@openldap.org>, All rights reserved.
*
* Redistribution and use in source and binary forms are permitted only
* as authorized by the OpenLDAP Public License. A copy of this
* license is available at http://www.OpenLDAP.org/license.html or
* in file LICENSE in the top-level directory of the distribution.
*/
#include "back-sql.h"
#include "sql-types.h"
RETCODE backsql_Prepare( SQLHDBC dbh, SQLHSTMT *sth, char* query, int timeout );
#define backsql_BindParamStr( sth, par_ind, str, maxlen ) \
SQLBindParameter( (sth), (SQLUSMALLINT)(par_ind), \
SQL_PARAM_INPUT, \
SQL_C_CHAR, SQL_VARCHAR, \
(SQLUINTEGER)(maxlen), 0, (SQLPOINTER)(str), \
(SQLUINTEGER)(maxlen), NULL )
#define backsql_BindParamID( sth, par_ind, id ) \
SQLBindParameter( (sth), (SQLUSMALLINT)(par_ind), \
SQL_PARAM_INPUT, SQL_C_ULONG, SQL_INTEGER, \
0, 0, (SQLPOINTER)(id), 0, (SQLINTEGER*)NULL )
RETCODE backsql_BindRowAsStrings( SQLHSTMT sth, BACKSQL_ROW_NTS *row );
RETCODE backsql_FreeRow( BACKSQL_ROW_NTS *row );
void backsql_PrintErrors( SQLHENV henv, SQLHDBC hdbc, SQLHSTMT sth, int rc );
int backsql_init_db_env( backsql_info *si );
int backsql_free_db_env( backsql_info *si );
SQLHDBC backsql_get_db_conn( Backend *be, Connection *ldapc );
int backsql_free_db_conn( Backend *be, Connection *ldapc );
#endif /* __BACKSQL_SQL_WRAP_H__ */