Changeset 420 for trunk/DNSDB.pm
- Timestamp:
- 10/10/12 13:24:53 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/DNSDB.pm
r418 r420 3377 3377 # sort reverse zones on IP, correctly 3378 3378 # do other fiddling with $args{sortby} while we're at it. 3379 $args{sortby} = "r.$args{sortby}"; 3380 $args{sortby} = 'CAST (r.val AS inet)' 3381 if $args{revrec} eq 'y' && $args{defrec} eq 'n' && $args{sortby} eq 'r.val'; 3382 $args{sortby} = 't.alphaorder' if $args{sortby} eq 'r.type'; 3379 # whee! multisort means just passing comma-separated fields in sortby! 3380 my $newsort = ''; 3381 foreach my $sf (split /,/, $args{sortby}) { 3382 $sf = "r.$sf"; 3383 $sf =~ s/r\.val/CAST (r.val AS inet)/ 3384 if $args{revrec} eq 'y' && $args{defrec} eq 'n'; 3385 $sf =~ s/r\.type/t.alphaorder/; 3386 $newsort .= ",$sf"; 3387 } 3388 $newsort =~ s/^,//; 3383 3389 3384 3390 my $sql = "SELECT r.record_id,r.host,r.type,r.val,r.ttl"; … … 3391 3397 $sql .= " AND NOT r.type=$reverse_typemap{SOA}"; 3392 3398 $sql .= " AND host ~* ?" if $args{filter}; 3393 $sql .= " ORDER BY $ args{sortby}$args{sortorder}";3399 $sql .= " ORDER BY $newsort $args{sortorder}"; 3394 3400 # ensure consistent ordering by sorting on record_id too 3395 3401 $sql .= ", record_id $args{sortorder}";
Note:
See TracChangeset
for help on using the changeset viewer.