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