From cad607d72ee8c9cfc906f170b2463bc5ccf03fee Mon Sep 17 00:00:00 2001 From: Marc Olivier Chouinard Date: Fri, 18 Jan 2013 00:06:05 -0500 Subject: [PATCH] FS-5019 --resolve I would rather have this fix in the core... But in the mean this, this look good. Thanks --- .../applications/mod_directory/mod_directory.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/mod/applications/mod_directory/mod_directory.c b/src/mod/applications/mod_directory/mod_directory.c index 4e4f6d7c27..fd9457cbe7 100644 --- a/src/mod/applications/mod_directory/mod_directory.c +++ b/src/mod/applications/mod_directory/mod_directory.c @@ -531,6 +531,7 @@ static switch_status_t populate_database(switch_core_session_t *session, dir_pro char *sql = NULL; char *sqlvalues = NULL; char *sqltmp = NULL; + int count = 0; switch_xml_t xml_root = NULL, x_domain; switch_xml_t ut; @@ -633,13 +634,22 @@ static switch_status_t populate_database(switch_core_session_t *session, dir_pro switch_safe_free(fullNameDigit); switch_safe_free(lastNameDigit); switch_safe_free(firstNameDigit); + + if (++count >= 100) { + count = 0; + sql = switch_mprintf("BEGIN;%s;COMMIT;", sqlvalues); + directory_execute_sql(sql, globals.mutex); + switch_safe_free(sql); + switch_safe_free(sqlvalues); + } } } } } - sql = switch_mprintf("BEGIN;%s;COMMIT;", sqlvalues); - directory_execute_sql(sql, globals.mutex); - + if (sqlvalues) { + sql = switch_mprintf("BEGIN;%s;COMMIT;", sqlvalues); + directory_execute_sql(sql, globals.mutex); + } end: switch_safe_free(sql); switch_safe_free(sqlvalues);