File: oracle.pm

package info (click to toggle)
liburi-db-perl 0.23-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 356 kB
  • sloc: perl: 1,599; makefile: 2
file content (32 lines) | stat: -rw-r--r-- 571 bytes parent folder | download
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
package URI::oracle;
use base 'URI::_db';
our $VERSION = '0.23';

sub default_port { 1521 }
sub dbi_driver   { 'Oracle' }

sub _dsn_params {
    my $self = shift;
    my $name = $self->dbname || '';
    my $dsn = $self->host;

    if (my $p = $self->_port) {
        $dsn .= ":$p";
    }

    return $name unless $dsn;
    $dsn .= "/$name";


    if (my @p = $self->query_params) {
        my @kvpairs;
        while (@p) {
            push @kvpairs => join '=', shift @p, shift @p;
        }
        $dsn .= '?' . join '&' => @kvpairs;
    }

    return "//$dsn";
}

1;