1 package DBIx::Class::Storage::DBI::ADO::MS_Jet::Cursor;
5 use base 'DBIx::Class::Storage::DBI::Cursor';
7 use DBIx::Class::Storage::DBI::ADO::CursorUtils '_normalize_guids';
12 DBIx::Class::Storage::DBI::ADO::MS_Jet::Cursor - GUID Support for MS Access over
17 This class is for normalizing GUIDs retrieved from Microsoft Access over ADO.
19 You probably don't want to be here, see
20 L<DBIx::Class::Storage::DBI::ACCESS> for information on the Microsoft
23 Unfortunately when using L<DBD::ADO>, GUIDs come back wrapped in braces, the
24 purpose of this class is to remove them.
25 L<DBIx::Class::Storage::DBI::ADO::MS_Jet> sets
26 L<cursor_class|DBIx::Class::Storage::DBI/cursor_class> to this class by default.
27 It is overridable via your
28 L<connect_info|DBIx::Class::Storage::DBI/connect_info>.
30 You can use L<DBIx::Class::Cursor::Cached> safely with this class and not lose
31 the GUID normalizing functionality,
32 L<::Cursor::Cached|DBIx::Class::Cursor::Cached> uses the underlying class data
33 for the inner cursor class.
38 my ($storage, $dbh, $self) = @_;
40 my $next = $self->next::can;
42 my @row = $next->(@_);
44 my $col_infos = $storage->_resolve_column_info($self->args->[0]);
46 my $select = $self->args->[1];
48 _normalize_guids($select, $col_infos, \@row, $storage);
54 my ($storage, $dbh, $self) = @_;
56 my $next = $self->next::can;
58 my @rows = $next->(@_);
60 my $col_infos = $storage->_resolve_column_info($self->args->[0]);
62 my $select = $self->args->[1];
64 _normalize_guids($select, $col_infos, $_, $storage) for @rows;
73 See L<DBIx::Class/AUTHOR> and L<DBIx::Class/CONTRIBUTORS>.
77 You may distribute this code under the same terms as Perl itself.