__PACKAGE__->mk_group_accessors('simple' =>
qw/_connect_info _dbi_connect_info _dbh _sql_maker _sql_maker_opts _conn_pid
_conn_tid transaction_depth _dbh_autocommit _driver_determined savepoints
- _server_info/
+ __server_info/
);
# the values for these accessors are picked out (and deleted) from
);
$schema->resultset('Book')->search({
- written_on => $schema->storage->datetime_parser(DateTime->now)
+ written_on => $schema->storage->datetime_parser->format_datetime(DateTime->now)
});
=head1 DESCRIPTION
$self->_run_connection_actions unless $self->{_in_determine_driver};
- $self->_get_server_info;
+ $self->_populate_server_info;
}
sub _run_connection_actions {
$self->_do_connection_actions(connect_call_ => $_) for @actions;
}
-sub _get_server_info {
+sub _populate_server_info {
my $self = shift;
my %info;
- $info{dbms_ver} = $self->_get_dbh->get_info(18);
+ my $dbms_ver = eval {
+ local $@;
+ $self->_get_dbh->get_info(18)
+ };
+
+ if (defined $dbms_ver) {
+ $info{dbms_ver} = $dbms_ver;
+
+ ($dbms_ver) = $dbms_ver =~ /^(\S+)/;
+
+ my @verparts = split /\./, $dbms_ver;
+ $info{dbms_ver_normalized} = sprintf "%d.%03d%03d", @verparts;
+ }
- $self->_server_info(\%info);
+ $self->__server_info(\%info);
return \%info;
}
+sub _server_info {
+ my $self = shift;
+
+ $self->_get_dbh;
+
+ return $self->__server_info(@_);
+}
+
sub _determine_driver {
my ($self) = @_;