X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FInformix.pm;h=e8c123d4cb62d39af0b678ec142a6d3f6689580a;hb=e04535201f33f1d9c6222106a218944cf9eb3dbe;hp=414c3914c3f62d3d62d0afedd254b4dbd402302d;hpb=6298a324307439b76419d0f5db453b0d10f10517;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/Informix.pm b/lib/DBIx/Class/Storage/DBI/Informix.pm index 414c391..e8c123d 100644 --- a/lib/DBIx/Class/Storage/DBI/Informix.pm +++ b/lib/DBIx/Class/Storage/DBI/Informix.pm @@ -9,6 +9,13 @@ use Scope::Guard (); use Context::Preserve 'preserve_context'; use namespace::clean; +__PACKAGE__->sql_limit_dialect ('SkipFirst'); +__PACKAGE__->sql_quote_char ('"'); +__PACKAGE__->datetime_parser_type ( + 'DBIx::Class::Storage::DBI::Informix::DateTime::Format' +); + + __PACKAGE__->mk_group_accessors('simple' => '__last_insert_id'); =head1 NAME @@ -25,11 +32,11 @@ This class implements storage-specific support for the Informix RDBMS sub _execute { my $self = shift; - my ($op) = @_; my ($rv, $sth, @rest) = $self->next::method(@_); - if ($op eq 'insert') { - $self->__last_insert_id($sth->{ix_sqlerrd}[1]); - } + + $self->__last_insert_id($sth->{ix_sqlerrd}[1]) + if $self->_perform_autoinc_retrieval; + return (wantarray ? ($rv, $sth, @rest) : $rv); } @@ -37,29 +44,19 @@ sub last_insert_id { shift->__last_insert_id; } -sub _sql_maker_opts { - my ( $self, $opts ) = @_; - - if ( $opts ) { - $self->{_sql_maker_opts} = { %$opts }; - } - - return { limit_dialect => 'SkipFirst', %{$self->{_sql_maker_opts}||{}} }; -} - -sub _svp_begin { +sub _exec_svp_begin { my ($self, $name) = @_; - $self->_get_dbh->do("SAVEPOINT $name"); + $self->_dbh->do("SAVEPOINT $name"); } # can't release savepoints -sub _svp_release { 1 } +sub _exec_svp_release { 1 } -sub _svp_rollback { +sub _exec_svp_rollback { my ($self, $name) = @_; - $self->_get_dbh->do("ROLLBACK TO SAVEPOINT $name") + $self->_dbh->do("ROLLBACK TO SAVEPOINT $name") } sub with_deferred_fk_checks { @@ -124,10 +121,6 @@ sub connect_call_datetime_setup { $ENV{GL_DATETIME} = "%Y-%m-%d %H:%M:%S%F5"; } -sub datetime_parser_type { - 'DBIx::Class::Storage::DBI::Informix::DateTime::Format' -} - package # hide from PAUSE DBIx::Class::Storage::DBI::Informix::DateTime::Format; @@ -176,14 +169,18 @@ sub format_date { return $date_parser->format_datetime(shift); } -1; - -=head1 AUTHOR +=head1 FURTHER QUESTIONS? -See L and L. +Check the list of L. -=head1 LICENSE +=head1 COPYRIGHT AND LICENSE -You may distribute this code under the same terms as Perl itself. +This module is free software L +by the L. You can +redistribute it and/or modify it under the same terms as the +L. =cut + +1; +