openbsd-ports/databases/openldap/patches/patch-servers_slapd_back-sql_modify_c

32 lines
888 B
Plaintext

--- servers/slapd/back-sql/modify.c.orig Fri Sep 13 14:14:04 2002
+++ servers/slapd/back-sql/modify.c Fri Sep 13 14:16:04 2002
@@ -362,6 +362,7 @@
char *pdn;
int pno,po;//first parameter no, parameter order
int prc; //procedure return code
+ BACKSQL_ROW_NTS row;
Debug(LDAP_DEBUG_TRACE,"==>backsql_add(): adding entry '%s'\n",e->e_dn,0,0);
if (dn_validate(e->e_dn)==NULL)
@@ -412,6 +413,20 @@
send_ldap_result(conn,op,LDAP_OTHER,"","SQL-backend error",NULL,NULL);
return 1;
}
+
+ if (bi->id_notbyref)
+ {
+ backsql_BindRowAsStrings(sth,&row);
+ while ((rc=SQLFetch(sth)) == SQL_SUCCESS || rc==SQL_SUCCESS_WITH_INFO)
+ {
+ for (i=0;i<row.ncols;i++)
+ {
+ new_keyval=atoi(row.cols[i]);
+ }
+ }
+ backsql_FreeRow(&row);
+ }
+
SQLFreeStmt(sth,SQL_RESET_PARAMS);
Debug(LDAP_DEBUG_TRACE,"backsql_add(): create_proc returned keyval=%d\n",new_keyval,0,0);