33 lines
		
	
	
		
			872 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			872 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
| package App::Netdisco::DB::Result::Virtual::OrphanedDevices;
 | |
| 
 | |
| use strict;
 | |
| use warnings;
 | |
| 
 | |
| use utf8;
 | |
| use base 'App::Netdisco::DB::Result::Device';
 | |
| 
 | |
| __PACKAGE__->load_components('Helper::Row::SubClass');
 | |
| __PACKAGE__->subclass;
 | |
| 
 | |
| __PACKAGE__->table_class('DBIx::Class::ResultSource::View');
 | |
| __PACKAGE__->table('orphaned_devices');
 | |
| __PACKAGE__->result_source_instance->is_virtual(1);
 | |
| __PACKAGE__->result_source_instance->view_definition(<<'ENDSQL');
 | |
| SELECT *
 | |
| FROM device
 | |
| WHERE ip NOT IN
 | |
|     ( SELECT DISTINCT dp.ip AS ip
 | |
|      FROM
 | |
|        (SELECT device_port.ip,
 | |
|                device_port.remote_ip
 | |
|         FROM device_port
 | |
|         WHERE device_port.remote_port IS NOT NULL
 | |
|         GROUP BY device_port.ip,
 | |
|                  device_port.remote_ip
 | |
|         ORDER BY device_port.ip) dp
 | |
|      LEFT JOIN device_ip di ON dp.remote_ip = di.alias
 | |
|      WHERE di.ip IS NOT NULL)
 | |
| ENDSQL
 | |
| 
 | |
| 1;
 |