TT#161550 support loading CDR graphs

Change-Id: Ic67d36e15ebe64d4bc84943df785782981ba8974
(cherry picked from commit 3552503117)
mr7.5.5
Rene Krenn 4 years ago
parent 3b40eb00ee
commit 34538ea278

@ -30,6 +30,7 @@ require Exporter;
our @ISA = qw(Exporter NGCP::BulkProcessor::SqlRecord);
our @EXPORT_OK = qw(
gettablename
settablename
check_table
update_row
@ -52,6 +53,8 @@ our @EXPORT_OK = qw(
findby_id
get_cdrid_range
buildrecords_fromrows
);
#process_records
#delete_ids
@ -204,12 +207,11 @@ sub get_cdrid_range {
my $db = &$get_db();
my $table = $db->tableidentifier($tablename);
my $stmt = 'SELECT min(id),max(id) FROM ' . $table . ' WHERE ' .
$db->columnidentifier('id') . ' = ?';
my @params = ($id);
my $rows = $db->db_get_all_arrayref($stmt,@params);
my $stmt = 'SELECT min(id) as min, max(id) as max FROM ' . $table;
my @params = ();
my $row = $db->db_get_row($stmt,@params);
return $rows;
return $row;
}
@ -546,6 +548,8 @@ sub buildrecords_fromrows {
$record = __PACKAGE__->new($row);
# transformations go here ...
$record->load_relation($load_recursive,'cdr_groups','NGCP::BulkProcessor::Dao::Trunk::accounting::cdr_group::findby_cdrid',undef,$record->{id},$load_recursive);
$record->load_relation($load_recursive,'cdr_tags','NGCP::BulkProcessor::Dao::Trunk::accounting::cdr_tag_data::findby_cdrid',undef,$record->{id},$load_recursive);
push @records,$record;
}

@ -15,7 +15,7 @@ use NGCP::BulkProcessor::ConnectorPool qw(
use NGCP::BulkProcessor::SqlProcessor qw(
checktableinfo
copy_row
insert_record
);
use NGCP::BulkProcessor::SqlRecord qw();
@ -23,11 +23,13 @@ require Exporter;
our @ISA = qw(Exporter NGCP::BulkProcessor::SqlRecord);
our @EXPORT_OK = qw(
gettablename
settablename
check_table
findby_cdrid
findby_callid
insert_row
);
#findby_callid
@ -92,6 +94,20 @@ sub findby_callid {
}
sub insert_row {
my $db = &$get_db();
my $xa_db = shift // $db;
my ($data,$insert_ignore) = @_;
check_table();
if (insert_record($db,$xa_db,__PACKAGE__,$data,$insert_ignore,$insert_unique_fields)) {
return $xa_db->db_last_insert_id();
}
return undef;
}
sub buildrecords_fromrows {
my ($rows,$load_recursive) = @_;
@ -119,6 +135,12 @@ sub gettablename {
}
sub settablename {
$tablename = shift;
}
sub check_table {
return checktableinfo($get_db,

@ -16,6 +16,7 @@ use NGCP::BulkProcessor::SqlProcessor qw(
checktableinfo
copy_row
insert_record
);
use NGCP::BulkProcessor::SqlRecord qw();
@ -23,10 +24,13 @@ require Exporter;
our @ISA = qw(Exporter NGCP::BulkProcessor::SqlRecord);
our @EXPORT_OK = qw(
gettablename
settablename
check_table
findby_cdrproviderdirectiontag
findby_cdrid
insert_row
);
my $tablename = 'cdr_tag_data';
@ -78,6 +82,24 @@ sub findby_cdrproviderdirectiontag {
}
sub findby_cdrid {
my ($xa_db,$cdrid,$load_recursive) = @_;
check_table();
my $db = &$get_db();
$xa_db //= $db;
my $table = $db->tableidentifier($tablename);
my $stmt = 'SELECT * FROM ' . $table . ' WHERE ' .
$db->columnidentifier('cdr_id') . ' = ?';
my @params = ($cdrid);
my $rows = $xa_db->db_get_all_arrayref($stmt,@params);
return buildrecords_fromrows($rows,$load_recursive);
}
sub findby_callid {
my ($xa_db,$callid,$load_recursive) = @_;
@ -96,6 +118,20 @@ sub findby_callid {
}
sub insert_row {
my $db = &$get_db();
my $xa_db = shift // $db;
my ($data,$insert_ignore) = @_;
check_table();
if (insert_record($db,$xa_db,__PACKAGE__,$data,$insert_ignore,$insert_unique_fields)) {
return $xa_db->db_last_insert_id();
}
return undef;
}
sub buildrecords_fromrows {
my ($rows,$load_recursive) = @_;
@ -123,6 +159,12 @@ sub gettablename {
}
sub settablename {
$tablename = shift;
}
sub check_table {
return checktableinfo($get_db,

@ -198,7 +198,7 @@ sub process {
notimplementederror((ref $self) . ': ' . 'extractfields class method not implemented',getlogger(__PACKAGE__));
}
$files_code->(sub {
$files_code->($context,sub {
my $filename = shift;
if (-s $filename > 0) {
fileprocessingstarted($filename,getlogger(__PACKAGE__));
@ -341,7 +341,7 @@ sub _reader {
notimplementederror((ref $context->{instance}) . ': ' . 'extractfields class method not implemented',getlogger(__PACKAGE__));
}
$context->{files_code}->(sub {
$context->{files_code}->($context,sub {
my $filename = shift;
if (-s $filename > 0) {
fileprocessingstarted($filename,getlogger(__PACKAGE__));

Loading…
Cancel
Save