Subversion Repositories DevTools

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
392 dpurdie 1
#! perl
2
########################################################################
3
# Copyright ( C ) 2004 ERG Limited, All rights reserved
4
#
5
# Module name   : jats.sh
6
# Module type   : Makefile system
7
# Compiler(s)   : n/a
8
# Environment(s): jats
9
#
10
# Description   : Extract package built times ( not the length of time it took to build it ).
11
#                 Calc delta from previous package as a very rought estimate of the built time
12
#
13
#
14
# Usage:
15
#
16
# Version   Who      Date        Description
17
#
18
#......................................................................#
19
 
20
require 5.006_001;
21
use strict;
22
use warnings;
23
use JatsError;
24
use JatsSystem;
25
use Getopt::Long;
26
use Pod::Usage;                             # required for help support
27
use JatsRmApi;
28
use JatsVersionUtils;
29
 
30
use DBI;
31
 
32
my $VERSION = "1.2.3";                      # Update this
33
my $opt_verbose = 1;
34
my $opt_help = 0;
35
my $opt_manual;
36
my $opt_rtag_id;
37
my $RM_DB;
38
 
39
#
40
#   Package information
41
#
42
my %Package;
43
my %Dnr;
44
my @StrayPackages;
45
 
46
#-------------------------------------------------------------------------------
47
# Function        : Main Entry
48
#
49
# Description     :
50
#
51
# Inputs          :
52
#
53
# Returns         :
54
#
55
my $result = GetOptions (
56
                "help+"         => \$opt_help,          # flag, multiple use allowed
57
                "manual"        => \$opt_manual,        # flag
58
                "verbose+"      => \$opt_verbose,       # flag
59
                );
60
 
61
#
62
#   Process help and manual options
63
#
64
pod2usage(-verbose => 0, -message => "Version: $VERSION")  if ($opt_help == 1  || ! $result);
65
pod2usage(-verbose => 1)  if ($opt_help == 2 );
66
pod2usage(-verbose => 2)  if ($opt_manual || ($opt_help > 2));
67
 
68
 
69
my %data;
70
 
71
ErrorConfig( 'name'    =>'PLAY22' );
72
getStuffedEntried();
73
 
74
exit;
75
 
76
 
77
sub  getStuffedEntried
78
{
79
    my $foundDetails = 0;
80
    my (@row);
81
 
82
    # if we are not or cannot connect then return 0 as we have not found anything
83
    connectRM( \$RM_DB);
84
 
85
    # First get details from pv_id
86
 
87
    my $m_sqlstr = "select RELEASE_MANAGER.PACKAGE_VERSIONS.PV_ID, ".
88
                          "RELEASE_MANAGER.PACKAGES.PKG_NAME, ".
89
                          "RELEASE_MANAGER.PACKAGE_VERSIONS.PKG_VERSION, ".
90
                          "RELEASE_MANAGER.PACKAGE_METRICS.CREATED_STAMP,".
91
                          "TRUNC (86400*(SYSDATE - RELEASE_MANAGER.PACKAGE_METRICS.CREATED_STAMP))".
92
                    " from RELEASE_MANAGER.PACKAGE_VERSIONS, RELEASE_MANAGER.PACKAGES, RELEASE_MANAGER.PACKAGE_METRICS " .
93
                    " where RELEASE_MANAGER.PACKAGE_VERSIONS.PV_ID = RELEASE_MANAGER.PACKAGE_METRICS.PV_ID".
94
                     " and RELEASE_MANAGER.PACKAGES.PKG_ID = RELEASE_MANAGER.PACKAGE_VERSIONS.PKG_ID".
95
                     " order by RELEASE_MANAGER.PACKAGE_METRICS.CREATED_STAMP DESC";
96
    my $sth = $RM_DB->prepare($m_sqlstr);
97
    if ( defined($sth) )
98
    {
99
        if ( $sth->execute( ) )
100
        {
101
            if ( $sth->rows )
102
            {
103
                my $last = 0;
104
                while ( @row = $sth->fetchrow_array )
105
                {
106
                    my $delta =  $last - $row[4];
107
                    $last = $row[4];
108
                    my $ds = $delta % 60;
109
                    my $dm = ($delta / 60) % 60;
110
                    my $dh = $delta / 60 / 60;
111
 
112
 
113
                    printf "%5d:%2.2d:%2.2d : %25s : %s %s\n", $dh,$dm,$ds, $row[3], $row[1], $row[2];
114
#print "Data: @row\n";
115
                }
116
            }
117
            else
118
            {
119
                Error ("No data extracted");
120
            }
121
            $sth->finish();
122
        }
123
        else
124
        {
125
            Error ("May be an execute error", $m_sqlstr, $sth->errstr());
126
        }
127
    }
128
    else
129
    {
130
        Error("Prepare failure" );
131
    }
132
}
133