Changeset 710 for trunk/DNSDB.pm


Ignore:
Timestamp:
03/17/16 15:06:32 (8 years ago)
Author:
Kris Deugau
Message:

/trunk

Refine/fix behaviour of updateRevSet() and chained subs

  • properly represent add, update, and delete actions all in one set
  • do nothing on null "updates" to keep log noise down
  • properly target requests to a single location to avoid stomping unrelated records
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/DNSDB.pm

    r709 r710  
    51835183## DNSDB::getZonesByCIDR()
    51845184# Get a list of zone names and IDs that records for a passed CIDR block are within.
     5185# Optionally restrict to a specific location/view
    51855186sub getZonesByCIDR {
    51865187  my $self = shift;
     
    51885189  my %args = @_;
    51895190
    5190   my $result = $dbh->selectall_arrayref("SELECT rdns_id,revnet FROM revzones WHERE revnet >>= ? OR revnet <<= ?",
    5191         { Slice => {} }, ($args{cidr}, $args{cidr}) );
     5191  my $sql = "SELECT rdns_id,revnet,default_location FROM revzones WHERE revnet >>= ? OR revnet <<= ?".
     5192        ($args{location} ? " AND default_location = ?" : '');
     5193  my @svals = ($args{cidr}, $args{cidr});
     5194  push @svals, $args{location} if $args{location};
     5195
     5196  my $result = $dbh->selectall_arrayref($sql, { Slice => {} }, @svals );
    51925197  return $result;
    51935198} # end getZonesByCIDR()
     
    53515356##fixme:  serial
    53525357      $dbh->do("INSERT INTO domains (domain,group_id,status) VALUES (?,?,?)", undef,
    5353         ($zone, $group, $args{status}) );
     5358        ($zone, $group, $args{status}) ) or die $dbh->errstr;
    53545359      # get domain id so we can do the records
    53555360      ($zone_id) = $dbh->selectrow_array("SELECT currval('domains_domain_id_seq')");
Note: See TracChangeset for help on using the changeset viewer.