This file is indexed.

/usr/share/perl5/IPC/PubSub/Cache/JiftyDBI/Stash.pm is in libipc-pubsub-perl 0.29-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package IPC::PubSub::Cache::JiftyDBI::Stash;
use strict;
use warnings;

use Jifty::DBI::Handle;
use Jifty::DBI::SchemaGenerator;
use IPC::PubSub::Cache::JiftyDBI::Stash::Item;
use IPC::PubSub::Cache::JiftyDBI::Stash::Publisher;

use File::Temp qw/ tempfile tempdir /;

sub new {
    my $class = shift;
    my $self  = {};
    bless $self, $class;

    my %args = (
        db_init => 0,
        db_config => undef,
        db_handle => undef,
        table_prefix => 'pubsub_',
        @_
    );

    if ($args{'table_prefix'}) {

         IPC::PubSub::Cache::JiftyDBI::Stash::Item->table_prefix($args{'table_prefix'});
         IPC::PubSub::Cache::JiftyDBI::Stash::Publisher->table_prefix($args{'table_prefix'});
    }

    if ($args{'db_handle'}) {
            $self->handle($args{'db_handle'});

    } else {
    unless ( $args{'db_config'} ) {
        my $filename;
        ( undef, $filename ) = tempfile();

        $args{'db_config'} = { driver => 'SQLite', database => $filename };
    }

    $self->_connect( %{$args{'db_config'}} );

    }
    if ( $args{'db_init'} ) {
        $self->_generate_db();
    }
    return $self;
}

sub handle {
    my $self = shift;
    $self->{'handle'} = shift if (@_);
    return $self->{'handle'};
}

sub _generate_db {
    my $self = shift;
    my $gen = Jifty::DBI::SchemaGenerator->new( $self->handle );
    $gen->add_model( IPC::PubSub::Cache::JiftyDBI::Stash::Item->new( handle => $self->handle ) );
    $gen->add_model( IPC::PubSub::Cache::JiftyDBI::Stash::Publisher->new( handle => $self->handle ) );
    my @statements = $gen->create_table_sql_statements;
    $self->handle->begin_transaction;
    for my $statement (@statements) {
        my $ret = $self->handle->simple_query($statement);
    }
    $self->handle->commit;

}


sub _connect {
    my $self = shift;


    my $handle = Jifty::DBI::Handle->new();
    $handle->connect(@_);
    $self->handle($handle);
}


1;