package App::Netdisco::DB::Result::Virtual::LastNode; use strict; use warnings; use base 'DBIx::Class::Core'; __PACKAGE__->table_class('DBIx::Class::ResultSource::View'); __PACKAGE__->table('last_node'); __PACKAGE__->result_source_instance->is_virtual(1); __PACKAGE__->result_source_instance->view_definition(<<ENDSQL SELECT DISTINCT ON (switch, port) * FROM node ORDER BY switch, port, time_last desc ENDSQL ); __PACKAGE__->add_columns( "mac", { data_type => "macaddr", is_nullable => 0 }, "switch", { data_type => "inet", is_nullable => 0 }, "port", { data_type => "text", is_nullable => 0 }, "active", { data_type => "boolean", is_nullable => 1 }, "oui", { data_type => "varchar", is_nullable => 1, size => 9 }, "time_first", { data_type => "timestamp", default_value => \"LOCALTIMESTAMP", is_nullable => 1, original => { default_value => \"LOCALTIMESTAMP" }, }, "time_recent", { data_type => "timestamp", default_value => \"LOCALTIMESTAMP", is_nullable => 1, original => { default_value => \"LOCALTIMESTAMP" }, }, "time_last", { data_type => "timestamp", default_value => \"LOCALTIMESTAMP", is_nullable => 1, original => { default_value => \"LOCALTIMESTAMP" }, }, "vlan", { data_type => "text", is_nullable => 0, default_value => '0' }, ); 1;