You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by de...@apache.org on 2017/03/22 16:55:01 UTC
[2/4] incubator-trafficcontrol git commit: Updated syntax on stats
endpoint fetch to use native hash contruction.
Updated syntax on stats endpoint fetch to use native hash contruction.
This improves performance slightly and readability considerably.
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/02a3acd9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/02a3acd9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/02a3acd9
Branch: refs/heads/master
Commit: 02a3acd90b66edfce123b4ae1866a0df163b8433
Parents: d0c0862
Author: Chris Lemmons <al...@gmail.com>
Authored: Wed Mar 22 10:41:38 2017 -0600
Committer: Dewayne Richardson <de...@apache.org>
Committed: Wed Mar 22 10:54:54 2017 -0600
----------------------------------------------------------------------
traffic_ops/app/lib/UI/Server.pm | 174 +++++++---------------------------
1 file changed, 36 insertions(+), 138 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/02a3acd9/traffic_ops/app/lib/UI/Server.pm
----------------------------------------------------------------------
diff --git a/traffic_ops/app/lib/UI/Server.pm b/traffic_ops/app/lib/UI/Server.pm
index 3e13179..c07a018 100644
--- a/traffic_ops/app/lib/UI/Server.pm
+++ b/traffic_ops/app/lib/UI/Server.pm
@@ -113,38 +113,40 @@ sub getserverdata {
my $dbh = $self->db->storage->dbh;
$orderby = $dbh->quote_identifier($orderby);
my $qry = 'SELECT
-cdn.name,
-sv.id,
-sv.host_name,
-sv.domain_name,
-sv.tcp_port,
-sv.https_port,
-sv.xmpp_id,
-sv.interface_name,
-sv.ip_address,
-sv.ip_netmask,
-sv.ip_gateway,
-sv.ip6_address,
-sv.ip6_gateway,
-sv.interface_mtu,
-cg.name,
-pl.name,
-sv.guid,
-sv.rack,
-tp.name,
-st.name,
-sv.offline_reason,
-pf.name,
-sv.mgmt_ip_address,
-sv.mgmt_ip_netmask,
-sv.mgmt_ip_gateway,
-sv.ilo_ip_address,
-sv.ilo_ip_netmask,
-sv.ilo_ip_gateway,
-sv.ilo_username,
-sv.router_host_name,
-sv.router_port_name,
-sv.last_updated
+cdn.name AS cdn_name,
+sv.id AS id,
+sv.host_name AS host_name,
+sv.domain_name AS domain_name,
+sv.tcp_port AS tcp_port,
+sv.https_port AS https_port,
+sv.xmpp_id AS xmpp_id,
+\'**********\' AS xmpp_passwd,
+sv.interface_name AS interface_name,
+sv.ip_address AS ip_address,
+sv.ip_netmask AS ip_netmask,
+sv.ip_gateway AS ip_gateway,
+sv.ip6_address AS ip6_address,
+sv.ip6_gateway AS ip6_gateway,
+sv.interface_mtu AS interface_mtu,
+cg.name AS cachegroup,
+pl.name AS phys_location,
+sv.guid AS guid,
+sv.rack AS _rack,
+tp.name AS type,
+st.name AS status,
+sv.offline_reason AS offline_reason,
+pf.name AS profile,
+sv.mgmt_ip_address AS mgmt_ip_address,
+sv.mgmt_ip_netmask AS mgmt_ip_netmask,
+sv.mgmt_ip_gateway AS mgmt_ip_gateway,
+sv.ilo_ip_address AS ilo_ip_address,
+sv.ilo_ip_netmask AS ilo_ip_netmask,
+sv.ilo_ip_gateway AS ilo_ip_gateway,
+sv.ilo_username AS ilo_username,
+\'**********\' AS ilo_password,
+sv.router_host_name AS router_host_name,
+sv.router_port_name AS router_port_name,
+sv.last_updated AS last_updated
FROM server sv
LEFT JOIN cdn cdn ON cdn.id = sv.cdn_id
LEFT JOIN type tp ON tp.id = sv.type
@@ -156,112 +158,8 @@ ORDER BY sv.'.$orderby.';';
my $stmt = $dbh->prepare($qry);
$stmt->execute();
- my $cdn_name;
- my $sv_id;
- my $sv_host_name;
- my $sv_domain_name;
- my $sv_tcp_port;
- my $sv_https_port;
- my $sv_xmpp_id;
- my $sv_interface_name;
- my $sv_ip_address;
- my $sv_ip_netmask;
- my $sv_ip_gateway;
- my $sv_ip6_address;
- my $sv_ip6_gateway;
- my $sv_interface_mtu;
- my $cg_name;
- my $pl_name;
- my $sv_guid;
- my $sv_rack;
- my $tp_name;
- my $st_name;
- my $sv_offline_reason;
- my $pf_name;
- my $sv_mgmt_ip_address;
- my $sv_mgmt_ip_netmask;
- my $sv_mgmt_ip_gateway;
- my $sv_ilo_ip_address;
- my $sv_ilo_ip_netmask;
- my $sv_ilo_ip_gateway;
- my $sv_ilo_username;
- my $sv_router_host_name;
- my $sv_router_port_name;
- my $sv_last_updated;
- $stmt->bind_columns(
- \$cdn_name,
- \$sv_id,
- \$sv_host_name,
- \$sv_domain_name,
- \$sv_tcp_port,
- \$sv_https_port,
- \$sv_xmpp_id,
- \$sv_interface_name,
- \$sv_ip_address,
- \$sv_ip_netmask,
- \$sv_ip_gateway,
- \$sv_ip6_address,
- \$sv_ip6_gateway,
- \$sv_interface_mtu,
- \$cg_name,
- \$pl_name,
- \$sv_guid,
- \$sv_rack,
- \$tp_name,
- \$st_name,
- \$sv_offline_reason,
- \$pf_name,
- \$sv_mgmt_ip_address,
- \$sv_mgmt_ip_netmask,
- \$sv_mgmt_ip_gateway,
- \$sv_ilo_ip_address,
- \$sv_ilo_ip_netmask,
- \$sv_ilo_ip_gateway,
- \$sv_ilo_username,
- \$sv_router_host_name,
- \$sv_router_port_name,
- \$sv_last_updated
- );
-
- while ( my $row = $stmt->fetch() ) {
- push(
- @data, {
- "id" => $sv_id,
- "host_name" => $sv_host_name,
- "domain_name" => $sv_domain_name,
- "tcp_port" => $sv_tcp_port,
- "https_port" => $sv_https_port,
- "xmpp_id" => $sv_xmpp_id,
- "xmpp_passwd" => "**********",
- "interface_name" => $sv_interface_name,
- "ip_address" => $sv_ip_address,
- "ip_netmask" => $sv_ip_netmask,
- "ip_gateway" => $sv_ip_gateway,
- "ip6_address" => $sv_ip6_address,
- "ip6_gateway" => $sv_ip6_gateway,
- "interface_mtu" => $sv_interface_mtu,
- "cdn" => $cdn_name,
- "cachegroup" => $cg_name,
- "phys_location" => $pl_name,
- "guid" => $sv_guid,
- "rack" => $sv_rack,
- "type" => $tp_name,
- "status" => $st_name,
- "offline_reason" => $sv_offline_reason,
- "profile" => $pf_name,
- "mgmt_ip_address" => $sv_mgmt_ip_address,
- "mgmt_ip_netmask" => $sv_mgmt_ip_netmask,
- "mgmt_ip_gateway" => $sv_mgmt_ip_gateway,
- "ilo_ip_address" => $sv_ilo_ip_address,
- "ilo_ip_netmask" => $sv_ilo_ip_netmask,
- "ilo_ip_gateway" => $sv_ilo_ip_gateway,
- "ilo_username" => $sv_ilo_username,
- "ilo_password" => "**********",
- "router_host_name" => $sv_router_host_name,
- "router_port_name" => $sv_router_port_name,
- "last_updated" => $sv_last_updated,
- }
- );
+ while ( my $row = $stmt->fetchrow_hashref() ) {
+ push( @data, $row );
}
return ( \@data );
}