DB-Object
view release on metacpan or search on metacpan
lib/DB/Object/Mysql.pm view on Meta::CPAN
# return( $self->error( "Not connected to PostgreSQL server yet. Issue $dbh->connect first." ) ) if( !$self->{ 'dbh' } );
my $dbh;
# If there is no connection yet, then create one using the postgres login.
# There should not be a live user and database just to check what databases there are.
if( !$self->{dbh} )
{
my $con =
{
'database' => 'mysql',
};
$con->{mysql_read_default_file} = '/etc/my.cnf' if( -f( '/etc/my.cnf' ) );
if( CORE::exists( $ENV{ 'DB_MYSQL_CON' } ) )
{
@$con{ qw( host login passwd ) } = split( /;/, $ENV{ 'DB_MYSQL_CON' } );
}
else
{
@$con{ qw( host login passwd ) } = @_;
}
# try-catch
lib/DB/Object/Mysql.pm view on Meta::CPAN
return( $opt );
}
sub _connection_parameters
{
my $self = shift( @_ );
my $param = shift( @_ );
my $core = [qw( db login passwd host port driver database server opt uri debug cache_connections cache_table unknown_field )];
my @mysql_params = grep( /^mysql_/, keys( %$param ) );
# See DBD::mysql for the list of valid parameters
# E.g.: mysql_client_found_rows, mysql_compression mysql_connect_timeout mysql_write_timeout mysql_read_timeout mysql_init_command mysql_skip_secure_auth mysql_read_default_file mysql_read_default_group mysql_socket mysql_ssl mysql_ssl_client_key...
push( @$core, @mysql_params );
return( $core );
}
sub _dsn
{
my $self = shift( @_ );
# "DBI:mysql:database=$sql_db;host=$sql_host;port=$sql_port;mysql_read_default_file=/etc/my.cnf"
my @params = ( sprintf( 'dbi:%s:database=%s', @$self{ qw( driver database ) } ) );
if( $self->{host} )
{
$self->_load_class( 'Net::IP' ) || return( $self->pass_error );
my $ip = Net::IP->new( $self->{host} );
if( $ip )
{
if( $ip->version == 6 )
{
push( @params, sprintf( 'host=[%s]', $ip->ip ) );
lib/DB/Object/Mysql.pm view on Meta::CPAN
push( @params, sprintf( 'host=%s', $ip->ip ) );
}
}
else
{
push( @params, sprintf( 'host=%s', $self->{host} ) );
}
}
# my @params = sprintf( "dbi:%s:database=%s;host=%s", @$self{ qw( driver database server ) } );
push( @params, sprintf( 'port=%d', $self->{port} ) ) if( $self->{port} );
push( @params, sprintf( 'mysql_read_default_file=%s', $self->{mysql_read_default_file} ) ) if( $self->{mysql_read_default_file} );
return( join( ';', @params ) );
}
sub _placeholder_regexp { return( $PLACEHOLDER_REGEXP ) }
# NOTE: DESTROY
DESTROY
{
my $self = shift( @_ );
my $class = ref( $self ) || $self;
lib/DB/Object/Postgres.pm view on Meta::CPAN
}
# Called by _check_connect_param
sub _connection_parameters
{
my $self = shift( @_ );
my $param = shift( @_ );
my $core = [qw( db login passwd host port driver database schema server opt uri debug cache_connections cache_table unknown_field )];
my @pg_params = grep( /^pg_/, keys( %$param ) );
# See DBD::mysql for the list of valid parameters
# E.g.: mysql_client_found_rows, mysql_compression mysql_connect_timeout mysql_write_timeout mysql_read_timeout mysql_init_command mysql_skip_secure_auth mysql_read_default_file mysql_read_default_group mysql_socket mysql_ssl mysql_ssl_client_key...
push( @$core, @pg_params );
return( $core );
}
sub _dsn
{
my $self = shift( @_ );
my @params = ();
# See pg_service.conf
if( $self->{service} )
( run in 0.276 second using v1.01-cache-2.11-cpan-05444aca049 )