commit 78c6045d6acea03ade3564c6c8d04885af3ff944
parent c9723551efa4099bfdc26685bc2ea26791c5b26d
Author: Kyle Milz <kyle@getaddrinfo.net>
Date: Mon, 4 May 2015 23:51:42 -0600
pc_html: let gen_folder do the coarse list sql query
Diffstat:
M | pc_html | | | 27 | +++++++++++++++------------ |
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/pc_html b/pc_html
@@ -61,13 +61,13 @@ my $products_fine = qq{select distinct products.manufacturer, products.part_num
my $summary = qq{select type, count(*) from products where manufacturer = ? group by type};
-my $coarse_list = qq{select products.manufacturer, count(distinct products.part_num)
+my $coarse_sql = qq{select products.manufacturer, count(distinct products.part_num)
as count, products.type from products, prices where $part_equality
group by products.manufacturer, products.type};
my @key_fields = ("manufacturer", "type");
-my $coarse = $dbh->selectall_hashref($coarse_list, \@key_fields);
-generate_folder($stale_list, $types, $products_fine, "Manufacturers", $coarse, $summary);
+generate_folder($stale_list, $types, $products_fine, "Manufacturers", $summary,
+ $coarse_sql, \@key_fields);
#
# retailers
@@ -85,13 +85,13 @@ $products_fine = qq{select distinct prices.manufacturer, prices.part_num
$summary = qq{select manufacturer, count(*) from prices where retailer = ?
group by manufacturer};
-$coarse_list = qq{select prices.retailer, count(distinct products.part_num) as
+$coarse_sql = qq{select prices.retailer, count(distinct products.part_num) as
count, products.type from products, prices where $part_equality group by
prices.retailer, products.type};
@key_fields = ("retailer", "type");
-$coarse = $dbh->selectall_hashref($coarse_list, \@key_fields);
-generate_folder($stale_list, $types, $products_fine, "Retailers", $coarse, $summary);
+generate_folder($stale_list, $types, $products_fine, "Retailers", $summary,
+ $coarse_sql, \@key_fields);
#
# product types
@@ -109,12 +109,13 @@ $products_fine = qq{select distinct prices.manufacturer, prices.part_num
$summary = qq{select manufacturer, count(*) from products where type = ?
group by manufacturer};
-$coarse_list = qq{select type, count(*) as count, manufacturer from products
- group by type, manufacturer};
+$coarse_sql = qq{select products.type, count(distinct products.part_num) as count,
+ products.manufacturer from products, prices where $part_equality
+ group by products.type, products.manufacturer};
@key_fields = ("type", "manufacturer");
-$coarse = $dbh->selectall_hashref($coarse_list, \@key_fields);
-generate_folder($stale_list, $types, $products_fine, "Types", $coarse, $summary);
+generate_folder($stale_list, $types, $products_fine, "Types", $summary,
+ $coarse_sql, \@key_fields);
#
# products
@@ -249,12 +250,14 @@ sub generate_folder
$www->process("summary.tt", $vars, "$name_lc/$it_link.html")
or die $www->error(), "\n";
}
+ print "\b" . scalar @$stale_list . " processed\n" if ($args{v});
+
+ return unless (@$stale_list);
+ my $coarse_list = $dbh->selectall_hashref($coarse_sql, $coarse_keys_ref);
my $vars = { name => $name, list => $coarse_list };
$www->process("coarse_list.tt", $vars, "$name_lc.html")
or die $www->error(), "\n";
-
- print "\b" . scalar @$stale_list . " processed\n" if ($args{v});
}
sub linkify