use +columns instead of +select/+as

This commit is contained in:
Oliver Gorwits
2012-02-22 19:49:45 +00:00
parent 9857ae2868
commit d62d1aacf8
5 changed files with 24 additions and 37 deletions

View File

@@ -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? )

View File

@@ -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')",
},
});
}

View File

@@ -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',
});
}

View File

@@ -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);

View File

@@ -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'
};