Rev 227 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#! perl######################################################################### Copyright ( C ) 2004 ERG Limited, All rights reserved## Module name : jats.sh# Module type : Makefile system# Compiler(s) : n/a# Environment(s): jats## Description : Display the currently released version of ALL packages# that are a part of a given release## Currently hard coded to Sydney Legacy# Appears to be an OLD version of play5## Usage:## Version Who Date Description##......................................................................#require 5.006_001;use strict;use warnings;use JatsError;use JatsRmApi;#use Data::Dumper;use Cwd;use DBI;my $GBE_PERL = $ENV{'GBE_PERL'}; # Essential ENV variablesmy $GBE_CORE = $ENV{'GBE_CORE'};my $opt_verbose = 0;my $RM_DB;our %CM_DATA = (_CQ_DB => "dbi:ODBC:DEVI",_CQ_USER => "release_manager",_CQ_PASS => "release_manager",_CQ_CONN => undef,);#==============================================================================# connectCQ# Connects the DBI to Clear Quest if not connected#==============================================================================sub connectCQ{my $globals = \%CM_DATA;if ( ! defined($globals->{_CQ_CONN}) ){$globals->{_CQ_CONN} = DBI->connect($globals->{_CQ_DB}, $globals->{_CQ_USER}, $globals->{_CQ_PASS});if ( ! defined($globals->{_CQ_CONN}) ){Error("connectCQ Failed to connect to database [$globals->{_CQ_DB}]. [$DBI::errstr].");return 0;}else{Message("connectCQ Connected to database [$globals->{_CQ_DB}].");}}return 1;} # _connectCQmy @GDATA;sub getPkgDetailsByRTAG_ID{print "Test:1\n";my ($RTAG_ID) = @_;my $foundDetails = 0;my (@row);my $row_count = 0;# First get details from pv_idmy $m_sqlstr = "SELECT pv.PV_ID, pkg.PKG_NAME, pv.PKG_VERSION FROM RELEASE_CONTENT rc, PACKAGE_VERSIONS pv, PACKAGES pkg WHERE rc.RTAG_ID = $RTAG_ID AND rc.PV_ID = pv.PV_ID AND pv.PKG_ID = pkg.PKG_ID";print "--- Prepare\n";my $sth = $RM_DB->prepare($m_sqlstr);if ( defined($sth) ){print "--- Execute\n";if ( $sth->execute( ) ){print "--- Test Rows\n";if ( $sth->rows ){print "--- Fetch Rows\n";while ( @row = $sth->fetchrow_array ){my %DATA;$DATA{pv_id} = $row[0];$DATA{name} = $row[1];$DATA{version} = $row[2];push @GDATA, (\%DATA);$row_count++;}}print "--- Finish: $row_count rows extracted\n";$sth->finish();}else{Warning("Execute failure: " . $sth->errstr );}}else{Warning("Prepare failure" );}}sub test_2{print "Test:2\n";my $foundPkg = 0;my $pkg = 'mos_api';my @row;my ($m_sqlstr ) = "SELECT pkg_id, pkg_name FROM PACKAGES WHERE pkg_name=?";my ($sth ) = $RM_DB->prepare($m_sqlstr);if ( defined($sth) ){if ( $sth->execute( $pkg ) ){if ( $sth->rows ){while ( @row = $sth->fetchrow_array ){print "---- @row\n";$foundPkg = 1;last;}}$sth->finish();if ( ! $foundPkg ){Warning("Unable to find Package [$pkg]");}}else{Warning("executing query [$m_sqlstr] : " . $sth->errstr);}}else{Warning("Unable to prepare SQL Statement [$m_sqlstr] : " . $RM_DB->errstr);}}sub test_3{print "Test:3\n";my $m_sqlstr = "BEGIN PK_BUILDAPI.Remove_All_Product_Components(?,?); END;";my $sth = $RM_DB->prepare($m_sqlstr);if ( defined($sth) ){if ( ! $sth->execute( 12, 'SomePlatform' ) ){Warning("Expected Error executing query [$m_sqlstr] : " . $sth->errstr);}else{Warning("Expected error, but got a good result");}}else{Warning("Unable to prepare SQL Statement [$m_sqlstr] : " . $RM_DB->errstr);}}#-------------------------------------------------------------------------------# Function : Main## Description :## Inputs :## Returns :#ErrorConfig( 'name' =>'TEST' );connectRM( \$RM_DB);#connectCQ();getPkgDetailsByRTAG_ID(1861); # Sydney Legacytest_2();test_3();#DebugDumpData("GDATA", \@GDATA);print "End of tests\n";exit;connectRM();print "Connecting: $CM_DATA{_CQ_CONN}\n";