From 03cd85038089d04b3cd68db559ce24696e0ffbba Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Thu, 26 Apr 2012 13:26:11 -0700 Subject: [PATCH] better duplicate checking for ip address, #17515 --- FS/FS/Schema.pm | 2 +- FS/FS/svc_broadband.pm | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index fdf29e0a0..a403af309 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -2544,7 +2544,7 @@ sub tables_hashref { 'plan_id', 'varchar', 'NULL', $char_d, '', '', ], 'primary_key' => 'svcnum', - 'unique' => [ [ 'mac_addr' ] ], + 'unique' => [ [ 'ip_addr' ], [ 'mac_addr' ] ], 'index' => [], }, diff --git a/FS/FS/svc_broadband.pm b/FS/FS/svc_broadband.pm index 636ba1fd9..307493264 100755 --- a/FS/FS/svc_broadband.pm +++ b/FS/FS/svc_broadband.pm @@ -542,9 +542,9 @@ sub _check_ip_addr { sub _check_duplicate { my $self = shift; - - $self->lock_table; - + # Not a reliable check because the table isn't locked, but + # that's why we have a unique index. This is just to give a + # friendlier error message. my @dup; @dup = $self->find_duplicates('global', 'ip_addr'); if ( @dup ) { -- 2.11.0