From d62d1aacf88a1001ff65e655273e3135dbf8907b Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Wed, 22 Feb 2012 19:49:45 +0000 Subject: [PATCH] use +columns instead of +select/+as --- Netdisco/lib/Netdisco/DB/Result/NodeIp.pm | 9 ++++----- Netdisco/lib/Netdisco/DB/ResultSet/Device.pm | 20 +++++++------------ .../lib/Netdisco/DB/ResultSet/DevicePort.pm | 14 +++++-------- Netdisco/lib/Netdisco/DB/ResultSet/Node.pm | 9 ++++----- Netdisco/lib/Netdisco/DB/ResultSet/NodeIp.pm | 9 ++++----- 5 files changed, 24 insertions(+), 37 deletions(-) diff --git a/Netdisco/lib/Netdisco/DB/Result/NodeIp.pm b/Netdisco/lib/Netdisco/DB/Result/NodeIp.pm index 7cbf5aab..ec0f51db 100644 --- a/Netdisco/lib/Netdisco/DB/Result/NodeIp.pm +++ b/Netdisco/lib/Netdisco/DB/Result/NodeIp.pm @@ -132,11 +132,10 @@ __PACKAGE__->has_many( nodes => 'Netdisco::DB::Result::Node', my $search_attr = { order_by => {'-desc' => 'time_last'}, - '+select' => [ - \"to_char(time_first, 'YYYY-MM-DD HH24:MI')", - \"to_char(time_last, 'YYYY-MM-DD HH24:MI')", - ], - '+as' => [qw/ time_first_stamp time_last_stamp /], + '+columns' => { + time_first_stamp => \"to_char(time_first, 'YYYY-MM-DD HH24:MI')", + time_last_stamp => \"to_char(time_last, 'YYYY-MM-DD HH24:MI')", + }, }; =head2 ip_aliases( \%cond, \%attrs? ) diff --git a/Netdisco/lib/Netdisco/DB/ResultSet/Device.pm b/Netdisco/lib/Netdisco/DB/ResultSet/Device.pm index e86a2f33..3226c0dd 100644 --- a/Netdisco/lib/Netdisco/DB/ResultSet/Device.pm +++ b/Netdisco/lib/Netdisco/DB/ResultSet/Device.pm @@ -33,19 +33,13 @@ sub with_times { ->search_rs($cond, $attrs) ->search({}, { - '+select' => [ - \"replace(age(timestamp 'epoch' + uptime / 100 * interval '1 second', - timestamp '1970-01-01 00:00:00-00')::text, 'mon', 'month')", - \"to_char(last_discover, 'YYYY-MM-DD HH24:MI')", - \"to_char(last_macsuck, 'YYYY-MM-DD HH24:MI')", - \"to_char(last_arpnip, 'YYYY-MM-DD HH24:MI')", - ], - '+as' => [qw/ - uptime_age - last_discover_stamp - last_macsuck_stamp - last_arpnip_stamp - /], + '+columns' => { + uptime_age => \("replace(age(timestamp 'epoch' + uptime / 100 * interval '1 second' " + ."timestamp '1970-01-01 00:00:00-00')::text, 'mon', 'month')"), + last_discover_stamp => \"to_char(last_discover, 'YYYY-MM-DD HH24:MI')", + last_macsuck_stamp => \"to_char(last_macsuck, 'YYYY-MM-DD HH24:MI')", + last_arpnip_stamp => \"to_char(last_arpnip, 'YYYY-MM-DD HH24:MI')", + }, }); } diff --git a/Netdisco/lib/Netdisco/DB/ResultSet/DevicePort.pm b/Netdisco/lib/Netdisco/DB/ResultSet/DevicePort.pm index 84bb8b7a..5c3a525a 100644 --- a/Netdisco/lib/Netdisco/DB/ResultSet/DevicePort.pm +++ b/Netdisco/lib/Netdisco/DB/ResultSet/DevicePort.pm @@ -26,11 +26,9 @@ sub with_times { ->search_rs($cond, $attrs) ->search({}, { - '+select' => [ - \"to_char(device.last_discover - (device.uptime - lastchange) / 100 * interval '1 second', - 'YYYY-MM-DD HH24:MI:SS')", - ], - '+as' => [qw/ lastchange_stamp /], + '+columns' => { lastchange_stamp => + \("to_char(device.last_discover - (device.uptime - lastchange) / 100 * interval '1 second', " + ."'YYYY-MM-DD HH24:MI:SS')") }, join => 'device', }); } @@ -61,14 +59,12 @@ sub with_is_free { ->search_rs($cond, $attrs) ->search({}, { - '+select' => [ + '+columns' => { is_free => \["up != 'up' and " ."age(to_timestamp(extract(epoch from device.last_discover) " ."- (device.uptime - lastchange)/100)) " ."> ?::interval", - [{} => $interval]], - ], - '+as' => [qw/ is_free /], + [{} => $interval]] }, join => 'device', }); } diff --git a/Netdisco/lib/Netdisco/DB/ResultSet/Node.pm b/Netdisco/lib/Netdisco/DB/ResultSet/Node.pm index eccaf8c8..713cf307 100644 --- a/Netdisco/lib/Netdisco/DB/ResultSet/Node.pm +++ b/Netdisco/lib/Netdisco/DB/ResultSet/Node.pm @@ -49,12 +49,11 @@ sub search_by_mac { return $rs ->search_rs({}, { order_by => {'-desc' => 'time_last'}, - '+columns' => [qw/ device.dns /], - '+select' => [ - \"to_char(time_first, 'YYYY-MM-DD HH24:MI')", - \"to_char(time_last, 'YYYY-MM-DD HH24:MI')", + '+columns' => [ + 'device.dns', + { time_first_stamp => \"to_char(time_first, 'YYYY-MM-DD HH24:MI')" }, + { time_last_stamp => \"to_char(time_last, 'YYYY-MM-DD HH24:MI')" }, ], - '+as' => [qw/ time_first_stamp time_last_stamp /], join => 'device', }) ->search($cond, $attrs); diff --git a/Netdisco/lib/Netdisco/DB/ResultSet/NodeIp.pm b/Netdisco/lib/Netdisco/DB/ResultSet/NodeIp.pm index 6e0dcc54..3a31f272 100644 --- a/Netdisco/lib/Netdisco/DB/ResultSet/NodeIp.pm +++ b/Netdisco/lib/Netdisco/DB/ResultSet/NodeIp.pm @@ -24,12 +24,11 @@ sub has_dns_col { my $search_attr = { order_by => {'-desc' => 'time_last'}, - '+columns' => [qw/ oui.company /], - '+select' => [ - \"to_char(time_first, 'YYYY-MM-DD HH24:MI')", - \"to_char(time_last, 'YYYY-MM-DD HH24:MI')", + '+columns' => [ + 'oui.company', + { time_first_stamp => \"to_char(time_first, 'YYYY-MM-DD HH24:MI')" }, + { time_last_stamp => \"to_char(time_last, 'YYYY-MM-DD HH24:MI')" }, ], - '+as' => [qw/ time_first_stamp time_last_stamp /], join => 'oui' };