diff -r a9d4531388d0 -r d90029decf65 bldsystemtools/commonbldutils/GenResult/Changelists.pm --- a/bldsystemtools/commonbldutils/GenResult/Changelists.pm Wed Mar 31 23:20:42 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -# Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "Eclipse Public License v1.0" -# which accompanies this distribution, and is available -# at the URL "http://www.eclipse.org/legal/epl-v10.html". -# -# Initial Contributors: -# Nokia Corporation - initial contribution. -# -# Contributors: -# -# Description: -# Script that return a list of Perforce Change lists that are associated to a build snapshot. -# -# -package Changelists; -use DBI; -my $dbh; #connection handle -sub connectDB() -{ - my $dBase = "autobuild2"; - my $serverPort = "intweb:3306"; - my $user = "autobuild2"; - my $password = "autobuild2"; - $dbh->disconnect if ($dbh); #disconnect if already connected - $dbh = DBI->connect("DBI:mysql:$dBase:$serverPort", $user, $password, {PrintError => 0, RaiseError => 0}); # should use a username which has read-only credentials only. - if (!$dbh) - { - print "Cannot connect to the AutoBuild2 server:$DBI::errstr\n"; - exit; - } - else - { - print "Connected to AutoBuild\n"; - } -} - - -sub queryHandler #handle querying the database. -{ - my $query = shift; - my $handle; - $handle = $dbh->prepare($query); - $handle->execute; - if($handle->err()) - { - Logit(2,"could not execute Query:".$handle->errstr()); - if ($handle->errstr() =~ m/(Lost connection|MySQL server has gone away)/i) #sometimes the connection to server is lost, - { - Logit(0,"Lost connection, ".$handle->errstr()); - exit; - } - } - return $handle; -} - -my $snapshot = $ENV{SnapshotNumber}; -my $buildShortName = $ENV{BuildShortName}; -sub main { - - print "$snapshot \t $buildShortName\n"; - my $query = "select distinct(sub3.changelist), snap.name as Name, sub3.description as Description - from codeline, Submission as sub, Submission as sub3 - left join Snapshot as snap on (snap.Submission_id = sub.id ) - left join Build as bld on (bld.Snapshot_id = snap.id) - left join Spec as spec on (bld.Spec_id = spec.id) - left join Product as prod on (spec.Product_id = prod.id) - left join Build as bld2 on (bld2.id = bld.BCPrevious_id) - left join Snapshot as snap2 on (bld2.Snapshot_id = snap2.id) - left join Submission as sub2 on (snap2.Submission_id = sub2.id) - where snap.name = \"$snapshot\" and prod.build_short_name=\"$buildShortName\" and sub3.Codeline_id = (SELECT codeline_id FROM `spec` , codeline cl where Product_id=(select id from product where build_short_name = \"$buildShortName\") and pool_id = \"1\" and cl.name = \"MCLsfRO\" and spec.codeline_id= cl.id and end_date > CURDATE() ORDER by spec.id LIMIT 1) and sub3.changelist between sub2.changelist and sub.changelist order by sub3.changelist;"; - - &connectDB(); - my $ClInfo = &queryHandler($query); - my @AllCls = (); - my %CLhash = (); - while (my $Data = $ClInfo->fetchrow_hashref) - { - my @Cl = (); - my $changelist = ${$Data}{'changelist'}; - my ($submitter) = ${$Data}{'Description'} =~ /####(.*?)####<\/EXTERNAL>/i; - $desc =~ s/##/\n/g; - $CLhash{$changelist}{'submitter'} = $submitter; - $CLhash{$changelist}{'team'} = $team; - $CLhash{$changelist}{'sub_time'} = $sub_time; - $CLhash{$changelist}{'desc'} = $desc; - #~ print "#################${$Data}{'changelist'}#####################\n"; - #~ print "$submitter\t$team\t$sub_time\n$desc\n"; - } - return (\%CLhash); -} -1;