Changeset 113b9590afb8ea410808e70d4589715631b3e20a in xas-model


Ignore:
Timestamp:
06/09/16 09:59:38 (19 months ago)
Author:
Kevin L. Esteb <kevin@…>
Branches:
master
Parents:
9ab6dcca06ea9b5190ab8257040a2a5b2cc001f6
git-author:
Kevin L. Esteb <kevin@…> (06/09/16 09:59:38)
git-committer:
Kevin L. Esteb <kevin@…> (06/09/16 09:59:38)
Message:

fixed a minor problem

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/XAS/Model/Schema.pm

    r632bca7e13318d039e389ab17a8895c28e057a0e r113b9590afb8ea410808e70d4589715631b3e20a  
    8989    $config->{dbi_attr}->{RaiseError} = 1; 
    9090 
    91     if ($config->{dsn} eq 'SQLite') { 
    92  
    93         $config->{dbi_attr}->{sqlite_use_immediate_transaction} = 1; 
    94         $config->{dbi_attr}->{sqlite_see_if_its_a_number} = 1; 
    95         $config->{dbi_attr}->{on_connect_call} = 'use_foreign_keys'; 
    96  
    97         $config->{dsn} = "dbi:$config->{dsn}:dbname=$config->{dbname}"; 
    98  
    99     } elsif ($config->{dsn} eq 'ODBC') { 
    100  
    101         # http://dolio.lh.net/~apw/doc/HOWTO/HOWTO-Connect_Perl_to_SQL_Server.pdf 
    102         # 
    103         # a user level DSN or a dynamic connection needs the following: 
    104         # 
    105         # dbi:ODBC:Driver={driver};Server=server;Database=dbname 
    106         # 
    107         # a system level DSN needs the following: 
    108         # 
    109         # dbi:ODBC:dbname 
    110         #  
    111  
    112         if (defined($config->{driver})) { 
    113  
    114             $config->{dsn} = sprintf( 
    115                 "dbi:%s:Driver={%s};Database=%s;Server=%s", 
    116                 $config->{dsn}, $config->{driver}, 
    117                 $config->{dbname}, $config->{server} 
    118             ); 
     91    if (defined($config->{'dsn'})) { 
     92 
     93        if ($config->{dsn} eq 'SQLite') { 
     94 
     95            $config->{dbi_attr}->{sqlite_use_immediate_transaction} = 1; 
     96            $config->{dbi_attr}->{sqlite_see_if_its_a_number} = 1; 
     97            $config->{dbi_attr}->{on_connect_call} = 'use_foreign_keys'; 
     98 
     99            $config->{dsn} = "dbi:$config->{dsn}:dbname=$config->{dbname}"; 
     100 
     101        } elsif ($config->{dsn} eq 'ODBC') { 
     102 
     103            # http://dolio.lh.net/~apw/doc/HOWTO/HOWTO-Connect_Perl_to_SQL_Server.pdf 
     104            # 
     105            # a user level DSN or a dynamic connection needs the following: 
     106            # 
     107            # dbi:ODBC:Driver={driver};Server=server;Database=dbname 
     108            # 
     109            # a system level DSN needs the following: 
     110            # 
     111            # dbi:ODBC:dbname 
     112            #  
     113 
     114            if (defined($config->{driver})) { 
     115 
     116                $config->{dsn} = sprintf( 
     117                    "dbi:%s:Driver={%s};Database=%s;Server=%s", 
     118                    $config->{dsn}, $config->{driver}, 
     119                    $config->{dbname}, $config->{server} 
     120                ); 
     121 
     122            } else { 
     123 
     124                $config->{dsn} = "dbi:$config->{dsn}:$config->{dbname}"; 
     125    
     126            } 
     127 
     128        } elsif ($config->{dsn} eq 'Pg') { 
     129 
     130            unless (defined($config->{service})) { 
     131 
     132                $config->{dsn}  = "dbi:$config->{dsn}:dbname=$config->{dbname}"; 
     133                $config->{dsn} .= ";host=$config->{host}" if (defined($config->{host})); 
     134                $config->{dsn} .= ";port=$config->{port}" if (defined($config->{port})); 
     135                $config->{dsn} .= ";options=$config->{options}" if (defined($config->{options})); 
     136                $config->{dsn} .= ";sslnode=$config->{sslmode}" if (defined($config->{sslmode})); 
     137 
     138            } else { 
     139 
     140                $config->{dsn} = "dbi:$config->{dsn}:service=$config->{service}"; 
     141 
     142            } 
    119143 
    120144        } else { 
    121145 
    122             $config->{dsn} = "dbi:$config->{dsn}:$config->{dbname}"; 
    123     
     146            $config->{dsn} = "dbi:$config->{dsn}:dbname=$config->{dbname}"; 
     147 
    124148        } 
    125  
    126     } elsif ($config->{dsn} eq 'Pg') { 
    127  
    128         unless (defined($config->{service})) { 
    129  
    130             $config->{dsn}  = "dbi:$config->{dsn}:dbname=$config->{dbname}"; 
    131             $config->{dsn} .= ";host=$config->{host}" if (defined($config->{host})); 
    132             $config->{dsn} .= ";port=$config->{port}" if (defined($config->{port})); 
    133             $config->{dsn} .= ";options=$config->{options}" if (defined($config->{options})); 
    134             $config->{dsn} .= ";sslnode=$config->{sslmode}" if (defined($config->{sslmode})); 
    135  
    136         } else { 
    137  
    138             $config->{dsn} = "dbi:$config->{dsn}:service=$config->{service}"; 
    139  
    140         } 
    141  
    142     } else { 
    143  
    144         $config->{dsn} = "dbi:$config->{dsn}:dbname=$config->{dbname}"; 
    145149 
    146150    } 
Note: See TracChangeset for help on using the changeset viewer.