Skip to content
Snippets Groups Projects
Commit 4505f5e6 authored by Joshua Colp's avatar Joshua Colp Committed by Gerrit Code Review
Browse files

Merge "cdr_pgsql, cel_pgsql: Store maximum buffer size to prevent reallocation"

parents 4e482bf9 e6daafb8
Branches
Tags
No related merge requests found
...@@ -75,6 +75,7 @@ static char *encoding; ...@@ -75,6 +75,7 @@ static char *encoding;
static char *tz; static char *tz;
static int connected = 0; static int connected = 0;
/* Optimization to reduce number of memory allocations */
static int maxsize = 512, maxsize2 = 512; static int maxsize = 512, maxsize2 = 512;
static time_t connect_time = 0; static time_t connect_time = 0;
static int totalrecords = 0; static int totalrecords = 0;
...@@ -453,6 +454,15 @@ static int pgsql_log(struct ast_cdr *cdr) ...@@ -453,6 +454,15 @@ static int pgsql_log(struct ast_cdr *cdr)
records++; records++;
} }
PQclear(result); PQclear(result);
/* Next time, just allocate buffers that are that big to start with. */
if (ast_str_strlen(sql) > maxsize) {
maxsize = ast_str_strlen(sql);
}
if (ast_str_strlen(sql2) > maxsize2) {
maxsize2 = ast_str_strlen(sql2);
}
ast_free(sql); ast_free(sql);
ast_free(sql2); ast_free(sql2);
} }
......
...@@ -74,6 +74,7 @@ static char *table; ...@@ -74,6 +74,7 @@ static char *table;
static char *schema; static char *schema;
static int connected = 0; static int connected = 0;
/* Optimization to reduce number of memory allocations */
static int maxsize = 512, maxsize2 = 512; static int maxsize = 512, maxsize2 = 512;
static int usegmtime = 0; static int usegmtime = 0;
...@@ -375,6 +376,14 @@ static void pgsql_log(struct ast_event *event) ...@@ -375,6 +376,14 @@ static void pgsql_log(struct ast_event *event)
} }
PQclear(result); PQclear(result);
/* Next time, just allocate buffers that are that big to start with. */
if (ast_str_strlen(sql) > maxsize) {
maxsize = ast_str_strlen(sql);
}
if (ast_str_strlen(sql2) > maxsize2) {
maxsize2 = ast_str_strlen(sql2);
}
ast_log_cleanup: ast_log_cleanup:
ast_free(sql); ast_free(sql);
ast_free(sql2); ast_free(sql2);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment