Fix documentation for pgsql cel and cdr, and slightly improve pgsql_cel.

Change the documented pgsql schema to use "timestamp" instead of "time",
as the latter is only a time without a date.

Added some missing columns for cel's pgsql schema, and corrected spelling
on some others. Updated cel's uniqueid size to be the same as the cdr.
Added id column to cel's pgsql schema and updated code to allow unknown
columns to get their default value instead of forcing 0 or empty string.

Added microseconds to the timestamp cel logs to pgsql.

Review: https://reviewboard.asterisk.org/r/734


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
certified/1.8.6
Tim Ringenbach 15 years ago
parent ec37ffbdaf
commit e19a6c248f

@ -55,7 +55,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/logger.h"
#include "asterisk.h"
#define DATE_FORMAT "%Y-%m-%d %T"
#define DATE_FORMAT "%Y-%m-%d %T.%6q"
static char *config = "cel_pgsql.conf";
static char *pghostname = NULL, *pgdbname = NULL, *pgdbuser = NULL, *pgpassword = NULL, *pgdbport = NULL, *table = NULL;
@ -240,9 +240,12 @@ static void pgsql_log(const struct ast_event *event, void *userdata)
} else if (strcmp(cur->name, "peer") == 0) {
value = record.peer;
} else {
value = "";
value = NULL;
}
if (strncmp(cur->type, "int", 3) == 0) {
if (value == NULL) {
ast_str_append(&sql2, 0, "%sDEFAULT", SEP);
} else if (strncmp(cur->type, "int", 3) == 0) {
long long whatever;
if (value && sscanf(value, "%30lld", &whatever) == 1) {
LENGTHEN_BUF2(26);

@ -258,7 +258,7 @@ CREATE TABLE cdr (
\begin{astlisting}
\begin{verbatim}
CREATE TABLE cdr (
calldate time NOT NULL ,
calldate timestamp NOT NULL ,
clid varchar (80) NOT NULL ,
src varchar (80) NOT NULL ,
dst varchar (80) NOT NULL ,

@ -205,13 +205,15 @@ Using MySQL for Channel Event records is supported by using ODBC and the cel_odb
\begin{verbatim}
CREATE TABLE cel (
id serial ,
eventtype varchar (30) NOT NULL ,
eventtime time NOT NULL ,
cidname varchar (80) NOT NULL ,
cidnum varchar (80) NOT NULL ,
cidani varchar (80) NOT NULL ,
cidrdnis varchar (80) NOT NULL ,
ciddnis varchar (80) NOT NULL ,
eventtime timestamp NOT NULL ,
userdeftype varchar(255) NOT NULL ,
cid_name varchar (80) NOT NULL ,
cid_num varchar (80) NOT NULL ,
cid_ani varchar (80) NOT NULL ,
cid_rdnis varchar (80) NOT NULL ,
cid_dnid varchar (80) NOT NULL ,
exten varchar (80) NOT NULL ,
context varchar (80) NOT NULL ,
channame varchar (80) NOT NULL ,
@ -219,7 +221,9 @@ Using MySQL for Channel Event records is supported by using ODBC and the cel_odb
appdata varchar (80) NOT NULL ,
amaflags int NOT NULL ,
accountcode varchar (20) NOT NULL ,
uniqueid varchar (32) NOT NULL ,
peeraccount varchar (20) NOT NULL ,
uniqueid varchar (150) NOT NULL ,
linkedid varchar (150) NOT NULL ,
userfield varchar (255) NOT NULL ,
peer varchar (80) NOT NULL
);

Loading…
Cancel
Save