[evolvis-commits] r8613: Fixed the last change (in constraint about tasks) so that it also↵ works on PostgreSQL 7?=.2.=?UTF-8?Q?↵
mirabilos at evolvis.org
mirabilos at evolvis.org
Thu Feb 24 16:47:06 CET 2011
Author: mirabilos
Date: 2011-02-24 16:47:06 +0100 (Thu, 24 Feb 2011)
New Revision: 8613
Modified:
trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/db-upgrade.pl
Log:
Fixed the last change (in constraint about tasks) so that it also
works on PostgreSQL 7.2.
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/db-upgrade.pl
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/db-upgrade.pl 2011-02-24 15:47:05 UTC (rev 8612)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/db-upgrade.pl 2011-02-24 15:47:06 UTC (rev 8613)
@@ -1179,7 +1179,38 @@
if (is_lesser $version, $target) {
debug "Upgrading with 20030312.sql" ;
- @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030312.sql") } ;
+ my $pg_version = &get_pg_version ;
+
+ if (is_lesser $pg_version, "7.3") {
+ @reqlist = (
+ "DROP TRIGGER projtask_insert_depend_trig ON project_task",
+ "DROP FUNCTION projtask_insert_depend ()",
+ "CREATE OR REPLACE FUNCTION projtask_insert_depend () RETURNS OPAQUE AS '
+DECLARE
+ dependon RECORD;
+ delta INTEGER;
+BEGIN
+ IF NEW.start_date > NEW.end_date THEN
+ RAISE EXCEPTION ''START DATE CANNOT BE AFTER END DATE'';
+ END IF;
+ FOR dependon IN SELECT * FROM project_dependon_vw
+ WHERE project_task_id=NEW.project_task_id LOOP
+ IF dependon.end_date > NEW.start_date THEN
+ delta := dependon.end_date-NEW.start_date;
+ RAISE NOTICE ''Bumping Back: % Delta: % '',NEW.project_task_id,delta;
+ NEW.start_date := NEW.start_date+delta;
+ NEW.end_date := NEW.end_date+delta;
+ END IF;
+ END LOOP;
+ RETURN NEW;
+END;
+' LANGUAGE 'plpgsql'",
+"CREATE TRIGGER projtask_insert_depend_trig BEFORE INSERT OR UPDATE ON project_task
+ FOR EACH ROW EXECUTE PROCEDURE projtask_insert_depend()",
+ ) ;
+ } else {
+ @reqlist = @{ &parse_sql_file ("/usr/lib/gforge/db/20030312.sql") } ;
+ }
foreach my $s (@reqlist) {
$query = $s ;
# debug $query ;
More information about the evolvis-commits
mailing list