[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gforge-commits] gforge/deb-specific stats_cvs.pl,1.11,1.12
From: |
cbayle |
Subject: |
[Gforge-commits] gforge/deb-specific stats_cvs.pl,1.11,1.12 |
Date: |
Fri, 09 Jan 2004 18:29:42 -0600 |
Update of /cvsroot/gforge/gforge/deb-specific
In directory db.perdue.net:/tmp/cvs-serv22779/deb-specific
Modified Files:
stats_cvs.pl
Log Message:
Patch [ #615 ] CVS Stats User Script Generator + CVS project history
Index: stats_cvs.pl
===================================================================
RCS file: /cvsroot/gforge/gforge/deb-specific/stats_cvs.pl,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- stats_cvs.pl 23 Dec 2002 13:17:12 -0000 1.11
+++ stats_cvs.pl 10 Jan 2004 00:29:39 -0000 1.12
@@ -149,6 +149,69 @@
print "-----------------------------------------------------\n";
}
+sub cvs_stats_merge {
+ print "-----------------------------------------------------\n";
+ print "Inserting cvs data into\n";
+ print "-----------------------------------------------------\n";
+ my ($sql,$res,$temp);
+ $sql = "DELETE FROM stats_cvs_group
+ WHERE (month,day,group_id) IN (
+ SELECT d.month+ d.year*100,
+ d.day,g.group_id
+ FROM deb_cvs_group_user AS d, groups AS g
+ WHERE d.cvsgroup=g.unix_group_name
+ GROUP BY d.month,d.year,d.day,g.group_id
+ )";
+ $dbh->do ( $sql );
+ $sql = "INSERT INTO stats_cvs_group
+ SELECT d.month + d.year * 100,
+ d.day,g.group_id,
+ sum(coalesce(d.others,0)),
+ sum(coalesce(d.modified,0)),
+ sum(COALESCE(d.added,0))
+ FROM deb_cvs_group_user AS d,groups AS g
+ WHERE d.cvsgroup=g.unix_group_name
+ and (d.month + d.year * 100,
+ d.day,
+ g.group_id) NOT IN (
+ SELECT month,day,group_id FROM stats_cvs_group
+ )
+ GROUP BY year,month,day,group_id
+ ";
+ $dbh->do ( $sql );
+
+ $sql = "DELETE FROM stats_cvs_user
+ WHERE (month,day,group_id,user_id) IN (
+ SELECT d.month+ d.year*100,
+ d.day,g.group_id,u.user_id
+ FROM deb_cvs_group_user AS d, groups AS g, users as u
+ WHERE d.cvsgroup=g.unix_group_name AND
d.cvsuser=u.user_name
+ GROUP BY d.month,d.year,d.day,g.group_id,u.user_id
+ )";
+ $dbh->do ( $sql );
+ $sql = "INSERT INTO stats_cvs_user
+ SELECT d.month + d.year * 100,
+ d.day,
+ g.group_id,
+ u.user_id,
+ sum(coalesce(d.others,0)),
+ sum(coalesce(d.modified,0)),
+ sum(COALESCE(d.added,0))
+ FROM deb_cvs_group_user AS d,groups AS g, users AS u
+ WHERE d.cvsgroup=g.unix_group_name and
+ d.cvsuser=u.user_name
+ and (d.month + d.year * 100,
+ d.day,
+ g.group_id,
+ u.user_id) NOT IN (
+ SELECT month,day,group_id,user_id FROM
stats_cvs_user
+ )
+ GROUP BY year,month,day,group_id,user_id
+ ";
+ $dbh->do ( $sql );
+
+ print " [ x ] Done\n";
+}
#############
# main #
#############
@@ -158,5 +221,6 @@
&dump_history;
&parse_history;
&print_stats;
+&cvs_stats_merge;
&drop_tables;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gforge-commits] gforge/deb-specific stats_cvs.pl,1.11,1.12,
cbayle <=