[Fusionforge-commits] r8068 - in trunk/gforge: common/reporting cronjobs
Roland Mas
lolando at libremir.placard.fr.eu.org
Mon Aug 31 19:05:59 CEST 2009
Author: lolando
Date: 2009-08-31 19:05:59 +0200 (Mon, 31 Aug 2009)
New Revision: 8068
Modified:
trunk/gforge/common/reporting/ReportSetup.class.php
trunk/gforge/cronjobs/auth_unix.php
trunk/gforge/cronjobs/db_trove_maint.php
Log:
Fixed syntax (thanks, buildbot) and simplified a few queries
Modified: trunk/gforge/common/reporting/ReportSetup.class.php
===================================================================
--- trunk/gforge/common/reporting/ReportSetup.class.php 2009-08-31 16:36:18 UTC (rev 8067)
+++ trunk/gforge/common/reporting/ReportSetup.class.php 2009-08-31 17:05:59 UTC (rev 8068)
@@ -699,10 +699,10 @@
return db_query_params ('INSERT INTO rep_users_cum_daily (day,total)
VALUES ($1,(SELECT count(*) FROM users WHERE status=$2 AND add_date
- BETWEEN '0' AND $3))',
- array($day,
- 'A',
- $day));
+ BETWEEN 0 AND $3))',
+ array($day,
+ 'A',
+ $day));
}
/**
@@ -747,10 +747,10 @@
return db_query_params ('INSERT INTO rep_groups_cum_daily (day,total)
VALUES ($1,(SELECT count(*) FROM groups WHERE status=$2 AND register_time
- BETWEEN '0' AND $3))',
- array($day,
- 'A',
- $day));
+ BETWEEN 0 AND $3))',
+ array($day,
+ 'A',
+ $day));
}
/**
@@ -878,10 +878,10 @@
return db_query_params ('INSERT INTO rep_users_cum_monthly (month,total)
VALUES ($1,(SELECT count(*) FROM users WHERE status=$2 AND add_date
- BETWEEN '0' AND $3))',
- array($month,
- 'A',
- $end));
+ BETWEEN 0 AND $3))',
+ array($month,
+ 'A',
+ $end));
}
/**
@@ -920,10 +920,10 @@
return db_query_params ('INSERT INTO rep_groups_cum_monthly (month,total)
VALUES ($1,(SELECT count(*) FROM groups WHERE status=$2 AND register_time
- BETWEEN '0' AND $3))',
- array($month,
- 'A',
- $end));
+ BETWEEN 0 AND $3))',
+ array($month,
+ 'A',
+ $end));
}
/**
@@ -966,66 +966,7 @@
$end_day=$day+REPORT_DAY_SPAN-1;
- if ( $sys_database_type == "mysql" ) {
-
- return db_query_mysql("INSERT INTO rep_user_act_daily
- SELECT user_id,$day,coalesce(tracker_opened,0) AS tracker_opened,
- coalesce(tracker_closed,0) AS tracker_closed,
- coalesce(forum,0) AS forum,
- coalesce(docs,0) AS docs,
- coalesce(cvs_commits,0) AS cvs_commits,
- coalesce(tasks_opened,0) AS tasks_opened,
- coalesce(tasks_closed,0) AS tasks_closed
- FROM
- (((((((((SELECT submitted_by AS user_id FROM artifact WHERE open_date BETWEEN '$day' AND '$end_day')
- UNION
- (SELECT assigned_to AS user_id FROM artifact WHERE close_date BETWEEN '$day' AND '$end_day')
- UNION
- (SELECT posted_by AS user_id FROM forum WHERE post_date BETWEEN '$day' AND '$end_day')
- UNION
- (SELECT created_by AS user_id FROM doc_data WHERE createdate BETWEEN '$day' AND '$end_day' )
- UNION
- (SELECT user_id FROM stats_cvs_user WHERE month='". date('Ym') ."' AND day='". date('d') ."')
- UNION
- (SELECT created_by AS user_id FROM project_task WHERE start_date BETWEEN '$day' AND '$end_day')
- UNION
- (SELECT mod_by AS user_id FROM project_history WHERE mod_date BETWEEN '$day' AND '$end_day')) AS t_users
- LEFT JOIN
- (SELECT submitted_by AS user_id, count(*) AS tracker_opened FROM artifact
- WHERE open_date BETWEEN '$day' AND '$end_day'
- GROUP BY user_id) AS tmp1 USING (user_id))
- LEFT JOIN
- (SELECT assigned_to AS user_id, count(*) AS tracker_closed FROM artifact
- WHERE close_date BETWEEN '$day' AND '$end_day'
- GROUP BY user_id) AS tmp2 USING (user_id))
- LEFT JOIN
- (SELECT posted_by AS user_id, count(*) AS forum
- FROM forum
- WHERE post_date BETWEEN '$day' AND '$end_day'
- GROUP BY user_id) AS tmp3 USING (user_id))
- LEFT JOIN
- (SELECT created_by AS user_id, count(*) AS docs
- FROM doc_data
- WHERE createdate BETWEEN '$day' AND '$end_day'
- GROUP BY user_id) AS tmp4 USING (user_id))
- LEFT JOIN
- (SELECT user_id, sum(commits) AS cvs_commits
- FROM stats_cvs_user
- WHERE month='". date('Ym') ."' AND day='". date('d') ."'
- GROUP BY user_id) AS tmp5 USING (user_id))
- LEFT JOIN
- (SELECT created_by AS user_id, count(*) AS tasks_opened
- FROM project_task
- WHERE start_date BETWEEN '$day' AND '$end_day'
- GROUP BY user_id) AS tmp6 USING (user_id))
- LEFT JOIN
- (SELECT mod_by AS user_id, count(*) AS tasks_closed
- FROM project_history
- WHERE mod_date BETWEEN '$day' AND '$end_day' AND old_value='1' AND field_name='status_id'
- GROUP BY user_id) AS tmp7 USING (user_id))");
- } else {
-
- return db_query_params ('INSERT INTO rep_user_act_daily
+ return db_query_params ('INSERT INTO rep_user_act_daily
SELECT user_id,day,coalesce(tracker_opened,0) AS tracker_opened,
coalesce(tracker_closed,0) AS tracker_closed,
coalesce(forum,0) AS forum,
@@ -1039,72 +980,53 @@
(SELECT * FROM
(SELECT * FROM
(SELECT * FROM
- (SELECT * FROM
- (SELECT submitted_by AS user_id, $1::int AS day, count(*) AS tracker_opened
+ (SELECT * FROM
+ (SELECT submitted_by AS user_id, $1 AS day, count(*) AS tracker_opened
FROM artifact
- WHERE open_date BETWEEN $2 AND $3
- GROUP BY user_id,day) aopen
+ WHERE open_date BETWEEN $1 AND $2
+ GROUP BY user_id,day) aopen
- FULL OUTER JOIN
- (SELECT assigned_to AS user_id, $4::int AS day, count(*) AS tracker_closed
+ FULL OUTER JOIN
+ (SELECT assigned_to AS user_id, $1 AS day, count(*) AS tracker_closed
FROM artifact
- WHERE close_date BETWEEN $5 AND $6
+ WHERE close_date BETWEEN $1 AND $2
GROUP BY user_id,day ) aclosed USING (user_id,day)) foo1
- FULL OUTER JOIN
- (SELECT posted_by AS user_id, $7::int AS day, count(*) AS forum
+ FULL OUTER JOIN
+ (SELECT posted_by AS user_id, $1 AS day, count(*) AS forum
FROM forum
- WHERE post_date BETWEEN $8 AND $9
+ WHERE post_date BETWEEN $1 AND $2
GROUP BY user_id,day ) forum USING (user_id,day)) foo2
FULL OUTER JOIN
- (SELECT created_by AS user_id, $10::int AS day, count(*) AS docs
+ (SELECT created_by AS user_id, $1 AS day, count(*) AS docs
FROM doc_data
- WHERE createdate BETWEEN $11 AND $12
+ WHERE createdate BETWEEN $1 AND $2
GROUP BY user_id,day ) docs USING (user_id,day)) foo3
FULL OUTER JOIN
- (SELECT user_id,$13 AS day, sum(commits) AS cvs_commits
+ (SELECT user_id,$1 AS day, sum(commits) AS cvs_commits
FROM stats_cvs_user
- WHERE month='". date('Ym') ."' AND day='$end_day'
+ WHERE month=$3 AND day=$2
GROUP BY user_id,day ) cvs USING (user_id,day)) foo4
FULL OUTER JOIN
- (SELECT created_by AS user_id, $14::int AS day, count(*) AS tasks_opened
+ (SELECT created_by AS user_id, $1 AS day, count(*) AS tasks_opened
FROM project_task
- WHERE start_date BETWEEN $15 AND $16
+ WHERE start_date BETWEEN $1 AND $2
GROUP BY user_id,day ) topen USING (user_id,day)) foo5
FULL OUTER JOIN
- (SELECT mod_by AS user_id, $17::int AS day, count(*) AS tasks_closed
+ (SELECT mod_by AS user_id, $1 AS day, count(*) AS tasks_closed
FROM project_history
- WHERE mod_date BETWEEN $18 AND $19
- AND old_value=$20 AND field_name=$21
+ WHERE mod_date BETWEEN $1 AND $2
+ AND old_value=$4 AND field_name=$5
GROUP BY user_id,day ) tclosed USING (user_id,day)) foo6',
- array($day,
- $day,
- $end_day,
- $day,
- $day,
- $end_day,
- $day,
- $day,
- $end_day,
- $day,
- $day,
- $end_day,
- $day,
- $day,
- $day,
- $end_day,
- $day,
- $day,
- $end_day,
- 1,
- 'status_id'));
- }
-
-
+ array($day,
+ $end_day,
+ date ('Ym'),
+ 1,
+ 'status_id'));
}
/**
@@ -1264,116 +1186,6 @@
$end_day=$day+REPORT_DAY_SPAN-1;
- if ($sys_database_type == "mysql") {
-
- return db_query_params ('INSERT INTO rep_group_act_daily
- SELECT group_id,$1,coalesce(tracker_opened,0) AS tracker_opened,
- coalesce(tracker_closed,0) AS tracker_closed,
- coalesce(forum,0) AS forum,
- coalesce(docs,0) AS docs,
- coalesce(downloads,0) AS downloads,
- coalesce(cvs_commits,0) AS cvs_commits,
- coalesce(tasks_opened,0) AS tasks_opened,
- coalesce(tasks_closed,0) AS tasks_closed
- FROM
- ((((((((((SELECT agl.group_id FROM artifact a, artifact_group_list agl
- WHERE a.open_date BETWEEN $2 AND $3 AND a.group_artifact_id=agl.group_artifact_id)
- UNION
- (SELECT agl.group_id FROM artifact a, artifact_group_list agl
- WHERE a.close_date BETWEEN $4 AND $5 AND a.group_artifact_id=agl.group_artifact_id)
- UNION
- (SELECT fgl.group_id FROM forum f, forum_group_list fgl
- WHERE f.post_date BETWEEN $6 AND $7 AND f.group_forum_id=fgl.group_forum_id)
- UNION
- (SELECT group_id FROM doc_data WHERE createdate BETWEEN $8 AND $9)
- UNION
- (SELECT fp.group_id FROM frs_package fp, frs_release fr, frs_file ff, frs_dlstats_file fdf
- WHERE fp.package_id=fr.package_id AND fr.release_id=ff.release_id AND ff.file_id=fdf.file_id
- AND fdf.month = '". date('Ym',$day) ."' AND fdf.day = '". date('d',$day) ."')
- UNION
- (SELECT group_id FROM stats_cvs_group WHERE month='".date('Ym',$day)."' AND day='".date('d',$day)."')
- UNION
- (SELECT pgl.group_id FROM project_task pt, project_group_list pgl
- WHERE pt.start_date BETWEEN $10 AND $11 AND pt.group_project_id=pgl.group_project_id)
- UNION
- (SELECT pgl.group_id FROM project_history ph, project_task pt, project_group_list pgl
- WHERE ph.mod_date BETWEEN $12 AND $13
- AND ph.old_value=$14 AND ph.field_name=$15 AND ph.project_task_id=pt.project_task_id
- AND pt.group_project_id=pgl.group_project_id)) t_groups
- LEFT JOIN
- (SELECT agl.group_id, count(*) AS tracker_opened
- FROM artifact a, artifact_group_list agl
- WHERE a.open_date BETWEEN $16 AND $17 AND a.group_artifact_id=agl.group_artifact_id
- GROUP BY group_id) AS tmp1 USING (group_id))
- LEFT JOIN
- (SELECT agl.group_id, count(*) AS tracker_closed
- FROM artifact a, artifact_group_list agl
- WHERE a.close_date BETWEEN $18 AND $19 AND a.group_artifact_id=agl.group_artifact_id
- GROUP BY group_id) AS tmp2 USING (group_id))
- LEFT JOIN
- (SELECT fgl.group_id, count(*) AS forum
- FROM forum f, forum_group_list fgl
- WHERE f.post_date BETWEEN $20 AND $21 AND f.group_forum_id=fgl.group_forum_id
- GROUP BY group_id) AS tmp3 USING (group_id))
- LEFT JOIN
- (SELECT group_id, count(*) AS docs
- FROM doc_data
- WHERE createdate BETWEEN $22 AND $23
- GROUP BY group_id) AS tmp4 USING (group_id))
- LEFT JOIN
- (SELECT fp.group_id, count(*) AS downloads
- FROM frs_package fp, frs_release fr, frs_file ff, frs_dlstats_file fdf
- WHERE fp.package_id=fr.package_id AND fr.release_id=ff.release_id AND ff.file_id=fdf.file_id
- AND fdf.month = '". date('Ym',$day) ."' AND fdf.day = '". date('d',$day) ."'
- GROUP BY fp.group_id) AS tmp5 USING (group_id))
- LEFT JOIN
- (SELECT group_id, sum(commits) AS cvs_commits
- FROM stats_cvs_group
- WHERE month='". date('Ym',$day) ."' AND day='". date('d',$day) ."'
- GROUP BY group_id) AS tmp6 USING (group_id))
- LEFT JOIN
- (SELECT pgl.group_id, count(*) AS tasks_opened
- FROM project_task pt, project_group_list pgl
- WHERE pt.start_date BETWEEN $24 AND $25 AND pt.group_project_id=pgl.group_project_id
- GROUP BY group_id) AS tmp7 USING (group_id))
- LEFT JOIN
- (SELECT pgl.group_id, count(*) AS tasks_closed
- FROM project_history ph, project_task pt, project_group_list pgl
- WHERE ph.mod_date BETWEEN $26 AND $27
- AND ph.old_value=$28 AND ph.field_name=$29 AND ph.project_task_id=pt.project_task_id
- AND pt.group_project_id=pgl.group_project_id
- GROUP BY group_id) AS tmp8 USING (group_id))',
- array($day,
- $day,
- $end_day,
- $day,
- $end_day,
- $day,
- $end_day,
- $day,
- $end_day,
- $day,
- $end_day,
- $day,
- $end_day,
- 1,
- 'status_id',
- $day,
- $end_day,
- $day,
- $end_day,
- $day,
- $end_day,
- $day,
- $end_day,
- $day,
- $end_day,
- $day,
- $end_day,
- 1,
- 'status_id'));
- } else {
-
return db_query_params ('INSERT INTO rep_group_act_daily
SELECT group_id,day,coalesce(tracker_opened,0) AS tracker_opened,
coalesce(tracker_closed,0) AS tracker_closed,
@@ -1390,87 +1202,70 @@
(SELECT * FROM
(SELECT * FROM
(SELECT * FROM
- (SELECT * FROM
- (SELECT agl.group_id, $1::int AS day, count(*) AS tracker_opened
+ (SELECT * FROM
+ (SELECT agl.group_id, $1 AS day, count(*) AS tracker_opened
FROM artifact a, artifact_group_list agl
- WHERE a.open_date BETWEEN $2 AND $3
+ WHERE a.open_date BETWEEN $1 AND $2
AND a.group_artifact_id=agl.group_artifact_id
- GROUP BY group_id,day) aopen
+ GROUP BY group_id,day) aopen
- FULL OUTER JOIN
- (SELECT agl.group_id, $4::int AS day, count(*) AS tracker_closed
+ FULL OUTER JOIN
+ (SELECT agl.group_id, $1 AS day, count(*) AS tracker_closed
FROM artifact a, artifact_group_list agl
- WHERE a.close_date BETWEEN $5 AND $6
+ WHERE a.close_date BETWEEN $1 AND $2
AND a.group_artifact_id=agl.group_artifact_id
GROUP BY group_id,day ) aclosed USING (group_id,day)) foo1
- FULL OUTER JOIN
- (SELECT fgl.group_id, $7::int AS day, count(*) AS forum
+ FULL OUTER JOIN
+ (SELECT fgl.group_id, $1 AS day, count(*) AS forum
FROM forum f, forum_group_list fgl
- WHERE f.post_date BETWEEN $8 AND $9
+ WHERE f.post_date BETWEEN $1 AND $2
AND f.group_forum_id=fgl.group_forum_id
GROUP BY group_id,day ) forum USING (group_id,day)) foo2
FULL OUTER JOIN
- (SELECT group_id, $10::int AS day, count(*) AS docs
+ (SELECT group_id, $1 AS day, count(*) AS docs
FROM doc_data
- WHERE createdate BETWEEN $11 AND $12
+ WHERE createdate BETWEEN $1 AND $2
GROUP BY group_id,day ) docs USING (group_id,day)) foo3
FULL OUTER JOIN
- (SELECT fp.group_id, $13::int AS day, count(*) AS downloads
+ (SELECT fp.group_id, $1 AS day, count(*) AS downloads
FROM frs_package fp, frs_release fr, frs_file ff, frs_dlstats_file fdf
WHERE fp.package_id=fr.package_id
AND fr.release_id=ff.release_id
AND ff.file_id=fdf.file_id
- AND fdf.month = '". date('Ym',$day) ."' AND fdf.day = '". date('d',$day) ."'
+ AND fdf.month = $3 AND fdf.day = $4
GROUP BY fp.group_id,day ) docs USING (group_id,day)) foo4
FULL OUTER JOIN
- (SELECT group_id,$14 AS day, sum(commits) AS cvs_commits
+ (SELECT group_id, $1 AS day, sum(commits) AS cvs_commits
FROM stats_cvs_group
- WHERE month='". date('Ym',$day) ."' AND day='". date('d',$day) ."'
+ WHERE month=$3 AND day=$4
GROUP BY group_id,day ) cvs USING (group_id,day)) foo5
FULL OUTER JOIN
- (SELECT pgl.group_id, $15::int AS day,count(*) AS tasks_opened
+ (SELECT pgl.group_id, $1 AS day,count(*) AS tasks_opened
FROM project_task pt, project_group_list pgl
- WHERE pt.start_date BETWEEN $16 AND $17
+ WHERE pt.start_date BETWEEN $1 AND $2
AND pt.group_project_id=pgl.group_project_id
GROUP BY group_id,day ) topen USING (group_id,day)) foo6
FULL OUTER JOIN
- (SELECT pgl.group_id, $18::int AS day, count(*) AS tasks_closed
+ (SELECT pgl.group_id, $1 AS day, count(*) AS tasks_closed
FROM project_history ph, project_task pt, project_group_list pgl
- WHERE ph.mod_date BETWEEN $19 AND $20
- AND ph.old_value=$21
- AND ph.field_name=$22
+ WHERE ph.mod_date BETWEEN $1 AND $2
+ AND ph.old_value=$5
+ AND ph.field_name=$6
AND ph.project_task_id=pt.project_task_id
AND pt.group_project_id=pgl.group_project_id
GROUP BY group_id,day ) tclosed USING (group_id,day)) foo7',
- array($day,
- $day,
- $end_day,
- $day,
- $day,
- $end_day,
- $day,
- $day,
- $end_day,
- $day,
- $day,
- $end_day,
- $day,
- $day,
- $day,
- $day,
- $end_day,
- $day,
- $day,
- $end_day,
- 1,
- 'status_id'));
- }
+ array($day,
+ $end_day,
+ date('Ym', $day),
+ date('d',$day),
+ 1,
+ 'status_id'));
}
Modified: trunk/gforge/cronjobs/auth_unix.php
===================================================================
--- trunk/gforge/cronjobs/auth_unix.php 2009-08-31 16:36:18 UTC (rev 8067)
+++ trunk/gforge/cronjobs/auth_unix.php 2009-08-31 17:05:59 UTC (rev 8068)
@@ -206,8 +206,9 @@
else
{
$line = $group_names [$i] . ":x:" . ($group_ids [$i] + $gid_add) . ":";
- $resusers = db_query_params ('SELECT user_name FROM user_group,users,groups WHERE users.user_id=user_group.user_id AND groups.group_id=user_group.group_id AND groups.status='A'::bpchar AND groups.use_scm=1 AND groups.unix_group_name=$1 AND users.status=$2 AND users.unix_status=$3',
- array($group_names [$i],
+ $resusers = db_query_params ('SELECT user_name FROM user_group,users,groups WHERE users.user_id=user_group.user_id AND groups.group_id=user_group.group_id AND groups.status=$1::bpchar AND groups.use_scm=1 AND groups.unix_group_name=$2 AND users.status=$3 AND users.unix_status=$4',
+ array('A',
+ $group_names [$i],
'A',
'A'));
$members = &util_result_column_to_array ($resusers, "user_name");
Modified: trunk/gforge/cronjobs/db_trove_maint.php
===================================================================
--- trunk/gforge/cronjobs/db_trove_maint.php 2009-08-31 16:36:18 UTC (rev 8067)
+++ trunk/gforge/cronjobs/db_trove_maint.php 2009-08-31 17:05:59 UTC (rev 8068)
@@ -28,42 +28,6 @@
$err='';
/*
-//FIRST TIME THIS SCRIPT IS RUN - YOU MAY NEED TO RUN THIS QUERY FIRST
-
-//nightly aggregation query
-DROP TABLE trove_agg;
-CREATE TABLE trove_agg AS
- SELECT tgl.trove_cat_id, g.group_id, g.group_name, g.unix_group_name,
- g.status, g.register_time, g.short_description,
- project_weekly_metric.percentile, project_weekly_metric.ranking
- FROM groups g
- LEFT JOIN project_weekly_metric USING (group_id) ,
- trove_group_link tgl
- WHERE
- tgl.group_id=g.group_id
- AND (g.is_public=1)
- AND (g.type_id=1)
- AND (g.status='A')
- ORDER BY trove_cat_id ASC, ranking ASC;
-
-CREATE INDEX troveagg_trovecatid ON trove_agg(trove_cat_id);
-CREATE INDEX troveagg_trovecatid_ranking ON trove_agg(trove_cat_id,ranking);
-
-DROP TABLE trove_treesums;
-CREATE TABLE "trove_treesums" (
- "trove_treesums_id" serial primary key,
- "trove_cat_id" integer DEFAULT '0' NOT NULL,
- "limit_1" integer DEFAULT '0' NOT NULL,
- "subprojects" integer DEFAULT '0' NOT NULL
-);
-
-*/
-
-/*if (!strstr($REMOTE_ADDR,$sys_internal_network)) {
- exit_permission_denied();
- }*/
-
-/*
Rebuild the trove_agg table, which saves us
from doing really expensive queries in trove
@@ -86,8 +50,6 @@
AND g.status = $1
ORDER BY trove_cat_id ASC, ranking ASC)',
array('A'));
-}
-
$err .= db_error();
db_commit();
More information about the Fusionforge-commits
mailing list