Problem solved. I had to comment a line in sql_wrap.c:
/*
- TimesTen : Turn off autocommit. We must explicitly
- commit any transactions.
*/ SQLSetConnectOption( *dbhp, SQL_AUTOCOMMIT, SQL_AUTOCOMMIT_OFF );
This last line actually prevents slapd from updating resultsets (which are committed) in InnoDB.
I believe this is not correct; we need autocommit to be off since operations that need a commit explicitly do it. I think the problem is in the RDBMS you're using, since other RDBMSes always worked as intended.
Perhaps autocommit should be enabled by default, but the user should be able to disable it through a configuration option in slapd.conf. Should I file a request or bug for this?
Feel free. Configuration options that improve interoperation are always welcome, pending my comment above.
p.