Subversion Repositories DevTools

Rev

Rev 7300 | Rev 7324 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7300 Rev 7323
Line 41... Line 41...
41
 
41
 
42
#
42
#
43
#   The following hash simplifies existing code
43
#   The following hash simplifies existing code
44
#   in that it will convert known DBI:ODBC called to a more raw form
44
#   in that it will convert known DBI:ODBC called to a more raw form
45
#
45
#
46
my %url_convert = ( 'dbi:ODBC:RM3' => 'GBE_RM_LOCATION' );
46
my %url_convert = ( 'dbi:ODBC:RM3' => '$GBE_RM_LOCATION' );
47
 
47
 
48
 
48
 
49
#-------------------------------------------------------------------------------
49
#-------------------------------------------------------------------------------
50
# Function        : connect
50
# Function        : connect
51
#
51
#
Line 86... Line 86...
86
    #
86
    #
87
    if ( $url_convert{$self->{DB}} )
87
    if ( $url_convert{$self->{DB}} )
88
    {
88
    {
89
        my $var = $url_convert{$self->{DB}};
89
        my $var = $url_convert{$self->{DB}};
90
        my $value = $ENV{$var};
90
        my $value = $ENV{$var};
91
        die ("Cannot convert old DB value to new form\n",
91
        Error ("Cannot convert old DB value to new form",
92
               "User requested: " . $self->{DB} . "\n",
92
               "User requested: " . $self->{DB},
93
               "Need Environment Variable: $var" ) unless ($value);
93
               "Need Environment Variable: $var" ) unless ($value);
94
 
94
 
95
        print "[DBI] Converting DB to URL: " . $self->{DB} ." to $value\n"
95
        print "[DBI] Converting DB to URL: " . $self->{DB} ." to $value\n"
96
            if $verbose > 1;
96
            if $verbose > 1;
97
        $self->{DB} = $value;
97
        $self->{DB} = $value;
Line 349... Line 349...
349
sub execute
349
sub execute
350
{
350
{
351
    my $self = shift;
351
    my $self = shift;
352
    my @args = @_;
352
    my @args = @_;
353
    my @rows;
353
    my @rows;
-
 
354
    my @colData;
354
 
355
 
355
    my $statement = $self->{STATEMENT};
356
    my $statement = $self->{STATEMENT};
356
 
357
 
357
 
358
 
358
    #
359
    #
Line 385... Line 386...
385
    $self->{ERROR} = 1;
386
    $self->{ERROR} = 1;
386
    my $fhr = $self->{CONNECTION}{FH_READ};
387
    my $fhr = $self->{CONNECTION}{FH_READ};
387
    while ( <$fhr> )
388
    while ( <$fhr> )
388
    {
389
    {
389
        chomp;
390
        chomp;
390
 
-
 
391
        if ( m/Data:(.*)/ )
391
        if ( m/Data:(.*)/ )
392
        {
392
        {
393
            push @rows, $1;
393
            push @rows, $1;
394
            print "[DBI] Execute: $_\n" if $verbose > 2;
394
            print "[DBI] Execute: $_\n" if $verbose > 2;
395
        }
395
        }
396
        else
396
        else
397
        {
397
        {
398
            print "[DBI] Execute: $_\n" if $verbose;
398
            print "[DBI] Execute: $_\n" if $verbose;
399
        }
399
        }
400
        
400
        
-
 
401
        if (m~^Info:ColumnInfo:(\d+):(.*)~) {
-
 
402
            my $data = $2;
-
 
403
            $data =~ s~\s+$~~;
-
 
404
            push @colData, $data;
-
 
405
        }
401
 
406
 
402
        if ( m/^DataStart:/ )
407
        if ( m/^DataStart:/ )
403
        {
408
        {
404
            $self->{ERROR} = 0;
409
            $self->{ERROR} = 0;
405
        }
410
        }
Line 416... Line 421...
416
        }
421
        }
417
 
422
 
418
    }
423
    }
419
 
424
 
420
    $self->{ROWS} = \@rows;
425
    $self->{ROWS} = \@rows;
-
 
426
    $self->{COLDATA} = \@colData;
421
 
427
 
422
    return ! $self->{ERROR};
428
    return ! $self->{ERROR};
423
}
429
}
424
 
430
 
425
#-------------------------------------------------------------------------------
431
#-------------------------------------------------------------------------------
Line 466... Line 472...
466
#
472
#
467
sub fetchrow_array
473
sub fetchrow_array
468
{
474
{
469
    my $self = shift;
475
    my $self = shift;
470
    my $rowref = $self->{ROWS};
476
    my $rowref = $self->{ROWS};
471
    my $data = pop @$rowref;
477
    my $data = shift @$rowref;
472
 
478
 
473
    return () unless ( $data );
479
    return () unless ( $data );
474
    $data =~ s~\s+$~~;
480
    $data =~ s~\s+$~~;
475
 
481
 
476
    my @row;
482
    my @row;
Line 484... Line 490...
484
    $self->{ROWS_READ}++;
490
    $self->{ROWS_READ}++;
485
    return @row;
491
    return @row;
486
}
492
}
487
 
493
 
488
#-------------------------------------------------------------------------------
494
#-------------------------------------------------------------------------------
-
 
495
# Function        : fetch_columndata
-
 
496
#
-
 
497
# Description     : NonStandard function
-
 
498
#                   Fetch array of colum names
-
 
499
#
-
 
500
# Inputs          : None 
-
 
501
#
-
 
502
# Returns         : An array of column data
-
 
503
#                   :Sep data of Name:Size:Type
-
 
504
#
-
 
505
sub fetch_columndata
-
 
506
{
-
 
507
    my $self = shift;
-
 
508
    return $self->{COLDATA};
-
 
509
}
-
 
510
 
-
 
511
#-------------------------------------------------------------------------------
489
# Function        : finish
512
# Function        : finish
490
#
513
#
491
# Description     : Finish the 'execute'
514
# Description     : Finish the 'execute'
492
#
515
#
493
# Inputs          : None
516
# Inputs          : None