}
static int
-backsql_cmp_connid( backsql_db_conn *c1, backsql_db_conn *c2 )
+backsql_cmp_connid( const void *v_c1, const void *v_c2 )
{
+ const backsql_db_conn *c1 = v_c1, *c2 = v_c2;
if ( c1->ldap_cid > c2->ldap_cid ) {
return 1;
}
Debug( LDAP_DEBUG_TRACE, "backsql_open_db_conn(): "
"connected, adding to tree\n", 0, 0, 0 );
ldap_pvt_thread_mutex_lock( &si->dbconn_mutex );
- avl_insert( &si->db_conns, dbc, (AVL_CMP)backsql_cmp_connid, NULL );
+ avl_insert( &si->db_conns, dbc, backsql_cmp_connid, NULL );
ldap_pvt_thread_mutex_unlock( &si->dbconn_mutex );
Debug( LDAP_DEBUG_TRACE, "<==backsql_open_db_conn()\n", 0, 0, 0 );
}
int
-backsql_free_db_conn( Backend *be, Connection *ldapc )
+backsql_free_db_conn( Operation *op )
{
- backsql_info *si = (backsql_info *)be->be_private;
+ backsql_info *si = (backsql_info *)op->o_bd->be_private;
backsql_db_conn tmp, *conn;
Debug( LDAP_DEBUG_TRACE, "==>backsql_free_db_conn()\n", 0, 0, 0 );
- tmp.ldap_cid = ldapc->c_connid;
+ tmp.ldap_cid = op->o_connid;
ldap_pvt_thread_mutex_lock( &si->dbconn_mutex );
- conn = (backsql_db_conn *)avl_delete( &si->db_conns, &tmp,
- (AVL_CMP)backsql_cmp_connid );
+ conn = avl_delete( &si->db_conns, &tmp, backsql_cmp_connid );
ldap_pvt_thread_mutex_unlock( &si->dbconn_mutex );
/*
}
int
-backsql_get_db_conn( Backend *be, Connection *ldapc, SQLHDBC *dbh )
+backsql_get_db_conn( Operation *op, SQLHDBC *dbh )
{
- backsql_info *si = (backsql_info *)be->be_private;
+ backsql_info *si = (backsql_info *)op->o_bd->be_private;
backsql_db_conn *dbc;
backsql_db_conn tmp;
int rc = LDAP_SUCCESS;
assert( dbh );
*dbh = SQL_NULL_HDBC;
- tmp.ldap_cid = ldapc->c_connid;
+ tmp.ldap_cid = op->o_connid;
/*
* we have one thread per connection, as I understand --
* so we do not need locking here
*/
- dbc = (backsql_db_conn *)avl_find( si->db_conns, &tmp,
- (AVL_CMP)backsql_cmp_connid );
+ dbc = avl_find( si->db_conns, &tmp, backsql_cmp_connid );
if ( !dbc ) {
- rc = backsql_open_db_conn( si, ldapc->c_connid, &dbc );
+ rc = backsql_open_db_conn( si, op->o_connid, &dbc );
if ( rc != LDAP_SUCCESS) {
Debug( LDAP_DEBUG_TRACE, "backsql_get_db_conn(): "
"could not get connection handle "
rc = backsql_load_schema_map( si, dbc->dbh );
if ( rc != LDAP_SUCCESS ) {
ldap_pvt_thread_mutex_unlock( &si->schema_mutex );
- backsql_free_db_conn( be, ldapc );
+ backsql_free_db_conn( op );
return rc;
}
}